dashboard/src/services/users/transformations.ts

34 lines
833 B
TypeScript
Raw Normal View History

2021-09-27 12:17:33 +02:00
import _ from 'lodash';
2022-04-15 14:30:27 +02:00
import { User, UserRole } from './types';
2021-09-27 12:17:33 +02:00
2022-04-15 14:30:27 +02:00
export const transformUser = (response: any): User => {
2021-12-21 14:55:46 +00:00
const userResponse = _.get(response, 'user', response);
2022-04-15 14:30:27 +02:00
const resolvedUserRole = !userResponse.traits.role_id ? UserRole.User : userResponse.traits.role_id;
2021-12-21 14:55:46 +00:00
return {
id: userResponse.id,
2022-04-15 14:30:27 +02:00
role_id: resolvedUserRole,
2021-12-21 14:55:46 +00:00
email: userResponse.traits.email,
name: userResponse.traits.name ?? null,
2022-04-15 14:30:27 +02:00
preferredUsername: userResponse.preferredUsername,
2021-12-21 14:55:46 +00:00
status: userResponse.state,
};
};
2021-09-27 12:17:33 +02:00
2022-04-15 14:30:27 +02:00
export const transformRequestUser = (data: Pick<User, 'role_id' | 'name' | 'email'>) => {
if (data.role_id === UserRole.User) {
return {
email: data.email,
name: data.name,
};
}
2021-12-21 14:55:46 +00:00
return {
2022-04-15 14:30:27 +02:00
role_id: Number(data.role_id),
2021-12-21 14:55:46 +00:00
email: data.email,
name: data.name,
};
};