Fix build field order delete object refactor (#13965)
# Introduction - Decided to remove delete_field resulting from delete_object as ON CASCADE will handle it - Still ordering delete_field in first place in order to handle relationTargetFieldMetadata deletion on passed delete_object that contains relation field
This commit is contained in:
-200
@@ -2881,71 +2881,6 @@ exports[`Workspace migration builder object actions test suite It should build a
|
||||
|
||||
exports[`Workspace migration builder object actions test suite It should build a delete_object action with custom deactivated object 1`] = `
|
||||
[
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_object",
|
||||
@@ -2955,141 +2890,6 @@ exports[`Workspace migration builder object actions test suite It should build a
|
||||
|
||||
exports[`Workspace migration builder object actions test suite It should build a delete_object action with standard activated object 1`] = `
|
||||
[
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"fieldMetadataId": Any<String>,
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_field",
|
||||
},
|
||||
{
|
||||
"objectMetadataId": Any<String>,
|
||||
"type": "delete_object",
|
||||
|
||||
-2
@@ -35,7 +35,6 @@ const DELETE_OBJECT_TEST_CASES: WorkspaceMigrationBuilderTestCase[] = [
|
||||
},
|
||||
expectedActionsTypeCounter: {
|
||||
deleteObject: 1,
|
||||
deleteField: ROCKET_FLAT_OBJECT_MOCK.flatFieldMetadatas.length,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -58,7 +57,6 @@ const DELETE_OBJECT_TEST_CASES: WorkspaceMigrationBuilderTestCase[] = [
|
||||
},
|
||||
expectedActionsTypeCounter: {
|
||||
deleteObject: 1,
|
||||
deleteField: COMPANY_FLAT_OBJECT_MOCK.flatFieldMetadatas.length,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
+6
-16
@@ -12,7 +12,6 @@ import { WorkspaceMigrationV2ObjectActionsBuilderService } from 'src/engine/work
|
||||
import { WorkspaceMigrationV2 } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-v2';
|
||||
import { computeUpdatedObjectMetadataDeletedCreatedUpdatedFieldMatrix } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/utils/compute-updated-object-metadata-deleted-created-updated-field-matrix.util';
|
||||
import { computeUpdatedObjectMetadataDeletedCreatedUpdatedIndexMatrix } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/utils/compute-updated-object-metadata-deleted-created-updated-index-matrix.util';
|
||||
import { getWorkspaceMigrationV2FieldDeleteAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/utils/get-workspace-migration-v2-field-actions';
|
||||
import { getWorkspaceMigrationV2CreateIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/utils/get-workspace-migration-v2-index-actions';
|
||||
import { buildWorkspaceMigrationIndexActions } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/workspace-migration-v2-index-actions-builder';
|
||||
|
||||
@@ -108,18 +107,6 @@ export class WorkspaceMigrationBuilderV2Service {
|
||||
),
|
||||
);
|
||||
|
||||
const deletedObjectWorkspaceMigrationDeleteFieldActions =
|
||||
buildOptions.inferDeletionFromMissingObjectFieldIndex
|
||||
? deletedFlatObjectMetadatas.flatMap((flatObjectMetadata) =>
|
||||
flatObjectMetadata.flatFieldMetadatas.map((flatFieldMetadata) =>
|
||||
getWorkspaceMigrationV2FieldDeleteAction({
|
||||
flatFieldMetadata,
|
||||
flatObjectMetadata,
|
||||
}),
|
||||
),
|
||||
)
|
||||
: [];
|
||||
|
||||
const indexWorkspaceMigrationActions = buildWorkspaceMigrationIndexActions({
|
||||
objectMetadataDeletedCreatedUpdatedIndex,
|
||||
inferDeletionFromMissingObjectFieldIndex:
|
||||
@@ -144,10 +131,13 @@ export class WorkspaceMigrationBuilderV2Service {
|
||||
workspaceMigration: {
|
||||
workspaceId,
|
||||
actions: [
|
||||
...deletedObjectWorkspaceMigrationDeleteFieldActions,
|
||||
...objectActionsValidateAndBuildResult.successful,
|
||||
...fieldActionsValidateAndBuildResult.deleted,
|
||||
...objectActionsValidateAndBuildResult.deleted,
|
||||
...objectActionsValidateAndBuildResult.created,
|
||||
...objectActionsValidateAndBuildResult.updated,
|
||||
...fieldActionsValidateAndBuildResult.created,
|
||||
...fieldActionsValidateAndBuildResult.updated,
|
||||
...createdObjectMetadataCreateIndexActions,
|
||||
...fieldActionsValidateAndBuildResult.successful,
|
||||
...indexWorkspaceMigrationActions,
|
||||
],
|
||||
},
|
||||
|
||||
+20
-8
@@ -55,7 +55,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
const validateAndBuildResult: ValidateAndBuildMetadataResult<WorkspaceMigrationFieldActionV2> =
|
||||
{
|
||||
failed: [],
|
||||
successful: [],
|
||||
created: [],
|
||||
deleted: [],
|
||||
updated: [],
|
||||
optimisticFlatObjectMetadataMaps: structuredClone(
|
||||
fromFlatObjectMetadataMaps,
|
||||
),
|
||||
@@ -102,7 +104,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
validateAndBuildResult.optimisticFlatObjectMetadataMaps,
|
||||
});
|
||||
|
||||
validateAndBuildResult.successful.push({
|
||||
validateAndBuildResult.updated.push({
|
||||
type: 'update_field',
|
||||
fieldMetadataId,
|
||||
objectMetadataId,
|
||||
@@ -156,7 +158,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
flatObjectMetadata,
|
||||
});
|
||||
|
||||
validateAndBuildResult.successful.push(createFieldAction);
|
||||
validateAndBuildResult.created.push(createFieldAction);
|
||||
}
|
||||
|
||||
for (const flatFieldMetadataToDelete of buildOptions.inferDeletionFromMissingObjectFieldIndex
|
||||
@@ -189,7 +191,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
flatObjectMetadata,
|
||||
});
|
||||
|
||||
validateAndBuildResult.successful.push(deleteFieldAction);
|
||||
validateAndBuildResult.deleted.push(deleteFieldAction);
|
||||
}
|
||||
|
||||
return validateAndBuildResult;
|
||||
@@ -206,7 +208,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
let validateAndBuildResult: ValidateAndBuildMetadataResult<WorkspaceMigrationFieldActionV2> =
|
||||
{
|
||||
failed: [],
|
||||
successful: [],
|
||||
created: [],
|
||||
deleted: [],
|
||||
updated: [],
|
||||
optimisticFlatObjectMetadataMaps: structuredClone(
|
||||
fromFlatObjectMetadataMaps,
|
||||
),
|
||||
@@ -235,9 +239,17 @@ export class WorkspaceMigrationV2FieldActionsBuilderService {
|
||||
...validateAndBuildResult.failed,
|
||||
...flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.failed,
|
||||
],
|
||||
successful: [
|
||||
...validateAndBuildResult.successful,
|
||||
...flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.successful,
|
||||
created: [
|
||||
...validateAndBuildResult.created,
|
||||
...flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.created,
|
||||
],
|
||||
deleted: [
|
||||
...validateAndBuildResult.deleted,
|
||||
...flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.deleted,
|
||||
],
|
||||
updated: [
|
||||
...validateAndBuildResult.updated,
|
||||
...flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.updated,
|
||||
],
|
||||
optimisticFlatObjectMetadataMaps:
|
||||
flatObjectMetadataFlatFieldMatrixValidateAndBuildResult.optimisticFlatObjectMetadataMaps,
|
||||
|
||||
+6
-4
@@ -53,7 +53,9 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService {
|
||||
const validateAndBuildResult: ValidateAndBuildMetadataResult<WorkspaceMigrationObjectActionV2> =
|
||||
{
|
||||
failed: [],
|
||||
successful: [],
|
||||
created: [],
|
||||
deleted: [],
|
||||
updated: [],
|
||||
optimisticFlatObjectMetadataMaps: structuredClone(
|
||||
fromFlatObjectMetadataMaps,
|
||||
),
|
||||
@@ -95,7 +97,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService {
|
||||
createFieldActions,
|
||||
});
|
||||
|
||||
validateAndBuildResult.successful.push(createObjectAction);
|
||||
validateAndBuildResult.created.push(createObjectAction);
|
||||
}
|
||||
|
||||
for (const flatObjectMetadataToDelete of buildOptions.inferDeletionFromMissingObjectFieldIndex
|
||||
@@ -127,7 +129,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService {
|
||||
flatObjectMetadataToDelete,
|
||||
);
|
||||
|
||||
validateAndBuildResult.successful.push(deleteObjectAction);
|
||||
validateAndBuildResult.deleted.push(deleteObjectAction);
|
||||
}
|
||||
|
||||
for (const {
|
||||
@@ -170,7 +172,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService {
|
||||
updates: objectUpdatedProperties,
|
||||
};
|
||||
|
||||
validateAndBuildResult.successful.push(updateObjectAction);
|
||||
validateAndBuildResult.updated.push(updateObjectAction);
|
||||
}
|
||||
|
||||
return validateAndBuildResult;
|
||||
|
||||
+3
-1
@@ -10,6 +10,8 @@ export type ValidateAndBuildMetadataResult<
|
||||
| FailedFlatFieldMetadataValidationExceptions
|
||||
| FailedFlatObjectMetadataValidationExceptions
|
||||
)[];
|
||||
successful: T[];
|
||||
created: T[];
|
||||
deleted: T[];
|
||||
updated: T[];
|
||||
optimisticFlatObjectMetadataMaps: FlatObjectMetadataMaps;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user