54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
package handler
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.logidex.ru/fakz9/logidex-id/internal/api/user/service"
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/jinzhu/copier"
|
|
)
|
|
|
|
type UserHandler struct {
|
|
service service.UserService
|
|
}
|
|
|
|
func (h UserHandler) CreateUser(ctx context.Context, request CreateUserRequestObject) (CreateUserResponseObject, error) {
|
|
//TODO implement me
|
|
panic("implement me")
|
|
}
|
|
|
|
func (h UserHandler) GetUserById(ctx context.Context, request GetUserByIdRequestObject) (GetUserByIdResponseObject, error) {
|
|
user, err := h.service.GetUserByUuid(ctx, request.UserId)
|
|
if err != nil {
|
|
return GetUserById404JSONResponse{
|
|
Message: err.Error(),
|
|
}, nil
|
|
}
|
|
var responseUser User
|
|
err = copier.Copy(responseUser, user)
|
|
if err != nil {
|
|
return GetUserById404JSONResponse{Message: err.Error()}, nil
|
|
|
|
}
|
|
return GetUserById200JSONResponse{User: responseUser}, nil
|
|
}
|
|
|
|
var _ StrictServerInterface = (*UserHandler)(nil)
|
|
|
|
func NewUserHandler(
|
|
service service.UserService,
|
|
) *UserHandler {
|
|
return &UserHandler{service: service}
|
|
}
|
|
|
|
func (h UserHandler) RegisterRoutes(router fiber.Router) {
|
|
server := NewStrictHandler(h, nil)
|
|
RegisterHandlers(router, server)
|
|
}
|
|
|
|
//func RegisterUserHandler(router fiber.Router) {
|
|
// server := NewStrictHandler(NewUserHandler(), nil)
|
|
// RegisterHandlers(router, server)
|
|
//
|
|
//}
|