Add relation for Company on people show page note creation (#1418)
* - added additional entity(company) for people * - moved getRelationData to util function * - remove recursion * typo
This commit is contained in:
43
front/src/modules/activities/utils/getRelationData.ts
Normal file
43
front/src/modules/activities/utils/getRelationData.ts
Normal file
@ -0,0 +1,43 @@
|
||||
import { v4 } from 'uuid';
|
||||
|
||||
import { ActivityTargetCreateManyActivityInput } from '~/generated/graphql';
|
||||
|
||||
import {
|
||||
ActivityTargetableEntity,
|
||||
ActivityTargetableEntityType,
|
||||
} from '../types/ActivityTargetableEntity';
|
||||
|
||||
export function getRelationData(
|
||||
entities: ActivityTargetableEntity[],
|
||||
): ActivityTargetCreateManyActivityInput[] {
|
||||
const now = new Date().toISOString();
|
||||
|
||||
const relationData: ActivityTargetCreateManyActivityInput[] = [];
|
||||
for (const entity of entities ?? []) {
|
||||
relationData.push({
|
||||
companyId:
|
||||
entity.type === ActivityTargetableEntityType.Company ? entity.id : null,
|
||||
personId:
|
||||
entity.type === ActivityTargetableEntityType.Person ? entity.id : null,
|
||||
id: v4(),
|
||||
createdAt: now,
|
||||
});
|
||||
if (entity.relatedEntities) {
|
||||
for (const relatedEntity of entity.relatedEntities ?? []) {
|
||||
relationData.push({
|
||||
companyId:
|
||||
relatedEntity.type === ActivityTargetableEntityType.Company
|
||||
? relatedEntity.id
|
||||
: null,
|
||||
personId:
|
||||
relatedEntity.type === ActivityTargetableEntityType.Person
|
||||
? relatedEntity.id
|
||||
: null,
|
||||
id: v4(),
|
||||
createdAt: now,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return relationData;
|
||||
}
|
||||
Reference in New Issue
Block a user