Documentation
¶
Index ¶
- type ClientAuthController
- func (c *ClientAuthController) ForgotPasswordEmail(ctx *gin.Context)
- func (c *ClientAuthController) ForgotPasswordSMS(ctx *gin.Context)
- func (c *ClientAuthController) ForgotPasswordWhatsApp(ctx *gin.Context)
- func (c *ClientAuthController) Login(ctx *gin.Context)
- func (c *ClientAuthController) RefreshToken(ctx *gin.Context)
- func (c *ClientAuthController) Register(ctx *gin.Context)
- func (c *ClientAuthController) RegisterRoutes(router *gin.RouterGroup)
- func (c *ClientAuthController) ResetPassword(ctx *gin.Context)
- func (c *ClientAuthController) ValidateResetToken(ctx *gin.Context)
- type ProfessionalAuthController
- func (c *ProfessionalAuthController) ForgotPasswordEmail(ctx *gin.Context)
- func (c *ProfessionalAuthController) ForgotPasswordSMS(ctx *gin.Context)
- func (c *ProfessionalAuthController) ForgotPasswordWhatsApp(ctx *gin.Context)
- func (c *ProfessionalAuthController) Login(ctx *gin.Context)
- func (c *ProfessionalAuthController) RefreshToken(ctx *gin.Context)
- func (c *ProfessionalAuthController) Register(ctx *gin.Context)
- func (c *ProfessionalAuthController) RegisterRoutes(router *gin.RouterGroup)
- func (c *ProfessionalAuthController) ResetPassword(ctx *gin.Context)
- func (c *ProfessionalAuthController) ValidateResetToken(ctx *gin.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientAuthController ¶
type ClientAuthController struct {
AuthService *services.AuthService
}
ClientAuthController manipula as requisições de autenticação de clintes
func NewClientAuthController ¶
func NewClientAuthController(authService *services.AuthService) *ClientAuthController
NewClientAuthController cria uma nova instância de ClientAuthController
func (*ClientAuthController) ForgotPasswordEmail ¶
func (c *ClientAuthController) ForgotPasswordEmail(ctx *gin.Context)
ForgotPasswordEmail manipula a solicitação de recuperação de senha via email @Summary Recuperação de senha via email @Description Envia um email com token para recuperação de senha @Tags client-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Email do usuário" @Success 200 {object} SuccessResponse "Email enviado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Email não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/forgot-password/email [post]
func (*ClientAuthController) ForgotPasswordSMS ¶
func (c *ClientAuthController) ForgotPasswordSMS(ctx *gin.Context)
ForgotPasswordSMS manipula a solicitação de recuperação de senha via SMS @Summary Recuperação de senha via SMS @Description Envia um SMS com código para recuperação de senha @Tags client-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Telefone do usuário" @Success 200 {object} SuccessResponse "SMS enviado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Telefone não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/forgot-password/sms [post]
func (*ClientAuthController) ForgotPasswordWhatsApp ¶
func (c *ClientAuthController) ForgotPasswordWhatsApp(ctx *gin.Context)
ForgotPasswordWhatsApp manipula a solicitação de recuperação de senha via WhatsApp @Summary Recuperação de senha via WhatsApp @Description Envia uma mensagem de WhatsApp com código para recuperação de senha @Tags client-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Telefone do usuário" @Success 200 {object} SuccessResponse "Mensagem enviada com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Telefone não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/forgot-password/whatsapp [post]
func (*ClientAuthController) Login ¶
func (c *ClientAuthController) Login(ctx *gin.Context)
Login manipula o login de clientes @Summary Login de cliente @Description Autentica um cliente e retorna tokens de acesso @Tags client-auth @Accept json @Produce json @Param request body services.LoginRequest true "Dados de login" @Success 200 {object} services.TokenResponse "Tokens gerados com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Credenciais inválidas" @Failure 403 {object} ErrorResponse "Usuário bloqueado" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/login [POST]
func (*ClientAuthController) RefreshToken ¶
func (c *ClientAuthController) RefreshToken(ctx *gin.Context)
RefreshToken manipula a renovação de token @Summary Renovação de token @Description Renova o token de acesso usando o refresh token @Tags client-auth @Accept json @Produce json @Param request body services.RefreshTokenRequest true "Refresh token" @Success 200 {object} services.TokenResponse "Tokens renovados com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Token inválido" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/refresh [post]
func (*ClientAuthController) Register ¶
func (c *ClientAuthController) Register(ctx *gin.Context)
Register manipula o registro de novos clientes @Summary Registra um novo cliente @Description Cria um novo usuário com o perfil de cliente @Tags client-auth @Accept json @Produce json @Param request body services.RegisterRequest true "Dados de registro" @Success 201 {object} models.User "Usuário criado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 409 {object} ErrorResponse "Usuário já existe" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/register [POST]
func (*ClientAuthController) RegisterRoutes ¶
func (c *ClientAuthController) RegisterRoutes(router *gin.RouterGroup)
RegisterRoutes registra as rotas do controlador
func (*ClientAuthController) ResetPassword ¶
func (c *ClientAuthController) ResetPassword(ctx *gin.Context)
ResetPassword redefine a senha de um usuário @Summary Redefinição de senha @Description Redefine a senha de um usuário usando um token de recuperação @Tags client-auth @Accept json @Produce json @Param request body services.ResetPasswordRequest true "Nova senha e token" @Success 200 {object} SuccessResponse "Senha redefinida com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Token inválido" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/reset-password [post]
func (*ClientAuthController) ValidateResetToken ¶
func (c *ClientAuthController) ValidateResetToken(ctx *gin.Context)
ValidateResetToken valida um token de recuperação de senha @Summary Validação de token de recuperação @Description Verifica se um token de recuperação de senha é válido @Tags client-auth @Produce json @Param token path string true "Token de recuperação" @Success 200 {object} SuccessResponse "Token válido" @Failure 400 {object} ErrorResponse "Token inválido" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/client/auth/reset-password/validate/{token} [get]
type ProfessionalAuthController ¶
type ProfessionalAuthController struct {
AuthService *services.AuthService
}
ProfessionalAuthController manipula as requisições de autenticação de profissionais
func NewProfessionalAuthController ¶
func NewProfessionalAuthController(authService *services.AuthService) *ProfessionalAuthController
NewProfessionalAuthController cria uma nova instância de ProfessionalAuthController
func (*ProfessionalAuthController) ForgotPasswordEmail ¶
func (c *ProfessionalAuthController) ForgotPasswordEmail(ctx *gin.Context)
ForgotPasswordEmail manipula a solicitação de recuperação de senha via email @Summary Recuperação de senha via email @Description Envia um email com token para recuperação de senha @Tags professional-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Email do usuário" @Success 200 {object} SuccessResponse "Email enviado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Email não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/forgot-password/email [post]
func (*ProfessionalAuthController) ForgotPasswordSMS ¶
func (c *ProfessionalAuthController) ForgotPasswordSMS(ctx *gin.Context)
ForgotPasswordSMS manipula a solicitação de recuperação de senha via SMS @Summary Recuperação de senha via SMS @Description Envia um SMS com código para recuperação de senha @Tags professional-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Telefone do usuário" @Success 200 {object} SuccessResponse "SMS enviado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Telefone não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/forgot-password/sms [post]
func (*ProfessionalAuthController) ForgotPasswordWhatsApp ¶
func (c *ProfessionalAuthController) ForgotPasswordWhatsApp(ctx *gin.Context)
ForgotPasswordWhatsApp manipula a solicitação de recuperação de senha via WhatsApp @Summary Recuperação de senha via WhatsApp @Description Envia uma mensagem de WhatsApp com código para recuperação de senha @Tags professional-auth @Accept json @Produce json @Param request body services.ForgotPasswordRequest true "Telefone do usuário" @Success 200 {object} SuccessResponse "Mensagem enviada com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 404 {object} ErrorResponse "Telefone não encontrado" @Failure 429 {object} ErrorResponse "Muitas requisições" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/forgot-password/whatsapp [post]
func (*ProfessionalAuthController) Login ¶
func (c *ProfessionalAuthController) Login(ctx *gin.Context)
Login manipula o login de profissionais @Summary Login de profissional @Description Autentica um profissional e retorna tokens de acesso @Tags professional-auth @Accept json @Produce json @Param request body services.LoginRequest true "Dados de login" @Success 200 {object} services.TokenResponse "Tokens gerados com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Credenciais inválidas" @Failure 403 {object} ErrorResponse "Usuário bloqueado ou não é um profissional" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/login [post]
func (*ProfessionalAuthController) RefreshToken ¶
func (c *ProfessionalAuthController) RefreshToken(ctx *gin.Context)
RefreshToken manipula a renovação de token @Summary Renovação de token @Description Renova o token de acesso usando o refresh token @Tags professional-auth @Accept json @Produce json @Param request body services.RefreshTokenRequest true "Refresh token" @Success 200 {object} services.TokenResponse "Tokens renovados com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Token inválido" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/refresh [post]
func (*ProfessionalAuthController) Register ¶
func (c *ProfessionalAuthController) Register(ctx *gin.Context)
Register manipula o registro de novos profissionais @Summary Registra um novo profissional @Description Cria um novo usuário com o perfil de profissional e estabelecimento associado @Tags professional-auth @Accept json @Produce json @Param request body services.RegisterRequest true "Dados do registro" @Success 201 {object} models.User "Usuário criado com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 409 {object} ErrorResponse "Usuário já existe" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/register [post]
func (*ProfessionalAuthController) RegisterRoutes ¶
func (c *ProfessionalAuthController) RegisterRoutes(router *gin.RouterGroup)
RegisterRoutes registra as rotas do controlador
func (*ProfessionalAuthController) ResetPassword ¶
func (c *ProfessionalAuthController) ResetPassword(ctx *gin.Context)
ResetPassword redefine a senha de um usuário @Summary Redefinição de senha @Description Redefine a senha de um usuário usando um token de recuperação @Tags professional-auth @Accept json @Produce json @Param request body services.ResetPasswordRequest true "Nova senha e token" @Success 200 {object} SuccessResponse "Senha redefinida com sucesso" @Failure 400 {object} ErrorResponse "Dados inválidos" @Failure 401 {object} ErrorResponse "Token inválido" @Failure 422 {object} ErrorResponse "Validação falhou" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/reset-password [post]
func (*ProfessionalAuthController) ValidateResetToken ¶
func (c *ProfessionalAuthController) ValidateResetToken(ctx *gin.Context)
ValidateResetToken valida um token de recuperação de senha @Summary Validação de token de recuperação @Description Verifica se um token de recuperação de senha é válido @Tags professional-auth @Produce json @Param token path string true "Token de recuperação" @Success 200 {object} SuccessResponse "Token válido" @Failure 400 {object} ErrorResponse "Token inválido" @Failure 500 {object} ErrorResponse "Erro interno do servidor" @Router /api/v1/professional/auth/reset-password/validate/{token} [get]