Compile with swc on twenty-server (#4863)

Experiment using swc instead of tsc (as we did the switch on
twenty-front)

It's **much** faster (at least 5x) but has stricter requirements.
I fixed the build but there's still an error while starting the server,
opening this PR for discussion.

Checkout the branch and try `nx build:swc twenty-server`

Read: https://docs.nestjs.com/recipes/swc#common-pitfalls
This commit is contained in:
Félix Malfait
2024-04-14 09:09:51 +02:00
committed by GitHub
parent f82b1ff9ef
commit 9aa24ed803
50 changed files with 600 additions and 152 deletions

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { activityTargetStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -32,7 +34,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata {
joinColumn: 'activityId',
})
@IsNullable()
activity: ActivityObjectMetadata;
activity: Relation<ActivityObjectMetadata>;
@FieldMetadata({
standardId: activityTargetStandardFieldIds.person,
@ -43,7 +45,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: activityTargetStandardFieldIds.company,
@ -54,7 +56,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: activityTargetStandardFieldIds.opportunity,
@ -65,7 +67,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata {
joinColumn: 'opportunityId',
})
@IsNullable()
opportunity: OpportunityObjectMetadata;
opportunity: Relation<OpportunityObjectMetadata>;
@DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({
standardId: activityTargetStandardFieldIds.custom,
@ -75,5 +77,5 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata {
joinColumn: `${oppositeObjectMetadata.nameSingular}Id`,
icon: 'IconBuildingSkyscraper',
}))
custom: CustomObjectMetadata;
custom: Relation<CustomObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -97,7 +99,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
activityTargets: ActivityTargetObjectMetadata[];
activityTargets: Relation<ActivityTargetObjectMetadata[]>;
@FieldMetadata({
standardId: activityStandardFieldIds.attachments,
@ -112,7 +114,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
attachments: AttachmentObjectMetadata[];
attachments: Relation<AttachmentObjectMetadata[]>;
@FieldMetadata({
standardId: activityStandardFieldIds.comments,
@ -127,7 +129,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
comments: CommentObjectMetadata[];
comments: Relation<CommentObjectMetadata[]>;
@FieldMetadata({
standardId: activityStandardFieldIds.author,
@ -138,7 +140,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata {
joinColumn: 'authorId',
})
@IsNullable()
author: WorkspaceMemberObjectMetadata;
author: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: activityStandardFieldIds.assignee,
@ -149,5 +151,5 @@ export class ActivityObjectMetadata extends BaseObjectMetadata {
joinColumn: 'assigneeId',
})
@IsNullable()
assignee: WorkspaceMemberObjectMetadata;
assignee: Relation<WorkspaceMemberObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { commentStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -35,7 +37,7 @@ export class CommentObjectMetadata extends BaseObjectMetadata {
icon: 'IconCircleUser',
joinColumn: 'authorId',
})
author: WorkspaceMemberObjectMetadata;
author: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: commentStandardFieldIds.activity,
@ -45,5 +47,5 @@ export class CommentObjectMetadata extends BaseObjectMetadata {
icon: 'IconNotes',
joinColumn: 'activityId',
})
activity: ActivityObjectMetadata;
activity: Relation<ActivityObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { attachmentStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -59,7 +61,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
icon: 'IconCircleUser',
joinColumn: 'authorId',
})
author: WorkspaceMemberObjectMetadata;
author: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: attachmentStandardFieldIds.activity,
@ -70,7 +72,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
joinColumn: 'activityId',
})
@IsNullable()
activity: ActivityObjectMetadata;
activity: Relation<ActivityObjectMetadata>;
@FieldMetadata({
standardId: attachmentStandardFieldIds.person,
@ -81,7 +83,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: attachmentStandardFieldIds.company,
@ -92,7 +94,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: attachmentStandardFieldIds.opportunity,
@ -103,7 +105,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
joinColumn: 'opportunityId',
})
@IsNullable()
opportunity: OpportunityObjectMetadata;
opportunity: Relation<OpportunityObjectMetadata>;
@DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({
standardId: attachmentStandardFieldIds.custom,
@ -113,5 +115,5 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata {
joinColumn: `${oppositeObjectMetadata.nameSingular}Id`,
icon: 'IconBuildingSkyscraper',
}))
custom: CustomObjectMetadata;
custom: Relation<CustomObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { calendarChannelEventAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
@ -30,7 +32,7 @@ export class CalendarChannelEventAssociationObjectMetadata extends BaseObjectMet
icon: 'IconCalendar',
joinColumn: 'calendarChannelId',
})
calendarChannel: CalendarEventObjectMetadata;
calendarChannel: Relation<CalendarEventObjectMetadata>;
@FieldMetadata({
standardId: calendarChannelEventAssociationStandardFieldIds.calendarEvent,
@ -40,7 +42,7 @@ export class CalendarChannelEventAssociationObjectMetadata extends BaseObjectMet
icon: 'IconCalendar',
joinColumn: 'calendarEventId',
})
calendarEvent: CalendarEventObjectMetadata;
calendarEvent: Relation<CalendarEventObjectMetadata>;
@FieldMetadata({
standardId: calendarChannelEventAssociationStandardFieldIds.eventExternalId,

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import {
RelationMetadataType,
RelationOnDeleteAction,
@ -41,7 +43,7 @@ export class CalendarChannelObjectMetadata extends BaseObjectMetadata {
icon: 'IconUserCircle',
joinColumn: 'connectedAccountId',
})
connectedAccount: ConnectedAccountObjectMetadata;
connectedAccount: Relation<ConnectedAccountObjectMetadata>;
@FieldMetadata({
standardId: calendarChannelStandardFieldIds.handle,
@ -119,5 +121,7 @@ export class CalendarChannelObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => CalendarChannelEventAssociationObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
calendarChannelEventAssociations: CalendarChannelEventAssociationObjectMetadata[];
calendarChannelEventAssociations: Relation<
CalendarChannelEventAssociationObjectMetadata[]
>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { calendarEventParticipantStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -39,7 +41,7 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata {
icon: 'IconCalendar',
joinColumn: 'calendarEventId',
})
calendarEvent: CalendarEventObjectMetadata;
calendarEvent: Relation<CalendarEventObjectMetadata>;
@FieldMetadata({
standardId: calendarEventParticipantStandardFieldIds.handle,
@ -114,7 +116,7 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: calendarEventParticipantStandardFieldIds.workspaceMember,
@ -125,5 +127,5 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'workspaceMemberId',
})
@IsNullable()
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator';
import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
@ -168,7 +170,9 @@ export class CalendarEventObjectMetadata extends BaseObjectMetadata {
@Gate({
featureFlag: 'IS_CALENDAR_ENABLED',
})
calendarChannelEventAssociations: CalendarChannelEventAssociationObjectMetadata[];
calendarChannelEventAssociations: Relation<
CalendarChannelEventAssociationObjectMetadata[]
>;
@FieldMetadata({
standardId: calendarEventStandardFieldIds.calendarEventParticipants,
@ -182,5 +186,5 @@ export class CalendarEventObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => CalendarEventParticipantObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
calendarEventParticipants: CalendarEventParticipantObjectMetadata[];
calendarEventParticipants: Relation<CalendarEventParticipantObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type';
import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
@ -135,7 +137,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
people: PersonObjectMetadata[];
people: Relation<PersonObjectMetadata[]>;
@FieldMetadata({
standardId: companyStandardFieldIds.accountOwner,
@ -162,7 +164,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
activityTargets: ActivityTargetObjectMetadata[];
activityTargets: Relation<ActivityTargetObjectMetadata[]>;
@FieldMetadata({
standardId: companyStandardFieldIds.opportunities,
@ -177,7 +179,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
opportunities: OpportunityObjectMetadata[];
opportunities: Relation<OpportunityObjectMetadata[]>;
@FieldMetadata({
standardId: companyStandardFieldIds.favorites,
@ -193,7 +195,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
@IsSystem()
favorites: FavoriteObjectMetadata[];
favorites: Relation<FavoriteObjectMetadata[]>;
@FieldMetadata({
standardId: companyStandardFieldIds.attachments,
@ -208,7 +210,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
attachments: AttachmentObjectMetadata[];
attachments: Relation<AttachmentObjectMetadata[]>;
@FieldMetadata({
standardId: companyStandardFieldIds.events,
@ -224,5 +226,5 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
@IsSystem()
events: EventObjectMetadata[];
events: Relation<EventObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { blocklistStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -34,5 +36,5 @@ export class BlocklistObjectMetadata extends BaseObjectMetadata {
icon: 'IconCircleUser',
joinColumn: 'workspaceMemberId',
})
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
@ -75,7 +77,7 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata {
icon: 'IconUserCircle',
joinColumn: 'accountOwnerId',
})
accountOwner: WorkspaceMemberObjectMetadata;
accountOwner: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: connectedAccountStandardFieldIds.lastSyncHistoryId,
@ -108,7 +110,7 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => MessageChannelObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
messageChannels: MessageChannelObjectMetadata[];
messageChannels: Relation<MessageChannelObjectMetadata[]>;
@FieldMetadata({
standardId: connectedAccountStandardFieldIds.calendarChannels,
@ -125,5 +127,5 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata {
@Gate({
featureFlag: FeatureFlagKeys.IsCalendarEnabled,
})
calendarChannels: CalendarChannelObjectMetadata[];
calendarChannels: Relation<CalendarChannelObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { eventStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -53,7 +55,7 @@ export class EventObjectMetadata extends BaseObjectMetadata {
joinColumn: 'workspaceMemberId',
})
@IsNullable()
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: eventStandardFieldIds.person,
@ -64,7 +66,7 @@ export class EventObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: eventStandardFieldIds.company,
@ -75,7 +77,7 @@ export class EventObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: eventStandardFieldIds.opportunity,
@ -86,7 +88,7 @@ export class EventObjectMetadata extends BaseObjectMetadata {
joinColumn: 'opportunityId',
})
@IsNullable()
opportunity: OpportunityObjectMetadata;
opportunity: Relation<OpportunityObjectMetadata>;
@DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({
standardId: eventStandardFieldIds.custom,
@ -96,5 +98,5 @@ export class EventObjectMetadata extends BaseObjectMetadata {
joinColumn: `${oppositeObjectMetadata.nameSingular}Id`,
icon: 'IconBuildingSkyscraper',
}))
custom: CustomObjectMetadata;
custom: Relation<CustomObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { favoriteStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -42,7 +44,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata {
icon: 'IconCircleUser',
joinColumn: 'workspaceMemberId',
})
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
@FieldMetadata({
standardId: favoriteStandardFieldIds.person,
@ -53,7 +55,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: favoriteStandardFieldIds.company,
@ -64,7 +66,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: favoriteStandardFieldIds.opportunity,
@ -75,7 +77,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata {
joinColumn: 'opportunityId',
})
@IsNullable()
opportunity: OpportunityObjectMetadata;
opportunity: Relation<OpportunityObjectMetadata>;
@DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({
standardId: favoriteStandardFieldIds.custom,
@ -85,5 +87,5 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata {
joinColumn: `${oppositeObjectMetadata.nameSingular}Id`,
icon: 'IconBuildingSkyscraper',
}))
custom: CustomObjectMetadata;
custom: Relation<CustomObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { messageChannelMessageAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -29,7 +31,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageChannelId',
})
@IsNullable()
messageChannel: MessageChannelObjectMetadata;
messageChannel: Relation<MessageChannelObjectMetadata>;
@FieldMetadata({
standardId: messageChannelMessageAssociationStandardFieldIds.message,
@ -40,7 +42,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageId',
})
@IsNullable()
message: MessageObjectMetadata;
message: Relation<MessageObjectMetadata>;
@FieldMetadata({
standardId:
@ -62,7 +64,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageThreadId',
})
@IsNullable()
messageThread: MessageThreadObjectMetadata;
messageThread: Relation<MessageThreadObjectMetadata>;
@FieldMetadata({
standardId:

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -89,7 +91,7 @@ export class MessageChannelObjectMetadata extends BaseObjectMetadata {
icon: 'IconUserCircle',
joinColumn: 'connectedAccountId',
})
connectedAccount: ConnectedAccountObjectMetadata;
connectedAccount: Relation<ConnectedAccountObjectMetadata>;
@FieldMetadata({
standardId: messageChannelStandardFieldIds.type,
@ -139,7 +141,9 @@ export class MessageChannelObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
@FieldMetadata({
standardId: messageChannelStandardFieldIds.syncCursor,

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { messageParticipantStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -28,7 +30,7 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
icon: 'IconMessage',
joinColumn: 'messageId',
})
message: MessageObjectMetadata;
message: Relation<MessageObjectMetadata>;
@FieldMetadata({
standardId: messageParticipantStandardFieldIds.role,
@ -73,7 +75,7 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: messageParticipantStandardFieldIds.workspaceMember,
@ -84,5 +86,5 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'workspaceMemberId',
})
@IsNullable()
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -37,7 +39,7 @@ export class MessageThreadObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messages: MessageObjectMetadata[];
messages: Relation<MessageObjectMetadata[]>;
@FieldMetadata({
standardId: messageThreadStandardFieldIds.messageChannelMessageAssociations,
@ -52,5 +54,7 @@ export class MessageThreadObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.RESTRICT,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -43,7 +45,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
joinColumn: 'messageThreadId',
})
@IsNullable()
messageThread: MessageThreadObjectMetadata;
messageThread: Relation<MessageThreadObjectMetadata>;
@FieldMetadata({
standardId: messageStandardFieldIds.direction,
@ -101,7 +103,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageParticipants: MessageParticipantObjectMetadata[];
messageParticipants: Relation<MessageParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: messageStandardFieldIds.messageChannelMessageAssociations,
@ -116,5 +118,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
@ -109,7 +111,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
joinColumn: 'pointOfContactId',
})
@IsNullable()
pointOfContact: PersonObjectMetadata;
pointOfContact: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: opportunityStandardFieldIds.company,
@ -120,7 +122,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: opportunityStandardFieldIds.favorites,
@ -136,7 +138,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
@IsSystem()
favorites: FavoriteObjectMetadata[];
favorites: Relation<FavoriteObjectMetadata[]>;
@FieldMetadata({
standardId: opportunityStandardFieldIds.activityTargets,
@ -151,7 +153,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
activityTargets: ActivityTargetObjectMetadata[];
activityTargets: Relation<ActivityTargetObjectMetadata[]>;
@FieldMetadata({
standardId: opportunityStandardFieldIds.attachments,
@ -166,7 +168,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
attachments: AttachmentObjectMetadata[];
attachments: Relation<AttachmentObjectMetadata[]>;
@FieldMetadata({
standardId: opportunityStandardFieldIds.events,
@ -181,5 +183,5 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
events: EventObjectMetadata[];
events: Relation<EventObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type';
import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
@ -129,7 +131,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
joinColumn: 'companyId',
})
@IsNullable()
company: CompanyObjectMetadata;
company: Relation<CompanyObjectMetadata>;
@FieldMetadata({
standardId: personStandardFieldIds.pointOfContactForOpportunities,
@ -144,7 +146,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'pointOfContact',
onDelete: RelationOnDeleteAction.SET_NULL,
})
pointOfContactForOpportunities: OpportunityObjectMetadata[];
pointOfContactForOpportunities: Relation<OpportunityObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.activityTargets,
@ -158,7 +160,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => ActivityTargetObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
activityTargets: ActivityTargetObjectMetadata[];
activityTargets: Relation<ActivityTargetObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.favorites,
@ -173,7 +175,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsSystem()
favorites: FavoriteObjectMetadata[];
favorites: Relation<FavoriteObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.attachments,
@ -187,7 +189,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => AttachmentObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
attachments: AttachmentObjectMetadata[];
attachments: Relation<AttachmentObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.messageParticipants,
@ -203,7 +205,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsSystem()
messageParticipants: MessageParticipantObjectMetadata[];
messageParticipants: Relation<MessageParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.calendarEventParticipants,
@ -221,7 +223,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
featureFlag: 'IS_CALENDAR_ENABLED',
})
@IsSystem()
calendarEventParticipants: CalendarEventParticipantObjectMetadata[];
calendarEventParticipants: Relation<CalendarEventParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: personStandardFieldIds.events,
@ -237,5 +239,5 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
@IsSystem()
events: EventObjectMetadata[];
events: Relation<EventObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { viewFilterStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -60,5 +62,5 @@ export class ViewFilterObjectMetadata extends BaseObjectMetadata {
joinColumn: 'viewId',
})
@IsNullable()
view: ViewObjectMetadata;
view: Relation<ViewObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { viewSortStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -45,5 +47,5 @@ export class ViewSortObjectMetadata extends BaseObjectMetadata {
joinColumn: 'viewId',
})
@IsNullable()
view: ViewObjectMetadata;
view: Relation<ViewObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -108,7 +110,7 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewFields: ViewFieldObjectMetadata[];
viewFields: Relation<ViewFieldObjectMetadata[]>;
@FieldMetadata({
standardId: viewStandardFieldIds.viewFilters,
@ -123,7 +125,7 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewFilters: ViewFilterObjectMetadata[];
viewFilters: Relation<ViewFilterObjectMetadata[]>;
@FieldMetadata({
standardId: viewStandardFieldIds.viewSorts,
@ -138,5 +140,5 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewSorts: ViewSortObjectMetadata[];
viewSorts: Relation<ViewSortObjectMetadata[]>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
@ -104,7 +106,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'author',
onDelete: RelationOnDeleteAction.SET_NULL,
})
authoredActivities: ActivityObjectMetadata[];
authoredActivities: Relation<ActivityObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.assignedActivities,
@ -119,7 +121,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'assignee',
onDelete: RelationOnDeleteAction.SET_NULL,
})
assignedActivities: ActivityObjectMetadata[];
assignedActivities: Relation<ActivityObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.favorites,
@ -133,7 +135,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideTarget: () => FavoriteObjectMetadata,
onDelete: RelationOnDeleteAction.CASCADE,
})
favorites: FavoriteObjectMetadata[];
favorites: Relation<FavoriteObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.accountOwnerForCompanies,
@ -148,7 +150,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'accountOwner',
onDelete: RelationOnDeleteAction.SET_NULL,
})
accountOwnerForCompanies: CompanyObjectMetadata[];
accountOwnerForCompanies: Relation<CompanyObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.authoredAttachments,
@ -163,7 +165,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'author',
onDelete: RelationOnDeleteAction.SET_NULL,
})
authoredAttachments: AttachmentObjectMetadata[];
authoredAttachments: Relation<AttachmentObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.authoredComments,
@ -178,7 +180,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'author',
onDelete: RelationOnDeleteAction.SET_NULL,
})
authoredComments: CommentObjectMetadata[];
authoredComments: Relation<CommentObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.connectedAccounts,
@ -193,7 +195,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'accountOwner',
onDelete: RelationOnDeleteAction.CASCADE,
})
connectedAccounts: ConnectedAccountObjectMetadata[];
connectedAccounts: Relation<ConnectedAccountObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.messageParticipants,
@ -208,7 +210,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'workspaceMember',
onDelete: RelationOnDeleteAction.SET_NULL,
})
messageParticipants: MessageParticipantObjectMetadata[];
messageParticipants: Relation<MessageParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.blocklist,
@ -223,7 +225,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
inverseSideFieldKey: 'workspaceMember',
onDelete: RelationOnDeleteAction.SET_NULL,
})
blocklist: BlocklistObjectMetadata[];
blocklist: Relation<BlocklistObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.calendarEventParticipants,
@ -241,7 +243,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
@Gate({
featureFlag: 'IS_CALENDAR_ENABLED',
})
calendarEventParticipants: CalendarEventParticipantObjectMetadata[];
calendarEventParticipants: Relation<CalendarEventParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: workspaceMemberStandardFieldIds.events,
@ -257,5 +259,5 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
})
@IsNullable()
@IsSystem()
events: EventObjectMetadata[];
events: Relation<EventObjectMetadata[]>;
}