123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package base
- import (
- "github.com/pkg/errors"
- pb "sghgogs.com/sghblog/authorization-service/proto"
- )
- type ListMapItem struct {
- Key string `json:"key"`
- Value string `json:"value"`
- }
- type Status string
- const (
- ToggleEnabled Status = "ENABLED"
- ToggleDisabled Status = "DISABLED"
- ToggleDeleted Status = "DELETED"
- )
- func MapStatusToEnum(status Status) (pb.StatusEnum, error) {
- switch string(status) {
- case "ENABLED":
- return pb.StatusEnum_ENABLED, nil
- case "DISABLED":
- return pb.StatusEnum_DISABLED, nil
- case "DELETED":
- return pb.StatusEnum_DELETED, nil
- default:
- return pb.StatusEnum_UNKNOWN, errors.New("invalid status value")
- }
- }
- func MapEnumToStatus(status pb.StatusEnum) (Status, error) {
- switch status {
- case pb.StatusEnum_ENABLED:
- return ToggleEnabled, nil
- case pb.StatusEnum_DISABLED:
- return ToggleDisabled, nil
- case pb.StatusEnum_DELETED:
- return ToggleDeleted, nil
- default:
- return "UNKNOWN", errors.New("invalid status value")
- }
- }
- func IsValidStatus(value string) bool {
- return Status(value) == ToggleDisabled || Status(value) == ToggleEnabled || Status(value) == ToggleDeleted
- }
- func RolesToResponse(roles []*pb.AdminBase) []ListMapItem {
- items := make([]ListMapItem, 0)
- for _, role := range roles {
- items = append(items, ListMapItem{
- Key: role.Key,
- Value: role.Value,
- })
- }
- return items
- }
- func UsersToResponse(users []*pb.AdminBase) []ListMapItem {
- items := make([]ListMapItem, 0)
- for _, role := range users {
- items = append(items, ListMapItem{
- Key: role.Key,
- Value: role.Value,
- })
- }
- return items
- }
- func PermissionsToResponse(users []*pb.AdminBase) []ListMapItem {
- items := make([]ListMapItem, 0)
- for _, role := range users {
- items = append(items, ListMapItem{
- Key: role.Key,
- Value: role.Value,
- })
- }
- return items
- }
- func TeamsToResponse(teams []*pb.AdminBase) []ListMapItem {
- items := make([]ListMapItem, 0)
- for _, role := range teams {
- items = append(items, ListMapItem{
- Key: role.Key,
- Value: role.Value,
- })
- }
- return items
- }
|