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:
brendanlaschke
2023-09-07 22:38:01 +02:00
committed by GitHub
parent bd2e4307d2
commit 4348bc8e22
4 changed files with 64 additions and 18 deletions

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