src.dualinventive.com/go/authentication-service/cmd/authentication-service-rest/mappings.go

49 lines
1.1 KiB
Go

package main
import (
"src.dualinventive.com/go/authentication-service/internal/domain"
"src.dualinventive.com/go/authentication-service/rest/models"
)
func mapUser(u1 *domain.User) *models.User {
u2 := &models.User{}
u2.UserID = int64(u1.ID)
u2.UserName = u1.Name
u2.Company = &models.UserCompany{
ID: int64(u1.Company.ID),
Name: u1.Company.Name,
Code: u1.Company.Code,
}
userRoles := make([]*models.UserRolesItems0, len(u1.Roles))
for i, role1 := range u1.Roles {
role2 := &models.UserRolesItems0{}
role2.Name = role1.Name
rights := make([]string, len(role1.Rights))
for j, right1 := range role1.Rights {
rights[j] = right1.Code
}
role2.Rights = rights
userRoles[i] = role2
}
u2.Roles = userRoles
return u2
}
func mapTokenList(original map[string]string) (mapped *models.TokenList) {
mapped = &models.TokenList{}
mapped.Tokens = []*models.OpaqueToken{}
for opaqueID, userAgent := range original {
mapped.Tokens = append(mapped.Tokens, &models.OpaqueToken{
OpaqueID: opaqueID, UserAgent: userAgent})
}
return mapped
}