Files
twenty_crm/front/src/interfaces/user.interface.ts
Charles Bochet 8c7815af79 Hide Opportunities as nothing is built yet and make company table fully editable (#109)
* Hide Opportunities as nothing is built yet and make company table fully editable

* Fix tests
2023-05-06 19:08:47 +02:00

43 lines
999 B
TypeScript

import {
GraphqlQueryWorkspaceMember,
WorkspaceMember,
} from './workspace.interface';
export type GraphqlQueryUser = {
id: string;
email: string;
displayName: string;
workspace_member?: GraphqlQueryWorkspaceMember;
__typename: string;
};
export interface User {
id: string;
email: string;
displayName: string;
workspace_member?: WorkspaceMember;
}
export type PartialUser = Partial<User> &
Pick<User, 'id' | 'displayName' | 'email'>;
export const mapUser = (user: GraphqlQueryUser): User => {
const mappedUser = {
id: user.id,
email: user.email,
displayName: user.displayName,
} as User;
if (user.workspace_member) {
mappedUser['workspace_member'] = {
workspace: {
id: user.workspace_member.workspace.id,
displayName: user.workspace_member.workspace.display_name,
domainName: user.workspace_member.workspace.domain_name,
logo: user.workspace_member.workspace.logo,
},
};
}
return mappedUser;
};