init
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
package mappers
|
||||
|
||||
import (
|
||||
"apskel-pos-be/internal/constants"
|
||||
"apskel-pos-be/internal/entities"
|
||||
"apskel-pos-be/internal/models"
|
||||
)
|
||||
|
||||
func UserEntityToModel(entity *entities.User) *models.User {
|
||||
if entity == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &models.User{
|
||||
ID: entity.ID,
|
||||
OrganizationID: entity.OrganizationID,
|
||||
OutletID: entity.OutletID,
|
||||
Name: entity.Name,
|
||||
Email: entity.Email,
|
||||
Role: constants.UserRole(entity.Role),
|
||||
Permissions: map[string]interface{}(entity.Permissions),
|
||||
IsActive: entity.IsActive,
|
||||
CreatedAt: entity.CreatedAt,
|
||||
UpdatedAt: entity.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func UserModelToEntity(model *models.User) *entities.User {
|
||||
if model == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &entities.User{
|
||||
ID: model.ID,
|
||||
OrganizationID: model.OrganizationID,
|
||||
OutletID: model.OutletID,
|
||||
Name: model.Name,
|
||||
Email: model.Email,
|
||||
Role: entities.UserRole(model.Role),
|
||||
Permissions: entities.Permissions(model.Permissions),
|
||||
IsActive: model.IsActive,
|
||||
CreatedAt: model.CreatedAt,
|
||||
UpdatedAt: model.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func UserCreateRequestToEntity(req *models.CreateUserRequest, passwordHash string) *entities.User {
|
||||
if req == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
permissions := entities.Permissions{}
|
||||
if req.Permissions != nil {
|
||||
permissions = entities.Permissions(req.Permissions)
|
||||
}
|
||||
|
||||
return &entities.User{
|
||||
OrganizationID: req.OrganizationID,
|
||||
OutletID: req.OutletID,
|
||||
Name: req.Name,
|
||||
Email: req.Email,
|
||||
PasswordHash: passwordHash,
|
||||
Role: entities.UserRole(req.Role),
|
||||
Permissions: permissions,
|
||||
IsActive: true,
|
||||
}
|
||||
}
|
||||
|
||||
func UserEntityToResponse(entity *entities.User) *models.UserResponse {
|
||||
if entity == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &models.UserResponse{
|
||||
ID: entity.ID,
|
||||
OrganizationID: entity.OrganizationID,
|
||||
OutletID: entity.OutletID,
|
||||
Name: entity.Name,
|
||||
Email: entity.Email,
|
||||
Role: constants.UserRole(entity.Role),
|
||||
Permissions: map[string]interface{}(entity.Permissions),
|
||||
IsActive: entity.IsActive,
|
||||
CreatedAt: entity.CreatedAt,
|
||||
UpdatedAt: entity.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func UserEntitiesToModels(entities []*entities.User) []*models.User {
|
||||
if entities == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
models := make([]*models.User, len(entities))
|
||||
for i, entity := range entities {
|
||||
models[i] = UserEntityToModel(entity)
|
||||
}
|
||||
return models
|
||||
}
|
||||
|
||||
func UserEntitiesToResponses(entities []*entities.User) []*models.UserResponse {
|
||||
if entities == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
responses := make([]*models.UserResponse, len(entities))
|
||||
for i, entity := range entities {
|
||||
responses[i] = UserEntityToResponse(entity)
|
||||
}
|
||||
return responses
|
||||
}
|
||||
Reference in New Issue
Block a user