import { AppRoles, User, UserRole } from './types'; const transformRoleById = (roleId: any): UserRole => { switch (roleId) { case 1: return UserRole.Admin; case 2: return UserRole.User; default: return UserRole.NoAccess; } }; const transformRoleIdByRole = (role: UserRole | null): number | null => { switch (role) { case UserRole.Admin: return 1; case UserRole.User: return 2; default: return null; } }; export const transformAppRoles = (data: any): AppRoles => { const userRole = transformRoleById(data.role_id); return { name: data.name ?? '', role: userRole, }; }; export const transformRequestAppRoles = (data: AppRoles): any => { const resolvedRequestRole = transformRoleIdByRole(data.role) ?? null; return { name: data.name ?? '', role_id: resolvedRequestRole, }; }; export const transformUser = (response: any): User => { return { id: response.id ?? '', app_roles: response.traits.app_roles ? response.traits.app_roles.map(transformAppRoles) : [], email: response.traits.email ?? '', name: response.traits.name ?? '', preferredUsername: response.preferredUsername ?? '', status: response.state ?? '', }; }; export const transformRequestUser = (data: Pick) => { return { app_roles: data.app_roles.map(transformRequestAppRoles), email: data.email ?? '', name: data.name ?? '', }; };