wishli-api/api/presenter/auth.go
2025-03-23 20:05:51 +03:00

47 lines
928 B
Go

package presenter
import (
"wish-list-api/pkg/entities"
"github.com/gofiber/fiber/v2"
)
type AuthResponse struct {
Status bool `json:"status"`
Data *entities.TokenPair `json:"data,omitempty"`
User *User `json:"user,omitempty"`
Error *string `json:"error"`
}
func AuthSuccessResponse(tokens *entities.TokenPair) *fiber.Map {
return &fiber.Map{
"status": true,
"data": tokens,
"error": nil,
}
}
func AuthSuccessResponseWithUser(tokens *entities.TokenPair, user *entities.User) *fiber.Map {
userResponse := User{
ID: user.ID,
Email: user.Email,
CreatedAt: user.CreatedAt,
UpdatedAt: user.UpdatedAt,
}
return &fiber.Map{
"status": true,
"data": tokens,
"user": userResponse,
"error": nil,
}
}
func AuthErrorResponse(err error) *fiber.Map {
return &fiber.Map{
"status": false,
"data": nil,
"error": err.Error(),
}
}