Documentation
¶
Index ¶
- type Handler
- func (h *Handler) DeleteAccount(ctx *gin.Context)
- func (h *Handler) GetAccount(ctx *gin.Context)
- func (h *Handler) RegisterRoutes(router *gin.Engine, middlewares handler.RouteMiddlewares)
- func (h *Handler) RestoreAccount(ctx *gin.Context)
- func (h *Handler) SetPassword(ctx *gin.Context)
- func (h *Handler) UpdateEmail(ctx *gin.Context)
- func (h *Handler) UpdatePassword(ctx *gin.Context)
- func (h *Handler) UpdateUsername(ctx *gin.Context)
- func (h *Handler) VerifyEmail(ctx *gin.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(svc service.AccountService) *Handler
func (*Handler) DeleteAccount ¶
DeleteAccount godoc
@Id DeleteAccount
@Summary Delete service
@Description Request for deleting service. User must be logged in. User must not be deleted.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Success 200
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 409 {object} dto.ErrorResponse "User is deleted"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account [delete]
func (*Handler) GetAccount ¶
GetAccount godoc
@Id GetAccount
@Summary Get service
@Description Request for receiving own service. User must be logged in. In response will be returned own service info.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Success 200 {object} dto.AccountOutput "Account info"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account [get]
func (*Handler) RegisterRoutes ¶
func (h *Handler) RegisterRoutes(router *gin.Engine, middlewares handler.RouteMiddlewares)
func (*Handler) RestoreAccount ¶
RestoreAccount godoc
@Id RestoreAccount
@Summary Restore service
@Description Request for restoring service. User must be logged in. User must be deleted. In response will be returned restored service info.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Success 200 {object} dto.AccountOutput "Account info"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 409 {object} dto.ErrorResponse "User is not deleted"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/restore [get]
func (*Handler) SetPassword ¶
SetPassword godoc
@Id SetPassword
@Summary Set password
@Description Request for setting password. User must be logged in.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Param body body dto.SetPasswordInput true "Set password request body"
@Success 200
@Failure 400 {object} dto.ErrorResponse "Validation error"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 409 {object} dto.ErrorResponse "Password is set"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/password [post]
func (*Handler) UpdateEmail ¶
UpdateEmail godoc
@Id UpdateEmail
@Summary Update email
@Description Request for updating email. User must be logged in. In process will be sent verification email. In response will be returned updated service info.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Param body body dto.UpdateEmailInput true "Update email request body"
@Success 200 {object} dto.AccountOutput "Account info (email is verified)"
@Success 202 {object} dto.AccountOutput "Account info (email is not verified)"
@Failure 400 {object} dto.ErrorResponse "Validation error"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 409 {object} dto.ErrorResponse "Duplicate email"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/email [patch]
func (*Handler) UpdatePassword ¶
UpdatePassword godoc
@Id UpdatePassword
@Summary Update password
@Description Request for updating password. User must be logged in.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Param body body dto.UpdatePasswordInput true "Update password request body"
@Success 200
@Failure 400 {object} dto.ErrorResponse "Validation error"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/password [patch]
func (*Handler) UpdateUsername ¶
UpdateUsername godoc
@Id UpdateUsername
@Summary Update username
@Description Request for updating username. User must be logged in. In response will be returned updated service info.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Param body body dto.UpdateUsernameInput true "Update username request body"
@Success 200 {object} dto.AccountOutput "Account info"
@Failure 400 {object} dto.ErrorResponse "Validation error"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 409 {object} dto.ErrorResponse "Duplicate username"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/username [patch]
func (*Handler) VerifyEmail ¶
VerifyEmail godoc
@Id VerifyEmail
@Summary Verify email
@Description Request for verify email. User must be logged in.
@Security BearerAuth
@Tags Account API
@Accept json
@Produce json
@Param body body dto.VerifyEmailInput true "Verify email request body"
@Success 200
@Failure 400 {object} dto.ErrorResponse "Validation error"
@Failure 401 {object} dto.ErrorResponse "Unauthorized"
@Failure 403 {object} dto.ErrorResponse "User is blocked or deleted"
@Failure 404 {object} dto.ErrorResponse "Not found user"
@Failure 500 {object} dto.ErrorResponse "Internal server error"
@Router /v0/account/email/verify [post]
Click to show internal directories.
Click to hide internal directories.