Add JSON field type and Event object (#4566)

* Add JSON field type and Event object

* Simplify code

* Adress PR comments and add featureFlag
This commit is contained in:
Félix Malfait
2024-03-19 21:54:08 +01:00
committed by GitHub
parent 4ab426c52a
commit 4bfb90657f
51 changed files with 575 additions and 117 deletions

View File

@ -18,6 +18,8 @@ import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/comp
import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata';
import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata';
import { PipelineStepObjectMetadata } from 'src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata';
import { EventObjectMetadata } from 'src/modules/event/standard-objects/event.object-metadata';
import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator';
@ObjectMetadata({
standardId: standardObjectIds.opportunity,
@ -178,4 +180,21 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
attachments: AttachmentObjectMetadata[];
@FieldMetadata({
standardId: opportunityStandardFieldIds.events,
type: FieldMetadataType.RELATION,
label: 'Events',
description: 'Events linked to the opportunity.',
icon: 'IconTimelineEvent',
})
@RelationMetadata({
type: RelationMetadataType.ONE_TO_MANY,
inverseSideTarget: () => EventObjectMetadata,
})
@Gate({
featureFlag: 'IS_EVENT_OBJECT_ENABLED',
})
@IsNullable()
events: EventObjectMetadata[];
}