49 lines
1.1 KiB
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
|
|
}
|