79 lines
1.7 KiB
TypeScript
79 lines
1.7 KiB
TypeScript
import {
|
|
GraphqlQueryPipeline,
|
|
Pipeline,
|
|
} from '../../pipelines/interfaces/pipeline.interface';
|
|
import {
|
|
GraphqlQueryUser,
|
|
mapToUser,
|
|
User,
|
|
} from '../../users/interfaces/user.interface';
|
|
|
|
export type Company = {
|
|
__typename: 'companies';
|
|
id: string;
|
|
name?: string;
|
|
domainName?: string;
|
|
employees?: number | null;
|
|
address?: string;
|
|
|
|
createdAt?: Date;
|
|
|
|
pipes?: Pipeline[];
|
|
accountOwner?: User | null;
|
|
};
|
|
|
|
export type GraphqlQueryCompany = {
|
|
id: string;
|
|
name?: string;
|
|
domainName?: string;
|
|
employees?: number | null;
|
|
address?: string;
|
|
|
|
createdAt?: string;
|
|
|
|
accountOwner?: GraphqlQueryUser | null;
|
|
pipes?: GraphqlQueryPipeline[] | null;
|
|
__typename: string;
|
|
};
|
|
|
|
export type GraphqlMutationCompany = {
|
|
id: string;
|
|
name?: string;
|
|
domainName?: string;
|
|
employees?: number | null;
|
|
address?: string;
|
|
|
|
createdAt?: string;
|
|
|
|
accountOwnerId?: string;
|
|
__typename: string;
|
|
};
|
|
|
|
export const mapToCompany = (company: GraphqlQueryCompany): Company => ({
|
|
__typename: 'companies',
|
|
id: company.id,
|
|
employees: company.employees,
|
|
name: company.name,
|
|
address: company.address,
|
|
domainName: company.domainName,
|
|
createdAt: company.createdAt ? new Date(company.createdAt) : undefined,
|
|
|
|
accountOwner: company.accountOwner
|
|
? mapToUser(company.accountOwner)
|
|
: company.accountOwner,
|
|
pipes: [],
|
|
});
|
|
|
|
export const mapToGqlCompany = (company: Company): GraphqlMutationCompany => ({
|
|
id: company.id,
|
|
name: company.name,
|
|
domainName: company.domainName,
|
|
address: company.address,
|
|
employees: company.employees,
|
|
|
|
createdAt: company.createdAt ? company.createdAt.toUTCString() : undefined,
|
|
|
|
accountOwnerId: company.accountOwner?.id,
|
|
__typename: 'companies',
|
|
});
|