mirror of
https://github.com/twentyhq/twenty.git
synced 2024-12-26 05:24:04 +03:00
4282 create calendarchannel data model (#4314)
* create model * add connected account relation * fix import * relation is working * remove isNullable
This commit is contained in:
parent
28a093d495
commit
9fc421876f
@ -0,0 +1,81 @@
|
|||||||
|
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||||
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
|
import { Gate } from 'src/workspace/workspace-sync-metadata/decorators/gate.decorator';
|
||||||
|
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
||||||
|
import { ObjectMetadata } from 'src/workspace/workspace-sync-metadata/decorators/object-metadata.decorator';
|
||||||
|
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
|
||||||
|
import { ConnectedAccountObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/connected-account.object-metadata';
|
||||||
|
|
||||||
|
@ObjectMetadata({
|
||||||
|
namePlural: 'calendarChannels',
|
||||||
|
labelSingular: 'Calendar Channel',
|
||||||
|
labelPlural: 'Calendar Channels',
|
||||||
|
description: 'Calendar Channels',
|
||||||
|
icon: 'IconCalendar',
|
||||||
|
})
|
||||||
|
@IsSystem()
|
||||||
|
@Gate({
|
||||||
|
featureFlag: 'IS_CALENDAR_ENABLED',
|
||||||
|
})
|
||||||
|
export class CalendarChannelObjectMetadata extends BaseObjectMetadata {
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.RELATION,
|
||||||
|
label: 'Connected Account',
|
||||||
|
description: 'Connected Account',
|
||||||
|
icon: 'IconUserCircle',
|
||||||
|
joinColumn: 'connectedAccountId',
|
||||||
|
})
|
||||||
|
connectedAccount: ConnectedAccountObjectMetadata;
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.TEXT,
|
||||||
|
label: 'Handle',
|
||||||
|
description: 'Handle',
|
||||||
|
icon: 'IconAt',
|
||||||
|
})
|
||||||
|
handle: string;
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.SELECT,
|
||||||
|
label: 'Visibility',
|
||||||
|
description: 'Visibility',
|
||||||
|
icon: 'IconEyeglass',
|
||||||
|
options: [
|
||||||
|
{ value: 'metadata', label: 'Metadata', position: 0, color: 'green' },
|
||||||
|
{
|
||||||
|
value: 'share_everything',
|
||||||
|
label: 'Share Everything',
|
||||||
|
position: 1,
|
||||||
|
color: 'orange',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
defaultValue: { value: 'share_everything' },
|
||||||
|
})
|
||||||
|
visibility: string;
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.BOOLEAN,
|
||||||
|
label: 'Is Contact Auto Creation Enabled',
|
||||||
|
description: 'Is Contact Auto Creation Enabled',
|
||||||
|
icon: 'IconUserCircle',
|
||||||
|
defaultValue: { value: true },
|
||||||
|
})
|
||||||
|
isContactAutoCreationEnabled: boolean;
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.BOOLEAN,
|
||||||
|
label: 'Is Sync Enabled',
|
||||||
|
description: 'Is Sync Enabled',
|
||||||
|
icon: 'IconRefresh',
|
||||||
|
defaultValue: { value: true },
|
||||||
|
})
|
||||||
|
isSyncEnabled: boolean;
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.TEXT,
|
||||||
|
label: 'Next Sync Token',
|
||||||
|
description: 'Next Sync Token',
|
||||||
|
icon: 'IconReload',
|
||||||
|
})
|
||||||
|
nextSyncToken: string;
|
||||||
|
}
|
@ -4,11 +4,12 @@ import {
|
|||||||
RelationOnDeleteAction,
|
RelationOnDeleteAction,
|
||||||
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
import { Gate } from 'src/workspace/workspace-sync-metadata/decorators/gate.decorator';
|
||||||
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
||||||
import { ObjectMetadata } from 'src/workspace/workspace-sync-metadata/decorators/object-metadata.decorator';
|
import { ObjectMetadata } from 'src/workspace/workspace-sync-metadata/decorators/object-metadata.decorator';
|
||||||
import { RelationMetadata } from 'src/workspace/workspace-sync-metadata/decorators/relation-metadata.decorator';
|
import { RelationMetadata } from 'src/workspace/workspace-sync-metadata/decorators/relation-metadata.decorator';
|
||||||
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
|
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
|
||||||
|
import { CalendarChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/calendar-channel.object-metadata';
|
||||||
import { MessageChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message-channel.object-metadata';
|
import { MessageChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message-channel.object-metadata';
|
||||||
import { WorkspaceMemberObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/workspace-member.object-metadata';
|
import { WorkspaceMemberObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/workspace-member.object-metadata';
|
||||||
|
|
||||||
@ -81,6 +82,21 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata {
|
|||||||
objectName: 'messageChannel',
|
objectName: 'messageChannel',
|
||||||
onDelete: RelationOnDeleteAction.CASCADE,
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
|
||||||
messageChannels: MessageChannelObjectMetadata[];
|
messageChannels: MessageChannelObjectMetadata[];
|
||||||
|
|
||||||
|
@FieldMetadata({
|
||||||
|
type: FieldMetadataType.RELATION,
|
||||||
|
label: 'Calendar Channel',
|
||||||
|
description: 'Calendar Channel',
|
||||||
|
icon: 'IconCalendar',
|
||||||
|
})
|
||||||
|
@RelationMetadata({
|
||||||
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
|
objectName: 'calendarChannel',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
|
})
|
||||||
|
@Gate({
|
||||||
|
featureFlag: 'IS_CALENDAR_ENABLED',
|
||||||
|
})
|
||||||
|
calendarChannels: CalendarChannelObjectMetadata[];
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import { ActivityObjectMetadata } from 'src/workspace/workspace-sync-metadata/st
|
|||||||
import { ApiKeyObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/api-key.object-metadata';
|
import { ApiKeyObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/api-key.object-metadata';
|
||||||
import { AttachmentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/attachment.object-metadata';
|
import { AttachmentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/attachment.object-metadata';
|
||||||
import { BlocklistObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/blocklist.object-metadata';
|
import { BlocklistObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/blocklist.object-metadata';
|
||||||
|
import { CalendarChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/calendar-channel.object-metadata';
|
||||||
import { CommentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/comment.object-metadata';
|
import { CommentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/comment.object-metadata';
|
||||||
import { CompanyObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata';
|
import { CompanyObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/company.object-metadata';
|
||||||
import { ConnectedAccountObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/connected-account.object-metadata';
|
import { ConnectedAccountObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/connected-account.object-metadata';
|
||||||
@ -46,4 +47,5 @@ export const standardObjectMetadataCollection = [
|
|||||||
MessageChannelObjectMetadata,
|
MessageChannelObjectMetadata,
|
||||||
MessageParticipantObjectMetadata,
|
MessageParticipantObjectMetadata,
|
||||||
MessageChannelMessageAssociationObjectMetadata,
|
MessageChannelMessageAssociationObjectMetadata,
|
||||||
|
CalendarChannelObjectMetadata,
|
||||||
];
|
];
|
||||||
|
Loading…
Reference in New Issue
Block a user