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,
|
|
|
|
};
|
|
|
|
};
|