mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-16 17:23:24 +03:00
docs: fix api routers for swag documentation (#378)
This commit is contained in:
@@ -43,7 +43,7 @@ func NewApiKeyController(group *gin.RouterGroup, authMiddleware *middleware.Auth
|
|||||||
// @Param sort_column query string false "Column to sort by" default("created_at")
|
// @Param sort_column query string false "Column to sort by" default("created_at")
|
||||||
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
||||||
// @Success 200 {object} dto.Paginated[dto.ApiKeyDto]
|
// @Success 200 {object} dto.Paginated[dto.ApiKeyDto]
|
||||||
// @Router /api-keys [get]
|
// @Router /api/api-keys [get]
|
||||||
func (c *ApiKeyController) listApiKeysHandler(ctx *gin.Context) {
|
func (c *ApiKeyController) listApiKeysHandler(ctx *gin.Context) {
|
||||||
userID := ctx.GetString("userID")
|
userID := ctx.GetString("userID")
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ func (c *ApiKeyController) listApiKeysHandler(ctx *gin.Context) {
|
|||||||
// @Tags API Keys
|
// @Tags API Keys
|
||||||
// @Param api_key body dto.ApiKeyCreateDto true "API key information"
|
// @Param api_key body dto.ApiKeyCreateDto true "API key information"
|
||||||
// @Success 201 {object} dto.ApiKeyResponseDto "Created API key with token"
|
// @Success 201 {object} dto.ApiKeyResponseDto "Created API key with token"
|
||||||
// @Router /api-keys [post]
|
// @Router /api/api-keys [post]
|
||||||
func (c *ApiKeyController) createApiKeyHandler(ctx *gin.Context) {
|
func (c *ApiKeyController) createApiKeyHandler(ctx *gin.Context) {
|
||||||
userID := ctx.GetString("userID")
|
userID := ctx.GetString("userID")
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ func (c *ApiKeyController) createApiKeyHandler(ctx *gin.Context) {
|
|||||||
// @Tags API Keys
|
// @Tags API Keys
|
||||||
// @Param id path string true "API Key ID"
|
// @Param id path string true "API Key ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /api-keys/{id} [delete]
|
// @Router /api/api-keys/{id} [delete]
|
||||||
func (c *ApiKeyController) revokeApiKeyHandler(ctx *gin.Context) {
|
func (c *ApiKeyController) revokeApiKeyHandler(ctx *gin.Context) {
|
||||||
userID := ctx.GetString("userID")
|
userID := ctx.GetString("userID")
|
||||||
apiKeyID := ctx.Param("id")
|
apiKeyID := ctx.Param("id")
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ func (acc *AppConfigController) listAllAppConfigHandler(c *gin.Context) {
|
|||||||
// @Param body body dto.AppConfigUpdateDto true "Application Configuration"
|
// @Param body body dto.AppConfigUpdateDto true "Application Configuration"
|
||||||
// @Success 200 {array} dto.AppConfigVariableDto
|
// @Success 200 {array} dto.AppConfigVariableDto
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration [put]
|
// @Router /api/application-configuration [put]
|
||||||
func (acc *AppConfigController) updateAppConfigHandler(c *gin.Context) {
|
func (acc *AppConfigController) updateAppConfigHandler(c *gin.Context) {
|
||||||
var input dto.AppConfigUpdateDto
|
var input dto.AppConfigUpdateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -141,7 +141,7 @@ func (acc *AppConfigController) updateAppConfigHandler(c *gin.Context) {
|
|||||||
// @Produce image/jpeg
|
// @Produce image/jpeg
|
||||||
// @Produce image/svg+xml
|
// @Produce image/svg+xml
|
||||||
// @Success 200 {file} binary "Logo image"
|
// @Success 200 {file} binary "Logo image"
|
||||||
// @Router /application-configuration/logo [get]
|
// @Router /api/application-configuration/logo [get]
|
||||||
func (acc *AppConfigController) getLogoHandler(c *gin.Context) {
|
func (acc *AppConfigController) getLogoHandler(c *gin.Context) {
|
||||||
lightLogo := c.DefaultQuery("light", "true") == "true"
|
lightLogo := c.DefaultQuery("light", "true") == "true"
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ func (acc *AppConfigController) getLogoHandler(c *gin.Context) {
|
|||||||
// @Produce image/x-icon
|
// @Produce image/x-icon
|
||||||
// @Success 200 {file} binary "Favicon image"
|
// @Success 200 {file} binary "Favicon image"
|
||||||
// @Failure 404 {object} object "{"error": "File not found"}"
|
// @Failure 404 {object} object "{"error": "File not found"}"
|
||||||
// @Router /application-configuration/favicon [get]
|
// @Router /api/application-configuration/favicon [get]
|
||||||
func (acc *AppConfigController) getFaviconHandler(c *gin.Context) {
|
func (acc *AppConfigController) getFaviconHandler(c *gin.Context) {
|
||||||
acc.getImage(c, "favicon", "ico")
|
acc.getImage(c, "favicon", "ico")
|
||||||
}
|
}
|
||||||
@@ -179,7 +179,7 @@ func (acc *AppConfigController) getFaviconHandler(c *gin.Context) {
|
|||||||
// @Produce image/jpeg
|
// @Produce image/jpeg
|
||||||
// @Success 200 {file} binary "Background image"
|
// @Success 200 {file} binary "Background image"
|
||||||
// @Failure 404 {object} object "{"error": "File not found"}"
|
// @Failure 404 {object} object "{"error": "File not found"}"
|
||||||
// @Router /application-configuration/background-image [get]
|
// @Router /api/application-configuration/background-image [get]
|
||||||
func (acc *AppConfigController) getBackgroundImageHandler(c *gin.Context) {
|
func (acc *AppConfigController) getBackgroundImageHandler(c *gin.Context) {
|
||||||
imageType := acc.appConfigService.DbConfig.BackgroundImageType.Value
|
imageType := acc.appConfigService.DbConfig.BackgroundImageType.Value
|
||||||
acc.getImage(c, "background", imageType)
|
acc.getImage(c, "background", imageType)
|
||||||
@@ -194,7 +194,7 @@ func (acc *AppConfigController) getBackgroundImageHandler(c *gin.Context) {
|
|||||||
// @Param file formData file true "Logo image file"
|
// @Param file formData file true "Logo image file"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration/logo [put]
|
// @Router /api/application-configuration/logo [put]
|
||||||
func (acc *AppConfigController) updateLogoHandler(c *gin.Context) {
|
func (acc *AppConfigController) updateLogoHandler(c *gin.Context) {
|
||||||
lightLogo := c.DefaultQuery("light", "true") == "true"
|
lightLogo := c.DefaultQuery("light", "true") == "true"
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ func (acc *AppConfigController) updateLogoHandler(c *gin.Context) {
|
|||||||
// @Param file formData file true "Favicon file (.ico)"
|
// @Param file formData file true "Favicon file (.ico)"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration/favicon [put]
|
// @Router /api/application-configuration/favicon [put]
|
||||||
func (acc *AppConfigController) updateFaviconHandler(c *gin.Context) {
|
func (acc *AppConfigController) updateFaviconHandler(c *gin.Context) {
|
||||||
file, err := c.FormFile("file")
|
file, err := c.FormFile("file")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -244,7 +244,7 @@ func (acc *AppConfigController) updateFaviconHandler(c *gin.Context) {
|
|||||||
// @Param file formData file true "Background image file"
|
// @Param file formData file true "Background image file"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration/background-image [put]
|
// @Router /api/application-configuration/background-image [put]
|
||||||
func (acc *AppConfigController) updateBackgroundImageHandler(c *gin.Context) {
|
func (acc *AppConfigController) updateBackgroundImageHandler(c *gin.Context) {
|
||||||
imageType := acc.appConfigService.DbConfig.BackgroundImageType.Value
|
imageType := acc.appConfigService.DbConfig.BackgroundImageType.Value
|
||||||
acc.updateImage(c, "background", imageType)
|
acc.updateImage(c, "background", imageType)
|
||||||
@@ -282,7 +282,7 @@ func (acc *AppConfigController) updateImage(c *gin.Context, imageName string, ol
|
|||||||
// @Tags Application Configuration
|
// @Tags Application Configuration
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration/sync-ldap [post]
|
// @Router /api/application-configuration/sync-ldap [post]
|
||||||
func (acc *AppConfigController) syncLdapHandler(c *gin.Context) {
|
func (acc *AppConfigController) syncLdapHandler(c *gin.Context) {
|
||||||
err := acc.ldapService.SyncAll()
|
err := acc.ldapService.SyncAll()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -299,7 +299,7 @@ func (acc *AppConfigController) syncLdapHandler(c *gin.Context) {
|
|||||||
// @Tags Application Configuration
|
// @Tags Application Configuration
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /application-configuration/test-email [post]
|
// @Router /api/application-configuration/test-email [post]
|
||||||
func (acc *AppConfigController) testEmailHandler(c *gin.Context) {
|
func (acc *AppConfigController) testEmailHandler(c *gin.Context) {
|
||||||
userID := c.GetString("userID")
|
userID := c.GetString("userID")
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ type AuditLogController struct {
|
|||||||
// @Param sort_column query string false "Column to sort by" default("created_at")
|
// @Param sort_column query string false "Column to sort by" default("created_at")
|
||||||
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
||||||
// @Success 200 {object} dto.Paginated[dto.AuditLogDto]
|
// @Success 200 {object} dto.Paginated[dto.AuditLogDto]
|
||||||
// @Router /audit-logs [get]
|
// @Router /api/audit-logs [get]
|
||||||
func (alc *AuditLogController) listAuditLogsForUserHandler(c *gin.Context) {
|
func (alc *AuditLogController) listAuditLogsForUserHandler(c *gin.Context) {
|
||||||
var sortedPaginationRequest utils.SortedPaginationRequest
|
var sortedPaginationRequest utils.SortedPaginationRequest
|
||||||
if err := c.ShouldBindQuery(&sortedPaginationRequest); err != nil {
|
if err := c.ShouldBindQuery(&sortedPaginationRequest); err != nil {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ type CustomClaimController struct {
|
|||||||
// @Failure 403 {object} object "Forbidden"
|
// @Failure 403 {object} object "Forbidden"
|
||||||
// @Failure 500 {object} object "Internal server error"
|
// @Failure 500 {object} object "Internal server error"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /custom-claims/suggestions [get]
|
// @Router /api/custom-claims/suggestions [get]
|
||||||
func (ccc *CustomClaimController) getSuggestionsHandler(c *gin.Context) {
|
func (ccc *CustomClaimController) getSuggestionsHandler(c *gin.Context) {
|
||||||
claims, err := ccc.customClaimService.GetSuggestions()
|
claims, err := ccc.customClaimService.GetSuggestions()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -59,7 +59,7 @@ func (ccc *CustomClaimController) getSuggestionsHandler(c *gin.Context) {
|
|||||||
// @Param userId path string true "User ID"
|
// @Param userId path string true "User ID"
|
||||||
// @Param claims body []dto.CustomClaimCreateDto true "List of custom claims to set for the user"
|
// @Param claims body []dto.CustomClaimCreateDto true "List of custom claims to set for the user"
|
||||||
// @Success 200 {array} dto.CustomClaimDto "Updated custom claims"
|
// @Success 200 {array} dto.CustomClaimDto "Updated custom claims"
|
||||||
// @Router /custom-claims/user/{userId} [put]
|
// @Router /api/custom-claims/user/{userId} [put]
|
||||||
func (ccc *CustomClaimController) UpdateCustomClaimsForUserHandler(c *gin.Context) {
|
func (ccc *CustomClaimController) UpdateCustomClaimsForUserHandler(c *gin.Context) {
|
||||||
var input []dto.CustomClaimCreateDto
|
var input []dto.CustomClaimCreateDto
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ func (ccc *CustomClaimController) UpdateCustomClaimsForUserHandler(c *gin.Contex
|
|||||||
// @Param claims body []dto.CustomClaimCreateDto true "List of custom claims to set for the user group"
|
// @Param claims body []dto.CustomClaimCreateDto true "List of custom claims to set for the user group"
|
||||||
// @Success 200 {array} dto.CustomClaimDto "Updated custom claims"
|
// @Success 200 {array} dto.CustomClaimDto "Updated custom claims"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /custom-claims/user-group/{userGroupId} [put]
|
// @Router /api/custom-claims/user-group/{userGroupId} [put]
|
||||||
func (ccc *CustomClaimController) UpdateCustomClaimsForUserGroupHandler(c *gin.Context) {
|
func (ccc *CustomClaimController) UpdateCustomClaimsForUserGroupHandler(c *gin.Context) {
|
||||||
var input []dto.CustomClaimCreateDto
|
var input []dto.CustomClaimCreateDto
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ type OidcController struct {
|
|||||||
// @Param request body dto.AuthorizeOidcClientRequestDto true "Authorization request parameters"
|
// @Param request body dto.AuthorizeOidcClientRequestDto true "Authorization request parameters"
|
||||||
// @Success 200 {object} dto.AuthorizeOidcClientResponseDto "Authorization code and callback URL"
|
// @Success 200 {object} dto.AuthorizeOidcClientResponseDto "Authorization code and callback URL"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/authorize [post]
|
// @Router /api/oidc/authorize [post]
|
||||||
func (oc *OidcController) authorizeHandler(c *gin.Context) {
|
func (oc *OidcController) authorizeHandler(c *gin.Context) {
|
||||||
var input dto.AuthorizeOidcClientRequestDto
|
var input dto.AuthorizeOidcClientRequestDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -92,7 +92,7 @@ func (oc *OidcController) authorizeHandler(c *gin.Context) {
|
|||||||
// @Param request body dto.AuthorizationRequiredDto true "Authorization check parameters"
|
// @Param request body dto.AuthorizationRequiredDto true "Authorization check parameters"
|
||||||
// @Success 200 {object} object "{ \"authorizationRequired\": true/false }"
|
// @Success 200 {object} object "{ \"authorizationRequired\": true/false }"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/authorization-required [post]
|
// @Router /api/oidc/authorization-required [post]
|
||||||
func (oc *OidcController) authorizationConfirmationRequiredHandler(c *gin.Context) {
|
func (oc *OidcController) authorizationConfirmationRequiredHandler(c *gin.Context) {
|
||||||
var input dto.AuthorizationRequiredDto
|
var input dto.AuthorizationRequiredDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -121,7 +121,7 @@ func (oc *OidcController) authorizationConfirmationRequiredHandler(c *gin.Contex
|
|||||||
// @Param grant_type formData string true "Grant type (must be 'authorization_code')"
|
// @Param grant_type formData string true "Grant type (must be 'authorization_code')"
|
||||||
// @Param code_verifier formData string false "PKCE code verifier"
|
// @Param code_verifier formData string false "PKCE code verifier"
|
||||||
// @Success 200 {object} object "{ \"id_token\": \"string\", \"access_token\": \"string\", \"token_type\": \"Bearer\" }"
|
// @Success 200 {object} object "{ \"id_token\": \"string\", \"access_token\": \"string\", \"token_type\": \"Bearer\" }"
|
||||||
// @Router /oidc/token [post]
|
// @Router /api/oidc/token [post]
|
||||||
func (oc *OidcController) createTokensHandler(c *gin.Context) {
|
func (oc *OidcController) createTokensHandler(c *gin.Context) {
|
||||||
// Disable cors for this endpoint
|
// Disable cors for this endpoint
|
||||||
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
|
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
|
||||||
@@ -158,7 +158,7 @@ func (oc *OidcController) createTokensHandler(c *gin.Context) {
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Success 200 {object} object "User claims based on requested scopes"
|
// @Success 200 {object} object "User claims based on requested scopes"
|
||||||
// @Security OAuth2AccessToken
|
// @Security OAuth2AccessToken
|
||||||
// @Router /oidc/userinfo [get]
|
// @Router /api/oidc/userinfo [get]
|
||||||
func (oc *OidcController) userInfoHandler(c *gin.Context) {
|
func (oc *OidcController) userInfoHandler(c *gin.Context) {
|
||||||
authHeaderSplit := strings.Split(c.GetHeader("Authorization"), " ")
|
authHeaderSplit := strings.Split(c.GetHeader("Authorization"), " ")
|
||||||
if len(authHeaderSplit) != 2 {
|
if len(authHeaderSplit) != 2 {
|
||||||
@@ -192,7 +192,7 @@ func (oc *OidcController) userInfoHandler(c *gin.Context) {
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Success 200 {object} object "User claims based on requested scopes"
|
// @Success 200 {object} object "User claims based on requested scopes"
|
||||||
// @Security OAuth2AccessToken
|
// @Security OAuth2AccessToken
|
||||||
// @Router /oidc/userinfo [post]
|
// @Router /api/oidc/userinfo [post]
|
||||||
func (oc *OidcController) userInfoHandlerPost(c *gin.Context) {
|
func (oc *OidcController) userInfoHandlerPost(c *gin.Context) {
|
||||||
// Implementation is the same as GET
|
// Implementation is the same as GET
|
||||||
}
|
}
|
||||||
@@ -207,7 +207,7 @@ func (oc *OidcController) userInfoHandlerPost(c *gin.Context) {
|
|||||||
// @Param post_logout_redirect_uri query string false "URL to redirect to after logout"
|
// @Param post_logout_redirect_uri query string false "URL to redirect to after logout"
|
||||||
// @Param state query string false "State parameter to include in the redirect"
|
// @Param state query string false "State parameter to include in the redirect"
|
||||||
// @Success 302 "Redirect to post-logout URL or application logout page"
|
// @Success 302 "Redirect to post-logout URL or application logout page"
|
||||||
// @Router /oidc/end-session [get]
|
// @Router /api/oidc/end-session [get]
|
||||||
func (oc *OidcController) EndSessionHandler(c *gin.Context) {
|
func (oc *OidcController) EndSessionHandler(c *gin.Context) {
|
||||||
var input dto.OidcLogoutDto
|
var input dto.OidcLogoutDto
|
||||||
|
|
||||||
@@ -256,7 +256,7 @@ func (oc *OidcController) EndSessionHandler(c *gin.Context) {
|
|||||||
// @Param post_logout_redirect_uri formData string false "URL to redirect to after logout"
|
// @Param post_logout_redirect_uri formData string false "URL to redirect to after logout"
|
||||||
// @Param state formData string false "State parameter to include in the redirect"
|
// @Param state formData string false "State parameter to include in the redirect"
|
||||||
// @Success 302 "Redirect to post-logout URL or application logout page"
|
// @Success 302 "Redirect to post-logout URL or application logout page"
|
||||||
// @Router /oidc/end-session [post]
|
// @Router /api/oidc/end-session [post]
|
||||||
func (oc *OidcController) EndSessionHandlerPost(c *gin.Context) {
|
func (oc *OidcController) EndSessionHandlerPost(c *gin.Context) {
|
||||||
// Implementation is the same as GET
|
// Implementation is the same as GET
|
||||||
}
|
}
|
||||||
@@ -268,7 +268,7 @@ func (oc *OidcController) EndSessionHandlerPost(c *gin.Context) {
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 200 {object} dto.OidcClientMetaDataDto "Client metadata"
|
// @Success 200 {object} dto.OidcClientMetaDataDto "Client metadata"
|
||||||
// @Router /oidc/clients/{id}/meta [get]
|
// @Router /api/oidc/clients/{id}/meta [get]
|
||||||
func (oc *OidcController) getClientMetaDataHandler(c *gin.Context) {
|
func (oc *OidcController) getClientMetaDataHandler(c *gin.Context) {
|
||||||
clientId := c.Param("id")
|
clientId := c.Param("id")
|
||||||
client, err := oc.oidcService.GetClient(clientId)
|
client, err := oc.oidcService.GetClient(clientId)
|
||||||
@@ -295,7 +295,7 @@ func (oc *OidcController) getClientMetaDataHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 200 {object} dto.OidcClientWithAllowedUserGroupsDto "Client information"
|
// @Success 200 {object} dto.OidcClientWithAllowedUserGroupsDto "Client information"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id} [get]
|
// @Router /api/oidc/clients/{id} [get]
|
||||||
func (oc *OidcController) getClientHandler(c *gin.Context) {
|
func (oc *OidcController) getClientHandler(c *gin.Context) {
|
||||||
clientId := c.Param("id")
|
clientId := c.Param("id")
|
||||||
client, err := oc.oidcService.GetClient(clientId)
|
client, err := oc.oidcService.GetClient(clientId)
|
||||||
@@ -325,7 +325,7 @@ func (oc *OidcController) getClientHandler(c *gin.Context) {
|
|||||||
// @Param sort_direction query string false "Sort direction (asc or desc)" default("asc")
|
// @Param sort_direction query string false "Sort direction (asc or desc)" default("asc")
|
||||||
// @Success 200 {object} dto.Paginated[dto.OidcClientDto]
|
// @Success 200 {object} dto.Paginated[dto.OidcClientDto]
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients [get]
|
// @Router /api/oidc/clients [get]
|
||||||
func (oc *OidcController) listClientsHandler(c *gin.Context) {
|
func (oc *OidcController) listClientsHandler(c *gin.Context) {
|
||||||
searchTerm := c.Query("search")
|
searchTerm := c.Query("search")
|
||||||
var sortedPaginationRequest utils.SortedPaginationRequest
|
var sortedPaginationRequest utils.SortedPaginationRequest
|
||||||
@@ -361,7 +361,7 @@ func (oc *OidcController) listClientsHandler(c *gin.Context) {
|
|||||||
// @Param client body dto.OidcClientCreateDto true "Client information"
|
// @Param client body dto.OidcClientCreateDto true "Client information"
|
||||||
// @Success 201 {object} dto.OidcClientWithAllowedUserGroupsDto "Created client"
|
// @Success 201 {object} dto.OidcClientWithAllowedUserGroupsDto "Created client"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients [post]
|
// @Router /api/oidc/clients [post]
|
||||||
func (oc *OidcController) createClientHandler(c *gin.Context) {
|
func (oc *OidcController) createClientHandler(c *gin.Context) {
|
||||||
var input dto.OidcClientCreateDto
|
var input dto.OidcClientCreateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -391,7 +391,7 @@ func (oc *OidcController) createClientHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id} [delete]
|
// @Router /api/oidc/clients/{id} [delete]
|
||||||
func (oc *OidcController) deleteClientHandler(c *gin.Context) {
|
func (oc *OidcController) deleteClientHandler(c *gin.Context) {
|
||||||
err := oc.oidcService.DeleteClient(c.Param("id"))
|
err := oc.oidcService.DeleteClient(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -412,7 +412,7 @@ func (oc *OidcController) deleteClientHandler(c *gin.Context) {
|
|||||||
// @Param client body dto.OidcClientCreateDto true "Client information"
|
// @Param client body dto.OidcClientCreateDto true "Client information"
|
||||||
// @Success 200 {object} dto.OidcClientWithAllowedUserGroupsDto "Updated client"
|
// @Success 200 {object} dto.OidcClientWithAllowedUserGroupsDto "Updated client"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id} [put]
|
// @Router /api/oidc/clients/{id} [put]
|
||||||
func (oc *OidcController) updateClientHandler(c *gin.Context) {
|
func (oc *OidcController) updateClientHandler(c *gin.Context) {
|
||||||
var input dto.OidcClientCreateDto
|
var input dto.OidcClientCreateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -443,7 +443,7 @@ func (oc *OidcController) updateClientHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 200 {object} object "{ \"secret\": \"string\" }"
|
// @Success 200 {object} object "{ \"secret\": \"string\" }"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id}/secret [post]
|
// @Router /api/oidc/clients/{id}/secret [post]
|
||||||
func (oc *OidcController) createClientSecretHandler(c *gin.Context) {
|
func (oc *OidcController) createClientSecretHandler(c *gin.Context) {
|
||||||
secret, err := oc.oidcService.CreateClientSecret(c.Param("id"))
|
secret, err := oc.oidcService.CreateClientSecret(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -463,7 +463,7 @@ func (oc *OidcController) createClientSecretHandler(c *gin.Context) {
|
|||||||
// @Produce image/svg+xml
|
// @Produce image/svg+xml
|
||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 200 {file} binary "Logo image"
|
// @Success 200 {file} binary "Logo image"
|
||||||
// @Router /oidc/clients/{id}/logo [get]
|
// @Router /api/oidc/clients/{id}/logo [get]
|
||||||
func (oc *OidcController) getClientLogoHandler(c *gin.Context) {
|
func (oc *OidcController) getClientLogoHandler(c *gin.Context) {
|
||||||
imagePath, mimeType, err := oc.oidcService.GetClientLogo(c.Param("id"))
|
imagePath, mimeType, err := oc.oidcService.GetClientLogo(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -484,7 +484,7 @@ func (oc *OidcController) getClientLogoHandler(c *gin.Context) {
|
|||||||
// @Param file formData file true "Logo image file (PNG, JPG, or SVG, max 2MB)"
|
// @Param file formData file true "Logo image file (PNG, JPG, or SVG, max 2MB)"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id}/logo [post]
|
// @Router /api/oidc/clients/{id}/logo [post]
|
||||||
func (oc *OidcController) updateClientLogoHandler(c *gin.Context) {
|
func (oc *OidcController) updateClientLogoHandler(c *gin.Context) {
|
||||||
file, err := c.FormFile("file")
|
file, err := c.FormFile("file")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -508,7 +508,7 @@ func (oc *OidcController) updateClientLogoHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "Client ID"
|
// @Param id path string true "Client ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id}/logo [delete]
|
// @Router /api/oidc/clients/{id}/logo [delete]
|
||||||
func (oc *OidcController) deleteClientLogoHandler(c *gin.Context) {
|
func (oc *OidcController) deleteClientLogoHandler(c *gin.Context) {
|
||||||
err := oc.oidcService.DeleteClientLogo(c.Param("id"))
|
err := oc.oidcService.DeleteClientLogo(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -529,7 +529,7 @@ func (oc *OidcController) deleteClientLogoHandler(c *gin.Context) {
|
|||||||
// @Param groups body dto.OidcUpdateAllowedUserGroupsDto true "User group IDs"
|
// @Param groups body dto.OidcUpdateAllowedUserGroupsDto true "User group IDs"
|
||||||
// @Success 200 {object} dto.OidcClientDto "Updated client"
|
// @Success 200 {object} dto.OidcClientDto "Updated client"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /oidc/clients/{id}/allowed-user-groups [put]
|
// @Router /api/oidc/clients/{id}/allowed-user-groups [put]
|
||||||
func (oc *OidcController) updateAllowedUserGroupsHandler(c *gin.Context) {
|
func (oc *OidcController) updateAllowedUserGroupsHandler(c *gin.Context) {
|
||||||
var input dto.OidcUpdateAllowedUserGroupsDto
|
var input dto.OidcUpdateAllowedUserGroupsDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ type UserController struct {
|
|||||||
// @Tags Users,User Groups
|
// @Tags Users,User Groups
|
||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Success 200 {array} dto.UserGroupDtoWithUsers
|
// @Success 200 {array} dto.UserGroupDtoWithUsers
|
||||||
// @Router /users/{id}/groups [get]
|
// @Router /api/users/{id}/groups [get]
|
||||||
func (uc *UserController) getUserGroupsHandler(c *gin.Context) {
|
func (uc *UserController) getUserGroupsHandler(c *gin.Context) {
|
||||||
userID := c.Param("id")
|
userID := c.Param("id")
|
||||||
groups, err := uc.userService.GetUserGroups(userID)
|
groups, err := uc.userService.GetUserGroups(userID)
|
||||||
@@ -91,7 +91,7 @@ func (uc *UserController) getUserGroupsHandler(c *gin.Context) {
|
|||||||
// @Param sort_column query string false "Column to sort by" default("created_at")
|
// @Param sort_column query string false "Column to sort by" default("created_at")
|
||||||
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
// @Param sort_direction query string false "Sort direction (asc or desc)" default("desc")
|
||||||
// @Success 200 {object} dto.Paginated[dto.UserDto]
|
// @Success 200 {object} dto.Paginated[dto.UserDto]
|
||||||
// @Router /users [get]
|
// @Router /api/users [get]
|
||||||
func (uc *UserController) listUsersHandler(c *gin.Context) {
|
func (uc *UserController) listUsersHandler(c *gin.Context) {
|
||||||
searchTerm := c.Query("search")
|
searchTerm := c.Query("search")
|
||||||
var sortedPaginationRequest utils.SortedPaginationRequest
|
var sortedPaginationRequest utils.SortedPaginationRequest
|
||||||
@@ -124,7 +124,7 @@ func (uc *UserController) listUsersHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /users/{id} [get]
|
// @Router /api/users/{id} [get]
|
||||||
func (uc *UserController) getUserHandler(c *gin.Context) {
|
func (uc *UserController) getUserHandler(c *gin.Context) {
|
||||||
user, err := uc.userService.GetUser(c.Param("id"))
|
user, err := uc.userService.GetUser(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -146,7 +146,7 @@ func (uc *UserController) getUserHandler(c *gin.Context) {
|
|||||||
// @Description Retrieve information about the currently authenticated user
|
// @Description Retrieve information about the currently authenticated user
|
||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /users/me [get]
|
// @Router /api/users/me [get]
|
||||||
func (uc *UserController) getCurrentUserHandler(c *gin.Context) {
|
func (uc *UserController) getCurrentUserHandler(c *gin.Context) {
|
||||||
user, err := uc.userService.GetUser(c.GetString("userID"))
|
user, err := uc.userService.GetUser(c.GetString("userID"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -169,7 +169,7 @@ func (uc *UserController) getCurrentUserHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /users/{id} [delete]
|
// @Router /api/users/{id} [delete]
|
||||||
func (uc *UserController) deleteUserHandler(c *gin.Context) {
|
func (uc *UserController) deleteUserHandler(c *gin.Context) {
|
||||||
if err := uc.userService.DeleteUser(c.Param("id")); err != nil {
|
if err := uc.userService.DeleteUser(c.Param("id")); err != nil {
|
||||||
c.Error(err)
|
c.Error(err)
|
||||||
@@ -185,7 +185,7 @@ func (uc *UserController) deleteUserHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Param user body dto.UserCreateDto true "User information"
|
// @Param user body dto.UserCreateDto true "User information"
|
||||||
// @Success 201 {object} dto.UserDto
|
// @Success 201 {object} dto.UserDto
|
||||||
// @Router /users [post]
|
// @Router /api/users [post]
|
||||||
func (uc *UserController) createUserHandler(c *gin.Context) {
|
func (uc *UserController) createUserHandler(c *gin.Context) {
|
||||||
var input dto.UserCreateDto
|
var input dto.UserCreateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -215,7 +215,7 @@ func (uc *UserController) createUserHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Param user body dto.UserCreateDto true "User information"
|
// @Param user body dto.UserCreateDto true "User information"
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /users/{id} [put]
|
// @Router /api/users/{id} [put]
|
||||||
func (uc *UserController) updateUserHandler(c *gin.Context) {
|
func (uc *UserController) updateUserHandler(c *gin.Context) {
|
||||||
uc.updateUser(c, false)
|
uc.updateUser(c, false)
|
||||||
}
|
}
|
||||||
@@ -226,7 +226,7 @@ func (uc *UserController) updateUserHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Param user body dto.UserCreateDto true "User information"
|
// @Param user body dto.UserCreateDto true "User information"
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /users/me [put]
|
// @Router /api/users/me [put]
|
||||||
func (uc *UserController) updateCurrentUserHandler(c *gin.Context) {
|
func (uc *UserController) updateCurrentUserHandler(c *gin.Context) {
|
||||||
if uc.appConfigService.DbConfig.AllowOwnAccountEdit.Value != "true" {
|
if uc.appConfigService.DbConfig.AllowOwnAccountEdit.Value != "true" {
|
||||||
c.Error(&common.AccountEditNotAllowedError{})
|
c.Error(&common.AccountEditNotAllowedError{})
|
||||||
@@ -242,7 +242,7 @@ func (uc *UserController) updateCurrentUserHandler(c *gin.Context) {
|
|||||||
// @Produce image/png
|
// @Produce image/png
|
||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Success 200 {file} binary "PNG image"
|
// @Success 200 {file} binary "PNG image"
|
||||||
// @Router /users/{id}/profile-picture.png [get]
|
// @Router /api/users/{id}/profile-picture.png [get]
|
||||||
func (uc *UserController) getUserProfilePictureHandler(c *gin.Context) {
|
func (uc *UserController) getUserProfilePictureHandler(c *gin.Context) {
|
||||||
userID := c.Param("id")
|
userID := c.Param("id")
|
||||||
|
|
||||||
@@ -266,7 +266,7 @@ func (uc *UserController) getUserProfilePictureHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Param file formData file true "Profile picture image file (PNG, JPG, or JPEG)"
|
// @Param file formData file true "Profile picture image file (PNG, JPG, or JPEG)"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /users/{id}/profile-picture [put]
|
// @Router /api/users/{id}/profile-picture [put]
|
||||||
func (uc *UserController) updateUserProfilePictureHandler(c *gin.Context) {
|
func (uc *UserController) updateUserProfilePictureHandler(c *gin.Context) {
|
||||||
userID := c.Param("id")
|
userID := c.Param("id")
|
||||||
fileHeader, err := c.FormFile("file")
|
fileHeader, err := c.FormFile("file")
|
||||||
@@ -297,7 +297,7 @@ func (uc *UserController) updateUserProfilePictureHandler(c *gin.Context) {
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Param file formData file true "Profile picture image file (PNG, JPG, or JPEG)"
|
// @Param file formData file true "Profile picture image file (PNG, JPG, or JPEG)"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /users/me/profile-picture [put]
|
// @Router /api/users/me/profile-picture [put]
|
||||||
func (uc *UserController) updateCurrentUserProfilePictureHandler(c *gin.Context) {
|
func (uc *UserController) updateCurrentUserProfilePictureHandler(c *gin.Context) {
|
||||||
userID := c.GetString("userID")
|
userID := c.GetString("userID")
|
||||||
fileHeader, err := c.FormFile("file")
|
fileHeader, err := c.FormFile("file")
|
||||||
@@ -346,7 +346,7 @@ func (uc *UserController) createOneTimeAccessTokenHandler(c *gin.Context, own bo
|
|||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Param body body dto.OneTimeAccessTokenCreateDto true "Token options"
|
// @Param body body dto.OneTimeAccessTokenCreateDto true "Token options"
|
||||||
// @Success 201 {object} object "{ \"token\": \"string\" }"
|
// @Success 201 {object} object "{ \"token\": \"string\" }"
|
||||||
// @Router /users/{id}/one-time-access-token [post]
|
// @Router /api/users/{id}/one-time-access-token [post]
|
||||||
func (uc *UserController) createOwnOneTimeAccessTokenHandler(c *gin.Context) {
|
func (uc *UserController) createOwnOneTimeAccessTokenHandler(c *gin.Context) {
|
||||||
uc.createOneTimeAccessTokenHandler(c, true)
|
uc.createOneTimeAccessTokenHandler(c, true)
|
||||||
}
|
}
|
||||||
@@ -377,7 +377,7 @@ func (uc *UserController) requestOneTimeAccessEmailHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Param token path string true "One-time access token"
|
// @Param token path string true "One-time access token"
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /one-time-access-token/{token} [post]
|
// @Router /api/one-time-access-token/{token} [post]
|
||||||
func (uc *UserController) exchangeOneTimeAccessTokenHandler(c *gin.Context) {
|
func (uc *UserController) exchangeOneTimeAccessTokenHandler(c *gin.Context) {
|
||||||
user, token, err := uc.userService.ExchangeOneTimeAccessToken(c.Param("token"), c.ClientIP(), c.Request.UserAgent())
|
user, token, err := uc.userService.ExchangeOneTimeAccessToken(c.Param("token"), c.ClientIP(), c.Request.UserAgent())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -403,7 +403,7 @@ func (uc *UserController) exchangeOneTimeAccessTokenHandler(c *gin.Context) {
|
|||||||
// @Description Generate setup access token for initial admin user configuration
|
// @Description Generate setup access token for initial admin user configuration
|
||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /one-time-access-token/setup [post]
|
// @Router /api/one-time-access-token/setup [post]
|
||||||
func (uc *UserController) getSetupAccessTokenHandler(c *gin.Context) {
|
func (uc *UserController) getSetupAccessTokenHandler(c *gin.Context) {
|
||||||
user, token, err := uc.userService.SetupInitialAdmin()
|
user, token, err := uc.userService.SetupInitialAdmin()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -431,7 +431,7 @@ func (uc *UserController) getSetupAccessTokenHandler(c *gin.Context) {
|
|||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Param groups body dto.UserUpdateUserGroupDto true "User group IDs"
|
// @Param groups body dto.UserUpdateUserGroupDto true "User group IDs"
|
||||||
// @Success 200 {object} dto.UserDto
|
// @Success 200 {object} dto.UserDto
|
||||||
// @Router /users/{id}/user-groups [put]
|
// @Router /api/users/{id}/user-groups [put]
|
||||||
func (uc *UserController) updateUserGroups(c *gin.Context) {
|
func (uc *UserController) updateUserGroups(c *gin.Context) {
|
||||||
var input dto.UserUpdateUserGroupDto
|
var input dto.UserUpdateUserGroupDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -491,7 +491,7 @@ func (uc *UserController) updateUser(c *gin.Context, updateOwnUser bool) {
|
|||||||
// @Produce json
|
// @Produce json
|
||||||
// @Param id path string true "User ID"
|
// @Param id path string true "User ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /users/{id}/profile-picture [delete]
|
// @Router /api/users/{id}/profile-picture [delete]
|
||||||
func (uc *UserController) resetUserProfilePictureHandler(c *gin.Context) {
|
func (uc *UserController) resetUserProfilePictureHandler(c *gin.Context) {
|
||||||
userID := c.Param("id")
|
userID := c.Param("id")
|
||||||
|
|
||||||
@@ -509,7 +509,7 @@ func (uc *UserController) resetUserProfilePictureHandler(c *gin.Context) {
|
|||||||
// @Tags Users
|
// @Tags Users
|
||||||
// @Produce json
|
// @Produce json
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Router /users/me/profile-picture [delete]
|
// @Router /api/users/me/profile-picture [delete]
|
||||||
func (uc *UserController) resetCurrentUserProfilePictureHandler(c *gin.Context) {
|
func (uc *UserController) resetCurrentUserProfilePictureHandler(c *gin.Context) {
|
||||||
userID := c.GetString("userID")
|
userID := c.GetString("userID")
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ type UserGroupController struct {
|
|||||||
// @Param sort_column query string false "Column to sort by" default("name")
|
// @Param sort_column query string false "Column to sort by" default("name")
|
||||||
// @Param sort_direction query string false "Sort direction (asc or desc)" default("asc")
|
// @Param sort_direction query string false "Sort direction (asc or desc)" default("asc")
|
||||||
// @Success 200 {object} dto.Paginated[dto.UserGroupDtoWithUserCount]
|
// @Success 200 {object} dto.Paginated[dto.UserGroupDtoWithUserCount]
|
||||||
// @Router /user-groups [get]
|
// @Router /api/user-groups [get]
|
||||||
func (ugc *UserGroupController) list(c *gin.Context) {
|
func (ugc *UserGroupController) list(c *gin.Context) {
|
||||||
searchTerm := c.Query("search")
|
searchTerm := c.Query("search")
|
||||||
var sortedPaginationRequest utils.SortedPaginationRequest
|
var sortedPaginationRequest utils.SortedPaginationRequest
|
||||||
@@ -91,7 +91,7 @@ func (ugc *UserGroupController) list(c *gin.Context) {
|
|||||||
// @Param id path string true "User Group ID"
|
// @Param id path string true "User Group ID"
|
||||||
// @Success 200 {object} dto.UserGroupDtoWithUsers
|
// @Success 200 {object} dto.UserGroupDtoWithUsers
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /user-groups/{id} [get]
|
// @Router /api/user-groups/{id} [get]
|
||||||
func (ugc *UserGroupController) get(c *gin.Context) {
|
func (ugc *UserGroupController) get(c *gin.Context) {
|
||||||
group, err := ugc.UserGroupService.Get(c.Param("id"))
|
group, err := ugc.UserGroupService.Get(c.Param("id"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -117,7 +117,7 @@ func (ugc *UserGroupController) get(c *gin.Context) {
|
|||||||
// @Param userGroup body dto.UserGroupCreateDto true "User group information"
|
// @Param userGroup body dto.UserGroupCreateDto true "User group information"
|
||||||
// @Success 201 {object} dto.UserGroupDtoWithUsers "Created user group"
|
// @Success 201 {object} dto.UserGroupDtoWithUsers "Created user group"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /user-groups [post]
|
// @Router /api/user-groups [post]
|
||||||
func (ugc *UserGroupController) create(c *gin.Context) {
|
func (ugc *UserGroupController) create(c *gin.Context) {
|
||||||
var input dto.UserGroupCreateDto
|
var input dto.UserGroupCreateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -150,7 +150,7 @@ func (ugc *UserGroupController) create(c *gin.Context) {
|
|||||||
// @Param userGroup body dto.UserGroupCreateDto true "User group information"
|
// @Param userGroup body dto.UserGroupCreateDto true "User group information"
|
||||||
// @Success 200 {object} dto.UserGroupDtoWithUsers "Updated user group"
|
// @Success 200 {object} dto.UserGroupDtoWithUsers "Updated user group"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /user-groups/{id} [put]
|
// @Router /api/user-groups/{id} [put]
|
||||||
func (ugc *UserGroupController) update(c *gin.Context) {
|
func (ugc *UserGroupController) update(c *gin.Context) {
|
||||||
var input dto.UserGroupCreateDto
|
var input dto.UserGroupCreateDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
@@ -182,7 +182,7 @@ func (ugc *UserGroupController) update(c *gin.Context) {
|
|||||||
// @Param id path string true "User Group ID"
|
// @Param id path string true "User Group ID"
|
||||||
// @Success 204 "No Content"
|
// @Success 204 "No Content"
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /user-groups/{id} [delete]
|
// @Router /api/user-groups/{id} [delete]
|
||||||
func (ugc *UserGroupController) delete(c *gin.Context) {
|
func (ugc *UserGroupController) delete(c *gin.Context) {
|
||||||
if err := ugc.UserGroupService.Delete(c.Param("id")); err != nil {
|
if err := ugc.UserGroupService.Delete(c.Param("id")); err != nil {
|
||||||
c.Error(err)
|
c.Error(err)
|
||||||
@@ -202,7 +202,7 @@ func (ugc *UserGroupController) delete(c *gin.Context) {
|
|||||||
// @Param users body dto.UserGroupUpdateUsersDto true "List of user IDs to assign to this group"
|
// @Param users body dto.UserGroupUpdateUsersDto true "List of user IDs to assign to this group"
|
||||||
// @Success 200 {object} dto.UserGroupDtoWithUsers
|
// @Success 200 {object} dto.UserGroupDtoWithUsers
|
||||||
// @Security BearerAuth
|
// @Security BearerAuth
|
||||||
// @Router /user-groups/{id}/users [put]
|
// @Router /api/user-groups/{id}/users [put]
|
||||||
func (ugc *UserGroupController) updateUsers(c *gin.Context) {
|
func (ugc *UserGroupController) updateUsers(c *gin.Context) {
|
||||||
var input dto.UserGroupUpdateUsersDto
|
var input dto.UserGroupUpdateUsersDto
|
||||||
if err := c.ShouldBindJSON(&input); err != nil {
|
if err := c.ShouldBindJSON(&input); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user