Add featureFlag gateDecorator for sync-metadata (#2956)

* Add featureFlag gateDecorator for sync-metadata

* remove gate exampels

* gate messaging objects

* gate messaging recipient object

* add missing gate
This commit is contained in:
Weiko
2023-12-12 17:34:59 +01:00
committed by GitHub
parent 6977fd4ce2
commit f126bd95d6
15 changed files with 201 additions and 77 deletions

View File

@ -6,6 +6,7 @@ import {
FieldMetadata,
IsNullable,
RelationMetadata,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
import { MessageChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message-channel.object-metadata';
@ -18,6 +19,9 @@ import { WorkspaceMemberObjectMetadata } from 'src/workspace/workspace-sync-meta
description: 'A connected account',
icon: 'IconAt',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsSystem()
export class ConnectedAccountObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({

View File

@ -6,6 +6,7 @@ import {
FieldMetadata,
IsNullable,
RelationMetadata,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/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';
@ -18,6 +19,9 @@ import { MessageThreadObjectMetadata } from 'src/workspace/workspace-sync-metada
description: 'Message Channels',
icon: 'IconMessage',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsSystem()
export class MessageChannelObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({

View File

@ -4,6 +4,7 @@ import {
IsSystem,
FieldMetadata,
IsNullable,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
import { MessageObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message.object-metadata';
@ -17,6 +18,9 @@ import { WorkspaceMemberObjectMetadata } from 'src/workspace/workspace-sync-meta
description: 'Message Recipients',
icon: 'IconUserCircle',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsSystem()
export class MessageRecipientObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({

View File

@ -6,6 +6,7 @@ import {
FieldMetadata,
IsNullable,
RelationMetadata,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
import { MessageChannelObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message-channel.object-metadata';
@ -18,6 +19,9 @@ import { MessageObjectMetadata } from 'src/workspace/workspace-sync-metadata/sta
description: 'Message Thread',
icon: 'IconMessage',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsSystem()
export class MessageThreadObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({

View File

@ -6,6 +6,7 @@ import {
FieldMetadata,
IsNullable,
RelationMetadata,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { BaseObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/base.object-metadata';
import { MessageRecipientObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/message-recipient.object-metadata';
@ -18,6 +19,9 @@ import { MessageThreadObjectMetadata } from 'src/workspace/workspace-sync-metada
description: 'Message',
icon: 'IconMessage',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsSystem()
export class MessageObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({

View File

@ -8,6 +8,7 @@ import {
IsNullable,
RelationMetadata,
IsSystem,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { ActivityTargetObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/activity-target.object-metadata';
import { AttachmentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/attachment.object-metadata';
@ -186,6 +187,9 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
objectName: 'messageRecipient',
inverseSideFieldName: 'person',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsNullable()
messageRecipients: MessageRecipientObjectMetadata[];
}

View File

@ -7,6 +7,7 @@ import {
FieldMetadata,
IsNullable,
RelationMetadata,
Gate,
} from 'src/workspace/workspace-sync-metadata/decorators/metadata.decorator';
import { ActivityObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/activity.object-metadata';
import { AttachmentObjectMetadata } from 'src/workspace/workspace-sync-metadata/standard-objects/attachment.object-metadata';
@ -163,6 +164,9 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
objectName: 'connectedAccount',
inverseSideFieldName: 'accountOwner',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsNullable()
connectedAccounts: ConnectedAccountObjectMetadata[];
@ -177,6 +181,9 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
objectName: 'messageRecipient',
inverseSideFieldName: 'workspaceMember',
})
@Gate({
featureFlag: 'IS_MESSAGING_ENABLED',
})
@IsNullable()
messageRecipients: MessageRecipientObjectMetadata[];
}