257 lines
8.7 KiB
Go
257 lines
8.7 KiB
Go
package entitymapping
|
|
|
|
import (
|
|
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
|
|
"bitbucket.org/nemt/nemt-portal-api/domain/entity"
|
|
)
|
|
|
|
// providerMapping has method to map provider entities to view models
|
|
type organizationMapping struct {
|
|
mapper *Mapper
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationTypeEntitySlice(list []viewmodel.OrganizationType) (retVal []entity.OrganizationType) {
|
|
retVal = make([]entity.OrganizationType, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationTypeEntity(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationEntitySlice(list []viewmodel.Organization) (retVal []entity.Organization) {
|
|
retVal = make([]entity.Organization, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationEntity(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationEntity(model viewmodel.Organization) entity.Organization {
|
|
return entity.Organization{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
Type: mapping.ToOrganizationTypeEntity(model.Type),
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
ReferenceID: model.ReferenceID,
|
|
ParentID: model.ParentID,
|
|
Main: model.Main,
|
|
Created: model.Created,
|
|
Updated: model.Updated,
|
|
Active: model.Active,
|
|
Blocked: model.Blocked,
|
|
Suspended: model.Suspended,
|
|
Author: mapping.mapper.User.ToUserEntity(model.Author),
|
|
LastEditor: mapping.mapper.User.ToUserEntity(model.LastEditor),
|
|
Contacts: mapping.ToOrganizationContactEntitySlice(model.Contacts),
|
|
Addresses: mapping.ToOrganizationAddressEntitySlice(model.Addresses),
|
|
ChildOrgs: mapping.ToOrganizationEntitySlice(model.ChildOrgs),
|
|
Parent: mapping.ToOrganizationEntityPointer(model.Parent),
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationEntityPointer(model *viewmodel.Organization) *entity.Organization {
|
|
if model != nil {
|
|
convertibleModel := *model
|
|
convertibleEntity := mapping.ToOrganizationEntity(convertibleModel)
|
|
return &convertibleEntity
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationModelPointer(model *entity.Organization) *viewmodel.Organization {
|
|
if model != nil {
|
|
convertibleModel := *model
|
|
convertibleEntity := mapping.ToOrganizationModel(convertibleModel)
|
|
return &convertibleEntity
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationTypeEntity(model viewmodel.OrganizationType) entity.OrganizationType {
|
|
return entity.OrganizationType{
|
|
ID: model.ID,
|
|
Name: model.Name,
|
|
Key: model.Key,
|
|
Description: model.Description,
|
|
Created: model.Created,
|
|
Updated: model.Updated,
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationTypeModelSlice(list []entity.OrganizationType) (retVal []viewmodel.OrganizationType) {
|
|
retVal = make([]viewmodel.OrganizationType, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationTypeModel(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationModelSlice(list []entity.Organization) (retVal []viewmodel.Organization) {
|
|
retVal = make([]viewmodel.Organization, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationModel(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationModel(model entity.Organization) viewmodel.Organization {
|
|
return viewmodel.Organization{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
Type: mapping.ToOrganizationTypeModel(model.Type),
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
ReferenceID: model.ReferenceID,
|
|
ParentID: model.ParentID,
|
|
Main: model.Main,
|
|
Created: model.Created,
|
|
Updated: model.Updated,
|
|
Active: model.Active,
|
|
Blocked: model.Blocked,
|
|
Suspended: model.Suspended,
|
|
Author: mapping.mapper.User.ToUserModel(model.Author),
|
|
LastEditor: mapping.mapper.User.ToUserModel(model.LastEditor),
|
|
Contacts: mapping.ToOrganizationContactModelSlice(model.Contacts),
|
|
Addresses: mapping.ToOrganizationAddressModelSlice(model.Addresses),
|
|
ChildOrgs: mapping.ToOrganizationModelSlice(model.ChildOrgs),
|
|
Parent: mapping.ToOrganizationModelPointer(model.Parent),
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationTypeModel(model entity.OrganizationType) viewmodel.OrganizationType {
|
|
return viewmodel.OrganizationType{
|
|
ID: model.ID,
|
|
Name: model.Name,
|
|
Key: model.Key,
|
|
Description: model.Description,
|
|
Created: model.Created,
|
|
Updated: model.Updated,
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationContactModel(model entity.OrganizationContact) viewmodel.OrganizationContact {
|
|
return viewmodel.OrganizationContact{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
Type: mapping.mapper.User.ToContactTypeModel(model.Type),
|
|
Contact: model.Contact,
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
Created: model.Created,
|
|
CreatedUser: mapping.mapper.User.ToUserModel(model.CreatedUser),
|
|
Updated: model.Updated,
|
|
UpdatedUser: mapping.mapper.User.ToUserModel(model.UpdatedUser),
|
|
Active: model.Active,
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationContactEntity(model viewmodel.OrganizationContact) entity.OrganizationContact {
|
|
return entity.OrganizationContact{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
Type: mapping.mapper.User.ToContactTypeEntity(model.Type),
|
|
Contact: model.Contact,
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
Created: model.Created,
|
|
CreatedUser: mapping.mapper.User.ToUserEntity(model.CreatedUser),
|
|
Updated: model.Updated,
|
|
UpdatedUser: mapping.mapper.User.ToUserEntity(model.UpdatedUser),
|
|
Active: model.Active,
|
|
}
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationContactModelSlice(list []entity.OrganizationContact) (retVal []viewmodel.OrganizationContact) {
|
|
retVal = make([]viewmodel.OrganizationContact, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationContactModel(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationContactEntitySlice(list []viewmodel.OrganizationContact) (retVal []entity.OrganizationContact) {
|
|
retVal = make([]entity.OrganizationContact, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationContactEntity(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationAddressModel(model entity.OrganizationAddress) viewmodel.OrganizationAddress {
|
|
return viewmodel.OrganizationAddress{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
InternalID: model.InternalID,
|
|
Address: model.Address,
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
Latitude: model.Latitude,
|
|
Longitude: model.Longitude,
|
|
Created: model.Created,
|
|
CreatedUser: mapping.mapper.User.ToUserModel(model.CreatedUser),
|
|
Updated: model.Updated,
|
|
UpdatedUser: mapping.mapper.User.ToUserModel(model.UpdatedUser),
|
|
Active: model.Active,
|
|
}
|
|
}
|
|
|
|
func (mapping *organizationMapping) ToOrganizationAddressEntity(model viewmodel.OrganizationAddress) entity.OrganizationAddress {
|
|
return entity.OrganizationAddress{
|
|
ID: model.ID,
|
|
UUID: model.UUID,
|
|
InternalID: model.InternalID,
|
|
Address: model.Address,
|
|
Name: model.Name,
|
|
Description: model.Description,
|
|
Latitude: model.Latitude,
|
|
Longitude: model.Longitude,
|
|
Created: model.Created,
|
|
CreatedUser: mapping.mapper.User.ToUserEntity(model.CreatedUser),
|
|
Updated: model.Updated,
|
|
UpdatedUser: mapping.mapper.User.ToUserEntity(model.UpdatedUser),
|
|
Active: model.Active,
|
|
}
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationAddressModelSlice(list []entity.OrganizationAddress) (retVal []viewmodel.OrganizationAddress) {
|
|
retVal = make([]viewmodel.OrganizationAddress, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationAddressModel(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|
|
|
|
// ToUserEntitySlice maps a User entity slice to User view model slice
|
|
func (mapping *organizationMapping) ToOrganizationAddressEntitySlice(list []viewmodel.OrganizationAddress) (retVal []entity.OrganizationAddress) {
|
|
retVal = make([]entity.OrganizationAddress, 0)
|
|
|
|
for _, item := range list {
|
|
retVal = append(retVal, mapping.ToOrganizationAddressEntity(item))
|
|
}
|
|
|
|
return retVal
|
|
}
|