messaging remove dead workspace entities (#22366)

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/22366?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->

---------

Co-authored-by: prastoin <paul@twenty.com>
This commit is contained in:
neo773
2026-06-30 20:06:01 +05:30
committed by GitHub
parent d55ef3063b
commit 101b85db7b
5 changed files with 4 additions and 164 deletions
@@ -6,8 +6,8 @@ import { type FeatureFlagKey } from 'twenty-shared/types';
import { type DeepPartial, Repository } from 'typeorm';
import { ActiveOrSuspendedWorkspaceCommandRunner } from 'src/database/commands/command-runners/active-or-suspended-workspace.command-runner';
import { type RunOnWorkspaceArgs } from 'src/database/commands/command-runners/workspace.command-runner';
import { WorkspaceIteratorService } from 'src/database/commands/command-runners/workspace-iterator.service';
import { type RunOnWorkspaceArgs } from 'src/database/commands/command-runners/workspace.command-runner';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { RegisteredWorkspaceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-workspace-command.decorator';
import { UserWorkspaceEntity } from 'src/engine/core-modules/user-workspace/user-workspace.entity';
@@ -16,7 +16,6 @@ import { ConnectedAccountEntity } from 'src/engine/metadata-modules/connected-ac
import { MessageChannelEntity } from 'src/engine/metadata-modules/message-channel/entities/message-channel.entity';
import { MessageFolderEntity } from 'src/engine/metadata-modules/message-folder/entities/message-folder.entity';
import { GlobalWorkspaceOrmManager } from 'src/engine/twenty-orm/global-workspace-datasource/global-workspace-orm.manager';
import { type MessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-folder.workspace-entity';
import { type WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity';
type LegacyConnectedAccountWorkspaceEntity = {
@@ -99,7 +98,7 @@ export class MigrateMessagingInfrastructureToMetadataCommand extends ActiveOrSus
);
const messageFolderWorkspaceRepository =
await this.twentyORMGlobalManager.getRepository<MessageFolderWorkspaceEntity>(
await this.twentyORMGlobalManager.getRepository<MessageFolderEntity>(
workspaceId,
'messageFolder',
);
@@ -1,53 +0,0 @@
import { registerEnumType } from '@nestjs/graphql';
import {
CalendarChannelContactAutoCreationPolicy,
CalendarChannelSyncStage,
CalendarChannelSyncStatus,
CalendarChannelVisibility,
} from 'twenty-shared/types';
import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface';
import { type CalendarChannelEventAssociationWorkspaceEntity } from 'src/modules/calendar/common/standard-objects/calendar-channel-event-association.workspace-entity';
export {
CalendarChannelContactAutoCreationPolicy,
CalendarChannelSyncStage,
CalendarChannelSyncStatus,
CalendarChannelVisibility,
};
registerEnumType(CalendarChannelVisibility, {
name: 'CalendarChannelVisibility',
});
registerEnumType(CalendarChannelSyncStatus, {
name: 'CalendarChannelSyncStatus',
});
registerEnumType(CalendarChannelSyncStage, {
name: 'CalendarChannelSyncStage',
});
registerEnumType(CalendarChannelContactAutoCreationPolicy, {
name: 'CalendarChannelContactAutoCreationPolicy',
});
export class CalendarChannelWorkspaceEntity extends BaseWorkspaceEntity {
handle: string | null;
syncStatus: CalendarChannelSyncStatus | null;
syncStage: CalendarChannelSyncStage;
visibility: string;
isContactAutoCreationEnabled: boolean;
contactAutoCreationPolicy: CalendarChannelContactAutoCreationPolicy;
isSyncEnabled: boolean;
syncCursor: string | null;
syncedAt: string | null;
syncStageStartedAt: string | null;
throttleFailureCount: number;
connectedAccountId: string;
calendarChannelEventAssociations: EntityRelation<
CalendarChannelEventAssociationWorkspaceEntity[]
>;
}
@@ -1,11 +1,11 @@
import { MessageFolderEntity } from 'src/engine/metadata-modules/message-folder/entities/message-folder.entity';
import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface';
import { type MessageChannelMessageAssociationWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity';
import { type MessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-folder.workspace-entity';
export class MessageChannelMessageAssociationMessageFolderWorkspaceEntity extends BaseWorkspaceEntity {
messageChannelMessageAssociation: EntityRelation<MessageChannelMessageAssociationWorkspaceEntity>;
messageChannelMessageAssociationId: string;
messageFolder: EntityRelation<MessageFolderWorkspaceEntity>;
messageFolder: EntityRelation<MessageFolderEntity>;
messageFolderId: string;
}
@@ -1,79 +0,0 @@
import { registerEnumType } from '@nestjs/graphql';
import {
MessageChannelContactAutoCreationPolicy,
MessageChannelPendingGroupEmailsAction,
MessageChannelSyncStage,
MessageChannelSyncStatus,
MessageChannelType,
MessageChannelVisibility,
MessageFolderImportPolicy,
} from 'twenty-shared/types';
import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface';
import { type MessageChannelMessageAssociationWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity';
import { type MessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-folder.workspace-entity';
export {
MessageChannelContactAutoCreationPolicy,
MessageChannelPendingGroupEmailsAction,
MessageChannelSyncStage,
MessageChannelSyncStatus,
MessageChannelType,
MessageChannelVisibility,
MessageFolderImportPolicy,
};
registerEnumType(MessageChannelVisibility, {
name: 'MessageChannelVisibility',
});
registerEnumType(MessageChannelSyncStatus, {
name: 'MessageChannelSyncStatus',
});
registerEnumType(MessageChannelSyncStage, {
name: 'MessageChannelSyncStage',
});
registerEnumType(MessageChannelType, {
name: 'MessageChannelType',
});
registerEnumType(MessageChannelContactAutoCreationPolicy, {
name: 'MessageChannelContactAutoCreationPolicy',
});
registerEnumType(MessageFolderImportPolicy, {
name: 'MessageFolderImportPolicy',
});
registerEnumType(MessageChannelPendingGroupEmailsAction, {
name: 'MessageChannelPendingGroupEmailsAction',
});
export class MessageChannelWorkspaceEntity extends BaseWorkspaceEntity {
visibility: string;
handle: string | null;
type: string;
isContactAutoCreationEnabled: boolean;
contactAutoCreationPolicy: MessageChannelContactAutoCreationPolicy;
messageFolderImportPolicy: MessageFolderImportPolicy;
excludeNonProfessionalEmails: boolean;
excludeGroupEmails: boolean;
pendingGroupEmailsAction: MessageChannelPendingGroupEmailsAction;
isSyncEnabled: boolean;
syncCursor: string | null;
syncedAt: string | null;
syncStatus: MessageChannelSyncStatus | null;
syncStage: MessageChannelSyncStage;
syncStageStartedAt: string | null;
throttleFailureCount: number;
throttleRetryAfter: string | null;
connectedAccountId: string;
messageChannelMessageAssociations: EntityRelation<
MessageChannelMessageAssociationWorkspaceEntity[]
>;
messageFolders: EntityRelation<MessageFolderWorkspaceEntity[]>;
}
@@ -1,27 +0,0 @@
import { registerEnumType } from '@nestjs/graphql';
import { MessageFolderPendingSyncAction } from 'twenty-shared/types';
import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity';
import { type EntityRelation } from 'src/engine/workspace-manager/workspace-migration/types/entity-relation.interface';
import { type MessageChannelMessageAssociationMessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel-message-association-message-folder.workspace-entity';
export { MessageFolderPendingSyncAction };
registerEnumType(MessageFolderPendingSyncAction, {
name: 'MessageFolderPendingSyncAction',
});
export class MessageFolderWorkspaceEntity extends BaseWorkspaceEntity {
name: string | null;
syncCursor: string | null;
isSentFolder: boolean;
isSynced: boolean;
parentFolderId: string | null;
externalId: string | null;
pendingSyncAction: MessageFolderPendingSyncAction;
messageChannelId: string;
messageChannelMessageAssociationMessageFolders: EntityRelation<
MessageChannelMessageAssociationMessageFolderWorkspaceEntity[]
>;
}