12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package register
- import (
- "git.linuxforward.com/byom/byom-onboard/internal/common/models"
- "git.linuxforward.com/byom/byom-onboard/internal/platform/database"
- "git.linuxforward.com/byom/byom-onboard/internal/platform/mailer"
- "github.com/gin-gonic/gin"
- )
- type Handler struct {
- registrationService RegistrationService
- mailer *mailer.Mailer
- db *database.Database
- }
- func NewHandler(client RegistrationService, mailerClient *mailer.Mailer, db *database.Database) *Handler {
- return &Handler{
- registrationService: client,
- mailer: mailerClient,
- db: db,
- }
- }
- func (h *Handler) Register(c *gin.Context) {
- var req models.User
- if err := c.ShouldBindJSON(&req); err != nil {
- c.JSON(400, gin.H{"error": err.Error()})
- return
- }
- if err := h.registrationService.InitiateRegistration(&req); err != nil {
- c.JSON(500, gin.H{"error": err.Error()})
- return
- }
- c.JSON(200, gin.H{"message": "Registration initiated successfully"})
- }
- func (h *Handler) ValidateEmail(c *gin.Context) {
- token := c.Query("token")
- result, err := h.registrationService.ValidateEmail(token)
- if err != nil {
- c.JSON(500, gin.H{"error": err.Error()})
- return
- }
- c.JSON(200, result)
- }
|