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

@ -21,6 +21,8 @@ import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/comp
import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata';
import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata';
import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata';
import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator';
import { EventObjectMetadata } from 'src/modules/event/standard-objects/event.object-metadata';
@ObjectMetadata({
standardId: standardObjectIds.workspaceMember,
@ -231,4 +233,23 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
featureFlag: 'IS_CALENDAR_ENABLED',
})
calendarEventAttendees: CalendarEventAttendeeObjectMetadata[];
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.events,
type: FieldMetadataType.RELATION,
label: 'Events',
description: 'Events linked to the workspace member',
icon: 'IconTimelineEvent',
})
@RelationMetadata({
type: RelationMetadataType.ONE_TO_MANY,
inverseSideTarget: () => EventObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
@Gate({
featureFlag: 'IS_EVENT_OBJECT_ENABLED',
})
@IsSystem()
events: EventObjectMetadata[];
}