package handler // import ( // "log" // "rijig/dto" // "rijig/internal/services" // "rijig/utils" // "github.com/gofiber/fiber/v2" // ) // type AuthHandler struct { // authService services.AuthService // } // func NewAuthHandler(authService services.AuthService) *AuthHandler { // return &AuthHandler{authService} // } // func (h *AuthHandler) RegisterOrLoginHandler(c *fiber.Ctx) error { // var req dto.RegisterRequest // if err := c.BodyParser(&req); err != nil { // return utils.ErrorResponse(c, "Invalid request body") // } // if req.Phone == "" || req.RoleID == "" { // return utils.ErrorResponse(c, "Phone number and role ID are required") // } // if err := h.authService.RegisterOrLogin(&req); err != nil { // return utils.ErrorResponse(c, err.Error()) // } // return utils.SuccessResponse(c, nil, "OTP sent successfully") // } // func (h *AuthHandler) VerifyOTPHandler(c *fiber.Ctx) error { // var req dto.VerifyOTPRequest // if err := c.BodyParser(&req); err != nil { // return utils.ErrorResponse(c, "Invalid request body") // } // if req.OTP == "" { // return utils.ErrorResponse(c, "OTP is required") // } // response, err := h.authService.VerifyOTP(&req) // if err != nil { // return utils.ErrorResponse(c, err.Error()) // } // return utils.SuccessResponse(c, response, "Registration/Login successful") // } // func (h *AuthHandler) LogoutHandler(c *fiber.Ctx) error { // userID, ok := c.Locals("userID").(string) // if !ok || userID == "" { // return utils.ErrorResponse(c, "User is not logged in or invalid session") // } // phoneKey := "user_phone:" + userID // phone, err := utils.GetStringData(phoneKey) // if err != nil || phone == "" { // log.Printf("Error retrieving phone from Redis for user %s: %v", userID, err) // return utils.ErrorResponse(c, "Phone number is missing or invalid session data") // } // err = h.authService.Logout(userID, phone) // if err != nil { // log.Printf("Error during logout process for user %s: %v", userID, err) // return utils.ErrorResponse(c, err.Error()) // } // return utils.SuccessResponse(c, nil, "Logged out successfully") // }