package dto import ( "time" model "gitlab.com/mbugroup/lti-api.git/internal/modules/users/models" ) // === 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 model.User) UserBaseDTO { return UserBaseDTO{ Id: m.Id, Name: m.Name, } } func ToUserListDTO(m model.User) UserListDTO { return UserListDTO{ UserBaseDTO: ToUserBaseDTO(m), CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } func ToUserListDTOs(m []model.User) []UserListDTO { result := make([]UserListDTO, len(m)) for i, r := range m { result[i] = ToUserListDTO(r) } return result }