2022-05-17 11:52:08 +02:00
|
|
|
import { AppRoles, User, UserRole } from './types';
|
2021-09-27 12:17:33 +02:00
|
|
|
|
2022-05-17 11:52:08 +02:00
|
|
|
export const transformAppRoles = (data: any): AppRoles => {
|
|
|
|
const resolvedAdminRole = data.role_id === 1 ? UserRole.Admin : UserRole.User;
|
2021-09-27 12:17:33 +02:00
|
|
|
|
2022-05-17 11:52:08 +02:00
|
|
|
return {
|
|
|
|
name: data.name ?? '',
|
|
|
|
role: resolvedAdminRole ?? UserRole.User,
|
|
|
|
};
|
|
|
|
};
|
2021-12-21 14:55:46 +00:00
|
|
|
|
2022-05-17 11:52:08 +02:00
|
|
|
export const transformRequestAppRoles = (data: AppRoles): any => {
|
|
|
|
const resolvedRequestRole = data.role === UserRole.Admin ? 1 : null;
|
2022-04-15 14:30:27 +02:00
|
|
|
|
2021-12-21 14:55:46 +00:00
|
|
|
return {
|
2022-05-17 11:52:08 +02:00
|
|
|
name: data.name ?? '',
|
|
|
|
role_id: resolvedRequestRole,
|
2021-12-21 14:55:46 +00:00
|
|
|
};
|
|
|
|
};
|
2021-09-27 12:17:33 +02:00
|
|
|
|
2022-05-17 11:52:08 +02:00
|
|
|
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 ?? '',
|
|
|
|
};
|
|
|
|
};
|
2021-12-21 14:55:46 +00:00
|
|
|
|
2022-05-17 11:52:08 +02:00
|
|
|
export const transformRequestUser = (data: Pick<User, 'app_roles' | 'name' | 'email'>) => {
|
2021-12-21 14:55:46 +00:00
|
|
|
return {
|
2022-05-17 11:52:08 +02:00
|
|
|
app_roles: data.app_roles.map(transformRequestAppRoles),
|
|
|
|
email: data.email ?? '',
|
|
|
|
name: data.name ?? '',
|
2021-12-21 14:55:46 +00:00
|
|
|
};
|
|
|
|
};
|