Documentation
¶
Overview ¶
Package contacts provides the ContactController for handling contact form submissions.
Index ¶
- type ContactController
- func (c *ContactController) GetContact(ctx *gin.Context)
- func (c *ContactController) GetContactForm(ctx *gin.Context)
- func (c *ContactController) GetContactFormByID(ctx *gin.Context)
- func (c *ContactController) HandleContact(ctx *gin.Context)
- func (c *ContactController) PostContact(ctx *gin.Context)
- type ErrorResponse
- type MessageResponse
- type SMTPConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContactController ¶
type ContactController struct {
APIWrapper *t.APIWrapper[ci.ContactForm]
// contains filtered or unexported fields
}
func NewContactController ¶
func NewContactController(properties map[string]any) *ContactController
func (*ContactController) GetContact ¶
func (c *ContactController) GetContact(ctx *gin.Context)
GetContact retorna o status do fluxo de contato validando o token informado.
@Summary Consultar contato @Description Executa a mesma validação e envio do fluxo principal, retornando o resultado. [Em desenvolvimento] @Tags contact beta @Security BearerAuth @Accept json @Produce json @Param payload body t.ContactForm true "Dados do formulário de contato" @Success 200 {object} MessageResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/contact [get]
func (*ContactController) GetContactForm ¶
func (c *ContactController) GetContactForm(ctx *gin.Context)
GetContactForm retorna dados enviados em versões anteriores do formulário.
@Summary Obter formulário @Description Recupera o formulário persistido após validar token do solicitante. [Em desenvolvimento] @Tags contact beta @Security BearerAuth @Accept json @Produce json @Param payload body t.ContactForm true "Dados do formulário (inclui token)" @Success 200 {object} MessageResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/contact/form [get]
func (*ContactController) GetContactFormByID ¶
func (c *ContactController) GetContactFormByID(ctx *gin.Context)
GetContactFormByID busca um formulário específico pelo identificador.
@Summary Obter formulário por ID @Description Retorna a submissão identificada pelo ID após validar o token. [Em desenvolvimento] @Tags contact beta @Security BearerAuth @Accept json @Produce json @Param id path string true "ID do formulário" @Param payload body t.ContactForm true "Dados do formulário (inclui token)" @Success 200 {object} MessageResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 404 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/contact/form/{id} [get]
func (*ContactController) HandleContact ¶
func (c *ContactController) HandleContact(ctx *gin.Context)
HandleContact processa o formulário e encaminha para o canal configurado.
@Summary Processar contato @Description Valida o token secreto e dispara o fluxo de envio de mensagem. [Em desenvolvimento] @Tags contact beta @Security BearerAuth @Accept json @Produce json @Param payload body t.ContactForm true "Dados do formulário de contato" @Success 200 {object} MessageResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/contact/handle [post]
func (*ContactController) PostContact ¶
func (c *ContactController) PostContact(ctx *gin.Context)
PostContact cria um novo contato seguindo as mesmas validações do fluxo padrão.
@Summary Enviar contato @Description Cria uma nova entrada de contato e dispara notificações conforme configuração. [Em desenvolvimento] @Tags contact beta @Security BearerAuth @Accept json @Produce json @Param payload body t.ContactForm true "Dados do formulário de contato" @Success 200 {object} MessageResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/contact [post]
type ErrorResponse ¶
type ErrorResponse = t.ErrorResponse
ErrorResponse padroniza respostas de erro nos endpoints de contato.
type MessageResponse ¶
type MessageResponse = t.MessageResponse
MessageResponse padroniza mensagens simples de sucesso.