customer/internal/utils/transfer/privilege.go

56 lines
1.5 KiB
Go
Raw Normal View History

2023-07-07 01:57:06 +00:00
package transfer
import (
2024-11-18 07:23:41 +00:00
"gitea.pena/PenaSide/customer/internal/models"
"gitea.pena/PenaSide/customer/internal/proto/broker"
2023-07-07 01:57:06 +00:00
)
func PrivilegeProtoToModel(privilege *broker.PrivilegeMessage) *models.Privilege {
if privilege == nil {
return &models.Privilege{}
}
return &models.Privilege{
PrivilegeID: privilege.GetPrivilegeID(),
ServiceKey: privilege.GetServiceKey(),
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeTypeMap[privilege.GetType()],
2023-07-07 01:57:06 +00:00
Value: privilege.GetValue(),
2023-08-02 14:28:31 +00:00
Amount: privilege.GetAmount(),
2023-07-07 01:57:06 +00:00
}
}
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,
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeBrokerTypeMap[privilege.Type],
2023-07-07 01:57:06 +00:00
Value: privilege.Value,
2023-08-02 14:28:31 +00:00
Amount: privilege.Amount,
2023-07-07 01:57:06 +00:00
}
}
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
}