diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/agent/workspace-migration-agent-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/agent/workspace-migration-agent-actions-builder.service.ts index c36299006c..532b80c0b3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/agent/workspace-migration-agent-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/agent/workspace-migration-agent-actions-builder.service.ts @@ -64,7 +64,7 @@ export class WorkspaceMigrationAgentActionsBuilderService extends WorkspaceEntit action: { type: 'delete', metadataName: 'agent', - entityId: flatAgentToValidate.id, + universalIdentifier: flatAgentToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/command-menu-item/workspace-migration-command-menu-item-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/command-menu-item/workspace-migration-command-menu-item-actions-builder.service.ts index e6f6971de8..f096bc7dd3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/command-menu-item/workspace-migration-command-menu-item-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/command-menu-item/workspace-migration-command-menu-item-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationCommandMenuItemActionsBuilderService extends Work action: { type: 'delete', metadataName: 'commandMenuItem', - entityId: flatCommandMenuItemToValidate.id, + universalIdentifier: flatCommandMenuItemToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/cron-trigger/workspace-migration-cron-trigger-action-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/cron-trigger/workspace-migration-cron-trigger-action-builder.service.ts index 319b8d9bbc..2fb7a0e03d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/cron-trigger/workspace-migration-cron-trigger-action-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/cron-trigger/workspace-migration-cron-trigger-action-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationCronTriggerActionsBuilderService extends Workspac action: { type: 'delete', metadataName: 'cronTrigger', - entityId: flatCronTriggerToValidate.id, + universalIdentifier: flatCronTriggerToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/database-event-trigger/workspace-migration-database-event-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/database-event-trigger/workspace-migration-database-event-trigger-actions-builder.service.ts index eaa3ba1fb3..49ad12fb39 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/database-event-trigger/workspace-migration-database-event-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/database-event-trigger/workspace-migration-database-event-trigger-actions-builder.service.ts @@ -78,7 +78,8 @@ export class WorkspaceMigrationDatabaseEventTriggerActionsBuilderService extends action: { type: 'delete', metadataName: 'databaseEventTrigger', - entityId: flatDatabaseEventTriggerToValidate.id, + universalIdentifier: + flatDatabaseEventTriggerToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/field/workspace-migration-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/field/workspace-migration-field-actions-builder.service.ts index 2dfe274725..a5ad89a760 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/field/workspace-migration-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/field/workspace-migration-field-actions-builder.service.ts @@ -72,7 +72,7 @@ export class WorkspaceMigrationFieldActionsBuilderService extends WorkspaceEntit action: { type: 'delete', metadataName: 'fieldMetadata', - entityId: flatFieldMetadataToValidate.id, + universalIdentifier: flatFieldMetadataToValidate.universalIdentifier, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, }, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/workspace-migration-front-component-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/workspace-migration-front-component-actions-builder.service.ts index d102284427..ef5689e424 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/workspace-migration-front-component-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/workspace-migration-front-component-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationFrontComponentActionsBuilderService extends Works action: { type: 'delete', metadataName: 'frontComponent', - entityId: flatFrontComponentToValidate.id, + universalIdentifier: flatFrontComponentToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/workspace-migration-index-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/workspace-migration-index-actions-builder.service.ts index 1ee3f21d88..2f68910f17 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/workspace-migration-index-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/workspace-migration-index-actions-builder.service.ts @@ -70,7 +70,7 @@ export class WorkspaceMigrationIndexActionsBuilderService extends WorkspaceEntit action: { type: 'delete', metadataName: 'index', - entityId: flatIndexToValidate.id, + universalIdentifier: flatIndexToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/object/workspace-migration-object-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/object/workspace-migration-object-actions-builder.service.ts index 3331cc6fde..edb03a49c5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/object/workspace-migration-object-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/object/workspace-migration-object-actions-builder.service.ts @@ -71,7 +71,7 @@ export class WorkspaceMigrationObjectActionsBuilderService extends WorkspaceEnti action: { type: 'delete', metadataName: 'objectMetadata', - entityId: flatObjectMetadataToValidate.id, + universalIdentifier: flatObjectMetadataToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-tab/workspace-migration-page-layout-tab-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-tab/workspace-migration-page-layout-tab-actions-builder.service.ts index 6793551a6c..354fde48ed 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-tab/workspace-migration-page-layout-tab-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-tab/workspace-migration-page-layout-tab-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationPageLayoutTabActionsBuilderService extends Worksp action: { type: 'delete', metadataName: 'pageLayoutTab', - entityId: flatPageLayoutTabToValidate.id, + universalIdentifier: flatPageLayoutTabToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-widget/workspace-migration-page-layout-widget-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-widget/workspace-migration-page-layout-widget-actions-builder.service.ts index 088cc552bb..b8523b1d51 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-widget/workspace-migration-page-layout-widget-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-widget/workspace-migration-page-layout-widget-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationPageLayoutWidgetActionsBuilderService extends Wor action: { type: 'delete', metadataName: 'pageLayoutWidget', - entityId: flatPageLayoutWidgetToValidate.id, + universalIdentifier: flatPageLayoutWidgetToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout/workspace-migration-page-layout-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout/workspace-migration-page-layout-actions-builder.service.ts index 44fa9362c4..7899c00c96 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout/workspace-migration-page-layout-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout/workspace-migration-page-layout-actions-builder.service.ts @@ -72,7 +72,7 @@ export class WorkspaceMigrationPageLayoutActionsBuilderService extends Workspace action: { type: 'delete', metadataName: 'pageLayout', - entityId: flatPageLayoutToValidate.id, + universalIdentifier: flatPageLayoutToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role-target/workspace-migration-role-target-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role-target/workspace-migration-role-target-actions-builder.service.ts index 07285f3c4f..2631be5dc8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role-target/workspace-migration-role-target-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role-target/workspace-migration-role-target-actions-builder.service.ts @@ -70,7 +70,7 @@ export class WorkspaceMigrationRoleTargetActionsBuilderService extends Workspace action: { type: 'delete', metadataName: 'roleTarget', - entityId: flatRoleTargetToValidate.id, + universalIdentifier: flatRoleTargetToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role/workspace-migration-role-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role/workspace-migration-role-actions-builder.service.ts index 73d4fc48fb..70e3ff7da5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role/workspace-migration-role-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role/workspace-migration-role-actions-builder.service.ts @@ -64,7 +64,7 @@ export class WorkspaceMigrationRoleActionsBuilderService extends WorkspaceEntity action: { type: 'delete', metadataName: 'role', - entityId: flatRoleToValidate.id, + universalIdentifier: flatRoleToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/route-trigger/workspace-migration-route-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/route-trigger/workspace-migration-route-trigger-actions-builder.service.ts index ce2fb2b6de..5603d3b3d1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/route-trigger/workspace-migration-route-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/route-trigger/workspace-migration-route-trigger-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationRouteTriggerActionsBuilderService extends Workspa action: { type: 'delete', metadataName: 'routeTrigger', - entityId: flatRouteTriggerToValidate.id, + universalIdentifier: flatRouteTriggerToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate-group/workspace-migration-row-level-permission-predicate-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate-group/workspace-migration-row-level-permission-predicate-group-actions-builder.service.ts index e948433831..3f7079d45a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate-group/workspace-migration-row-level-permission-predicate-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate-group/workspace-migration-row-level-permission-predicate-group-actions-builder.service.ts @@ -74,7 +74,9 @@ export class WorkspaceMigrationRowLevelPermissionPredicateGroupActionsBuilderSer } const { - flatEntityToValidate: { id: predicateGroupId }, + flatEntityToValidate: { + universalIdentifier: predicateGroupUniversalIdentifier, + }, } = args; return { @@ -82,7 +84,7 @@ export class WorkspaceMigrationRowLevelPermissionPredicateGroupActionsBuilderSer action: { type: 'delete', metadataName: 'rowLevelPermissionPredicateGroup', - entityId: predicateGroupId, + universalIdentifier: predicateGroupUniversalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/workspace-migration-row-level-permission-predicate-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/workspace-migration-row-level-permission-predicate-actions-builder.service.ts index 69aacd9aae..72c8b587eb 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/workspace-migration-row-level-permission-predicate-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/workspace-migration-row-level-permission-predicate-actions-builder.service.ts @@ -74,7 +74,9 @@ export class WorkspaceMigrationRowLevelPermissionPredicateActionsBuilderService } const { - flatEntityToValidate: { id: predicateId }, + flatEntityToValidate: { + universalIdentifier: predicateUniversalIdentifier, + }, } = args; return { @@ -82,7 +84,7 @@ export class WorkspaceMigrationRowLevelPermissionPredicateActionsBuilderService action: { type: 'delete', metadataName: 'rowLevelPermissionPredicate', - entityId: predicateId, + universalIdentifier: predicateUniversalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/workspace-migration-serverless-function-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/workspace-migration-serverless-function-actions-builder.service.ts index 3838b9117d..d0864d1d2b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/workspace-migration-serverless-function-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/workspace-migration-serverless-function-actions-builder.service.ts @@ -114,7 +114,8 @@ export class WorkspaceMigrationServerlessFunctionActionsBuilderService extends W action: { type: 'delete', metadataName: 'serverlessFunction', - entityId: flatServerlessFunctionToValidate.id, + universalIdentifier: + flatServerlessFunctionToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/skill/workspace-migration-skill-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/skill/workspace-migration-skill-actions-builder.service.ts index 742f53d422..e004770ea4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/skill/workspace-migration-skill-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/skill/workspace-migration-skill-actions-builder.service.ts @@ -64,7 +64,7 @@ export class WorkspaceMigrationSkillActionsBuilderService extends WorkspaceEntit action: { type: 'delete', metadataName: 'skill', - entityId: flatSkillToValidate.id, + universalIdentifier: flatSkillToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-field/workspace-migration-view-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-field/workspace-migration-view-field-actions-builder.service.ts index 7e3191ddf8..b40d80e62c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-field/workspace-migration-view-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-field/workspace-migration-view-field-actions-builder.service.ts @@ -68,7 +68,7 @@ export class WorkspaceMigrationViewFieldActionsBuilderService extends WorkspaceE action: { type: 'delete', metadataName: 'viewField', - entityId: flatViewFieldToValidate.id, + universalIdentifier: flatViewFieldToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter-group/workspace-migration-view-filter-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter-group/workspace-migration-view-filter-group-actions-builder.service.ts index 751908fc02..4553bcf998 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter-group/workspace-migration-view-filter-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter-group/workspace-migration-view-filter-group-actions-builder.service.ts @@ -74,7 +74,7 @@ export class WorkspaceMigrationViewFilterGroupActionsBuilderService extends Work action: { type: 'delete', metadataName: 'viewFilterGroup', - entityId: flatViewFilterGroupToValidate.id, + universalIdentifier: flatViewFilterGroupToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter/workspace-migration-view-filter-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter/workspace-migration-view-filter-actions-builder.service.ts index 06aa3a1c83..2bf28e2f81 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter/workspace-migration-view-filter-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter/workspace-migration-view-filter-actions-builder.service.ts @@ -70,7 +70,7 @@ export class WorkspaceMigrationViewFilterActionsBuilderService extends Workspace action: { type: 'delete', metadataName: 'viewFilter', - entityId: flatViewFilterToValidate.id, + universalIdentifier: flatViewFilterToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-group/workspace-migration-view-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-group/workspace-migration-view-group-actions-builder.service.ts index 2710273ff8..e156ac0cd6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-group/workspace-migration-view-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-group/workspace-migration-view-group-actions-builder.service.ts @@ -70,7 +70,7 @@ export class WorkspaceMigrationViewGroupActionsBuilderService extends WorkspaceE action: { type: 'delete', metadataName: 'viewGroup', - entityId: flatViewGroupToValidate.id, + universalIdentifier: flatViewGroupToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view/workspace-migration-view-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view/workspace-migration-view-actions-builder.service.ts index 2079a0f28a..a0d7394c70 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view/workspace-migration-view-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view/workspace-migration-view-actions-builder.service.ts @@ -64,7 +64,7 @@ export class WorkspaceMigrationViewActionsBuilderService extends WorkspaceEntity action: { type: 'delete', metadataName: 'view', - entityId: flatViewToValidate.id, + universalIdentifier: flatViewToValidate.universalIdentifier, }, }; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/types/base-delete-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/types/base-delete-workspace-migration-action.type.ts index 21c7725811..a4454ef1ed 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/types/base-delete-workspace-migration-action.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/types/base-delete-workspace-migration-action.type.ts @@ -1,7 +1,7 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; export type BaseDeleteWorkspaceMigrationAction = { - entityId: string; + universalIdentifier: string; type: 'delete'; metadataName: T; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/agent/services/delete-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/agent/services/delete-agent-action-handler.service.ts index 353d7d1c92..7a482a6d58 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/agent/services/delete-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/agent/services/delete-agent-action-handler.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { DeleteAgentAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/agent/types/workspace-migration-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,13 +19,18 @@ export class DeleteAgentActionHandlerService extends WorkspaceMigrationRunnerAct async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatAgent = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatAgentMaps, + universalIdentifier, + }); const agentRepository = queryRunner.manager.getRepository(AgentEntity); - await agentRepository.delete({ id: entityId, workspaceId }); + await agentRepository.delete({ id: flatAgent.id, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/command-menu-item/services/delete-command-menu-item-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/command-menu-item/services/delete-command-menu-item-action-handler.service.ts index 9402a7ca8b..59392ed735 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/command-menu-item/services/delete-command-menu-item-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/command-menu-item/services/delete-command-menu-item-action-handler.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; import { CommandMenuItemEntity } from 'src/engine/metadata-modules/command-menu-item/entities/command-menu-item.entity'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { DeleteCommandMenuItemAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/command-menu-item/types/workspace-migration-command-menu-item-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,15 +19,23 @@ export class DeleteCommandMenuItemActionHandlerService extends WorkspaceMigratio async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatCommandMenuItem = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatCommandMenuItemMaps, + universalIdentifier, + }); const commandMenuItemRepository = queryRunner.manager.getRepository( CommandMenuItemEntity, ); - await commandMenuItemRepository.delete({ id: entityId, workspaceId }); + await commandMenuItemRepository.delete({ + id: flatCommandMenuItem.id, + workspaceId, + }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts index 3469677c91..9481ebb94d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; import { CronTriggerEntity } from 'src/engine/metadata-modules/cron-trigger/entities/cron-trigger.entity'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { DeleteCronTriggerAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/cron-trigger/types/workspace-migration-cron-trigger-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteCronTriggerActionHandlerService extends WorkspaceMigrationRun async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatCronTrigger = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatCronTriggerMaps, + universalIdentifier, + }); const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); await cronTriggerRepository.delete({ - id: entityId, + id: flatCronTrigger.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts index 0059541d13..bfb7b126db 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; import { DatabaseEventTriggerEntity } from 'src/engine/metadata-modules/database-event-trigger/entities/database-event-trigger.entity'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { DeleteDatabaseEventTriggerAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,8 +19,15 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatDatabaseEventTrigger = findFlatEntityByUniversalIdentifierOrThrow( + { + flatEntityMaps: allFlatEntityMaps.flatDatabaseEventTriggerMaps, + universalIdentifier, + }, + ); const databaseEventTriggerRepository = queryRunner.manager.getRepository( @@ -27,7 +35,7 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig ); await databaseEventTriggerRepository.delete({ - id: entityId, + id: flatDatabaseEventTrigger.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/field/services/delete-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/field/services/delete-field-action-handler.service.ts index 9974fb2f62..f1c4940786 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/field/services/delete-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/field/services/delete-field-action-handler.service.ts @@ -1,11 +1,10 @@ import { Injectable } from '@nestjs/common'; -import { In } from 'typeorm'; - import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { type DeleteFieldAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/field/types/workspace-migration-field-action'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -31,16 +30,22 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ) { - const { action, queryRunner } = context; + const { action, queryRunner, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatFieldMetadata = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatFieldMetadataMaps, + universalIdentifier, + }); + const fieldMetadataRepository = queryRunner.manager.getRepository( FieldMetadataEntity, ); - const { entityId } = action; - await fieldMetadataRepository.delete({ - id: In([entityId]), + id: flatFieldMetadata.id, + workspaceId: context.workspaceId, }); } @@ -53,16 +58,16 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, entityId } = action; + const { objectMetadataId, universalIdentifier } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, flatEntityId: objectMetadataId, }); - const fieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + const fieldMetadata = findFlatEntityByUniversalIdentifierOrThrow({ flatEntityMaps: flatFieldMetadataMaps, - flatEntityId: entityId, + universalIdentifier, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/front-component/services/delete-front-component-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/front-component/services/delete-front-component-action-handler.service.ts index 67373ed483..022ecf2300 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/front-component/services/delete-front-component-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/front-component/services/delete-front-component-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { FrontComponentEntity } from 'src/engine/metadata-modules/front-component/entities/front-component.entity'; import { DeleteFrontComponentAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/front-component/types/workspace-migration-front-component-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,15 +19,23 @@ export class DeleteFrontComponentActionHandlerService extends WorkspaceMigration async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatFrontComponent = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatFrontComponentMaps, + universalIdentifier, + }); const frontComponentRepository = queryRunner.manager.getRepository( FrontComponentEntity, ); - await frontComponentRepository.delete({ id: entityId, workspaceId }); + await frontComponentRepository.delete({ + id: flatFrontComponent.id, + workspaceId, + }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/delete-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/delete-index-action-handler.service.ts index 82fbf96053..d801430ae7 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/delete-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/delete-index-action-handler.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/get-workspace-schema-name.util'; import { type DeleteIndexAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/index/types/workspace-migration-index-action'; @@ -26,11 +26,18 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner } = context; + const { action, queryRunner, allFlatEntityMaps, workspaceId } = context; + const { universalIdentifier } = action; + + const flatIndex = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatIndexMaps, + universalIdentifier, + }); await deleteIndexMetadata({ - entityId: action.entityId, + entityId: flatIndex.id, queryRunner, + workspaceId, }); } @@ -43,13 +50,13 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct queryRunner, workspaceId, } = context; + const { universalIdentifier } = action; - const flatIndexMetadataToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow( - { - flatEntityId: action.entityId, + const flatIndexMetadataToDelete = + findFlatEntityByUniversalIdentifierOrThrow({ + universalIdentifier, flatEntityMaps: flatIndexMaps, - }, - ); + }); const schemaName = getWorkspaceSchemaName(workspaceId); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/update-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/update-index-action-handler.service.ts index 9d3288bc24..688a9e4aae 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/update-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/services/update-index-action-handler.service.ts @@ -28,12 +28,13 @@ export class UpdateIndexActionHandlerService extends WorkspaceMigrationRunnerAct async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner } = context; + const { action, queryRunner, workspaceId } = context; // Delete old index metadata await deleteIndexMetadata({ entityId: action.entityId, queryRunner, + workspaceId, }); // Create new index metadata diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/utils/index-action-handler.utils.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/utils/index-action-handler.utils.ts index a1ef9c2c1c..de529a1897 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/utils/index-action-handler.utils.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/index/utils/index-action-handler.utils.ts @@ -124,15 +124,18 @@ export const insertIndexMetadata = async ({ export const deleteIndexMetadata = async ({ entityId, queryRunner, + workspaceId, }: { entityId: string; queryRunner: QueryRunner; + workspaceId: string; }): Promise => { const indexMetadataRepository = queryRunner.manager.getRepository(IndexMetadataEntity); await indexMetadataRepository.delete({ id: entityId, + workspaceId, }); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/object/services/delete-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/object/services/delete-object-action-handler.service.ts index a44815d90f..0936c38336 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/object/services/delete-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/object/services/delete-object-action-handler.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { isEnumFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-enum-flat-field-metadata.util'; @@ -31,15 +31,20 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner } = context; - const { entityId } = action; + const { action, queryRunner, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatObjectMetadata = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatObjectMetadataMaps, + universalIdentifier, + }); const objectMetadataRepository = queryRunner.manager.getRepository( ObjectMetadataEntity, ); - await objectMetadataRepository.delete(entityId); + await objectMetadataRepository.delete(flatObjectMetadata.id); } async executeForWorkspaceSchema( @@ -51,11 +56,11 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { entityId } = action; + const { universalIdentifier } = action; - const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + const flatObjectMetadata = findFlatEntityByUniversalIdentifierOrThrow({ flatEntityMaps: flatObjectMetadataMaps, - flatEntityId: entityId, + universalIdentifier, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts index 7a8e0e441c..d36bc07fe3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { DeletePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,15 +19,23 @@ export class DeletePageLayoutTabActionHandlerService extends WorkspaceMigrationR async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatPageLayoutTab = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatPageLayoutTabMaps, + universalIdentifier, + }); const pageLayoutTabRepository = queryRunner.manager.getRepository( PageLayoutTabEntity, ); - await pageLayoutTabRepository.delete({ id: entityId, workspaceId }); + await pageLayoutTabRepository.delete({ + id: flatPageLayoutTab.id, + workspaceId, + }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts index 5b0e4f1616..3e9f8da89b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { DeletePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,15 +19,20 @@ export class DeletePageLayoutWidgetActionHandlerService extends WorkspaceMigrati async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner } = context; - const { entityId } = action; + const { action, queryRunner, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatPageLayoutWidget = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatPageLayoutWidgetMaps, + universalIdentifier, + }); const pageLayoutWidgetRepository = queryRunner.manager.getRepository( PageLayoutWidgetEntity, ); - await pageLayoutWidgetRepository.delete({ id: entityId }); + await pageLayoutWidgetRepository.delete({ id: flatPageLayoutWidget.id }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts index d429e29e33..92d0d9cc7d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { DeletePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/page-layout/types/workspace-migration-page-layout-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,13 +19,18 @@ export class DeletePageLayoutActionHandlerService extends WorkspaceMigrationRunn async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatPageLayout = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatPageLayoutMaps, + universalIdentifier, + }); const pageLayoutRepository = queryRunner.manager.getRepository(PageLayoutEntity); - await pageLayoutRepository.delete({ id: entityId, workspaceId }); + await pageLayoutRepository.delete({ id: flatPageLayout.id, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role-target/services/delete-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role-target/services/delete-role-target-action-handler.service.ts index bbf7f1414b..e552ce6f12 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role-target/services/delete-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role-target/services/delete-role-target-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { DeleteRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role-target/types/workspace-migration-role-target-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteRoleTargetActionHandlerService extends WorkspaceMigrationRunn async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatRoleTarget = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatRoleTargetMaps, + universalIdentifier, + }); const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); await roleTargetRepository.delete({ - id: entityId, + id: flatRoleTarget.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role/services/delete-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role/services/delete-role-action-handler.service.ts index e0ec078248..4e3d95540f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role/services/delete-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/role/services/delete-role-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { DeleteRoleAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/role/types/workspace-migration-role-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,13 +19,18 @@ export class DeleteRoleActionHandlerService extends WorkspaceMigrationRunnerActi async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatRole = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatRoleMaps, + universalIdentifier, + }); const roleRepository = queryRunner.manager.getRepository(RoleEntity); - await roleRepository.delete({ id: entityId, workspaceId }); + await roleRepository.delete({ id: flatRole.id, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts index 349adb49d1..a3887f787e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { RouteTriggerEntity } from 'src/engine/metadata-modules/route-trigger/route-trigger.entity'; import { DeleteRouteTriggerAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/route-trigger/types/workspace-migration-route-trigger-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteRouteTriggerActionHandlerService extends WorkspaceMigrationRu async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatRouteTrigger = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatRouteTriggerMaps, + universalIdentifier, + }); const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); await routeTriggerRepository.delete({ - id: entityId, + id: flatRouteTrigger.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts index be93609cbe..c33e99249d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts @@ -4,6 +4,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { DeleteRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -16,8 +17,15 @@ export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatRowLevelPermissionPredicateGroup = + findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: + allFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps, + universalIdentifier, + }); const repository = queryRunner.manager.getRepository( @@ -25,7 +33,7 @@ export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends ); await repository.delete({ - id: entityId, + id: flatRowLevelPermissionPredicateGroup.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts index 0a7605f0f9..cb7f815ee1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts @@ -4,6 +4,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { DeleteRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -16,8 +17,14 @@ export class DeleteRowLevelPermissionPredicateActionHandlerService extends Works async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatRowLevelPermissionPredicate = + findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatRowLevelPermissionPredicateMaps, + universalIdentifier, + }); const repository = queryRunner.manager.getRepository( @@ -25,7 +32,7 @@ export class DeleteRowLevelPermissionPredicateActionHandlerService extends Works ); await repository.delete({ - id: entityId, + id: flatRowLevelPermissionPredicate.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts index 23aa9755b5..e11bbfb1d8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts @@ -4,7 +4,7 @@ import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-mana import { FileStorageService } from 'src/engine/core-modules/file-storage/file-storage.service'; import { getServerlessFolderOrThrow } from 'src/engine/core-modules/serverless/utils/serverless-get-folder.utils'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity'; import { DeleteServerlessFunctionAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/serverless-function/types/workspace-migration-serverless-function-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -21,8 +21,13 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatServerlessFunction = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatServerlessFunctionMaps, + universalIdentifier, + }); const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -30,26 +35,20 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra ); await serverlessFunctionRepository.delete({ - id: entityId, + id: flatServerlessFunction.id, workspaceId, }); - const existingServerlessFunction = - findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: entityId, - flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, - }); - // TODO: Should implement a cron task or a job to delete the files after a certain period of time await this.fileStorageService.move({ from: { folderPath: getServerlessFolderOrThrow({ - flatServerlessFunction: existingServerlessFunction, + flatServerlessFunction, }), }, to: { folderPath: getServerlessFolderOrThrow({ - flatServerlessFunction: existingServerlessFunction, + flatServerlessFunction, toDelete: true, }), }, @@ -59,25 +58,24 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra async rollbackForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action } = context; - const { entityId } = action; + const { action, allFlatEntityMaps } = context; + const { universalIdentifier } = action; - const existingServerlessFunction = - findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: entityId, - flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, - }); + const flatServerlessFunction = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatServerlessFunctionMaps, + universalIdentifier, + }); await this.fileStorageService.move({ from: { folderPath: getServerlessFolderOrThrow({ - flatServerlessFunction: existingServerlessFunction, + flatServerlessFunction, toDelete: true, }), }, to: { folderPath: getServerlessFolderOrThrow({ - flatServerlessFunction: existingServerlessFunction, + flatServerlessFunction, toDelete: false, }), }, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/skill/services/delete-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/skill/services/delete-skill-action-handler.service.ts index e70080b78c..077137599d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/skill/services/delete-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/skill/services/delete-skill-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; import { DeleteSkillAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/skill/types/workspace-migration-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,13 +19,18 @@ export class DeleteSkillActionHandlerService extends WorkspaceMigrationRunnerAct async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatSkill = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatSkillMaps, + universalIdentifier, + }); const skillRepository = queryRunner.manager.getRepository(SkillEntity); - await skillRepository.delete({ id: entityId, workspaceId }); + await skillRepository.delete({ id: flatSkill.id, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-field/services/delete-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-field/services/delete-view-field-action-handler.service.ts index 37317188dd..5a480d43d3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-field/services/delete-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-field/services/delete-view-field-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { DeleteViewFieldAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-field/types/workspace-migration-view-field-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteViewFieldActionHandlerService extends WorkspaceMigrationRunne async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatViewField = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatViewFieldMaps, + universalIdentifier, + }); const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); await viewFieldRepository.delete({ - id: entityId, + id: flatViewField.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts index a04ee89e51..f96d6e9af5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type DeleteViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter-group/types/workspace-migration-view-filter-group-action.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,8 +19,13 @@ export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigratio async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatViewFilterGroup = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatViewFilterGroupMaps, + universalIdentifier, + }); const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -27,7 +33,7 @@ export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigratio ); await viewFilterGroupRepository.delete({ - id: entityId, + id: flatViewFilterGroup.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts index 84e4476ff7..48554850d8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { DeleteViewFilterAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-filter/types/workspace-migration-view-filter-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteViewFilterActionHandlerService extends WorkspaceMigrationRunn async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatViewFilter = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatViewFilterMaps, + universalIdentifier, + }); const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); await viewFilterRepository.delete({ - id: entityId, + id: flatViewFilter.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-group/services/delete-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-group/services/delete-view-group-action-handler.service.ts index b1668896f9..5fb75d482a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-group/services/delete-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view-group/services/delete-view-group-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { DeleteViewGroupAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view-group/types/workspace-migration-view-group-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -14,14 +15,19 @@ export class DeleteViewGroupActionHandlerService extends WorkspaceMigrationRunne async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatViewGroup = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatViewGroupMaps, + universalIdentifier, + }); const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); await viewGroupRepository.delete({ - id: entityId, + id: flatViewGroup.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view/services/delete-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view/services/delete-view-action-handler.service.ts index 98c3774bd5..3a5a28c4b3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view/services/delete-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/action-handlers/view/services/delete-view-action-handler.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { DeleteViewAction } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/view/types/workspace-migration-view-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/types/workspace-migration-action-runner-args.type'; @@ -18,14 +19,19 @@ export class DeleteViewActionHandlerService extends WorkspaceMigrationRunnerActi async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { - const { action, queryRunner, workspaceId } = context; - const { entityId } = action; + const { action, queryRunner, workspaceId, allFlatEntityMaps } = context; + const { universalIdentifier } = action; + + const flatView = findFlatEntityByUniversalIdentifierOrThrow({ + flatEntityMaps: allFlatEntityMaps.flatViewMaps, + universalIdentifier, + }); const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.delete({ - id: entityId, + id: flatView.id, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts index 7243c77832..efa8c9cd4a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-runner/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts @@ -5,7 +5,7 @@ import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/ import { type AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; import { deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { findFlatEntityByUniversalIdentifierOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier-or-throw.util'; import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; type DeleteAction = @@ -48,10 +48,10 @@ export const optimisticallyApplyDeleteActionOnAllFlatEntityMaps = < case 'pageLayoutTab': case 'commandMenuItem': case 'frontComponent': { - const flatEntityToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow< + const flatEntityToDelete = findFlatEntityByUniversalIdentifierOrThrow< MetadataFlatEntity >({ - flatEntityId: action.entityId, + universalIdentifier: action.universalIdentifier, flatEntityMaps: allFlatEntityMaps[getMetadataFlatEntityMapsKey(action.metadataName)], });