public object Delete(DeleteQgisRequest request) { TepWebContext context = new TepWebContext(PagePrivileges.EverybodyView); try { context.Open(); context.LogInfo(this, string.Format("/user/current/qgis DELETE")); var user = User.FromId(context, context.UserId); var k8sFactory = new KubernetesFactory(context); var type = "qgis"; var podID = k8sFactory.GetVncIDForUser(context, user.Id, type); try { k8sFactory.DeleteUserEnvironment(user.Username); } catch (Exception e) { context.LogError(this, e.Message); } try { k8sFactory.RevokeConnectionPermission(podID, user.Username); } catch (Exception e) { context.LogError(this, e.Message); } try { k8sFactory.DeleteGuacamoleConnection(podID); } catch (Exception e) { context.LogError(this, e.Message); } try { k8sFactory.DeleteVncIDForUser(context, user.Id, type); } catch (Exception e) { context.LogError(this, e.Message); } context.Close(); } catch (Exception e) { context.LogError(this, e.Message + " - " + e.StackTrace); context.Close(); throw e; } return(new WebResponseBool(true)); }
public object Get(GetQgisIPRequest request) { string url = ""; TepWebContext context = new TepWebContext(PagePrivileges.UserView); try { context.Open(); context.LogInfo(this, string.Format("/user/current/qgis GET")); var user = UserTep.FromId(context, context.UserId); k8sFactory = new KubernetesFactory(context); url = GetUserVncUrl(context, user, null); context.Close(); } catch (Exception e) { context.LogError(this, e.Message + " - " + e.StackTrace); context.Close(); throw e; } return(new WebResponseString(url ?? "")); }
public object Post(CreateQgisRequest request) { string url = ""; TepWebContext context = new TepWebContext(PagePrivileges.EverybodyView); try { context.Open(); context.LogInfo(this, string.Format("/user/current/qgis POST")); var user = UserTep.FromId(context, context.UserId); k8sFactory = new KubernetesFactory(context); var k8srequest = CreateK8sRequest(k8sFactory, user); url = GetUserVncUrl(context, user, k8srequest); context.Close(); } catch (Exception e) { context.LogError(this, e.Message + " - " + e.StackTrace); context.Close(); throw e; } return(new WebResponseString(url)); }