generated from PenaSide/GolangTemplate
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
![]() |
package transfer
|
||
|
|
||
|
import (
|
||
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
||
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/broker"
|
||
|
)
|
||
|
|
||
|
func PrivilegeProtoToModel(privilege *broker.PrivilegeMessage) *models.Privilege {
|
||
|
if privilege == nil {
|
||
|
return &models.Privilege{}
|
||
|
}
|
||
|
|
||
|
return &models.Privilege{
|
||
|
PrivilegeID: privilege.GetPrivilegeID(),
|
||
|
ServiceKey: privilege.GetServiceKey(),
|
||
|
Type: privilege.GetType(),
|
||
|
Value: privilege.GetValue(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func PrivilegeArrayProtoToModel(privileges []*broker.PrivilegeMessage) []models.Privilege {
|
||
|
privilegesModel := make([]models.Privilege, len(privileges))
|
||
|
|
||
|
for index, privilege := range privileges {
|
||
|
privilegesModel[index] = *PrivilegeProtoToModel(privilege)
|
||
|
}
|
||
|
|
||
|
return privilegesModel
|
||
|
}
|
||
|
|
||
|
func PrivilegeModelToProto(privilege *models.Privilege) *broker.PrivilegeMessage {
|
||
|
if privilege == nil {
|
||
|
return &broker.PrivilegeMessage{}
|
||
|
}
|
||
|
|
||
|
return &broker.PrivilegeMessage{
|
||
|
PrivilegeID: privilege.PrivilegeID,
|
||
|
ServiceKey: privilege.ServiceKey,
|
||
|
Type: privilege.Type,
|
||
|
Value: privilege.Value,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func PrivilegeArrayModelToProto(privileges []models.Privilege) []*broker.PrivilegeMessage {
|
||
|
privilegesProto := make([]*broker.PrivilegeMessage, len(privileges))
|
||
|
|
||
|
for index, privilege := range privileges {
|
||
|
privilegeCopy := privilege
|
||
|
privilegesProto[index] = PrivilegeModelToProto(&privilegeCopy)
|
||
|
}
|
||
|
|
||
|
return privilegesProto
|
||
|
}
|