Documentation
¶
Index ¶
- type AgentRequestController
- type JobMonitorController
- type LoginController
- type NewUserInitializerController
- type OAuthController
- type RedirectController
- type ResultController
- type SettingController
- type TemplateController
- func (tc *TemplateController) DeleteTemplate(c *gin.Context)
- func (tc *TemplateController) GetAllTemplates(c *gin.Context)
- func (tc *TemplateController) GetPresetIconList(c *gin.Context)
- func (tc *TemplateController) GetTemplateByID(c *gin.Context)
- func (tc *TemplateController) PostOneTemplate(c *gin.Context)
- func (tc *TemplateController) UpdateFile(c *gin.Context)
- func (tc *TemplateController) UpdateOneTemplate(c *gin.Context)
- type UserAdminController
- func (uac *UserAdminController) GetAllRoles(c *gin.Context)
- func (uac *UserAdminController) GetUserDetail(c *gin.Context)
- func (uac *UserAdminController) GetUserList(c *gin.Context)
- func (uac *UserAdminController) InviteUsers(c *gin.Context)
- func (uac *UserAdminController) SetAccountStatus(c *gin.Context)
- func (uac *UserAdminController) UpdateUser(c *gin.Context)
- type UserTokenController
- type WorkspaceController
- func (wc *WorkspaceController) CreateWorkspace(c *gin.Context)
- func (wc *WorkspaceController) DeleteWorkspace(c *gin.Context)
- func (wc *WorkspaceController) GetWorkspace(c *gin.Context)
- func (wc *WorkspaceController) GetWorkspaceToolset(c *gin.Context)
- func (wc *WorkspaceController) GetWorkspacesByUser(c *gin.Context)
- func (wc *WorkspaceController) UpdateWorkspace(c *gin.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentRequestController ¶
type AgentRequestController struct { AgentRequestUsecase model.AgentRequestUsecase WorkspaceMonitor map[string]string }
func (*AgentRequestController) UpdateWorkspaceStatus ¶
func (arc *AgentRequestController) UpdateWorkspaceStatus(c *gin.Context)
UpdateWorkspaceStatus @Summary Process the heartbeat message sent by a QuantumLab Agent @Description Update the workspace status according to the heartbeat message sent by a QuantumLab Agent. @Tags agent @Accept json @Produce json @Param request body model.AgentRequest true "agent request" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Bad Request" @Router /agent [post]
type JobMonitorController ¶
type JobMonitorController struct { JobMonitorUsecase model.JobMonitorUsecase Env *bootstrap.Env }
func (*JobMonitorController) GetJobList ¶
func (jmc *JobMonitorController) GetJobList(c *gin.Context)
GetJobList @Summary Gets job list from IBMQ based on the user's saved token @Description Gets job list from IBMQ based on the logged-in user's saved token @Tags token management @Accept json @Produce json @Success 200 {object} [] @Failure 400 {object} model.ErrorResponse "Bad Request" @Failure 500 {object} model.ErrorResponse "Error: Failed to retrieve job lists" @Router /api/job/list [get]
type LoginController ¶
type LoginController struct { LoginUsecase model.LoginUsecase Env *bootstrap.Env }
func (*LoginController) CheckUser ¶
func (lc *LoginController) CheckUser(c *gin.Context)
CheckUser @Summary Gets user details based on the current token @Description Authenticates a token and retrieves associated user information @Tags auth @Accept json @Produce json @Success 200 {object} model.User @Failure 401 {object} model.ErrorResponse "Token is not authorized!" @Failure 401 {object} model.ErrorResponse "You are not authorized, there is no ID!" @Failure 401 {object} model.ErrorResponse "You are not authorized, could not find user from token!" @Failure 401 {object} model.ErrorResponse "You are not authorized, There is no token!" @Router /auth/currUser [get]
func (*LoginController) Login ¶
func (lc *LoginController) Login(c *gin.Context)
Login @Summary Log a user in @Description Log a user in if the provided email and password are correct. @Tags auth @Accept json @Produce json @Param credential body model.LoginRequest true "login credential" @Success 200 {object} model.LoginResponse @Failure 400 {object} model.ErrorResponse "Bad Request (Invalid Email)" @Failure 401 {object} model.ErrorResponse "Incorrect Email or Password" @Failure 500 {object} model.ErrorResponse "Error Creating Access/Refresh Token" @Router /auth/login [post]
func (*LoginController) Logout ¶
func (lc *LoginController) Logout(c *gin.Context)
Logout @Summary Removes the JWT token from cookies @Description Removes both access and refresh JWT Tokens from cookies @Tags auth @Accept json @Produce json @Success 200 {object} model.LoginResponse @Router /auth/logout [post]
type NewUserInitializerController ¶
type NewUserInitializerController struct {
UserInitUsecase model.NewUserInitUsecase
}
func (*NewUserInitializerController) CheckHasUser ¶
func (uac *NewUserInitializerController) CheckHasUser(c *gin.Context)
@Summary Get if has user @Description Check if QL has users already. @Tags init @Accept json @Produce json @Success 200 {object} object{hasUser=bool} @Router /init [get]
func (*NewUserInitializerController) InitRootAdmin ¶
func (uac *NewUserInitializerController) InitRootAdmin(c *gin.Context)
@Summary Initialize root admin @Description Create the first user as a Root Administrator. @Tags init @Accept json @Produce json @Success 201 {object} model.SuccessResponse Failure 400 {object} model.ErrorResponse "Bad Request" Failure 403 {object} model.ErrorResponse "Forbidden" @Router /init [post]
type OAuthController ¶
type OAuthController struct { Server *server.Server Env *bootstrap.Env LoginUsecase model.LoginUsecase }
func (*OAuthController) AuthorizeHandler ¶
func (oac *OAuthController) AuthorizeHandler(w http.ResponseWriter, r *http.Request)
func (*OAuthController) GetUserDetails ¶
func (oac *OAuthController) GetUserDetails(c *gin.Context)
func (*OAuthController) TokenHandler ¶
func (oac *OAuthController) TokenHandler(w http.ResponseWriter, r *http.Request)
type RedirectController ¶
func (*RedirectController) RedirectSuperset ¶
func (rc *RedirectController) RedirectSuperset(c *gin.Context)
type ResultController ¶
type ResultController struct {
ResultUsecase model.ResultUsecase
}
func (*ResultController) Create ¶
func (controller *ResultController) Create(c *gin.Context)
type SettingController ¶
type SettingController struct { UserUsecase model.UserUsecase Env *bootstrap.Env }
func (*SettingController) UpdateUser ¶
func (uc *SettingController) UpdateUser(c *gin.Context)
@Summary Update user setting @Description Update user in setting. @Tags settings @Accept json @Produce json @Param workspace body model.User true "Updated user" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Request Parse Error" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /settings/users [put]
type TemplateController ¶
type TemplateController struct { TemplateUsecase model.TemplateUsecase Env *bootstrap.Env }
func (*TemplateController) DeleteTemplate ¶
func (tc *TemplateController) DeleteTemplate(c *gin.Context)
DeleteTemplate @Summary Delete template @Description Delete a workspace template. @Tags templates @Produce json @Param id path uint true "Template ID" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Request Parse Error" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /templates/{id} [delete]
func (*TemplateController) GetAllTemplates ¶
func (tc *TemplateController) GetAllTemplates(c *gin.Context)
GetAllTemplates @Summary Get all authorised templates @Description Get all authorised templates. @Tags templates @Produce json @Success 200 {object} []model.Template @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /templates [get]
func (*TemplateController) GetPresetIconList ¶
func (tc *TemplateController) GetPresetIconList(c *gin.Context)
GetPresetIconList @Summary Get template @Description Get the preset template icons. @Tags templates @Produce json @Success 200 @Failure 500 {object} model.ErrorResponse "Failed to retrieve file list" @Router /templates/icons [get]
func (*TemplateController) GetTemplateByID ¶
func (tc *TemplateController) GetTemplateByID(c *gin.Context)
GetTemplateByID @summary get one template @Description get the template with its id @Tags templates @Produce json @Param id path uint true "Template ID" @Success 200 {object} model.Template @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /templates/{id} [get]
func (*TemplateController) PostOneTemplate ¶
func (tc *TemplateController) PostOneTemplate(c *gin.Context)
PostOneTemplate @Summary Create new template @Description Create a new template. @Tags templates @Accept json @Produce json @Param template body model.Template true "Data needed for creating a workspace template" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Request Parse Error" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /templates [post]
func (*TemplateController) UpdateFile ¶
func (tc *TemplateController) UpdateFile(c *gin.Context)
UploadFile @Summary Upload file and parse the parameters @Description Get the preset template icons. @Tags templates @Param multipart/form-data @Produce json
func (*TemplateController) UpdateOneTemplate ¶
func (tc *TemplateController) UpdateOneTemplate(c *gin.Context)
UpdateOneTemplate @Summary Update template @Description Update an existing workspace template. @Tags templates @Accept json @Produce json @Param id path uint true "Template ID" @Param template body model.Template true "Updated template data" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Invalid ID / Request Parse Error" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /templates/{id} [put]
type UserAdminController ¶
type UserAdminController struct { UserAdminUsecase model.UserAdminUsecase Env *bootstrap.Env }
func (*UserAdminController) GetAllRoles ¶
func (uac *UserAdminController) GetAllRoles(c *gin.Context)
@Summary Get all roles @Description Get all roles @Tags user admin @Produce json @Success 200 {object} model.Role @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /admin/users/roles [get]
func (*UserAdminController) GetUserDetail ¶
func (uac *UserAdminController) GetUserDetail(c *gin.Context)
@Summary Get user detail @Description Get detailed information of a user. @Tags user admin @Produce json @Param id path uint true "User ID" @Success 200 {object} model.User @Failure 400 {object} model.ErrorResponse "Bad Request" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /admin/users/{id} [get]
func (*UserAdminController) GetUserList ¶
func (uac *UserAdminController) GetUserList(c *gin.Context)
@Summary Get user list @Description Get all users to list in the table. @Tags user admin @Produce json @Success 200 {object} []model.UserListItem @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /admin/users [get]
func (*UserAdminController) InviteUsers ¶
func (uac *UserAdminController) InviteUsers(c *gin.Context)
@Summary Invite and create users @Description Invite and create new users. @Tags user admin @Accept json @Produce json @Param emailList body []string true "List of user emails to send invitation" @Success 202 {object} model.SuccessResponse "Request Accepted" @Failure 400 {object} model.ErrorResponse "Bad Request" @Router /admin/users/invite [post]
func (*UserAdminController) SetAccountStatus ¶
func (uac *UserAdminController) SetAccountStatus(c *gin.Context)
@Summary Update the account status of a user @Description Administrator updates desired users account status @Tags user admin @Accept json @Produce json @Param request body model.SetAccountStatusRequest true "Status Request" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Bad Request" @Failure 403 {object} model.ErrorResponse "Forbidden" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /admin/users/{id}/status [patch]
func (*UserAdminController) UpdateUser ¶
func (uac *UserAdminController) UpdateUser(c *gin.Context)
@Summary Update user @Description Update a user. @Tags user admin @Accept json @Produce json @Param id path uint true "User ID" @Param user body model.User true "Updated user information" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Bad Request" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /admin/users/{id} [put]
type UserTokenController ¶
type UserTokenController struct { UserTokenUsecase model.UserTokenUsecase Env *bootstrap.Env }
func (*UserTokenController) AddToken ¶
func (utc *UserTokenController) AddToken(c *gin.Context)
AddToken @Summary Adds a new token with association to the user @Description Logged-in user adds a new token to their account @Tags token management @Accept json @Produce json @Param request body model.TokenRequest true "Token Request" @Success 200 {object} model.SuccessResponse "Successfully added token!" @Failure 400 {object} model.ErrorResponse "Bad Request (Invalid Format)" @Failure 400 {object} model.ErrorResponse "Bad Request (Could not find user)" @Failure 412 {object} model.ErrorResponse "Token for this service already exists!" @Failure 500 {object} model.ErrorResponse "Internal Error (Could not add token)" @Router /api/token/add [post]
func (*UserTokenController) EditToken ¶
func (utc *UserTokenController) EditToken(c *gin.Context)
EditToken @Summary Adjusts value of the designated token @Description Adjusts the value of the token provided @Tags token management @Accept json @Produce json @Param request body model.TokenRequest true "Token Request" @Success 200 {object} model.SuccessResponse "Successfully modified token!" @Failure 400 {object} model.ErrorResponse "Bad Request (Invalid Format)" @Failure 400 {object} model.ErrorResponse "Bad Request (Could not find user)" @Failure 500 {object} model.ErrorResponse "Internal Error (Could not add token)" @Failure 500 {object} model.ErrorResponse "Internal Error (Failed to edit token)" @Router /api/token/add [patch]
func (*UserTokenController) GetUserTokens ¶
func (utc *UserTokenController) GetUserTokens(c *gin.Context)
GetUserTokens @Summary Gets all tokens of a user @Description Retrieves all the tokens associated with the logged-in user @Tags token management @Accept json @Produce json @Success 200 {object} []model.Token @Failure 400 {object} model.ErrorResponse "Bad Request" @Failure 500 {object} model.ErrorResponse "Error: Failed to retrieve users tokens!" @Router /api/token/list [get]
func (*UserTokenController) RemoveToken ¶
func (utc *UserTokenController) RemoveToken(c *gin.Context)
RemoveToken @Summary Removes the designated token from the database @Description Removes the designated token from the database @Tags token management @Accept json @Produce json @Param request body model.TokenDeleteRequest true "Token Request" @Success 200 {object} model.SuccessResponse "Successfully removed token!" @Failure 400 {object} model.ErrorResponse "Bad Request (Invalid Format)" @Failure 400 {object} model.ErrorResponse "Bad Request (Could not find user)" @Failure 500 {object} model.ErrorResponse "Internal Error (Could not find token)" @Failure 500 {object} model.ErrorResponse "Internal Error (Failed to delete token)" @Router /api/token/add [delete]
type WorkspaceController ¶
type WorkspaceController struct { WorkspaceUsecase model.WorkspaceUsecase Env *bootstrap.Env }
func (*WorkspaceController) CreateWorkspace ¶
func (wc *WorkspaceController) CreateWorkspace(c *gin.Context)
@Summary Create workspace @Description Create a workspace. @Tags workspaces @Accept json @Produce json @Param workspace body model.Workspace true "New workspace" @Success 201 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Request Parse Error" @Failure 500 {object} model.ErrorResponse "Uexpected System Error" @Router /workspaces [post]
func (*WorkspaceController) DeleteWorkspace ¶
func (wc *WorkspaceController) DeleteWorkspace(c *gin.Context)
@Summary Delete workspace @Description Delete a workspace by its ID. @Tags workspaces @Produce json @Param id path uint true "Workspace ID" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Invalid ID" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /workspaces/{id} [delete]
func (*WorkspaceController) GetWorkspace ¶
func (wc *WorkspaceController) GetWorkspace(c *gin.Context)
@Summary Get workspace by ID @Description Get a workspace by its ID. @Tags workspaces @Produce json @Param id path uint true "Workspace ID" @Success 200 {object} model.Workspace @Failure 400 {object} model.ErrorResponse "Invalid ID" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /workspaces/{id} [get]
func (*WorkspaceController) GetWorkspaceToolset ¶
func (wc *WorkspaceController) GetWorkspaceToolset(c *gin.Context)
@Summary Get all toolsets associated with a workspace @Description Retrieve workspace toolsets by workspace id @Tags workspaces @Produce json @Param id path uint true "Workspace ID" @Success 200 {object} []model.Toolset @Failure 400 {object} model.ErrorResponse "Invalid workspace ID" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /workspaces/{id}/toolset [get]
func (*WorkspaceController) GetWorkspacesByUser ¶
func (wc *WorkspaceController) GetWorkspacesByUser(c *gin.Context)
@Summary Get all workspaces by user @Description Get all workspaces of a user. An empty array is returned if the user has no workspace. @Tags workspaces @Produce json @Param id path uint true "User ID" @Success 200 {object} []model.Workspace @Failure 400 {object} model.ErrorResponse "Invalid ID" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /workspaces/users/{id} [get]
func (*WorkspaceController) UpdateWorkspace ¶
func (wc *WorkspaceController) UpdateWorkspace(c *gin.Context)
@Summary Update workspace @Description Update specific fields of a workspace. @Tags workspaces @Accept json @Produce json @Param id path uint true "Workspace ID" @Param workspace body model.Workspace true "Updated workspace metadata" @Success 200 {object} model.SuccessResponse @Failure 400 {object} model.ErrorResponse "Invalid ID / Request Parse Error" @Failure 500 {object} model.ErrorResponse "Unexpected System Error" @Router /workspaces/{id} [patch]
Source Files
¶
- agent_request_controller.go
- job_monitor_controller.go
- login_controller.go
- new_user_init_controller.go
- oauth_controller.go
- redirect_controller.go
- refresh_token_controller.go
- result_controller.go
- setting_controller.go
- task_controller.go
- template_controller.go
- user_admin_controller.go
- user_token_controller.go
- workspace_controller.go