package handler import ( "context" "git.logidex.ru/fakz9/logidex-id/internal/api/auth/service" "github.com/gofiber/fiber/v2" ) type AuthHandler struct { service service.AuthService } func (h AuthHandler) PostAuthOtpRequest(ctx context.Context, request PostAuthOtpRequestRequestObject) (PostAuthOtpRequestResponseObject, error) { err := h.service.OtpRequest(ctx, request.Body.PhoneNumber) if err != nil { return PostAuthOtpRequest400JSONResponse{ Message: err.Error(), Ok: false, }, nil } return PostAuthOtpRequest200JSONResponse{ Message: "OTP request successful", Ok: true, }, nil } func (h AuthHandler) PostAuthOtpVerify(ctx context.Context, request PostAuthOtpVerifyRequestObject) (PostAuthOtpVerifyResponseObject, error) { redirectUrl, err := h.service.OtpVerify(ctx, request.Body.PhoneNumber, request.Body.Otp, request.Body.LoginChallenge) if err != nil { return PostAuthOtpVerify400JSONResponse{ Message: err.Error(), Ok: false, RedirectUrl: "", }, nil } return PostAuthOtpVerify200JSONResponse{ Message: "OTP verification successful", Ok: true, RedirectUrl: redirectUrl, }, nil } func (h AuthHandler) PostAuthConsentAccept(ctx context.Context, request PostAuthConsentAcceptRequestObject) (PostAuthConsentAcceptResponseObject, error) { redirectUrl, err := h.service.AcceptConsent(ctx, request.Body.PhoneNumber, request.Body.ConsentChallenge) if err != nil { return PostAuthConsentAccept400JSONResponse{ Message: err.Error(), Ok: false, RedirectUrl: "", }, nil } return PostAuthConsentAccept200JSONResponse{ Message: "Consent accepted successfully", Ok: true, RedirectUrl: redirectUrl, }, nil } var _ StrictServerInterface = (*AuthHandler)(nil) func NewAuthHandler(service service.AuthService) *AuthHandler { return &AuthHandler{service: service} } func (h AuthHandler) RegisterRoutes(router fiber.Router) { server := NewStrictHandler(h, nil) RegisterHandlers(router, server) }