Files
lti-api/internal/modules/users/dto/user.dto.go
T

54 lines
940 B
Go

package dto
import (
"time"
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
)
// === DTO Structs ===
type UserBaseDTO struct {
Id uint `json:"id"`
IdUser int64 `json:"id_user"`
Email string `json:"email"`
Name string `json:"name"`
}
type UserListDTO struct {
UserBaseDTO
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type UserDetailDTO struct {
UserListDTO
}
// === Mapper Functions ===
func ToUserBaseDTO(m entity.User) UserBaseDTO {
return UserBaseDTO{
Id: m.Id,
IdUser: m.IdUser,
Email: m.Email,
Name: m.Name,
}
}
func ToUserListDTO(m entity.User) UserListDTO {
return UserListDTO{
UserBaseDTO: ToUserBaseDTO(m),
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
func ToUserListDTOs(m []entity.User) []UserListDTO {
result := make([]UserListDTO, len(m))
for i, r := range m {
result[i] = ToUserListDTO(r)
}
return result
}