47 lines
928 B
Go
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(),
|
|
}
|
|
}
|