diff --git a/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts b/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts index e3c0a203a5c..70939a1eb2a 100644 --- a/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts +++ b/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts @@ -62,7 +62,7 @@ export const useMetadataErrorHandler = () => { relatedFailingMetadataNames, } = classification; - const targetErrors = extensions.errors[primaryMetadataName] || []; + const targetErrors = extensions.errors[primaryMetadataName] ?? []; if (targetErrors.length > 0) { targetErrors.forEach((entityError) => { entityError.errors.forEach((validationError) => diff --git a/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts b/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts index 503328cef5d..38033a41c9b 100644 --- a/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts +++ b/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts @@ -58,6 +58,7 @@ export const classifyMetadataError = ({ ]; const relatedFailingMetadataNames = failingMetadataNames.filter( (metadataName) => + isDefined(extensions.errors[metadataName]) && extensions.errors[metadataName].length > 0 && metadataName !== primaryMetadataName, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts index 303bfc925cc..e9478580caf 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts @@ -192,8 +192,11 @@ export class FieldMetadataService extends TypeOrmQueryService['type'] + | BaseUpdateWorkspaceMigrationAction['type'] + | BaseDeleteWorkspaceMigrationAction['type']; export type MetadataWorkspaceMigrationActionsRecord = { - [K in 'created' | 'updated' | 'deleted']: MetadataWorkspaceMigrationAction< + [K in WorkspaceMigrationActionType]: MetadataWorkspaceMigrationAction< T, K >[]; }; export type MetadataWorkspaceMigrationAction< - T extends AllMetadataName, - TOperation extends 'created' | 'deleted' | 'updated' = - | 'created' - | 'deleted' - | 'updated', -> = AllFlatEntityTypesByMetadataName[T]['actions'][TOperation] extends infer Action + TMetadataName extends AllMetadataName, + TActionType extends WorkspaceMigrationActionType, +> = AllFlatEntityTypesByMetadataName[TMetadataName]['actions'][TActionType] extends infer Action ? Action extends Array ? Action[number] : Action : never; - -export type FromWorkspaceMigrationActionToMetadataName = { - [K in AllMetadataName]: TAction extends AllFlatEntityTypesByMetadataName[K]['actions'][ - | 'created' - | 'deleted' - | 'updated'] - ? K - : never; -}[AllMetadataName]; diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts index 35decdfa6b6..13e8ea553bd 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts @@ -26,11 +26,14 @@ export const throwOnFieldInputTranspilationsError: ThrowOnFieldInputTranspilatio { report: { ...EMPTY_ORCHESTRATOR_FAILURE_REPORT(), - objectMetadata: [ + fieldMetadata: [ { errors: failedInputTranspilationErrors, - type: 'create_field', - flatEntityMinimalInformation: {}, + type: 'create', + metadataName: 'fieldMetadata', + flatEntityMinimalInformation: { + id: '', + }, }, ], }, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts deleted file mode 100644 index 39708f3962e..00000000000 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { type SyncableFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/flat-entity.type'; -import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; -import { - WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES, - type WorkspaceMigrationObjectActionTypeV2, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2'; -import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; - -export const isFailedFlatObjectMetadataValidation = ( - failedValidation: FailedFlatEntityValidation, -): failedValidation is FailedFlatEntityValidation => { - return WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES.includes( - failedValidation.type as WorkspaceMigrationObjectActionTypeV2, - ); -}; diff --git a/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts b/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts index 7ee4285a677..f8e0237f8b1 100644 --- a/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts @@ -4,7 +4,4 @@ import { type FlatEntityFrom } from 'src/engine/metadata-modules/flat-entity/typ import { type RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; export type FlatRowLevelPermissionPredicateGroup = - FlatEntityFrom & { - childRowLevelPermissionPredicateGroupIds: string[]; - rowLevelPermissionPredicateIds: string[]; - }; + FlatEntityFrom; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts index 7cb56361f2f..30461dc5c38 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts @@ -15,31 +15,33 @@ export const fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseE i18n, ); - return { + const initialAccumulator: MetadataValidationErrorResponse = { + errors: {}, summary: { - invalidAgent: 0, - invalidSkill: 0, - invalidViewFilter: 0, - invalidViewFilterGroup: 0, - invalidObjectMetadata: 0, - invalidView: 0, - invalidViewField: 0, - invalidIndex: 0, - invalidServerlessFunction: 0, - invalidDatabaseEventTrigger: 0, - invalidCronTrigger: 0, - invalidRouteTrigger: 0, - invalidFieldMetadata: 0, - invalidViewGroup: 0, - invalidRole: 0, - invalidRoleTarget: 0, - invalidPageLayout: 0, - invalidPageLayoutWidget: 0, totalErrors: 0, - invalidPageLayoutTab: 0, - invalidRowLevelPermissionPredicate: 0, - invalidRowLevelPermissionPredicateGroup: 0, }, - errors: translatedReport, }; + + return ( + Object.keys(translatedReport) as (keyof typeof translatedReport)[] + ).reduce((acc, metadataName) => { + const failedMetadataValidation = translatedReport[metadataName]; + + if (failedMetadataValidation.length === 0) { + return acc; + } + + return { + errors: { + ...acc.errors, + [metadataName]: failedMetadataValidation, + }, + summary: { + ...acc.summary, + totalErrors: + acc.summary.totalErrors + failedMetadataValidation.length, + [metadataName]: failedMetadataValidation.length, + }, + } satisfies MetadataValidationErrorResponse; + }, initialAccumulator); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts index dc98944d339..b078a49e7d2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts @@ -1,5 +1,4 @@ import { type I18n, type MessageDescriptor } from '@lingui/core'; -import { type MetadataValidationErrorResponse } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { type OrchestratorFailureReport } from 'src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type'; @@ -54,8 +53,5 @@ export const translateOrchestratorFailureReportErrors = ( report: OrchestratorFailureReport, i18n: I18n, ) => { - return translateUserFriendlyMessageInFlatEntityValidationError( - report, - i18n, - ) as MetadataValidationErrorResponse['errors']; + return translateUserFriendlyMessageInFlatEntityValidationError(report, i18n); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts index ea13ef8d3c6..77256ccd936 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts @@ -1,5 +1,7 @@ import { type I18n } from '@lingui/core'; import { msg } from '@lingui/core/macro'; +import { isDefined } from 'twenty-shared/utils'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { BaseGraphQLError, @@ -18,6 +20,18 @@ export const workspaceMigrationBuilderExceptionV2Formatter = ( i18n, ); + const message = `Validation failed for ${Object.values(ALL_METADATA_NAME) + .flatMap((metadataName) => { + const count = summary[metadataName]; + + if (!isDefined(count) || count === 0) { + return []; + } + + return [`${count} ${metadataName}${count > 1 ? 's' : ''}`]; + }) + .join(', ')}`; + throw new BaseGraphQLError( error.message, ErrorCode.METADATA_VALIDATION_FAILED, @@ -25,8 +39,8 @@ export const workspaceMigrationBuilderExceptionV2Formatter = ( code: 'METADATA_VALIDATION_ERROR', errors, summary, - message: `Validation failed for 0 object(s) and 0 field(s)`, - userFriendlyMessage: msg`Validation failed for 0 object(s) and 0 field(s)`, + message, + userFriendlyMessage: msg`Metadata validation failed`, }, ); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts index 6d0e819169b..36e6ec2b038 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts @@ -953,117 +953,117 @@ export class WorkspaceMigrationBuildOrchestratorService { relatedFlatEntityMapsKeys, actions: [ // Object and fields and indexes - ...aggregatedOrchestratorActionsReport.index.deleted, - ...aggregatedOrchestratorActionsReport.fieldMetadata.deleted, - ...aggregatedOrchestratorActionsReport.objectMetadata.deleted, - ...aggregatedOrchestratorActionsReport.objectMetadata.created, - ...aggregatedOrchestratorActionsReport.objectMetadata.updated, - ...aggregatedOrchestratorActionsReport.fieldMetadata.created, - ...aggregatedOrchestratorActionsReport.fieldMetadata.updated, - ...aggregatedOrchestratorActionsReport.index.created, - ...aggregatedOrchestratorActionsReport.index.updated.flat(), + ...aggregatedOrchestratorActionsReport.index.delete, + ...aggregatedOrchestratorActionsReport.fieldMetadata.delete, + ...aggregatedOrchestratorActionsReport.objectMetadata.delete, + ...aggregatedOrchestratorActionsReport.objectMetadata.create, + ...aggregatedOrchestratorActionsReport.objectMetadata.update, + ...aggregatedOrchestratorActionsReport.fieldMetadata.create, + ...aggregatedOrchestratorActionsReport.fieldMetadata.update, + ...aggregatedOrchestratorActionsReport.index.create, + ...aggregatedOrchestratorActionsReport.index.update.flat(), /// // Views - ...aggregatedOrchestratorActionsReport.view.deleted, - ...aggregatedOrchestratorActionsReport.view.created, - ...aggregatedOrchestratorActionsReport.view.updated, - ...aggregatedOrchestratorActionsReport.viewField.deleted, - ...aggregatedOrchestratorActionsReport.viewField.created, - ...aggregatedOrchestratorActionsReport.viewField.updated, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.deleted, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.created, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.updated, - ...aggregatedOrchestratorActionsReport.viewFilter.deleted, - ...aggregatedOrchestratorActionsReport.viewFilter.created, - ...aggregatedOrchestratorActionsReport.viewFilter.updated, - ...aggregatedOrchestratorActionsReport.viewGroup.deleted, - ...aggregatedOrchestratorActionsReport.viewGroup.created, - ...aggregatedOrchestratorActionsReport.viewGroup.updated, + ...aggregatedOrchestratorActionsReport.view.delete, + ...aggregatedOrchestratorActionsReport.view.create, + ...aggregatedOrchestratorActionsReport.view.update, + ...aggregatedOrchestratorActionsReport.viewField.delete, + ...aggregatedOrchestratorActionsReport.viewField.create, + ...aggregatedOrchestratorActionsReport.viewField.update, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.delete, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.create, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.update, + ...aggregatedOrchestratorActionsReport.viewFilter.delete, + ...aggregatedOrchestratorActionsReport.viewFilter.create, + ...aggregatedOrchestratorActionsReport.viewFilter.update, + ...aggregatedOrchestratorActionsReport.viewGroup.delete, + ...aggregatedOrchestratorActionsReport.viewGroup.create, + ...aggregatedOrchestratorActionsReport.viewGroup.update, /// // Serverless functions - ...aggregatedOrchestratorActionsReport.serverlessFunction.deleted, - ...aggregatedOrchestratorActionsReport.serverlessFunction.created, - ...aggregatedOrchestratorActionsReport.serverlessFunction.updated, + ...aggregatedOrchestratorActionsReport.serverlessFunction.delete, + ...aggregatedOrchestratorActionsReport.serverlessFunction.create, + ...aggregatedOrchestratorActionsReport.serverlessFunction.update, /// // Database event triggers - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.deleted, - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.created, - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.updated, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.delete, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.create, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.update, /// // Cron triggers - ...aggregatedOrchestratorActionsReport.cronTrigger.deleted, - ...aggregatedOrchestratorActionsReport.cronTrigger.created, - ...aggregatedOrchestratorActionsReport.cronTrigger.updated, + ...aggregatedOrchestratorActionsReport.cronTrigger.delete, + ...aggregatedOrchestratorActionsReport.cronTrigger.create, + ...aggregatedOrchestratorActionsReport.cronTrigger.update, /// // Route triggers - ...aggregatedOrchestratorActionsReport.routeTrigger.deleted, - ...aggregatedOrchestratorActionsReport.routeTrigger.created, - ...aggregatedOrchestratorActionsReport.routeTrigger.updated, + ...aggregatedOrchestratorActionsReport.routeTrigger.delete, + ...aggregatedOrchestratorActionsReport.routeTrigger.create, + ...aggregatedOrchestratorActionsReport.routeTrigger.update, /// // Roles - ...aggregatedOrchestratorActionsReport.role.deleted, - ...aggregatedOrchestratorActionsReport.role.created, - ...aggregatedOrchestratorActionsReport.role.updated, + ...aggregatedOrchestratorActionsReport.role.delete, + ...aggregatedOrchestratorActionsReport.role.create, + ...aggregatedOrchestratorActionsReport.role.update, /// // Role targets - ...aggregatedOrchestratorActionsReport.roleTarget.deleted, - ...aggregatedOrchestratorActionsReport.roleTarget.created, - ...aggregatedOrchestratorActionsReport.roleTarget.updated, + ...aggregatedOrchestratorActionsReport.roleTarget.delete, + ...aggregatedOrchestratorActionsReport.roleTarget.create, + ...aggregatedOrchestratorActionsReport.roleTarget.update, /// // Agents - ...aggregatedOrchestratorActionsReport.agent.deleted, - ...aggregatedOrchestratorActionsReport.agent.created, - ...aggregatedOrchestratorActionsReport.agent.updated, + ...aggregatedOrchestratorActionsReport.agent.delete, + ...aggregatedOrchestratorActionsReport.agent.create, + ...aggregatedOrchestratorActionsReport.agent.update, /// // Skills - ...aggregatedOrchestratorActionsReport.skill.deleted, - ...aggregatedOrchestratorActionsReport.skill.created, - ...aggregatedOrchestratorActionsReport.skill.updated, + ...aggregatedOrchestratorActionsReport.skill.delete, + ...aggregatedOrchestratorActionsReport.skill.create, + ...aggregatedOrchestratorActionsReport.skill.update, /// // Page layouts - ...aggregatedOrchestratorActionsReport.pageLayout.deleted, - ...aggregatedOrchestratorActionsReport.pageLayout.created, - ...aggregatedOrchestratorActionsReport.pageLayout.updated, + ...aggregatedOrchestratorActionsReport.pageLayout.delete, + ...aggregatedOrchestratorActionsReport.pageLayout.create, + ...aggregatedOrchestratorActionsReport.pageLayout.update, /// // Page layout tabs - ...aggregatedOrchestratorActionsReport.pageLayoutTab.deleted, - ...aggregatedOrchestratorActionsReport.pageLayoutTab.created, - ...aggregatedOrchestratorActionsReport.pageLayoutTab.updated, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.delete, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.create, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.update, /// // Page layout widgets - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.deleted, - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.created, - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.updated, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.delete, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.create, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.update, /// // Row level permission predicates ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .deleted, + .delete, ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .created, + .create, ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .updated, + .update, /// // Row level permission predicate groups ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.deleted, + .rowLevelPermissionPredicateGroup.delete, ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.created, + .rowLevelPermissionPredicateGroup.create, ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.updated, + .rowLevelPermissionPredicateGroup.update, /// ], workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts index f786c473ded..4917b535510 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts @@ -2,8 +2,10 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; import { type FromTo } from 'twenty-shared/types'; import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; -import { type MetadataWorkspaceMigrationActionsRecord } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type WorkspaceMigrationActionType, + type MetadataWorkspaceMigrationActionsRecord, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type WorkspaceMigrationBuilderAdditionalCacheDataMaps } from 'src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-builder-additional-cache-data-maps.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; import { type WorkspaceMigrationBuilderOptions } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-builder-options.type'; @@ -22,7 +24,10 @@ export type WorkspaceMigrationOrchestratorBuildArgs = { }; export type OrchestratorFailureReport = { - [P in AllMetadataName]: FailedFlatEntityValidation>[]; + [P in AllMetadataName]: FailedFlatEntityValidation< + P, + WorkspaceMigrationActionType + >[]; }; export type OrchestratorActionsReport = { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts index 63ac403bdcb..56a33de59ed 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts @@ -28,10 +28,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -40,13 +41,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -66,8 +68,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -85,14 +87,15 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -105,7 +108,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -118,7 +122,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -131,8 +136,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -149,10 +154,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -161,8 +167,9 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-2', id: 'object-2', nameSingular: 'company', @@ -171,13 +178,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -190,7 +198,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-2', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -210,8 +219,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -230,10 +239,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -242,13 +252,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -261,7 +272,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-2', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -274,8 +286,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -295,14 +307,15 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -315,7 +328,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -328,7 +342,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -341,8 +356,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -370,10 +385,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'attachment', @@ -382,13 +398,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -401,8 +418,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -425,7 +442,7 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', orchestratorActionsReport: input, }); - const fieldActions = result.fieldMetadata.created as CreateFieldAction[]; + const fieldActions = result.fieldMetadata.create as CreateFieldAction[]; const fieldActionCounts = fieldActions.reduce( (acc, action) => { acc[action.objectMetadataId] = @@ -437,11 +454,10 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ); const objectActions = result.objectMetadata - .created as CreateObjectAction[]; + .create as CreateObjectAction[]; const objectActionCounts = objectActions.reduce( (acc, action) => { - acc[action.flatObjectMetadata.id] = - (acc[action.flatObjectMetadata.id] || 0) + 1; + acc[action.flatEntity.id] = (acc[action.flatEntity.id] || 0) + 1; return acc; }, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts index 1841aa4520c..21f730bd4d2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts @@ -25,27 +25,30 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, ], @@ -65,17 +68,18 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, ], @@ -96,27 +100,30 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-2', } satisfies DeleteFieldAction, ], @@ -138,36 +145,41 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, { - type: 'delete_object', - objectMetadataId: 'object-2', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-2', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-2', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-3', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-3', objectMetadataId: 'object-3', } satisfies DeleteFieldAction, ], @@ -204,7 +216,7 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', orchestratorActionsReport: input, }); - const fieldActions = result.fieldMetadata.deleted as DeleteFieldAction[]; + const fieldActions = result.fieldMetadata.delete as DeleteFieldAction[]; const fieldActionCounts = fieldActions.reduce( (acc, action) => { acc[action.objectMetadataId] = @@ -216,11 +228,10 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', ); const objectActions = result.objectMetadata - .deleted as DeleteObjectAction[]; + .delete as DeleteObjectAction[]; const objectActionCounts = objectActions.reduce( (acc, action) => { - acc[action.objectMetadataId] = - (acc[action.objectMetadataId] || 0) + 1; + acc[action.entityId] = (acc[action.entityId] || 0) + 1; return acc; }, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts index 47ab6722112..9cfb296ad3f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts @@ -20,11 +20,11 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions orchestratorActionsReport, }: AggregateOrchestratorActionsReportCreateObjectAndCreateFieldActionsArgs): OrchestratorActionsReport => { const initialCreatedObjectActionByObjectMetadataId = ( - orchestratorActionsReport.objectMetadata.created as CreateObjectAction[] + orchestratorActionsReport.objectMetadata.create as CreateObjectAction[] ).reduce( (acc, createObjectAction) => ({ ...acc, - [createObjectAction.flatObjectMetadata.id]: createObjectAction, + [createObjectAction.flatEntity.id]: createObjectAction, }), {} as Record, ); @@ -38,7 +38,7 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions createdFieldActionByObjectMetadataId, createdObjectActionByObjectMetadataId, } = ( - orchestratorActionsReport.fieldMetadata.created as CreateFieldAction[] + orchestratorActionsReport.fieldMetadata.create as CreateFieldAction[] ).reduce( ( { @@ -182,11 +182,11 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions ...orchestratorActionsReport, fieldMetadata: { ...orchestratorActionsReport.fieldMetadata, - created: Object.values(createdFieldActionByObjectMetadataId), + create: Object.values(createdFieldActionByObjectMetadataId), }, objectMetadata: { ...orchestratorActionsReport.objectMetadata, - created: Object.values(createdObjectActionByObjectMetadataId), + create: Object.values(createdObjectActionByObjectMetadataId), }, }; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts index 20a759e4822..04fc77480d6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts @@ -16,11 +16,11 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions orchestratorActionsReport, }: AggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActionsArgs): OrchestratorActionsReport => { const deleteObjectActionByObjectMetadataId = ( - orchestratorActionsReport.objectMetadata.deleted as DeleteObjectAction[] + orchestratorActionsReport.objectMetadata.delete as DeleteObjectAction[] ).reduce>( (acc, deleteObjectAction) => ({ ...acc, - [deleteObjectAction.objectMetadataId]: deleteObjectAction, + [deleteObjectAction.entityId]: deleteObjectAction, }), {}, ); @@ -29,7 +29,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions }; const { deleteFieldActionByFieldMetadataId } = ( - orchestratorActionsReport.fieldMetadata.deleted as DeleteFieldAction[] + orchestratorActionsReport.fieldMetadata.delete as DeleteFieldAction[] ).reduce( ({ deleteFieldActionByFieldMetadataId }, deleteFieldAction) => { const fieldParentObjectDeleteObjectAction = @@ -46,7 +46,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions return { deleteFieldActionByFieldMetadataId: { ...deleteFieldActionByFieldMetadataId, - [deleteFieldAction.fieldMetadataId]: deleteFieldAction, + [deleteFieldAction.entityId]: deleteFieldAction, }, }; }, @@ -57,7 +57,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions ...orchestratorActionsReport, fieldMetadata: { ...orchestratorActionsReport.fieldMetadata, - deleted: Object.values(deleteFieldActionByFieldMetadataId), + delete: Object.values(deleteFieldActionByFieldMetadataId), }, }; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts index 63d99ac5c69..41f97e6df9a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts @@ -8,7 +8,7 @@ export const getMetadataEmptyWorkspaceMigrationActionRecord = < _metadataName: T, ) => ({ - created: [], - deleted: [], - updated: [], + create: [], + delete: [], + update: [], }) as MetadataWorkspaceMigrationActionsRecord; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts index 4a1da496f1b..ab38a0ae7be 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts @@ -1,18 +1,9 @@ -import { type FlatAgent } from 'src/engine/metadata-modules/flat-agent/types/flat-agent.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdateAgentAction = { - type: 'update_agent'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'agent'>; -}; +export type CreateAgentAction = BaseCreateWorkspaceMigrationAction<'agent'>; -export type CreateAgentAction = { - type: 'create_agent'; - flatEntity: FlatAgent; -}; +export type UpdateAgentAction = BaseUpdateWorkspaceMigrationAction<'agent'>; -export type DeleteAgentAction = { - type: 'delete_agent'; - flatEntityId: string; -}; +export type DeleteAgentAction = BaseDeleteWorkspaceMigrationAction<'agent'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts index ff49837bdb3..869bccb3234 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentCreation(args); @@ -37,7 +37,8 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_agent', + type: 'create', + metadataName: 'agent', flatEntity: flatAgentToValidate, }, }; @@ -45,7 +46,7 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_agent', - flatEntityId: flatAgentToValidate.id, + type: 'delete', + metadataName: 'agent', + entityId: flatAgentToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentUpdate(args); @@ -83,9 +85,10 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt const { flatEntityId, flatEntityUpdates } = args; const updateAgentAction: UpdateAgentAction = { - type: 'update_agent', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'agent', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts index ffeed771d95..def4a874641 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts @@ -1,31 +1,12 @@ -import { type FlatCronTriggerPropertiesToCompare } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger-properties-to-compare.type'; -import { type FlatCronTrigger } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger.type'; -import { type PropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/types/property-update.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateCronTriggerAction = { - type: 'create_cron_trigger'; - cronTrigger: FlatCronTrigger; -}; +export type CreateCronTriggerAction = + BaseCreateWorkspaceMigrationAction<'cronTrigger'>; -export type UpdateCronTriggerAction = { - type: 'update_cron_trigger'; - cronTriggerId: string; - updates: Array< - { - [P in FlatCronTriggerPropertiesToCompare]: PropertyUpdate< - FlatCronTrigger, - P - >; - }[FlatCronTriggerPropertiesToCompare] - >; -}; +export type UpdateCronTriggerAction = + BaseUpdateWorkspaceMigrationAction<'cronTrigger'>; -export type DeleteCronTriggerAction = { - type: 'delete_cron_trigger'; - cronTriggerId: string; -}; - -export type WorkspaceMigrationCronTriggerActionV2 = - | CreateCronTriggerAction - | UpdateCronTriggerAction - | DeleteCronTriggerAction; +export type DeleteCronTriggerAction = + BaseDeleteWorkspaceMigrationAction<'cronTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts index 8eb49ea05ad..9cca300fc2d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'created' + 'create' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp return { status: 'success', action: { - type: 'create_cron_trigger', - cronTrigger: flatCronTriggerToValidate, + type: 'create', + metadataName: 'cronTrigger', + flatEntity: flatCronTriggerToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp return { status: 'success', action: { - type: 'delete_cron_trigger', - cronTriggerId: flatCronTriggerToValidate.id, + type: 'delete', + metadataName: 'cronTrigger', + entityId: flatCronTriggerToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'updated' + 'update' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerUpdate(args); @@ -95,8 +97,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp const { flatEntityId, flatEntityUpdates } = args; const updateCronTriggerAction: UpdateCronTriggerAction = { - type: 'update_cron_trigger', - cronTriggerId: flatEntityId, + type: 'update', + metadataName: 'cronTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts index d8657b79270..c63cb30a0ca 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts @@ -1,23 +1,12 @@ -import { type FlatDatabaseEventTrigger } from 'src/engine/metadata-modules/database-event-trigger/types/flat-database-event-trigger.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateDatabaseEventTriggerAction = { - type: 'create_database_event_trigger'; - databaseEventTrigger: FlatDatabaseEventTrigger; -}; +export type CreateDatabaseEventTriggerAction = + BaseCreateWorkspaceMigrationAction<'databaseEventTrigger'>; -export type UpdateDatabaseEventTriggerAction = { - type: 'update_database_event_trigger'; - databaseEventTriggerId: string; - updates: FlatEntityPropertiesUpdates<'databaseEventTrigger'>; -}; +export type UpdateDatabaseEventTriggerAction = + BaseUpdateWorkspaceMigrationAction<'databaseEventTrigger'>; -export type DeleteDatabaseEventTriggerAction = { - type: 'delete_database_event_trigger'; - databaseEventTriggerId: string; -}; - -export type WorkspaceMigrationDatabaseEventTriggerActionV2 = - | CreateDatabaseEventTriggerAction - | UpdateDatabaseEventTriggerAction - | DeleteDatabaseEventTriggerAction; +export type DeleteDatabaseEventTriggerAction = + BaseDeleteWorkspaceMigrationAction<'databaseEventTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts index c7d6d92e6df..40f3f7c290e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts @@ -25,7 +25,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'created' + 'create' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerCreation( @@ -44,8 +44,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten return { status: 'success', action: { - type: 'create_database_event_trigger', - databaseEventTrigger: flatDatabaseEventTriggerToValidate, + type: 'create', + metadataName: 'databaseEventTrigger', + flatEntity: flatDatabaseEventTriggerToValidate, }, }; } @@ -56,7 +57,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerDeletion( @@ -75,8 +76,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten return { status: 'success', action: { - type: 'delete_database_event_trigger', - databaseEventTriggerId: flatDatabaseEventTriggerToValidate.id, + type: 'delete', + metadataName: 'databaseEventTrigger', + entityId: flatDatabaseEventTriggerToValidate.id, }, }; } @@ -87,7 +89,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'updated' + 'update' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerUpdate( @@ -104,8 +106,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten const { flatEntityId, flatEntityUpdates } = args; const updateDatabaseEventTriggerAction: UpdateDatabaseEventTriggerAction = { - type: 'update_database_event_trigger', - databaseEventTriggerId: flatEntityId, + type: 'update', + metadataName: 'databaseEventTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts index 8f7439eecd8..b09cb82143e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts @@ -1,29 +1,22 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateFieldAction = { - type: 'create_field'; +export type CreateFieldAction = Omit< + BaseCreateWorkspaceMigrationAction<'fieldMetadata'>, + 'flatEntity' +> & { objectMetadataId: string; flatFieldMetadatas: FlatFieldMetadata[]; }; -export type UpdateFieldAction = { - type: 'update_field'; - fieldMetadataId: string; - objectMetadataId: string; - updates: FlatEntityPropertiesUpdates<'fieldMetadata'>; -}; +export type UpdateFieldAction = + BaseUpdateWorkspaceMigrationAction<'fieldMetadata'> & { + objectMetadataId: string; + }; -export type DeleteFieldAction = { - type: 'delete_field'; - fieldMetadataId: string; - objectMetadataId: string; -}; - -export type WorkspaceMigrationFieldActionV2 = - | CreateFieldAction - | UpdateFieldAction - | DeleteFieldAction; - -export type WorkspaceMigrationFieldActionTypeV2 = - WorkspaceMigrationFieldActionV2['type']; +export type DeleteFieldAction = + BaseDeleteWorkspaceMigrationAction<'fieldMetadata'> & { + objectMetadataId: string; + }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts index 17d1027a748..caccedb7c80 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts @@ -24,7 +24,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'created' + 'create' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataCreation(args); @@ -41,7 +41,8 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, flatFieldMetadatas: [flatFieldMetadataToValidate], }, @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'deleted' + 'delete' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataDeletion(args); @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_field', - fieldMetadataId: flatFieldMetadataToValidate.id, + type: 'delete', + metadataName: 'fieldMetadata', + entityId: flatFieldMetadataToValidate.id, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, }, }; @@ -82,7 +84,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'updated' + 'update' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataUpdate(args); @@ -107,8 +109,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt }); const updateFieldAction: UpdateFieldAction = { - type: 'update_field', - fieldMetadataId: flatEntityId, + type: 'update', + metadataName: 'fieldMetadata', + entityId: flatEntityId, objectMetadataId: flatFieldMetadata.objectMetadataId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts index 7603c811891..c822c9fe39c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts @@ -1,18 +1,14 @@ import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; -export type CreateIndexAction = { - type: 'create_index'; - flatIndexMetadata: FlatIndexMetadata; +export type CreateIndexAction = BaseCreateWorkspaceMigrationAction<'index'>; + +export type DeleteIndexAction = BaseDeleteWorkspaceMigrationAction<'index'>; + +export type UpdateIndexAction = { + type: 'update'; + metadataName: 'index'; + entityId: string; + updatedFlatEntity: FlatIndexMetadata; }; - -export type DeleteIndexAction = { - type: 'delete_index'; - flatIndexMetadataId: string; -}; - -export type WorkspaceMigrationIndexActionV2 = - | CreateIndexAction - | DeleteIndexAction; - -export type WorkspaceMigrationIndexActionTypeV2 = - WorkspaceMigrationIndexActionV2['type']; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts index 74b4dd46fa7..3f5fa8302b7 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatIndexValidatorService.validateFlatIndexCreation(args); @@ -43,15 +43,16 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_index', - flatIndexMetadata: flatIndexToValidate, + type: 'create', + metadataName: 'index', + flatEntity: flatIndexToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatIndexValidatorService.validateFlatIndexDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_index', - flatIndexMetadataId: flatIndexToValidate.id, + type: 'delete', + metadataName: 'index', + entityId: flatIndexToValidate.id, }, }; } @@ -81,10 +83,7 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt workspaceId, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.index - >): FlatEntityValidationReturnType< - typeof ALL_METADATA_NAME.index, - 'updated' - > { + >): FlatEntityValidationReturnType { const flatEntity = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: @@ -94,8 +93,11 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (!isDefined(flatEntity)) { return { status: 'fail', - type: 'delete_index', - flatEntityMinimalInformation: {}, + metadataName: 'index', + type: 'update', + flatEntityMinimalInformation: { + id: flatEntityId, + }, errors: [ { code: FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, @@ -116,7 +118,11 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (deletionValidationResult.errors.length > 0) { return { status: 'fail', - ...deletionValidationResult, + type: 'update', + errors: deletionValidationResult.errors, + flatEntityMinimalInformation: + deletionValidationResult.flatEntityMinimalInformation, + metadataName: deletionValidationResult.metadataName, }; } @@ -151,22 +157,22 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (creationValidationResult.errors.length > 0) { return { status: 'fail', - ...creationValidationResult, + type: 'update', + errors: creationValidationResult.errors, + flatEntityMinimalInformation: + creationValidationResult.flatEntityMinimalInformation, + metadataName: creationValidationResult.metadataName, }; } return { status: 'success', - action: [ - { - type: 'delete_index', - flatIndexMetadataId: flatEntity.id, - }, - { - type: 'create_index', - flatIndexMetadata: updatedFlatIndex, - }, - ], + action: { + type: 'update', + metadataName: 'index', + entityId: flatEntity.id, + updatedFlatEntity: updatedFlatIndex, + }, }; } } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts index 53d1be8fb9e..9fd8f34c6b6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts @@ -1,34 +1,15 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; -import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateObjectAction = { - type: 'create_object'; - flatObjectMetadata: FlatObjectMetadata; - flatFieldMetadatas: FlatFieldMetadata[]; -}; +export type CreateObjectAction = + BaseCreateWorkspaceMigrationAction<'objectMetadata'> & { + flatFieldMetadatas: FlatFieldMetadata[]; + }; -export type UpdateObjectAction = { - type: 'update_object'; - objectMetadataId: string; - updates: FlatEntityPropertiesUpdates<'objectMetadata'>; -}; +export type UpdateObjectAction = + BaseUpdateWorkspaceMigrationAction<'objectMetadata'>; -export type DeleteObjectAction = { - type: 'delete_object'; - objectMetadataId: string; -}; - -export type WorkspaceMigrationObjectActionV2 = - | CreateObjectAction - | UpdateObjectAction - | DeleteObjectAction; - -export type WorkspaceMigrationObjectActionTypeV2 = - WorkspaceMigrationObjectActionV2['type']; - -export const WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES = [ - 'create_object', - 'delete_object', - 'update_object', -] as const satisfies WorkspaceMigrationObjectActionTypeV2[]; +export type DeleteObjectAction = + BaseDeleteWorkspaceMigrationAction<'objectMetadata'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts index 35f5d43bdd9..cb2d4c20198 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'created' + 'create' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataCreation(args); @@ -40,9 +40,10 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn return { status: 'success', action: { - type: 'create_object', + type: 'create', + metadataName: 'objectMetadata', flatFieldMetadatas: [], - flatObjectMetadata: flatObjectMetadataToValidate, + flatEntity: flatObjectMetadataToValidate, }, }; } @@ -51,7 +52,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'deleted' + 'delete' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataDeletion(args); @@ -68,8 +69,9 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn return { status: 'success', action: { - type: 'delete_object', - objectMetadataId: flatObjectMetadataToValidate.id, + type: 'delete', + metadataName: 'objectMetadata', + entityId: flatObjectMetadataToValidate.id, }, }; } @@ -80,7 +82,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'updated' + 'update' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataUpdate(args); @@ -95,8 +97,9 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn const { flatEntityId, flatEntityUpdates } = args; const updateObjectAction: UpdateObjectAction = { - type: 'update_object', - objectMetadataId: flatEntityId, + type: 'update', + metadataName: 'objectMetadata', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts index caf66ed272b..6764eb017b1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdatePageLayoutTabAction = { - type: 'update_page_layout_tab'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'pageLayoutTab'>; -}; +export type CreatePageLayoutTabAction = + BaseCreateWorkspaceMigrationAction<'pageLayoutTab'>; -export type CreatePageLayoutTabAction = { - type: 'create_page_layout_tab'; - flatEntity: FlatPageLayoutTab; -}; +export type UpdatePageLayoutTabAction = + BaseUpdateWorkspaceMigrationAction<'pageLayoutTab'>; -export type DeletePageLayoutTabAction = { - type: 'delete_page_layout_tab'; - flatEntityId: string; -}; +export type DeletePageLayoutTabAction = + BaseDeleteWorkspaceMigrationAction<'pageLayoutTab'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts index 19af3153d8b..aba38a0c2bc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'created' + 'create' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabCreation( @@ -42,7 +42,8 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work return { status: 'success', action: { - type: 'create_page_layout_tab', + type: 'create', + metadataName: 'pageLayoutTab', flatEntity: flatPageLayoutTabToValidate, }, }; @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work return { status: 'success', action: { - type: 'delete_page_layout_tab', - flatEntityId: flatPageLayoutTabToValidate.id, + type: 'delete', + metadataName: 'pageLayoutTab', + entityId: flatPageLayoutTabToValidate.id, }, }; } @@ -83,7 +85,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'updated' + 'update' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabUpdate( @@ -100,9 +102,10 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutTabAction: UpdatePageLayoutTabAction = { - type: 'update_page_layout_tab', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'pageLayoutTab', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts index 8aae3aa861e..74604224d22 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatPageLayoutWidget } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreatePageLayoutWidgetAction = { - type: 'create_page_layout_widget'; - pageLayoutWidget: FlatPageLayoutWidget; -}; +export type CreatePageLayoutWidgetAction = + BaseCreateWorkspaceMigrationAction<'pageLayoutWidget'>; -export type UpdatePageLayoutWidgetAction = { - type: 'update_page_layout_widget'; - pageLayoutWidgetId: string; - updates: FlatEntityPropertiesUpdates<'pageLayoutWidget'>; -}; +export type UpdatePageLayoutWidgetAction = + BaseUpdateWorkspaceMigrationAction<'pageLayoutWidget'>; -export type DeletePageLayoutWidgetAction = { - type: 'delete_page_layout_widget'; - pageLayoutWidgetId: string; -}; +export type DeletePageLayoutWidgetAction = + BaseDeleteWorkspaceMigrationAction<'pageLayoutWidget'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts index 6fbec4555b1..46146e7ac02 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'created' + 'create' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetCreation( @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W return { status: 'success', action: { - type: 'create_page_layout_widget', - pageLayoutWidget: args.flatEntityToValidate, + type: 'create', + metadataName: 'pageLayoutWidget', + flatEntity: args.flatEntityToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetDeletion( @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W return { status: 'success', action: { - type: 'delete_page_layout_widget', - pageLayoutWidgetId: flatPageLayoutWidgetToValidate.id, + type: 'delete', + metadataName: 'pageLayoutWidget', + entityId: flatPageLayoutWidgetToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'updated' + 'update' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetUpdate( @@ -98,8 +100,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutWidgetAction: UpdatePageLayoutWidgetAction = { - type: 'update_page_layout_widget', - pageLayoutWidgetId: flatEntityId, + type: 'update', + metadataName: 'pageLayoutWidget', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts index 793469e2986..5e169c45996 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdatePageLayoutAction = { - type: 'update_page_layout'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'pageLayout'>; -}; +export type CreatePageLayoutAction = + BaseCreateWorkspaceMigrationAction<'pageLayout'>; -export type CreatePageLayoutAction = { - type: 'create_page_layout'; - flatEntity: FlatPageLayout; -}; +export type UpdatePageLayoutAction = + BaseUpdateWorkspaceMigrationAction<'pageLayout'>; -export type DeletePageLayoutAction = { - type: 'delete_page_layout'; - flatEntityId: string; -}; +export type DeletePageLayoutAction = + BaseDeleteWorkspaceMigrationAction<'pageLayout'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts index 1ff79ee1eea..c42febe88fa 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts @@ -24,7 +24,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa ): Promise< FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'created' + 'create' > > { const validationResult = @@ -42,7 +42,8 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_page_layout', + type: 'create', + metadataName: 'pageLayout', flatEntity: flatPageLayoutToValidate, }, }; @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutValidatorService.validateFlatPageLayoutDeletion(args); @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_page_layout', - flatEntityId: flatPageLayoutToValidate.id, + type: 'delete', + metadataName: 'pageLayout', + entityId: flatPageLayoutToValidate.id, }, }; } @@ -80,7 +82,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa ): Promise< FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'updated' + 'update' > > { const validationResult = @@ -96,9 +98,10 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutAction: UpdatePageLayoutAction = { - type: 'update_page_layout', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'pageLayout', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts index 9d821ac41db..d6045c31133 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRoleTarget } from 'src/engine/metadata-modules/flat-role-target/types/flat-role-target.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRoleTargetAction = { - type: 'create_role_target'; - roleTarget: FlatRoleTarget; -}; +export type CreateRoleTargetAction = + BaseCreateWorkspaceMigrationAction<'roleTarget'>; -export type UpdateRoleTargetAction = { - type: 'update_role_target'; - roleTargetId: string; - updates: FlatEntityPropertiesUpdates<'roleTarget'>; -}; +export type UpdateRoleTargetAction = + BaseUpdateWorkspaceMigrationAction<'roleTarget'>; -export type DeleteRoleTargetAction = { - type: 'delete_role_target'; - roleTargetId: string; -}; - -export type WorkspaceMigrationRoleTargetActionV2 = - | CreateRoleTargetAction - | UpdateRoleTargetAction - | DeleteRoleTargetAction; - -export type WorkspaceMigrationRoleTargetActionTypeV2 = - WorkspaceMigrationRoleTargetActionV2['type']; +export type DeleteRoleTargetAction = + BaseDeleteWorkspaceMigrationAction<'roleTarget'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts index 1e4ac1ee902..7d3c775b26b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'created' + 'create' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_role_target', - roleTarget: flatRoleTargetToValidate, + type: 'create', + metadataName: 'roleTarget', + flatEntity: flatRoleTargetToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'deleted' + 'delete' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_role_target', - roleTargetId: flatRoleTargetToValidate.id, + type: 'delete', + metadataName: 'roleTarget', + entityId: flatRoleTargetToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'updated' + 'update' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updateRoleTargetAction: UpdateRoleTargetAction = { - type: 'update_role_target', - roleTargetId: flatEntityId, + type: 'update', + metadataName: 'roleTarget', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts index 426269235e4..b6bedc99290 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts @@ -1,26 +1,9 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRole } from 'src/engine/metadata-modules/flat-role/types/flat-role.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRoleAction = { - type: 'create_role'; - role: FlatRole; -}; +export type CreateRoleAction = BaseCreateWorkspaceMigrationAction<'role'>; -export type UpdateRoleAction = { - type: 'update_role'; - roleId: string; - updates: FlatEntityPropertiesUpdates<'role'>; -}; +export type UpdateRoleAction = BaseUpdateWorkspaceMigrationAction<'role'>; -export type DeleteRoleAction = { - type: 'delete_role'; - roleId: string; -}; - -export type WorkspaceMigrationRoleActionV2 = - | CreateRoleAction - | UpdateRoleAction - | DeleteRoleAction; - -export type WorkspaceMigrationRoleActionTypeV2 = - WorkspaceMigrationRoleActionV2['type']; +export type DeleteRoleAction = BaseDeleteWorkspaceMigrationAction<'role'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts index bc31e28919f..cbad2fc1d94 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleCreation(args); @@ -37,15 +37,16 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'create_role', - role: flatRoleToValidate, + type: 'create', + metadataName: 'role', + flatEntity: flatRoleToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'delete_role', - roleId: flatRoleToValidate.id, + type: 'delete', + metadataName: 'role', + entityId: flatRoleToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleUpdate(args); @@ -83,8 +85,9 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti const { flatEntityId, flatEntityUpdates } = args; const updateRoleAction: UpdateRoleAction = { - type: 'update_role', - roleId: flatEntityId, + type: 'update', + metadataName: 'role', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts index 0b951596103..c0e81edb443 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts @@ -1,23 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRouteTrigger } from 'src/engine/metadata-modules/route-trigger/types/flat-route-trigger.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRouteTriggerAction = { - type: 'create_route_trigger'; - routeTrigger: FlatRouteTrigger; -}; +export type CreateRouteTriggerAction = + BaseCreateWorkspaceMigrationAction<'routeTrigger'>; -export type UpdateRouteTriggerAction = { - type: 'update_route_trigger'; - routeTriggerId: string; - updates: FlatEntityPropertiesUpdates<'routeTrigger'>; -}; +export type UpdateRouteTriggerAction = + BaseUpdateWorkspaceMigrationAction<'routeTrigger'>; -export type DeleteRouteTriggerAction = { - type: 'delete_route_trigger'; - routeTriggerId: string; -}; - -export type WorkspaceMigrationRouteTriggerActionV2 = - | CreateRouteTriggerAction - | UpdateRouteTriggerAction - | DeleteRouteTriggerAction; +export type DeleteRouteTriggerAction = + BaseDeleteWorkspaceMigrationAction<'routeTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts index 92800fbf6b7..ef88b235463 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'created' + 'create' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works return { status: 'success', action: { - type: 'create_route_trigger', - routeTrigger: flatRouteTriggerToValidate, + type: 'create', + metadataName: 'routeTrigger', + flatEntity: flatRouteTriggerToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works return { status: 'success', action: { - type: 'delete_route_trigger', - routeTriggerId: flatRouteTriggerToValidate.id, + type: 'delete', + metadataName: 'routeTrigger', + entityId: flatRouteTriggerToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'updated' + 'update' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerUpdate( @@ -98,8 +100,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works const { flatEntityId, flatEntityUpdates } = args; const updateRouteTriggerAction: UpdateRouteTriggerAction = { - type: 'update_route_trigger', - routeTriggerId: flatEntityId, + type: 'update', + metadataName: 'routeTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts index 67f68bc388f..bb61b01438c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts @@ -1,28 +1,14 @@ /* @license Enterprise */ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRowLevelPermissionPredicateGroup } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRowLevelPermissionPredicateGroupAction = { - type: 'create_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroup: FlatRowLevelPermissionPredicateGroup; -}; +export type CreateRowLevelPermissionPredicateGroupAction = + BaseCreateWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; -export type UpdateRowLevelPermissionPredicateGroupAction = { - type: 'update_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroupId: string; - updates: FlatEntityPropertiesUpdates<'rowLevelPermissionPredicateGroup'>; -}; +export type UpdateRowLevelPermissionPredicateGroupAction = + BaseUpdateWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; -export type DeleteRowLevelPermissionPredicateGroupAction = { - type: 'delete_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroupId: string; -}; - -export type WorkspaceMigrationRowLevelPermissionPredicateGroupActionV2 = - | CreateRowLevelPermissionPredicateGroupAction - | UpdateRowLevelPermissionPredicateGroupAction - | DeleteRowLevelPermissionPredicateGroupAction; - -export type WorkspaceMigrationRowLevelPermissionPredicateGroupActionTypeV2 = - WorkspaceMigrationRowLevelPermissionPredicateGroupActionV2['type']; +export type DeleteRowLevelPermissionPredicateGroupAction = + BaseDeleteWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts index 94c1b384641..b64b674f971 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'created' + 'create' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupCreation( @@ -46,8 +46,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS return { status: 'success', action: { - type: 'create_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroup: flatEntityToValidate, + type: 'create', + metadataName: 'rowLevelPermissionPredicateGroup', + flatEntity: flatEntityToValidate, }, }; } @@ -58,7 +59,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'deleted' + 'delete' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupDeletion( @@ -79,8 +80,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS return { status: 'success', action: { - type: 'delete_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroupId: predicateGroupId, + type: 'delete', + metadataName: 'rowLevelPermissionPredicateGroup', + entityId: predicateGroupId, }, }; } @@ -91,7 +93,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'updated' + 'update' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupUpdate( @@ -108,8 +110,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS const { flatEntityId, flatEntityUpdates } = args; const updateAction: UpdateRowLevelPermissionPredicateGroupAction = { - type: 'update_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroupId: flatEntityId, + type: 'update', + metadataName: 'rowLevelPermissionPredicateGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts index 73aaa0bb28d..e7f5379df5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts @@ -1,34 +1,14 @@ /* @license Enterprise */ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRowLevelPermissionPredicateAction = { - type: 'create_row_level_permission_predicate'; - rowLevelPermissionPredicate: FlatRowLevelPermissionPredicate; -}; +export type CreateRowLevelPermissionPredicateAction = + BaseCreateWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; -export type UpdateRowLevelPermissionPredicateAction = { - type: 'update_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; - updates: FlatEntityPropertiesUpdates<'rowLevelPermissionPredicate'>; -}; +export type UpdateRowLevelPermissionPredicateAction = + BaseUpdateWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; -export type DeleteRowLevelPermissionPredicateAction = { - type: 'delete_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; -}; - -export type DestroyRowLevelPermissionPredicateAction = { - type: 'destroy_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; -}; - -export type WorkspaceMigrationRowLevelPermissionPredicateActionV2 = - | CreateRowLevelPermissionPredicateAction - | UpdateRowLevelPermissionPredicateAction - | DeleteRowLevelPermissionPredicateAction - | DestroyRowLevelPermissionPredicateAction; - -export type WorkspaceMigrationRowLevelPermissionPredicateActionTypeV2 = - WorkspaceMigrationRowLevelPermissionPredicateActionV2['type']; +export type DeleteRowLevelPermissionPredicateAction = + BaseDeleteWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts index 54b673a9338..d5a010a75bc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'created' + 'create' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateCreation( @@ -46,8 +46,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic return { status: 'success', action: { - type: 'create_row_level_permission_predicate', - rowLevelPermissionPredicate: flatEntityToValidate, + type: 'create', + metadataName: 'rowLevelPermissionPredicate', + flatEntity: flatEntityToValidate, }, }; } @@ -58,7 +59,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'deleted' + 'delete' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateDeletion( @@ -79,8 +80,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic return { status: 'success', action: { - type: 'delete_row_level_permission_predicate', - rowLevelPermissionPredicateId: predicateId, + type: 'delete', + metadataName: 'rowLevelPermissionPredicate', + entityId: predicateId, }, }; } @@ -91,7 +93,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'updated' + 'update' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateUpdate( @@ -108,8 +110,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic const { flatEntityId, flatEntityUpdates } = args; const updateAction: UpdateRowLevelPermissionPredicateAction = { - type: 'update_row_level_permission_predicate', - rowLevelPermissionPredicateId: flatEntityId, + type: 'update', + metadataName: 'rowLevelPermissionPredicate', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts index c8b3e63b43f..0b195a0c7c0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts @@ -1,29 +1,16 @@ import { type Sources } from 'twenty-shared/types'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatServerlessFunction } from 'src/engine/metadata-modules/serverless-function/types/flat-serverless-function.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateServerlessFunctionAction = { - type: 'create_serverless_function'; - serverlessFunction: FlatServerlessFunction; -}; +export type CreateServerlessFunctionAction = + BaseCreateWorkspaceMigrationAction<'serverlessFunction'>; -export type UpdateServerlessFunctionAction = { - type: 'update_serverless_function'; - serverlessFunctionId: string; - code?: Sources; - updates: FlatEntityPropertiesUpdates<'serverlessFunction'>; -}; +export type UpdateServerlessFunctionAction = + BaseUpdateWorkspaceMigrationAction<'serverlessFunction'> & { + code?: Sources; + }; -export type DeleteServerlessFunctionAction = { - type: 'delete_serverless_function'; - serverlessFunctionId: string; -}; - -export type WorkspaceMigrationServerlessFunctionActionV2 = - | CreateServerlessFunctionAction - | UpdateServerlessFunctionAction - | DeleteServerlessFunctionAction; - -export type WorkspaceMigrationServerlessFunctionActionTypeV2 = - WorkspaceMigrationServerlessFunctionActionV2['type']; +export type DeleteServerlessFunctionAction = + BaseDeleteWorkspaceMigrationAction<'serverlessFunction'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts index a701236d164..6d4a95b7342 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts @@ -34,13 +34,13 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return baseResult; } - const updatedActions = baseResult.actions.updated.map((action) => { - if (action.type !== 'update_serverless_function') { + const updatedActions = baseResult.actions.update.map((action) => { + if (action.type !== 'update') { return action; } const toServerlessFunction = findFlatEntityByIdInFlatEntityMaps({ - flatEntityId: action.serverlessFunctionId, + flatEntityId: action.entityId, flatEntityMaps: toFlatEntityMaps, }); @@ -54,7 +54,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends ...baseResult, actions: { ...baseResult.actions, - updated: updatedActions, + update: updatedActions, }, }; } @@ -63,7 +63,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'created' + 'create' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionCreation( @@ -82,8 +82,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return { status: 'success', action: { - type: 'create_serverless_function', - serverlessFunction: flatServerlessFunctionToValidate, + type: 'create', + metadataName: 'serverlessFunction', + flatEntity: flatServerlessFunctionToValidate, }, }; } @@ -92,7 +93,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'deleted' + 'delete' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionDeletion( @@ -111,8 +112,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return { status: 'success', action: { - type: 'delete_serverless_function', - serverlessFunctionId: flatServerlessFunctionToValidate.id, + type: 'delete', + metadataName: 'serverlessFunction', + entityId: flatServerlessFunctionToValidate.id, }, }; } @@ -123,7 +125,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'updated' + 'update' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionUpdate( @@ -140,8 +142,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends const { flatEntityId, flatEntityUpdates } = args; const updateServerlessFunctionAction: UpdateServerlessFunctionAction = { - type: 'update_serverless_function', - serverlessFunctionId: flatEntityId, + type: 'update', + metadataName: 'serverlessFunction', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts index ba6d7b6ed1c..00572b1352f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts @@ -1,18 +1,9 @@ -import { type FlatSkill } from 'src/engine/metadata-modules/flat-skill/types/flat-skill.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdateSkillAction = { - type: 'update_skill'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'skill'>; -}; +export type CreateSkillAction = BaseCreateWorkspaceMigrationAction<'skill'>; -export type CreateSkillAction = { - type: 'create_skill'; - flatEntity: FlatSkill; -}; +export type UpdateSkillAction = BaseUpdateWorkspaceMigrationAction<'skill'>; -export type DeleteSkillAction = { - type: 'delete_skill'; - flatEntityId: string; -}; +export type DeleteSkillAction = BaseDeleteWorkspaceMigrationAction<'skill'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts index 56abd414b05..ed91f3170e2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillCreation(args); @@ -37,7 +37,8 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_skill', + type: 'create', + metadataName: 'skill', flatEntity: flatSkillToValidate, }, }; @@ -45,7 +46,7 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_skill', - flatEntityId: flatSkillToValidate.id, + type: 'delete', + metadataName: 'skill', + entityId: flatSkillToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillUpdate(args); @@ -83,9 +85,10 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt const { flatEntityId, flatEntityUpdates } = args; const updateSkillAction: UpdateSkillAction = { - type: 'update_skill', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'skill', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts index 3af9312c23b..999ac0bd2a8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts @@ -1,6 +1,7 @@ import { type MessageDescriptor } from '@lingui/core'; +import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type SyncableFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/flat-entity.type'; +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; import { type WorkspaceMigrationActionTypeV2 } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; export type FlatEntityValidationError = { @@ -10,8 +11,13 @@ export type FlatEntityValidationError = { value?: unknown; }; -export type FailedFlatEntityValidation = { - type: WorkspaceMigrationActionTypeV2; +export type FailedFlatEntityValidation< + TMetadataName extends AllMetadataName, + TAcionType extends WorkspaceMigrationActionTypeV2, +> = { + type: TAcionType; + metadataName: TMetadataName; errors: FlatEntityValidationError[]; - flatEntityMinimalInformation: Partial; + flatEntityMinimalInformation: Pick, 'id'> & + Partial, 'id'>>; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts new file mode 100644 index 00000000000..22057d1a671 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts @@ -0,0 +1,23 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; + +export const getEmptyFlatEntityValidationError = < + TMetadataName extends AllMetadataName, + TActionType extends WorkspaceMigrationActionType, +>({ + metadataName, + flatEntityMinimalInformation, + type, +}: Pick< + FailedFlatEntityValidation, + 'metadataName' | 'flatEntityMinimalInformation' | 'type' +>): FailedFlatEntityValidation => { + return { + errors: [], + flatEntityMinimalInformation, + metadataName, + type, + }; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts index 2dc0bb1adc0..0093f397860 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewField } from 'src/engine/metadata-modules/flat-view-field/types/flat-view-field.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFieldAction = { - type: 'create_view_field'; - viewField: FlatViewField; -}; +export type CreateViewFieldAction = + BaseCreateWorkspaceMigrationAction<'viewField'>; -export type UpdateViewFieldAction = { - type: 'update_view_field'; - viewFieldId: string; - updates: FlatEntityPropertiesUpdates<'viewField'>; -}; +export type UpdateViewFieldAction = + BaseUpdateWorkspaceMigrationAction<'viewField'>; -export type DeleteViewFieldAction = { - type: 'delete_view_field'; - viewFieldId: string; -}; - -export type WorkspaceMigrationViewFieldActionV2 = - | CreateViewFieldAction - | UpdateViewFieldAction - | DeleteViewFieldAction; - -export type WorkspaceMigrationViewFieldActionTypeV2 = - WorkspaceMigrationViewFieldActionV2['type']; +export type DeleteViewFieldAction = + BaseDeleteWorkspaceMigrationAction<'viewField'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts index 2f57a9997f9..405835bae7e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'created' + 'create' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldCreation(args); @@ -38,8 +38,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'create_view_field', - viewField: args.flatEntityToValidate, + type: 'create', + metadataName: 'viewField', + flatEntity: args.flatEntityToValidate, }, }; } @@ -48,7 +49,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'deleted' + 'delete' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldDeletion(args); @@ -65,8 +66,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'delete_view_field', - viewFieldId: flatViewFieldToValidate.id, + type: 'delete', + metadataName: 'viewField', + entityId: flatViewFieldToValidate.id, }, }; } @@ -75,7 +77,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'updated' + 'update' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldUpdate(args); @@ -90,8 +92,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac const { flatEntityId, flatEntityUpdates } = args; const updateViewFieldAction: UpdateViewFieldAction = { - type: 'update_view_field', - viewFieldId: flatEntityId, + type: 'update', + metadataName: 'viewField', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts index 8a625f7522d..9c44741bcc5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewFilterGroup } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFilterGroupAction = { - type: 'create_view_filter_group'; - viewFilterGroup: FlatViewFilterGroup; -}; +export type CreateViewFilterGroupAction = + BaseCreateWorkspaceMigrationAction<'viewFilterGroup'>; -export type UpdateViewFilterGroupAction = { - type: 'update_view_filter_group'; - viewFilterGroupId: string; - updates: FlatEntityPropertiesUpdates<'viewFilterGroup'>; -}; +export type UpdateViewFilterGroupAction = + BaseUpdateWorkspaceMigrationAction<'viewFilterGroup'>; -export type DeleteViewFilterGroupAction = { - type: 'delete_view_filter_group'; - viewFilterGroupId: string; -}; - -export type WorkspaceMigrationViewFilterGroupActionV2 = - | CreateViewFilterGroupAction - | UpdateViewFilterGroupAction - | DeleteViewFilterGroupAction; - -export type WorkspaceMigrationViewFilterGroupActionTypeV2 = - WorkspaceMigrationViewFilterGroupActionV2['type']; +export type DeleteViewFilterGroupAction = + BaseDeleteWorkspaceMigrationAction<'viewFilterGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts index 0fa3c0353e6..073c9def792 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'created' + 'create' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo return { status: 'success', action: { - type: 'create_view_filter_group', - viewFilterGroup: flatViewFilterGroupToValidate, + type: 'create', + metadataName: 'viewFilterGroup', + flatEntity: flatViewFilterGroupToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'deleted' + 'delete' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo return { status: 'success', action: { - type: 'delete_view_filter_group', - viewFilterGroupId: flatViewFilterGroupToValidate.id, + type: 'delete', + metadataName: 'viewFilterGroup', + entityId: flatViewFilterGroupToValidate.id, }, }; } @@ -83,7 +85,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'updated' + 'update' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupUpdate( @@ -100,8 +102,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo const { flatEntityId, flatEntityUpdates } = args; const updateViewFilterGroupAction: UpdateViewFilterGroupAction = { - type: 'update_view_filter_group', - viewFilterGroupId: flatEntityId, + type: 'update', + metadataName: 'viewFilterGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts index 954895aafa1..746da90d8f9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewFilter } from 'src/engine/metadata-modules/flat-view-filter/types/flat-view-filter.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFilterAction = { - type: 'create_view_filter'; - viewFilter: FlatViewFilter; -}; +export type CreateViewFilterAction = + BaseCreateWorkspaceMigrationAction<'viewFilter'>; -export type UpdateViewFilterAction = { - type: 'update_view_filter'; - viewFilterId: string; - updates: FlatEntityPropertiesUpdates<'viewFilter'>; -}; +export type UpdateViewFilterAction = + BaseUpdateWorkspaceMigrationAction<'viewFilter'>; -export type DeleteViewFilterAction = { - type: 'delete_view_filter'; - viewFilterId: string; -}; - -export type WorkspaceMigrationViewFilterActionV2 = - | CreateViewFilterAction - | UpdateViewFilterAction - | DeleteViewFilterAction; - -export type WorkspaceMigrationViewFilterActionTypeV2 = - WorkspaceMigrationViewFilterActionV2['type']; +export type DeleteViewFilterAction = + BaseDeleteWorkspaceMigrationAction<'viewFilter'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts index 67b460f8eca..d6df56854dd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'created' + 'create' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_view_filter', - viewFilter: flatViewFilterToValidate, + type: 'create', + metadataName: 'viewFilter', + flatEntity: flatViewFilterToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'deleted' + 'delete' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_view_filter', - viewFilterId: flatViewFilterToValidate.id, + type: 'delete', + metadataName: 'viewFilter', + entityId: flatViewFilterToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'updated' + 'update' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updateViewFilterAction: UpdateViewFilterAction = { - type: 'update_view_filter', - viewFilterId: flatEntityId, + type: 'update', + metadataName: 'viewFilter', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts index 38fb501a113..2d1d5d09f8d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewGroup } from 'src/engine/metadata-modules/flat-view-group/types/flat-view-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewGroupAction = { - type: 'create_view_group'; - viewGroup: FlatViewGroup; -}; +export type CreateViewGroupAction = + BaseCreateWorkspaceMigrationAction<'viewGroup'>; -export type UpdateViewGroupAction = { - type: 'update_view_group'; - viewGroupId: string; - updates: FlatEntityPropertiesUpdates<'viewGroup'>; -}; +export type UpdateViewGroupAction = + BaseUpdateWorkspaceMigrationAction<'viewGroup'>; -export type DeleteViewGroupAction = { - type: 'delete_view_group'; - viewGroupId: string; -}; - -export type WorkspaceMigrationViewGroupActionV2 = - | CreateViewGroupAction - | UpdateViewGroupAction - | DeleteViewGroupAction; - -export type WorkspaceMigrationViewGroupActionTypeV2 = - WorkspaceMigrationViewGroupActionV2['type']; +export type DeleteViewGroupAction = + BaseDeleteWorkspaceMigrationAction<'viewGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts index a6a393664bf..09572a115a6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'created' + 'create' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'create_view_group', - viewGroup: flatViewGroupToValidate, + type: 'create', + metadataName: 'viewGroup', + flatEntity: flatViewGroupToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'deleted' + 'delete' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'delete_view_group', - viewGroupId: flatViewGroupToValidate.id, + type: 'delete', + metadataName: 'viewGroup', + entityId: flatViewGroupToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'updated' + 'update' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac const { flatEntityId, flatEntityUpdates } = args; const updateViewGroupAction: UpdateViewGroupAction = { - type: 'update_view_group', - viewGroupId: flatEntityId, + type: 'update', + metadataName: 'viewGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts index 866ac6d8533..743a57eab56 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts @@ -1,26 +1,9 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-view.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewAction = { - type: 'create_view'; - view: FlatView; -}; +export type CreateViewAction = BaseCreateWorkspaceMigrationAction<'view'>; -export type UpdateViewAction = { - type: 'update_view'; - viewId: string; - updates: FlatEntityPropertiesUpdates<'view'>; -}; +export type UpdateViewAction = BaseUpdateWorkspaceMigrationAction<'view'>; -export type DeleteViewAction = { - type: 'delete_view'; - viewId: string; -}; - -export type WorkspaceMigrationViewActionV2 = - | CreateViewAction - | UpdateViewAction - | DeleteViewAction; - -export type WorkspaceMigrationViewActionTypeV2 = - WorkspaceMigrationViewActionV2['type']; +export type DeleteViewAction = BaseDeleteWorkspaceMigrationAction<'view'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts index 5e6f377f9f7..cb24439e721 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewCreation(args); @@ -37,15 +37,16 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'create_view', - view: flatViewToValidate, + type: 'create', + metadataName: 'view', + flatEntity: flatViewToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'delete_view', - viewId: flatViewToValidate.id, + type: 'delete', + metadataName: 'view', + entityId: flatViewToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewUpdate(args); @@ -83,8 +85,9 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti const { flatEntityId, flatEntityUpdates } = args; const updateViewAction: UpdateViewAction = { - type: 'update_view', - viewId: flatEntityId, + type: 'update', + metadataName: 'view', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts index 92fd9fbfeab..9c1dc1f46b5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts @@ -144,7 +144,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< metadataName: this.metadataName, }); - actionsResult.created.push( + actionsResult.create.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -207,7 +207,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< metadataName: this.metadataName, }); - actionsResult.deleted.push( + actionsResult.delete.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -271,7 +271,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< optimisticFlatEntityMapsAndRelatedFlatEntityMaps[flatEntityMapsKey], }); - actionsResult.updated.push( + actionsResult.update.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -310,18 +310,18 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< protected abstract validateFlatEntityCreation( args: FlatEntityValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; protected abstract validateFlatEntityDeletion( args: FlatEntityValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; protected abstract validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts new file mode 100644 index 00000000000..3aeacb66b9b --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts @@ -0,0 +1,9 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; + +export type BaseCreateWorkspaceMigrationAction = { + flatEntity: MetadataFlatEntity; + type: 'create'; + metadataName: T; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts new file mode 100644 index 00000000000..21c77258114 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts @@ -0,0 +1,7 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +export type BaseDeleteWorkspaceMigrationAction = { + entityId: string; + type: 'delete'; + metadataName: T; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts new file mode 100644 index 00000000000..c9027eb1905 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts @@ -0,0 +1,10 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; + +export type BaseUpdateWorkspaceMigrationAction = { + type: 'update'; + metadataName: T; + entityId: string; + updates: FlatEntityPropertiesUpdates; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts index fa398048610..499658a0045 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts @@ -1,11 +1,11 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; import { type MetadataFlatEntityAndRelatedFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/metadata-related-types.type'; +import { type WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; export type FailedFlatEntityValidateAndBuild = { status: 'fail'; - errors: FailedFlatEntityValidation>[]; + errors: FailedFlatEntityValidation[]; optimisticFlatEntityMapsAndRelatedFlatEntityMaps: MetadataFlatEntityAndRelatedFlatEntityMaps; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts index 95a54731e3a..07ad54836ac 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts @@ -1,19 +1,21 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; -import { type MetadataWorkspaceMigrationAction } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type MetadataWorkspaceMigrationAction, + type WorkspaceMigrationActionType, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; export type FlatEntityValidationReturnType< - T extends AllMetadataName, - TOperation extends 'created' | 'deleted' | 'updated', + TMetadataName extends AllMetadataName, + TACtionType extends WorkspaceMigrationActionType, > = | { status: 'success'; action: - | MetadataWorkspaceMigrationAction - | MetadataWorkspaceMigrationAction[]; + | MetadataWorkspaceMigrationAction + | MetadataWorkspaceMigrationAction[]; } | ({ status: 'fail'; - } & FailedFlatEntityValidation>); + } & FailedFlatEntityValidation); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts index 9b8dd4d758a..7785e854ae9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts @@ -1,13 +1,21 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataWorkspaceMigrationAction } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type MetadataWorkspaceMigrationAction, + type WorkspaceMigrationActionType, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; -export type WorkspaceMigrationActionV2 = - MetadataWorkspaceMigrationAction; - -export type WorkspaceMigrationActionTypeV2 = WorkspaceMigrationActionV2['type']; - -export type ExtractAction = Extract< - WorkspaceMigrationActionV2, - { type: T } +export type WorkspaceMigrationActionV2 = MetadataWorkspaceMigrationAction< + AllMetadataName, + WorkspaceMigrationActionType >; + +export type WorkspaceMigrationActionTypeV2 = WorkspaceMigrationActionType; + +export type WorkspaceMigrationActionHandlerKey = + `${WorkspaceMigrationActionType}_${AllMetadataName}`; + +export const buildActionHandlerKey = ( + actionType: WorkspaceMigrationActionType, + metadataName: AllMetadataName, +): WorkspaceMigrationActionHandlerKey => `${actionType}_${metadataName}`; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts index 4293c984f8b..92ecd861f32 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { AgentExceptionCode } from 'src/engine/metadata-modules/ai/ai-agent/agent.exception'; @@ -9,6 +9,7 @@ import { type FlatAgent } from 'src/engine/metadata-modules/flat-agent/types/fla import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateAgentNameUniqueness } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-agent-name-uniqueness.util'; @@ -25,15 +26,16 @@ export class FlatAgentValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_agent', - errors: [], + >): FailedFlatEntityValidation<'agent', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatAgent.id, + universalIdentifier: flatAgent.universalIdentifier, name: flatAgent.name, }, - }; + metadataName: 'agent', + type: 'create', + }); const existingAgents = Object.values(optimisticFlatAgentMaps.byId).filter( isDefined, @@ -71,15 +73,16 @@ export class FlatAgentValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_agent', - errors: [], + >): FailedFlatEntityValidation<'agent', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'agent', + type: 'delete', + }); const existingAgent = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -116,20 +119,21 @@ export class FlatAgentValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_agent', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'agent', 'update'> { const fromFlatAgent = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatAgentMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatAgent?.universalIdentifier, + }, + metadataName: 'agent', + type: 'update', + }); + if (!isDefined(fromFlatAgent)) { validationResult.errors.push({ code: AgentExceptionCode.AGENT_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts index ab8ecb9a867..27654d652af 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { CronTriggerExceptionCode } from 'src/engine/metadata-modules/cron-trigger/exceptions/cron-trigger.exception'; -import { FlatCronTrigger } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -24,18 +24,19 @@ export class FlatCronTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_cron_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'cronTrigger', 'update'> { const existingFlatCronTrigger = optimisticFlatCronTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatCronTrigger?.universalIdentifier, + }, + metadataName: 'cronTrigger', + type: 'update', + }); + if (!isDefined(existingFlatCronTrigger)) { validationResult.errors.push({ code: CronTriggerExceptionCode.CRON_TRIGGER_NOT_FOUND, @@ -70,20 +71,21 @@ export class FlatCronTriggerValidatorService { } public validateFlatCronTriggerDeletion({ - flatEntityToValidate: { id: cronTriggerIdToDelete }, + flatEntityToValidate: { id: cronTriggerIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatCronTriggerMaps: optimisticFlatCronTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_cron_trigger', - errors: [], + >): FailedFlatEntityValidation<'cronTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: cronTriggerIdToDelete, + universalIdentifier, }, - }; + metadataName: 'cronTrigger', + type: 'delete', + }); const existingFlatCronTrigger = optimisticFlatCronTriggerMaps.byId[cronTriggerIdToDelete]; @@ -107,14 +109,15 @@ export class FlatCronTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_cron_trigger', - errors: [], + >): FailedFlatEntityValidation<'cronTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatCronTriggerToValidate.id, + universalIdentifier: flatCronTriggerToValidate.universalIdentifier, }, - }; + metadataName: 'cronTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts index 8fb41d10bfc..0479900a215 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { DatabaseEventTriggerExceptionCode } from 'src/engine/metadata-modules/database-event-trigger/exceptions/database-event-trigger.exception'; -import { FlatDatabaseEventTrigger } from 'src/engine/metadata-modules/database-event-trigger/types/flat-database-event-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,19 +25,20 @@ export class FlatDatabaseEventTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'update_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'databaseEventTrigger', 'update'> { const existingFlatDatabaseEventTrigger = optimisticFlatDatabaseEventTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatDatabaseEventTrigger?.universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'update', + }); + if (!isDefined(existingFlatDatabaseEventTrigger)) { validationResult.errors.push({ code: DatabaseEventTriggerExceptionCode.DATABASE_EVENT_TRIGGER_NOT_FOUND, @@ -72,21 +73,24 @@ export class FlatDatabaseEventTriggerValidatorService { } public validateFlatDatabaseEventTriggerDeletion({ - flatEntityToValidate: { id: databaseEventTriggerIdToDelete }, + flatEntityToValidate: { + id: databaseEventTriggerIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatDatabaseEventTriggerMaps: optimisticFlatDatabaseEventTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: databaseEventTriggerIdToDelete, - }, - }; + >): FailedFlatEntityValidation<'databaseEventTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: databaseEventTriggerIdToDelete, + universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'delete', + }); const existingFlatDatabaseEventTrigger = optimisticFlatDatabaseEventTriggerMaps.byId[ @@ -112,15 +116,16 @@ export class FlatDatabaseEventTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'create_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatDatabaseEventTriggerToValidate.id, - }, - }; + >): FailedFlatEntityValidation<'databaseEventTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatDatabaseEventTriggerToValidate.id, + universalIdentifier: + flatDatabaseEventTriggerToValidate.universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts index 66bae5fffa2..27cfb4955c8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts @@ -9,7 +9,6 @@ import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-enti import { FLAT_FIELD_METADATA_RELATION_PROPERTIES_TO_COMPARE } from 'src/engine/metadata-modules/flat-field-metadata/constants/flat-field-metadata-relation-properties-to-compare.constant'; import { FlatFieldMetadataTypeValidatorService } from 'src/engine/metadata-modules/flat-field-metadata/services/flat-field-metadata-type-validator.service'; import { FlatFieldMetadataRelationPropertiesToCompare } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata-relation-properties-to-compare.type'; -import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; import { isFlatFieldMetadataNameSyncedWithLabel } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-flat-field-metadata-name-synced-with-label.util'; import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; import { validateFlatFieldMetadataNameAvailability } from 'src/engine/metadata-modules/flat-field-metadata/validators/utils/validate-flat-field-metadata-name-availability.util'; @@ -17,6 +16,7 @@ import { validateFlatFieldMetadataName } from 'src/engine/metadata-modules/flat- import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -38,18 +38,20 @@ export class FlatFieldMetadataValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_field', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'fieldMetadata', 'update'> { const existingFlatFieldMetadataToUpdate = optimisticFlatFieldMetadataMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatFieldMetadataToUpdate?.universalIdentifier, + }, + metadataName: 'fieldMetadata', + type: 'update', + }); + if (!isDefined(existingFlatFieldMetadataToUpdate)) { validationResult.errors.push({ code: FieldMetadataExceptionCode.FIELD_METADATA_NOT_FOUND, @@ -66,6 +68,7 @@ export class FlatFieldMetadataValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: flatFieldMetadataToValidate.id, name: flatFieldMetadataToValidate.name, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, @@ -192,21 +195,25 @@ export class FlatFieldMetadataValidatorService { } validateFlatFieldMetadataDeletion({ - flatEntityToValidate: { id: flatFieldMetadataToDeleteId }, + flatEntityToValidate: { + id: flatFieldMetadataToDeleteId, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatFieldMetadataMaps: optimisticFlatFieldMetadataMaps, flatObjectMetadataMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_field', - errors: [], + >): FailedFlatEntityValidation<'fieldMetadata', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatFieldMetadataToDeleteId, + universalIdentifier, }, - }; + metadataName: 'fieldMetadata', + type: 'delete', + }); const flatFieldMetadataToDelete = optimisticFlatFieldMetadataMaps.byId[flatFieldMetadataToDeleteId]; @@ -222,6 +229,7 @@ export class FlatFieldMetadataValidatorService { } validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, name: flatFieldMetadataToDelete.name, objectMetadataId: flatFieldMetadataToDelete.objectMetadataId, }; @@ -279,16 +287,17 @@ export class FlatFieldMetadataValidatorService { remainingFlatEntityMapsToValidate, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - errors: [], + >): FailedFlatEntityValidation<'fieldMetadata', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatFieldMetadataToValidate.id, + universalIdentifier: flatFieldMetadataToValidate.universalIdentifier, name: flatFieldMetadataToValidate.name, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, }, - type: 'create_field', - }; + metadataName: 'fieldMetadata', + type: 'create', + }); const parentFlatObjectMetadata = flatObjectMetadataMaps.byId[flatFieldMetadataToValidate.objectMetadataId]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts index 3760918a75d..cbcc002bc7f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts @@ -12,8 +12,8 @@ import { FlatEntityMapsExceptionCode } from 'src/engine/metadata-modules/flat-en import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { IndexExceptionCode } from 'src/engine/metadata-modules/flat-index-metadata/exceptions/index-exception-code'; -import { FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @Injectable() @@ -22,17 +22,18 @@ export class FlatIndexValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatIndexMaps: optimisticFlatIndexMaps, }, - flatEntityToValidate: { id: indexIdToDelete }, + flatEntityToValidate: { id: indexIdToDelete, universalIdentifier }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.index - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_index', - errors: [], + >): FailedFlatEntityValidation<'index', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: indexIdToDelete, + universalIdentifier, }, - }; + metadataName: 'index', + type: 'delete', + }); const existingFlatIndexToDelete = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: indexIdToDelete, @@ -58,15 +59,16 @@ export class FlatIndexValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.index - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_index', - errors: [], + >): FailedFlatEntityValidation<'index', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatIndexToValidate.id, + universalIdentifier: flatIndexToValidate.universalIdentifier, name: flatIndexToValidate.name, }, - }; + metadataName: 'index', + type: 'create', + }); const existingFlatIndex = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatIndexToValidate.id, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts index 1a9cc78ae43..382535cb83e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts @@ -4,12 +4,12 @@ import { msg, t } from '@lingui/core/macro'; import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; import { validateFlatObjectMetadataIdentifiers } from 'src/engine/metadata-modules/flat-object-metadata/validators/utils/validate-flat-object-metadata-identifiers.util'; import { validateFlatObjectMetadataNameAndLabels } from 'src/engine/metadata-modules/flat-object-metadata/validators/utils/validate-flat-object-metadata-name-and-labels.util'; import { ObjectMetadataExceptionCode } from 'src/engine/metadata-modules/object-metadata/object-metadata.exception'; import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -26,18 +26,19 @@ export class FlatObjectMetadataValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_object', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'objectMetadata', 'update'> { const existingFlatObjectMetadata = optimisticFlatObjectMetadataMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatObjectMetadata?.universalIdentifier, + }, + metadataName: 'objectMetadata', + type: 'update', + }); + if (!isDefined(existingFlatObjectMetadata)) { validationResult.errors.push({ code: ObjectMetadataExceptionCode.OBJECT_METADATA_NOT_FOUND, @@ -56,6 +57,7 @@ export class FlatObjectMetadataValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: existingFlatObjectMetadata.id, namePlural: existingFlatObjectMetadata.namePlural, nameSingular: existingFlatObjectMetadata.nameSingular, @@ -96,21 +98,22 @@ export class FlatObjectMetadataValidatorService { } public validateFlatObjectMetadataDeletion({ - flatEntityToValidate: { id: objectMetadataToDeleteId }, + flatEntityToValidate: { id: objectMetadataToDeleteId, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatObjectMetadataMaps: optimisticFlatObjectMetadataMaps, }, buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_object', - errors: [], + >): FailedFlatEntityValidation<'objectMetadata', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: objectMetadataToDeleteId, + universalIdentifier, }, - }; + metadataName: 'objectMetadata', + type: 'delete', + }); const flatObjectMetadataToDelete = optimisticFlatObjectMetadataMaps.byId[objectMetadataToDeleteId]; @@ -123,7 +126,7 @@ export class FlatObjectMetadataValidatorService { }); } else { validationResult.flatEntityMinimalInformation = { - id: flatObjectMetadataToDelete.id, + ...validationResult.flatEntityMinimalInformation, namePlural: flatObjectMetadataToDelete.namePlural, nameSingular: flatObjectMetadataToDelete.nameSingular, }; @@ -160,17 +163,17 @@ export class FlatObjectMetadataValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const objectValidationResult: FailedFlatEntityValidation = - { - type: 'create_object', - errors: [], - flatEntityMinimalInformation: { - id: flatObjectMetadataToValidate.id, - namePlural: flatObjectMetadataToValidate.namePlural, - nameSingular: flatObjectMetadataToValidate.nameSingular, - }, - }; + >): FailedFlatEntityValidation<'objectMetadata', 'create'> { + const objectValidationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatObjectMetadataToValidate.id, + universalIdentifier: flatObjectMetadataToValidate.universalIdentifier, + namePlural: flatObjectMetadataToValidate.namePlural, + nameSingular: flatObjectMetadataToValidate.nameSingular, + }, + metadataName: 'objectMetadata', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts index c1fc8e94580..898549df42c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type'; import { PageLayoutExceptionCode } from 'src/engine/metadata-modules/page-layout/exceptions/page-layout.exception'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -22,15 +22,16 @@ export class FlatPageLayoutTabValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatPageLayoutMaps }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout_tab', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutTab', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayoutTab.id, + universalIdentifier: flatPageLayoutTab.universalIdentifier, title: flatPageLayoutTab.title, }, - }; + metadataName: 'pageLayoutTab', + type: 'create', + }); const referencedPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatPageLayoutTab.pageLayoutId, @@ -55,15 +56,16 @@ export class FlatPageLayoutTabValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout_tab', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutTab', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, title: flatEntityToValidate.title, }, - }; + metadataName: 'pageLayoutTab', + type: 'delete', + }); const existingPageLayoutTab = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -90,20 +92,21 @@ export class FlatPageLayoutTabValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout_tab', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayoutTab', 'update'> { const fromFlatPageLayoutTab = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatPageLayoutTabMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatPageLayoutTab?.universalIdentifier, + }, + metadataName: 'pageLayoutTab', + type: 'update', + }); + if (!isDefined(fromFlatPageLayoutTab)) { validationResult.errors.push({ code: PAGE_LAYOUT_TAB_EXCEPTION_CODE.PAGE_LAYOUT_TAB_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts index d6e01be6120..42a547afd0e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts @@ -1,12 +1,12 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -20,15 +20,16 @@ export class FlatPageLayoutValidatorService { flatEntityToValidate: flatPageLayout, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout', - errors: [], + >): FailedFlatEntityValidation<'pageLayout', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayout.id, + universalIdentifier: flatPageLayout.universalIdentifier, name: flatPageLayout.name, }, - }; + metadataName: 'pageLayout', + type: 'create', + }); return validationResult; } @@ -40,15 +41,16 @@ export class FlatPageLayoutValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout', - errors: [], + >): FailedFlatEntityValidation<'pageLayout', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'pageLayout', + type: 'delete', + }); const existingPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -75,20 +77,21 @@ export class FlatPageLayoutValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayout', 'update'> { const fromFlatPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatPageLayoutMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatPageLayout?.universalIdentifier, + }, + metadataName: 'pageLayout', + type: 'update', + }); + if (!isDefined(fromFlatPageLayout)) { validationResult.errors.push({ code: PAGE_LAYOUT_EXCEPTION_CODE.PAGE_LAYOUT_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts index bf6001a9d1c..058341dfd13 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts @@ -5,10 +5,10 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { FlatPageLayoutWidget } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget.type'; import { PageLayoutTabExceptionCode } from 'src/engine/metadata-modules/page-layout-tab/exceptions/page-layout-tab.exception'; import { PageLayoutWidgetExceptionCode } from 'src/engine/metadata-modules/page-layout-widget/exceptions/page-layout-widget.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,18 +25,19 @@ export class FlatPageLayoutWidgetValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout_widget', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayoutWidget', 'update'> { const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatPageLayoutWidget?.universalIdentifier, + }, + metadataName: 'pageLayoutWidget', + type: 'update', + }); + if (!isDefined(existingFlatPageLayoutWidget)) { validationResult.errors.push({ code: PageLayoutWidgetExceptionCode.PAGE_LAYOUT_WIDGET_NOT_FOUND, @@ -55,6 +56,7 @@ export class FlatPageLayoutWidgetValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatPageLayoutWidget.id, pageLayoutTabId: updatedFlatPageLayoutWidget.pageLayoutTabId, }; @@ -63,20 +65,24 @@ export class FlatPageLayoutWidgetValidatorService { } public validateFlatPageLayoutWidgetDeletion({ - flatEntityToValidate: { id: pageLayoutWidgetIdToDelete }, + flatEntityToValidate: { + id: pageLayoutWidgetIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatPageLayoutWidgetMaps: optimisticFlatPageLayoutWidgetMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout_widget', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutWidget', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: pageLayoutWidgetIdToDelete, + universalIdentifier, }, - }; + metadataName: 'pageLayoutWidget', + type: 'delete', + }); const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[pageLayoutWidgetIdToDelete]; @@ -102,15 +108,16 @@ export class FlatPageLayoutWidgetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout_widget', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutWidget', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayoutWidgetToValidate.id, + universalIdentifier: flatPageLayoutWidgetToValidate.universalIdentifier, pageLayoutTabId: flatPageLayoutWidgetToValidate.pageLayoutTabId, }, - }; + metadataName: 'pageLayoutWidget', + type: 'create', + }); const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts index 324cfda86e8..1deb255ed81 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts @@ -5,9 +5,9 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatRoleTarget } from 'src/engine/metadata-modules/flat-role-target/types/flat-role-target.type'; import { RoleTargetExceptionCode } from 'src/engine/metadata-modules/role/exceptions/role-target.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateFlatRoleTargetAssignationAvailability } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-flat-role-target-assignation-availability.util'; @@ -24,14 +24,15 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRoleTargetToValidate.id, + universalIdentifier: flatRoleTargetToValidate.universalIdentifier, }, - }; + metadataName: 'roleTarget', + type: 'create', + }); const existingRoleTarget = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatRoleTargetToValidate.id, @@ -82,14 +83,15 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRoleTargetToValidate.id, + universalIdentifier: flatRoleTargetToValidate.universalIdentifier, }, - }; + metadataName: 'roleTarget', + type: 'delete', + }); const existingRoleTarget = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatRoleTargetToValidate.id, @@ -118,16 +120,17 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'update'> { + const existingRoleTarget = optimisticFlatRoleTargetMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingRoleTarget?.universalIdentifier, }, - }; - - const existingRoleTarget = optimisticFlatRoleTargetMaps.byId[flatEntityId]; + metadataName: 'roleTarget', + type: 'update', + }); if (!isDefined(existingRoleTarget)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts index c3a61241a92..f7d2e7e20d1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { type FlatRole } from 'src/engine/metadata-modules/flat-role/types/flat-role.type'; import { PermissionsExceptionCode } from 'src/engine/metadata-modules/permissions/permissions.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateRoleIsEditable } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-role-is-editable.util'; @@ -25,15 +25,16 @@ export class FlatRoleValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, label: flatEntityToValidate.label, }, - }; + metadataName: 'role', + type: 'create', + }); const existingRoles = Object.values(optimisticFlatRoleMaps.byId).filter( isDefined, @@ -69,15 +70,16 @@ export class FlatRoleValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, label: flatEntityToValidate.label, }, - }; + metadataName: 'role', + type: 'delete', + }); const existingRole = optimisticFlatRoleMaps.byId[flatEntityToValidate.id]; @@ -110,16 +112,17 @@ export class FlatRoleValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'update'> { + const fromFlatRole = optimisticFlatRoleMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: fromFlatRole?.universalIdentifier, }, - }; - - const fromFlatRole = optimisticFlatRoleMaps.byId[flatEntityId]; + metadataName: 'role', + type: 'update', + }); if (!isDefined(fromFlatRole)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts index 6fd895bdbd8..169b5e4c1b9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { RouteTriggerExceptionCode } from 'src/engine/metadata-modules/route-trigger/exceptions/route-trigger.exception'; -import { FlatRouteTrigger } from 'src/engine/metadata-modules/route-trigger/types/flat-route-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -24,18 +24,19 @@ export class FlatRouteTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_route_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'routeTrigger', 'update'> { const existingFlatRouteTrigger = optimisticFlatRouteTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatRouteTrigger?.universalIdentifier, + }, + metadataName: 'routeTrigger', + type: 'update', + }); + if (!isDefined(existingFlatRouteTrigger)) { validationResult.errors.push({ code: RouteTriggerExceptionCode.ROUTE_NOT_FOUND, @@ -70,20 +71,21 @@ export class FlatRouteTriggerValidatorService { } public validateFlatRouteTriggerDeletion({ - flatEntityToValidate: { id: routeTriggerIdToDelete }, + flatEntityToValidate: { id: routeTriggerIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatRouteTriggerMaps: optimisticFlatRouteTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_route_trigger', - errors: [], + >): FailedFlatEntityValidation<'routeTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: routeTriggerIdToDelete, + universalIdentifier, }, - }; + metadataName: 'routeTrigger', + type: 'delete', + }); const existingFlatRouteTrigger = optimisticFlatRouteTriggerMaps.byId[routeTriggerIdToDelete]; @@ -107,14 +109,15 @@ export class FlatRouteTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_route_trigger', - errors: [], + >): FailedFlatEntityValidation<'routeTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRouteTriggerToValidate.id, + universalIdentifier: flatRouteTriggerToValidate.universalIdentifier, }, - }; + metadataName: 'routeTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts index 940f659171c..7134b9ed85f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts @@ -8,8 +8,8 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { RowLevelPermissionPredicateGroupExceptionCode } from 'src/engine/metadata-modules/row-level-permission-predicate/exceptions/row-level-permission-predicate-group.exception'; -import { type FlatRowLevelPermissionPredicateGroup } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -21,7 +21,7 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'create'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, @@ -30,14 +30,14 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'create_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateGroupToValidate.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateGroupToValidate.id, + universalIdentifier: flatPredicateGroupToValidate.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'create', + }); const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatPredicateGroupToValidate.id]; @@ -94,21 +94,21 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'delete'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, } = optimisticFlatEntityMapsAndRelatedFlatEntityMaps as Partial<{ flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateGroupToDelete.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateGroupToDelete.id, + universalIdentifier: flatPredicateGroupToDelete.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'delete', + }); const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatPredicateGroupToDelete.id]; @@ -130,7 +130,7 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'update'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, @@ -139,18 +139,19 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'update_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingPredicateGroup?.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'update', + }); + if (!isDefined(existingPredicateGroup)) { validationResult.errors.push({ code: RowLevelPermissionPredicateGroupExceptionCode.ROW_LEVEL_PERMISSION_PREDICATE_GROUP_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts index ea514f4ddee..8635ae2325b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts @@ -8,8 +8,8 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { RowLevelPermissionPredicateExceptionCode } from 'src/engine/metadata-modules/row-level-permission-predicate/exceptions/row-level-permission-predicate.exception'; -import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -21,7 +21,7 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'create'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps, flatFieldMetadataMaps, @@ -36,14 +36,14 @@ export class FlatRowLevelPermissionPredicateValidatorService { flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'create_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateToValidate.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateToValidate.id, + universalIdentifier: flatPredicateToValidate.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'create', + }); const existingPredicate = optimisticFlatPredicateMaps?.byId[flatPredicateToValidate.id]; @@ -128,19 +128,19 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'delete'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps } = optimisticFlatEntityMapsAndRelatedFlatEntityMaps as Partial<{ flatRowLevelPermissionPredicateMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateToDelete.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateToDelete.id, + universalIdentifier: flatPredicateToDelete.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'delete', + }); const existingPredicate = optimisticFlatPredicateMaps?.byId[flatPredicateToDelete.id]; @@ -162,7 +162,7 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'update'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps, flatFieldMetadataMaps, @@ -176,17 +176,18 @@ export class FlatRowLevelPermissionPredicateValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'update_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; const existingPredicate = optimisticFlatPredicateMaps?.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingPredicate?.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'update', + }); + if (!isDefined(existingPredicate)) { validationResult.errors.push({ code: RowLevelPermissionPredicateExceptionCode.ROW_LEVEL_PERMISSION_PREDICATE_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts index 6c0585a6992..73f803382d1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { ServerlessFunctionExceptionCode } from 'src/engine/metadata-modules/serverless-function/serverless-function.exception'; -import { FlatServerlessFunction } from 'src/engine/metadata-modules/serverless-function/types/flat-serverless-function.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -21,19 +21,20 @@ export class FlatServerlessFunctionValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'update_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'serverlessFunction', 'update'> { const existingFlatServerlessFunction = optimisticFlatServerlessFunctionMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatServerlessFunction?.universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'update', + }); + if (!isDefined(existingFlatServerlessFunction)) { validationResult.errors.push({ code: ServerlessFunctionExceptionCode.SERVERLESS_FUNCTION_NOT_FOUND, @@ -46,21 +47,24 @@ export class FlatServerlessFunctionValidatorService { } public validateFlatServerlessFunctionDeletion({ - flatEntityToValidate: { id: serverlessFunctionIdToDelete }, + flatEntityToValidate: { + id: serverlessFunctionIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatServerlessFunctionMaps: optimisticFlatServerlessFunctionMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: serverlessFunctionIdToDelete, - }, - }; + >): FailedFlatEntityValidation<'serverlessFunction', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: serverlessFunctionIdToDelete, + universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'delete', + }); const existingFlatServerlessFunction = optimisticFlatServerlessFunctionMaps.byId[serverlessFunctionIdToDelete]; @@ -83,15 +87,16 @@ export class FlatServerlessFunctionValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'create_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: flatServerlessFunctionToValidate.id, - }, - }; + >): FailedFlatEntityValidation<'serverlessFunction', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatServerlessFunctionToValidate.id, + universalIdentifier: + flatServerlessFunctionToValidate.universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts index 319c5bd4bf6..d2f0615631f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; @@ -10,6 +10,7 @@ import { SkillExceptionCode } from 'src/engine/metadata-modules/skill/skill.exce import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateSkillNameUniqueness } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-skill-name-uniqueness.util'; @@ -29,15 +30,16 @@ export class FlatSkillValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_skill', - errors: [], + >): FailedFlatEntityValidation<'skill', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatSkill.id, + universalIdentifier: flatSkill.universalIdentifier, name: flatSkill.name, }, - }; + metadataName: 'skill', + type: 'create', + }); const existingSkills = Object.values(optimisticFlatSkillMaps.byId).filter( isDefined, @@ -65,15 +67,16 @@ export class FlatSkillValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_skill', - errors: [], + >): FailedFlatEntityValidation<'skill', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'skill', + type: 'delete', + }); const existingSkill = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -110,20 +113,21 @@ export class FlatSkillValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_skill', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'skill', 'update'> { const fromFlatSkill = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatSkillMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatSkill?.universalIdentifier, + }, + metadataName: 'skill', + type: 'update', + }); + if (!isDefined(fromFlatSkill)) { validationResult.errors.push({ code: SkillExceptionCode.SKILL_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts index 7253b8444a5..b24be2433dd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts @@ -6,10 +6,10 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.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 { FlatViewField } from 'src/engine/metadata-modules/flat-view-field/types/flat-view-field.type'; import { isViewFieldInLowestPosition } from 'src/engine/metadata-modules/flat-view-field/utils/is-view-field-in-lowest-position.util'; import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateLabelIdentifierFieldMetadataIdFlatViewField } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-label-identifier-field-metadata-id-flat-view-field.util'; @@ -29,18 +29,19 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_field', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewField', 'update'> { const existingFlatViewField = optimisticFlatViewFieldMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatViewField?.universalIdentifier, + }, + metadataName: 'viewField', + type: 'update', + }); + if (!isDefined(existingFlatViewField)) { validationResult.errors.push({ code: ViewExceptionCode.INVALID_VIEW_DATA, @@ -59,6 +60,7 @@ export class FlatViewFieldValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatViewField.id, viewId: updatedFlatViewField.viewId, fieldMetadataId: updatedFlatViewField.fieldMetadataId, @@ -119,7 +121,7 @@ export class FlatViewFieldValidatorService { } public validateFlatViewFieldDeletion({ - flatEntityToValidate: { id: viewFieldIdToDelete }, + flatEntityToValidate: { id: viewFieldIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewFieldMaps: optimisticFlatViewFieldMaps, flatFieldMetadataMaps, @@ -127,14 +129,15 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_field', - errors: [], + >): FailedFlatEntityValidation<'viewField', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: viewFieldIdToDelete, + universalIdentifier, }, - }; + metadataName: 'viewField', + type: 'delete', + }); const existingFlatViewField = optimisticFlatViewFieldMaps.byId[viewFieldIdToDelete]; @@ -191,16 +194,17 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_field', - errors: [], + >): FailedFlatEntityValidation<'viewField', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFieldToValidate.id, + universalIdentifier: flatViewFieldToValidate.universalIdentifier, viewId: flatViewFieldToValidate.viewId, fieldMetadataId: flatViewFieldToValidate.fieldMetadataId, }, - }; + metadataName: 'viewField', + type: 'create', + }); const existingFlatViewField = optimisticFlatViewFieldMaps.byId[flatViewFieldToValidate.id]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts index 0d9cae1d96d..fda55c7b656 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts @@ -1,12 +1,11 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { type FlatViewFilterGroupMaps } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group-maps.type'; -import { type FlatViewFilterGroup } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group.type'; import { ViewFilterGroupExceptionCode } from 'src/engine/metadata-modules/view-filter-group/exceptions/view-filter-group.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { validateFlatEntityCircularDependency } from 'src/engine/workspace-manager/workspace-migration-v2/utils/validate-flat-entity-circular-dependency.util'; @@ -14,6 +13,7 @@ import { type FailedFlatEntityValidation, type FlatEntityValidationError, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -82,14 +82,15 @@ export class FlatViewFilterGroupValidatorService { remainingFlatEntityMapsToValidate, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_filter_group', - errors: [], + >): FailedFlatEntityValidation<'viewFilterGroup', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterGroupToValidate.id, + universalIdentifier: flatViewFilterGroupToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilterGroup', + type: 'create', + }); const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterGroupToValidate.id, @@ -162,14 +163,15 @@ export class FlatViewFilterGroupValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_filter_group', - errors: [], + >): FailedFlatEntityValidation<'viewFilterGroup', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterGroupToValidate.id, + universalIdentifier: flatViewFilterGroupToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilterGroup', + type: 'delete', + }); const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterGroupToValidate.id, @@ -195,18 +197,19 @@ export class FlatViewFilterGroupValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_filter_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewFilterGroup', 'update'> { const existingViewFilterGroup = optimisticFlatViewFilterGroupMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingViewFilterGroup?.universalIdentifier, + }, + metadataName: 'viewFilterGroup', + type: 'update', + }); + if (!isDefined(existingViewFilterGroup)) { validationResult.errors.push({ code: ViewFilterGroupExceptionCode.VIEW_FILTER_GROUP_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts index df53cf8d2e8..eb429c0c5fd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatViewFilter } from 'src/engine/metadata-modules/flat-view-filter/types/flat-view-filter.type'; import { ViewFilterExceptionCode } from 'src/engine/metadata-modules/view-filter/exceptions/view-filter.exception'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -26,14 +26,15 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterToValidate.id, + universalIdentifier: flatViewFilterToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilter', + type: 'create', + }); const existingViewFilter = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterToValidate.id, @@ -99,14 +100,15 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterToValidate.id, + universalIdentifier: flatViewFilterToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilter', + type: 'delete', + }); const existingViewFilter = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterToValidate.id, @@ -136,16 +138,17 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'update'> { + const existingViewFilter = optimisticFlatViewFilterMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingViewFilter?.universalIdentifier, }, - }; - - const existingViewFilter = optimisticFlatViewFilterMaps.byId[flatEntityId]; + metadataName: 'viewFilter', + type: 'update', + }); if (!isDefined(existingViewFilter)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts index 1a0d8b2dc07..b9591b2d41c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts @@ -5,9 +5,9 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { FlatViewGroup } from 'src/engine/metadata-modules/flat-view-group/types/flat-view-group.type'; import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -23,18 +23,19 @@ export class FlatViewGroupValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewGroup', 'update'> { const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatViewGroup?.universalIdentifier, + }, + metadataName: 'viewGroup', + type: 'update', + }); + if (!isDefined(existingFlatViewGroup)) { validationResult.errors.push({ code: ViewExceptionCode.INVALID_VIEW_DATA, @@ -61,6 +62,7 @@ export class FlatViewGroupValidatorService { } validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatViewGroup.id, viewId: updatedFlatViewGroup.viewId, }; @@ -82,20 +84,21 @@ export class FlatViewGroupValidatorService { } public validateFlatViewGroupDeletion({ - flatEntityToValidate: { id: viewGroupIdToDelete }, + flatEntityToValidate: { id: viewGroupIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewGroupMaps: optimisticFlatViewGroupMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_group', - errors: [], + >): FailedFlatEntityValidation<'viewGroup', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: viewGroupIdToDelete, + universalIdentifier, }, - }; + metadataName: 'viewGroup', + type: 'delete', + }); const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[viewGroupIdToDelete]; @@ -119,15 +122,16 @@ export class FlatViewGroupValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_group', - errors: [], + >): FailedFlatEntityValidation<'viewGroup', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewGroupToValidate.id, + universalIdentifier: flatViewGroupToValidate.universalIdentifier, viewId: flatViewGroupToValidate.viewId, }, - }; + metadataName: 'viewGroup', + type: 'create', + }); const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[flatViewGroupToValidate.id]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts index 28451a9fbc1..38d7b2bfba4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts @@ -9,6 +9,7 @@ import { ViewType } from 'src/engine/metadata-modules/view/enums/view-type.enum' import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,16 +26,17 @@ export class FlatViewValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'update'> { + const existingFlatView = optimisticFlatViewMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingFlatView?.universalIdentifier, }, - }; - - const existingFlatView = optimisticFlatViewMaps.byId[flatEntityId]; + metadataName: 'view', + type: 'update', + }); if (!isDefined(existingFlatView)) { validationResult.errors.push({ @@ -146,22 +148,24 @@ export class FlatViewValidatorService { } public validateFlatViewDeletion({ - flatEntityToValidate: { id: viewIdToDelete }, + flatEntityToValidate, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewMaps: optimisticFlatViewMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { - id: viewIdToDelete, + id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, }, - }; + metadataName: 'view', + type: 'delete', + }); - const existingFlatView = optimisticFlatViewMaps.byId[viewIdToDelete]; + const existingFlatView = + optimisticFlatViewMaps.byId[flatEntityToValidate.id]; if (!isDefined(existingFlatView)) { validationResult.errors.push({ @@ -183,14 +187,15 @@ export class FlatViewValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewToValidate.id, + universalIdentifier: flatViewToValidate.universalIdentifier, }, - }; + metadataName: 'view', + type: 'create', + }); const optimisticFlatObjectMetadata = flatObjectMetadataMaps.byId[flatViewToValidate.objectMetadataId]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts index 06cafe2c1c7..ec2309b223f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { CreateAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_agent', + 'create', + 'agent', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatAgentMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts index 4cde07d58f2..5845d4b237a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { DeleteAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_agent', + 'delete', + 'agent', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatAgentMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const agentRepository = queryRunner.manager.getRepository(AgentEntity); - await agentRepository.delete({ id: flatEntityId, workspaceId }); + await agentRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts index edc15848f03..199f4c62540 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts @@ -1,64 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { UpdateAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @Injectable() export class UpdateAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_agent', + 'update', + 'agent', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingAgent = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatAgentMaps, - }); - - const updatedAgent = { - ...existingAgent, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatAgentMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedAgent, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const agentRepository = queryRunner.manager.getRepository(AgentEntity); await agentRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts index 121d0609cda..9577094f71f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_cron_trigger', + 'create', + 'cronTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { cronTrigger } = action; + const { flatEntity: cronTrigger } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts index 1859ee3cb3f..dd39cbdd6a6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_cron_trigger', + 'delete', + 'cronTrigger', ) { constructor() { super(); @@ -18,13 +19,13 @@ export class DeleteCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { cronTriggerId } = action; + const { entityId } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); await cronTriggerRepository.delete({ - id: cronTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts index 250a3ed696e..9d8f980af8c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_cron_trigger', + 'update', + 'cronTrigger', ) { constructor() { super(); @@ -19,13 +20,13 @@ export class UpdateCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { cronTriggerId } = action; + const { entityId } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); await cronTriggerRepository.update( - cronTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts index 996e7a31ec6..601dfbb0cd8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_database_event_trigger', + 'create', + 'databaseEventTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { databaseEventTrigger } = action; + const { flatEntity: databaseEventTrigger } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts index 6368d0c7775..f3473d9c35c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_database_event_trigger', + 'delete', + 'databaseEventTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { databaseEventTriggerId } = action; + const { entityId } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( @@ -26,7 +27,7 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig ); await databaseEventTriggerRepository.delete({ - id: databaseEventTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts index 7e3409c663b..26aa5ab8280 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_database_event_trigger', + 'update', + 'databaseEventTrigger', ) { constructor() { super(); @@ -19,7 +20,7 @@ export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { databaseEventTriggerId } = action; + const { entityId } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( @@ -27,7 +28,7 @@ export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMig ); await databaseEventTriggerRepository.update( - databaseEventTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts index 2b259d45142..718ee3abfae 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts @@ -3,14 +3,9 @@ import { Injectable } from '@nestjs/common'; import { RelationType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-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 { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; @@ -28,7 +23,8 @@ import { @Injectable() export class CreateFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_field', + 'create', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -36,26 +32,6 @@ export class CreateFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps: existingFlatFieldMetadataMaps } = - allFlatEntityMaps; - const updatedFlatFieldMetadataMaps = action.flatFieldMetadatas.reduce( - (flatFieldMetadataMaps, flatFieldMetadata) => - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatFieldMetadata, - flatEntityMaps: flatFieldMetadataMaps, - }), - existingFlatFieldMetadataMaps, - ); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts index 95f9e60872a..effd929622b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts @@ -2,14 +2,9 @@ import { Injectable } from '@nestjs/common'; import { In } from 'typeorm'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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 { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { type DeleteFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2'; @@ -24,7 +19,8 @@ import { @Injectable() export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_field', + 'delete', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -32,24 +28,6 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps } = allFlatEntityMaps; - const { fieldMetadataId } = action; - - const updatedFlatFieldMetadataMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ) { @@ -59,10 +37,10 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct FieldMetadataEntity, ); - const { fieldMetadataId } = action; + const { entityId } = action; await fieldMetadataRepository.delete({ - id: In([fieldMetadataId]), + id: In([entityId]), }); } @@ -75,7 +53,7 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, fieldMetadataId } = action; + const { objectMetadataId, entityId } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, @@ -84,7 +62,7 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct const fieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatFieldMetadataMaps, - flatEntityId: fieldMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts index e48b860764a..c08f399dd4d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts @@ -4,19 +4,14 @@ import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { ColumnType, type QueryRunner } from 'typeorm'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; import { getCompositeTypeOrThrow } from 'src/engine/metadata-modules/field-metadata/utils/get-composite-type-or-throw.util'; import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { FlatEntityPropertiesToCompare } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-to-compare.type'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; 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'; @@ -57,7 +52,8 @@ type UpdateFieldPropertyUpdateHandlerArgs< @Injectable() export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_field', + 'update', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -65,43 +61,6 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps } = allFlatEntityMaps; - const { fieldMetadataId } = action; - - const existingFlatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow( - { - flatEntityId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }, - ); - - if (!isDefined(existingFlatFieldMetadata)) { - throw new WorkspaceMigrationRunnerException( - `Workspace migration failed: Field metadata not found in cache`, - WorkspaceMigrationRunnerExceptionCode.FIELD_METADATA_NOT_FOUND, - ); - } - - const updatedFlatFieldMetadata = { - ...existingFlatFieldMetadata, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatFieldMetadataMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedFlatFieldMetadata, - flatEntityMaps: flatFieldMetadataMaps, - }); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { @@ -111,10 +70,10 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct FieldMetadataEntity, ); - const { fieldMetadataId } = action; + const { entityId } = action; await fieldMetadataRepository.update( - fieldMetadataId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } @@ -128,7 +87,7 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, fieldMetadataId, updates } = action; + const { objectMetadataId, entityId, updates } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityId: objectMetadataId, @@ -141,7 +100,7 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct }); const currentFlatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: fieldMetadataId, + flatEntityId: entityId, flatEntityMaps: flatFieldMetadataMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts index 756999ec329..b6ad9c4c4e5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts @@ -1,40 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared/utils'; -import { compositeTypeDefinitions } from 'twenty-shared/types'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; - -import { - WorkspaceQueryRunnerException, - WorkspaceQueryRunnerExceptionCode, -} from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.exception'; -import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; -import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; -import { - FlatEntityMapsException, - FlatEntityMapsExceptionCode, -} from 'src/engine/metadata-modules/flat-entity/exceptions/flat-entity-maps.exception'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-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 { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; -import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; -import { FlatIndexFieldMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; -import { IndexFieldMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-field-metadata.entity'; -import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { type CreateIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + createIndexInWorkspaceSchema, + insertIndexMetadata, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; -import { getWorkspaceSchemaContextForMigration } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/get-workspace-schema-context-for-migration.util'; @Injectable() export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_index', + 'create', + 'index', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -42,54 +22,15 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps: { flatIndexMaps }, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - return { - flatIndexMaps: addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: action.flatIndexMetadata, - flatEntityMaps: flatIndexMaps, - }), - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const indexMetadataRepository = - queryRunner.manager.getRepository( - IndexMetadataEntity, - ); - const indexFieldMetadataRepository = - queryRunner.manager.getRepository( - IndexFieldMetadataEntity, - ); - const { - flatIndexMetadata: { flatIndexFieldMetadatas, ...flatIndexMetadata }, - } = action; - - const indexInsertResult = - await indexMetadataRepository.insert(flatIndexMetadata); - - if (indexInsertResult.identifiers.length !== 1) { - throw new WorkspaceQueryRunnerException( - 'Failed to create index metadata', - WorkspaceQueryRunnerExceptionCode.INTERNAL_SERVER_ERROR, - ); - } - const indexMetadataId = indexInsertResult.identifiers[0].id; - - const indexFieldMetadataToInsert = flatIndexFieldMetadatas.map( - (flatIndexFieldMetadata) => ({ - ...flatIndexFieldMetadata, - indexMetadataId, - }), - ); - - await indexFieldMetadataRepository.insert(indexFieldMetadataToInsert); + await insertIndexMetadata({ + flatIndexMetadata: action.flatEntity, + queryRunner, + }); } async executeForWorkspaceSchema( @@ -97,7 +38,7 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct ): Promise { const { allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, - action: { flatIndexMetadata }, + action: { flatEntity: flatIndexMetadata }, queryRunner, workspaceId, } = context; @@ -106,83 +47,14 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct flatEntityMaps: flatObjectMetadataMaps, flatEntityId: flatIndexMetadata.objectMetadataId, }); - const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ - workspaceId, + + await createIndexInWorkspaceSchema({ + flatIndexMetadata, flatObjectMetadata, - }); - - const quotedColumns = this.computeFlatIndexFieldColumnNames({ - flatIndexFieldMetadatas: flatIndexMetadata.flatIndexFieldMetadatas, flatFieldMetadataMaps, - }); - - await this.workspaceSchemaManagerService.indexManager.createIndex({ - index: { - columns: quotedColumns, - name: flatIndexMetadata.name, - isUnique: flatIndexMetadata.isUnique, - type: flatIndexMetadata.indexType, - where: flatIndexMetadata.indexWhereClause ?? undefined, - }, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, queryRunner, - schemaName, - tableName, - }); - } - - private computeFlatIndexFieldColumnNames({ - flatIndexFieldMetadatas, - flatFieldMetadataMaps, - }: { - flatIndexFieldMetadatas: FlatIndexFieldMetadata[]; - flatFieldMetadataMaps: FlatEntityMaps; - }): string[] { - return flatIndexFieldMetadatas.flatMap(({ fieldMetadataId }) => { - const flatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }); - - if (!isDefined(flatFieldMetadata)) { - throw new FlatEntityMapsException( - 'Index field related field metadata not found', - FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, - ); - } - - if (isMorphOrRelationFlatFieldMetadata(flatFieldMetadata)) { - if (!isDefined(flatFieldMetadata.settings?.joinColumnName)) { - throw new FlatEntityMapsException( - 'Join column name is not defined for relation field', - FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, - ); - } - - return flatFieldMetadata.settings.joinColumnName; - } - - if (isCompositeFieldMetadataType(flatFieldMetadata.type)) { - const compositeType = compositeTypeDefinitions.get( - flatFieldMetadata.type, - ); - - if (!compositeType) { - throw new FlatEntityMapsException( - 'Composite type not found', - FlatEntityMapsExceptionCode.INTERNAL_SERVER_ERROR, - ); - } - - const uniqueCompositeProperties = compositeType.properties.filter( - (property) => property.isIncludedInUniqueConstraint, - ); - - return uniqueCompositeProperties.map((subField) => - computeCompositeColumnName(flatFieldMetadata.name, subField), - ); - } - - return flatFieldMetadata.name; + workspaceId, }); } } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts index b53764b7b6a..c72b34cdb43 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts @@ -1,22 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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 { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; 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-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + deleteIndexMetadata, + dropIndexFromWorkspaceSchema, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_index', + 'delete', + 'index', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -24,31 +23,14 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps: { flatIndexMaps }, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - return { - flatIndexMaps: deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: action.flatIndexMetadataId, - flatEntityMaps: flatIndexMaps, - }), - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const indexMetadataRepository = - queryRunner.manager.getRepository( - IndexMetadataEntity, - ); - const { flatIndexMetadataId } = action; - - await indexMetadataRepository.delete({ - id: flatIndexMetadataId, + await deleteIndexMetadata({ + entityId: action.entityId, + queryRunner, }); } @@ -64,15 +46,16 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct const flatIndexMetadataToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow( { - flatEntityId: action.flatIndexMetadataId, + flatEntityId: action.entityId, flatEntityMaps: flatIndexMaps, }, ); const schemaName = getWorkspaceSchemaName(workspaceId); - await this.workspaceSchemaManagerService.indexManager.dropIndex({ + await dropIndexFromWorkspaceSchema({ indexName: flatIndexMetadataToDelete.name, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, queryRunner, schemaName, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts new file mode 100644 index 00000000000..1c394c9f63d --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts @@ -0,0 +1,95 @@ +import { Injectable } from '@nestjs/common'; + +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/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 { 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 UpdateIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + createIndexInWorkspaceSchema, + deleteIndexMetadata, + dropIndexFromWorkspaceSchema, + insertIndexMetadata, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; +import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; + +@Injectable() +export class UpdateIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( + 'update', + 'index', +) { + constructor( + private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, + ) { + super(); + } + + async executeForMetadata( + context: WorkspaceMigrationActionRunnerArgs, + ): Promise { + const { action, queryRunner } = context; + + // Delete old index metadata + await deleteIndexMetadata({ + entityId: action.entityId, + queryRunner, + }); + + // Create new index metadata + await insertIndexMetadata({ + flatIndexMetadata: action.updatedFlatEntity, + queryRunner, + }); + } + + async executeForWorkspaceSchema( + context: WorkspaceMigrationActionRunnerArgs, + ): Promise { + const { + action, + allFlatEntityMaps: { + flatIndexMaps, + flatObjectMetadataMaps, + flatFieldMetadataMaps, + }, + queryRunner, + workspaceId, + } = context; + + const { entityId, updatedFlatEntity } = action; + + // Get the old index to drop it + const flatIndexMetadataToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow( + { + flatEntityId: entityId, + flatEntityMaps: flatIndexMaps, + }, + ); + + const schemaName = getWorkspaceSchemaName(workspaceId); + + // Drop old index + await dropIndexFromWorkspaceSchema({ + indexName: flatIndexMetadataToDelete.name, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, + queryRunner, + schemaName, + }); + + // Create new index + const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityMaps: flatObjectMetadataMaps, + flatEntityId: updatedFlatEntity.objectMetadataId, + }); + + await createIndexInWorkspaceSchema({ + flatIndexMetadata: updatedFlatEntity, + flatObjectMetadata, + flatFieldMetadataMaps, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, + queryRunner, + workspaceId, + }); + } +} diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts new file mode 100644 index 00000000000..a53cf42085d --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts @@ -0,0 +1,194 @@ +import { type QueryRunner } from 'typeorm'; +import { compositeTypeDefinitions } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; + +import { + WorkspaceQueryRunnerException, + WorkspaceQueryRunnerExceptionCode, +} from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.exception'; +import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; +import { + FlatEntityMapsException, + FlatEntityMapsExceptionCode, +} from 'src/engine/metadata-modules/flat-entity/exceptions/flat-entity-maps.exception'; +import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; +import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; +import { + type FlatIndexFieldMetadata, + type FlatIndexMetadata, +} from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; +import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; +import { IndexFieldMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-field-metadata.entity'; +import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; +import { type WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; +import { getWorkspaceSchemaContextForMigration } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/get-workspace-schema-context-for-migration.util'; + +export const computeFlatIndexFieldColumnNames = ({ + flatIndexFieldMetadatas, + flatFieldMetadataMaps, +}: { + flatIndexFieldMetadatas: FlatIndexFieldMetadata[]; + flatFieldMetadataMaps: FlatEntityMaps; +}): string[] => { + return flatIndexFieldMetadatas.flatMap(({ fieldMetadataId }) => { + const flatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityId: fieldMetadataId, + flatEntityMaps: flatFieldMetadataMaps, + }); + + if (!isDefined(flatFieldMetadata)) { + throw new FlatEntityMapsException( + 'Index field related field metadata not found', + FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, + ); + } + + if (isMorphOrRelationFlatFieldMetadata(flatFieldMetadata)) { + if (!isDefined(flatFieldMetadata.settings?.joinColumnName)) { + throw new FlatEntityMapsException( + 'Join column name is not defined for relation field', + FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, + ); + } + + return flatFieldMetadata.settings.joinColumnName; + } + + if (isCompositeFieldMetadataType(flatFieldMetadata.type)) { + const compositeType = compositeTypeDefinitions.get( + flatFieldMetadata.type, + ); + + if (!compositeType) { + throw new FlatEntityMapsException( + 'Composite type not found', + FlatEntityMapsExceptionCode.INTERNAL_SERVER_ERROR, + ); + } + + const uniqueCompositeProperties = compositeType.properties.filter( + (property) => property.isIncludedInUniqueConstraint, + ); + + return uniqueCompositeProperties.map((subField) => + computeCompositeColumnName(flatFieldMetadata.name, subField), + ); + } + + return flatFieldMetadata.name; + }); +}; + +export const insertIndexMetadata = async ({ + flatIndexMetadata, + queryRunner, +}: { + flatIndexMetadata: FlatIndexMetadata; + queryRunner: QueryRunner; +}): Promise => { + const indexMetadataRepository = + queryRunner.manager.getRepository(IndexMetadataEntity); + const indexFieldMetadataRepository = + queryRunner.manager.getRepository( + IndexFieldMetadataEntity, + ); + + const { flatIndexFieldMetadatas, ...indexMetadataToInsert } = + flatIndexMetadata; + + const indexInsertResult = await indexMetadataRepository.insert( + indexMetadataToInsert, + ); + + if (indexInsertResult.identifiers.length !== 1) { + throw new WorkspaceQueryRunnerException( + 'Failed to create index metadata', + WorkspaceQueryRunnerExceptionCode.INTERNAL_SERVER_ERROR, + ); + } + const indexMetadataId = indexInsertResult.identifiers[0].id; + + const indexFieldMetadataToInsert = flatIndexFieldMetadatas.map( + (flatIndexFieldMetadata) => ({ + ...flatIndexFieldMetadata, + indexMetadataId, + }), + ); + + await indexFieldMetadataRepository.insert(indexFieldMetadataToInsert); +}; + +export const deleteIndexMetadata = async ({ + entityId, + queryRunner, +}: { + entityId: string; + queryRunner: QueryRunner; +}): Promise => { + const indexMetadataRepository = + queryRunner.manager.getRepository(IndexMetadataEntity); + + await indexMetadataRepository.delete({ + id: entityId, + }); +}; + +export const createIndexInWorkspaceSchema = async ({ + flatIndexMetadata, + flatObjectMetadata, + flatFieldMetadataMaps, + workspaceSchemaManagerService, + queryRunner, + workspaceId, +}: { + flatIndexMetadata: FlatIndexMetadata; + flatObjectMetadata: FlatObjectMetadata; + flatFieldMetadataMaps: FlatEntityMaps; + workspaceSchemaManagerService: WorkspaceSchemaManagerService; + queryRunner: QueryRunner; + workspaceId: string; +}): Promise => { + const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ + workspaceId, + flatObjectMetadata, + }); + + const columns = computeFlatIndexFieldColumnNames({ + flatIndexFieldMetadatas: flatIndexMetadata.flatIndexFieldMetadatas, + flatFieldMetadataMaps, + }); + + await workspaceSchemaManagerService.indexManager.createIndex({ + index: { + columns, + name: flatIndexMetadata.name, + isUnique: flatIndexMetadata.isUnique, + type: flatIndexMetadata.indexType, + where: flatIndexMetadata.indexWhereClause ?? undefined, + }, + queryRunner, + schemaName, + tableName, + }); +}; + +export const dropIndexFromWorkspaceSchema = async ({ + indexName, + workspaceSchemaManagerService, + queryRunner, + schemaName, +}: { + indexName: string; + workspaceSchemaManagerService: WorkspaceSchemaManagerService; + queryRunner: QueryRunner; + schemaName: string; +}): Promise => { + await workspaceSchemaManagerService.indexManager.dropIndex({ + indexName, + queryRunner, + schemaName, + }); +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts index f445c2898c3..fa57b557cd9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts @@ -1,14 +1,9 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-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'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; @@ -25,7 +20,8 @@ import { @Injectable() export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_object', + 'create', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -33,38 +29,11 @@ export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps, flatFieldMetadataMaps } = allFlatEntityMaps; - const { flatObjectMetadata, flatFieldMetadatas } = action; - - const updatedFlatFieldMetadatas = flatFieldMetadatas.reduce( - (flatFieldMaps, flatFieldMetadata) => - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatFieldMetadata, - flatEntityMaps: flatFieldMaps, - }), - flatFieldMetadataMaps, - ); - - const updatedFlatObjectMetadataMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatObjectMetadata, - flatEntityMaps: flatObjectMetadataMaps, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - flatFieldMetadataMaps: updatedFlatFieldMetadatas, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { flatObjectMetadata, flatFieldMetadatas } = action; + const { flatEntity: flatObjectMetadata, flatFieldMetadatas } = action; const objectMetadataRepository = queryRunner.manager.getRepository( @@ -101,7 +70,7 @@ export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerAc context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatObjectMetadata, flatFieldMetadatas } = action; + const { flatEntity: flatObjectMetadata, flatFieldMetadatas } = action; const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts index fe5cc61d01e..6cf9ab345fc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts @@ -1,12 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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 { 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'; @@ -24,7 +19,8 @@ import { @Injectable() export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_object', + 'delete', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -32,36 +28,18 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps } = allFlatEntityMaps; - const { objectMetadataId } = action; - - const updatedFlatObjectMetadataMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - flatEntityMaps: flatObjectMetadataMaps, - entityToDeleteId: objectMetadataId, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { objectMetadataId } = action; + const { entityId } = action; const objectMetadataRepository = queryRunner.manager.getRepository( ObjectMetadataEntity, ); - await objectMetadataRepository.delete(objectMetadataId); + await objectMetadataRepository.delete(entityId); } async executeForWorkspaceSchema( @@ -73,11 +51,11 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId } = action; + const { entityId } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, - flatEntityId: objectMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts index 96856a28489..f8e81062dd0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts @@ -2,15 +2,10 @@ import { Injectable } from '@nestjs/common'; import { isDefined } from 'twenty-shared/utils'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-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 { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-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'; import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; @@ -30,7 +25,8 @@ import { @Injectable() export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_object', + 'update', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -38,35 +34,6 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps } = allFlatEntityMaps; - const { objectMetadataId } = action; - - const existingFlatObjectMetadata = - findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: objectMetadataId, - flatEntityMaps: flatObjectMetadataMaps, - }); - - const updatedFlatObjectMetadata = { - ...existingFlatObjectMetadata, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatObjectMetadataMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedFlatObjectMetadata, - flatEntityMaps: flatObjectMetadataMaps, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { @@ -78,7 +45,7 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc ); await objectMetadataRepository.update( - action.objectMetadataId, + action.entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } @@ -92,11 +59,11 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, updates } = action; + const { entityId, updates } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, - flatEntityId: objectMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName: currentTableName } = diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts index 0f60a1aae44..edf90329886 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { CreatePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout_tab', + 'create', + 'pageLayoutTab', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatPageLayoutTabMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts index 09262822144..3d75a470359 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts @@ -1,54 +1,32 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout_tab', + 'delete', + 'pageLayoutTab', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatPageLayoutTabMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const pageLayoutTabRepository = queryRunner.manager.getRepository( PageLayoutTabEntity, ); - await pageLayoutTabRepository.delete({ id: flatEntityId, workspaceId }); + await pageLayoutTabRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts index 6a01a453b62..e20f62e3e98 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { UpdatePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,43 +9,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout_tab', + 'update', + 'pageLayoutTab', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingPageLayoutTab = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - const updatedPageLayoutTab = { - ...existingPageLayoutTab, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatPageLayoutTabMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayoutTab, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const pageLayoutTabRepository = queryRunner.manager.getRepository( @@ -59,9 +24,9 @@ export class UpdatePageLayoutTabActionHandlerService extends WorkspaceMigrationR ); await pageLayoutTabRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts index 5b71df59151..291891b70a9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts @@ -1,47 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { CreatePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout_widget', + 'create', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidget } = action; - - const updatedFlatPageLayoutWidgetMaps = - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: pageLayoutWidget, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { pageLayoutWidget } = action; + const { flatEntity } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( @@ -49,7 +27,7 @@ export class CreatePageLayoutWidgetActionHandlerService extends WorkspaceMigrati ); await pageLayoutWidgetRepository.insert({ - ...pageLayoutWidget, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts index 951e96b9449..1306915323b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts @@ -1,54 +1,32 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout_widget', + 'delete', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidgetId } = action; - - const updatedFlatPageLayoutWidgetMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: pageLayoutWidgetId, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { pageLayoutWidgetId } = action; + const { entityId } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( PageLayoutWidgetEntity, ); - await pageLayoutWidgetRepository.delete({ id: pageLayoutWidgetId }); + await pageLayoutWidgetRepository.delete({ id: entityId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts index 1ac20bacc47..65347a0bcc3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { UpdatePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,47 +9,18 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout_widget', + 'update', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidgetId, updates } = action; - - const existingPageLayoutWidget = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: pageLayoutWidgetId, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - const updatedPageLayoutWidget = { - ...existingPageLayoutWidget, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates, - }), - }; - - const updatedFlatPageLayoutWidgetMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayoutWidget, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { pageLayoutWidgetId, updates } = action; + const { entityId, updates } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( @@ -68,7 +33,7 @@ export class UpdatePageLayoutWidgetActionHandlerService extends WorkspaceMigrati }); await pageLayoutWidgetRepository.update( - { id: pageLayoutWidgetId }, + { id: entityId }, partialPageLayoutWidget, ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts index b3f66a0c5d1..aaf3fb5e600 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { CreatePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout', + 'create', + 'pageLayout', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatPageLayoutMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatPageLayoutMaps, - }); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts index 2e869c18f38..7e173bf7715 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts @@ -1,53 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout', + 'delete', + 'pageLayout', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatPageLayoutMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: flatEntityId, - flatEntityMaps: flatPageLayoutMaps, - }, - ); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const pageLayoutRepository = queryRunner.manager.getRepository(PageLayoutEntity); - await pageLayoutRepository.delete({ id: flatEntityId, workspaceId }); + await pageLayoutRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts index 3f20decfb13..ecb16e9cf71 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { UpdatePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,50 +9,22 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout', + 'update', + 'pageLayout', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingPageLayout = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatPageLayoutMaps, - }); - - const updatedPageLayout = { - ...existingPageLayout, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatPageLayoutMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayout, - flatEntityMaps: flatPageLayoutMaps, - }); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const pageLayoutRepository = queryRunner.manager.getRepository(PageLayoutEntity); await pageLayoutRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts index 104871dc7c8..e68bf55c10c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts @@ -1,42 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { CreateRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_role_target', + 'create', + 'roleTarget', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTarget } = action; - - const updatedFlatRoleTargetMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: roleTarget, - flatEntityMaps: flatRoleTargetMaps, - }); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleTarget } = action; + const { flatEntity: roleTarget } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts index f699a5a4892..8dc6d54cd12 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts @@ -1,54 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { DeleteRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_role_target', + 'delete', + 'roleTarget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTargetId } = action; - - const updatedFlatRoleTargetMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: roleTargetId, - flatEntityMaps: flatRoleTargetMaps, - }, - ); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleTargetId } = action; + const { entityId } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); await roleTargetRepository.delete({ - id: roleTargetId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts index 7cd0f609c27..08c91e705ef 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { UpdateRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_role_target', + 'update', + 'roleTarget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTargetId } = action; - - const existingRoleTarget = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: roleTargetId, - flatEntityMaps: flatRoleTargetMaps, - }); - - const updatedRoleTarget = { - ...existingRoleTarget, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatRoleTargetMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedRoleTarget, - flatEntityMaps: flatRoleTargetMaps, - }); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { roleTargetId } = action; + const { entityId } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await roleTargetRepository.update(roleTargetId, update); + await roleTargetRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts index a0d32793522..d634fff950a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts @@ -1,46 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { CreateRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_role', + 'create', + 'role', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { role } = action; - - const updatedFlatRoleMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: role, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { role } = action; + const { flatEntity: role } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts index ccad0472b26..9a0d682be6c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { DeleteRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_role', + 'delete', + 'role', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { roleId } = action; - - const updatedFlatRoleMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: roleId, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleId } = action; + const { entityId } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); - await roleRepository.delete({ id: roleId, workspaceId }); + await roleRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts index ed43f0a94a1..1244b15a40e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { UpdateRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,46 +9,20 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_role', + 'update', + 'role', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { roleId } = action; - - const existingRole = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: roleId, - flatEntityMaps: flatRoleMaps, - }); - - const updatedRole = { - ...existingRole, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatRoleMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedRole, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleId } = action; + const { entityId } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); await roleRepository.update( - { id: roleId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts index a7fb70eb3f0..0bf9dddfab2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_route_trigger', + 'create', + 'routeTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { routeTrigger } = action; + const { flatEntity: routeTrigger } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts index 6de8c09a43f..cccdce1a1c3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_route_trigger', + 'delete', + 'routeTrigger', ) { constructor() { super(); @@ -18,13 +19,13 @@ export class DeleteRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { routeTriggerId } = action; + const { entityId } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); await routeTriggerRepository.delete({ - id: routeTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts index 50e32d62239..cdffa08c6ac 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_route_trigger', + 'update', + 'routeTrigger', ) { constructor() { super(); @@ -19,13 +20,13 @@ export class UpdateRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { routeTriggerId } = action; + const { entityId } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); await routeTriggerRepository.update( - routeTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts index a6dc98db6c1..57f248adb0d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { CreateRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_row_level_permission_predicate_group', + 'create', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroup } = action; - - const updatedFlatMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: rowLevelPermissionPredicateGroup, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateGroup } = action; + const { flatEntity } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class CreateRowLevelPermissionPredicateGroupActionHandlerService extends ); await repository.insert({ - ...rowLevelPermissionPredicateGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/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-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts index 429b0e86f92..5cd9b65536d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/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-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_row_level_permission_predicate_group', + 'delete', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroupId } = action; - - const updatedFlatMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: rowLevelPermissionPredicateGroupId, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateGroupId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends ); await repository.delete({ - id: rowLevelPermissionPredicateGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts index a323c1dff23..1779647085d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts @@ -2,14 +2,8 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { UpdateRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -17,40 +11,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_row_level_permission_predicate_group', + 'update', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroupId } = action; - - const existingGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: rowLevelPermissionPredicateGroupId, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - const updatedGroup = { - ...existingGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedGroup, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { rowLevelPermissionPredicateGroupId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -59,7 +27,7 @@ export class UpdateRowLevelPermissionPredicateGroupActionHandlerService extends const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await repository.update(rowLevelPermissionPredicateGroupId, update); + await repository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts index 61cfd661501..65cd9200483 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { CreateRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_row_level_permission_predicate', + 'create', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicate } = action; - - const updatedFlatMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: rowLevelPermissionPredicate, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicate } = action; + const { flatEntity } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class CreateRowLevelPermissionPredicateActionHandlerService extends Works ); await repository.insert({ - ...rowLevelPermissionPredicate, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/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-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts index 9c6e06895a6..b4d3d44f9ec 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/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-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_row_level_permission_predicate', + 'delete', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateId } = action; - - const updatedFlatMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: rowLevelPermissionPredicateId, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class DeleteRowLevelPermissionPredicateActionHandlerService extends Works ); await repository.delete({ - id: rowLevelPermissionPredicateId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts index 243131999f8..b52d214333f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts @@ -2,14 +2,8 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { UpdateRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -17,40 +11,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_row_level_permission_predicate', + 'update', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateId } = action; - - const existingPredicate = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: rowLevelPermissionPredicateId, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - const updatedPredicate = { - ...existingPredicate, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPredicate, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { rowLevelPermissionPredicateId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -59,7 +27,7 @@ export class UpdateRowLevelPermissionPredicateActionHandlerService extends Works const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await repository.update(rowLevelPermissionPredicateId, update); + await repository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts index 99306ba8e8d..c0f01f6d560 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts @@ -15,7 +15,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_serverless_function', + 'create', + 'serverlessFunction', ) { constructor(private readonly fileStorageService: FileStorageService) { super(); @@ -25,7 +26,7 @@ export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { serverlessFunction } = action; + const { flatEntity: serverlessFunction } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -66,7 +67,7 @@ export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigra await this.fileStorageService.delete({ folderPath: getServerlessFolder({ - serverlessFunction: action.serverlessFunction, + serverlessFunction: action.flatEntity, }), }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts index 5a6a6ff64b1..11db974b35e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts @@ -11,7 +11,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_serverless_function', + 'delete', + 'serverlessFunction', ) { constructor(private readonly fileStorageService: FileStorageService) { super(); @@ -21,7 +22,7 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { serverlessFunctionId } = action; + const { entityId } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -29,13 +30,13 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra ); await serverlessFunctionRepository.delete({ - id: serverlessFunctionId, + id: entityId, workspaceId, }); const existingServerlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); @@ -59,11 +60,11 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action } = context; - const { serverlessFunctionId } = action; + const { entityId } = action; const existingServerlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts index 378b7b46bcd..e8f39efc600 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts @@ -17,7 +17,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_serverless_function', + 'update', + 'serverlessFunction', ) { constructor( private readonly fileStorageService: FileStorageService, @@ -30,7 +31,7 @@ export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { serverlessFunctionId, code } = action; + const { entityId, code } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -38,12 +39,12 @@ export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigra ); await serverlessFunctionRepository.update( - serverlessFunctionId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); const serverlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts index da0c4ad2633..64f9a19e704 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { CreateSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_skill', + 'create', + 'skill', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatSkillMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts index 1a9f983d145..deb0baee01c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { DeleteSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_skill', + 'delete', + 'skill', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatSkillMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const skillRepository = queryRunner.manager.getRepository(SkillEntity); - await skillRepository.delete({ id: flatEntityId, workspaceId }); + await skillRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts index 8955116318b..36f1f7391a8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts @@ -1,64 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { UpdateSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @Injectable() export class UpdateSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_skill', + 'update', + 'skill', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingSkill = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatSkillMaps, - }); - - const updatedSkill = { - ...existingSkill, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatSkillMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedSkill, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const skillRepository = queryRunner.manager.getRepository(SkillEntity); await skillRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts index 96475692d6e..7ed0337d244 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { CreateViewFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_field', + 'create', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewField } = action; - - const updatedFlatViewFieldMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewField, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewField } = action; + const { flatEntity } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); await viewFieldRepository.insert({ - ...viewField, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts index a85ee80784f..728a08de469 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_field', + 'delete', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewFieldId } = action; - - const updatedFlatViewFieldMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewFieldId, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFieldId } = action; + const { entityId } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); await viewFieldRepository.delete({ - id: viewFieldId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts index 66f240d23cc..5de989bcfea 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { UpdateViewFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_field', + 'update', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewFieldId } = action; - - const existingViewField = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFieldId, - flatEntityMaps: flatViewFieldMaps, - }); - - const updatedViewField = { - ...existingViewField, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFieldMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewField, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFieldId } = action; + const { entityId } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFieldRepository.update(viewFieldId, update); + await viewFieldRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts index 09a5f1365c6..1d75ada3e0d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts @@ -1,44 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type CreateViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_filter_group', + 'create', + 'viewFilterGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroup } = action; - - const updatedFlatViewFilterGroupMaps = addFlatEntityToFlatEntityMapsOrThrow( - { - flatEntity: viewFilterGroup, - flatEntityMaps: flatViewFilterGroupMaps, - }, - ); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterGroup } = action; + const { flatEntity } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -46,7 +23,7 @@ export class CreateViewFilterGroupActionHandlerService extends WorkspaceMigratio ); await viewFilterGroupRepository.insert({ - ...viewFilterGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts index 83edd69f748..e7c19704c5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts @@ -1,47 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_filter_group', + 'delete', + 'viewFilterGroup', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroupId } = action; - - const updatedFlatViewFilterGroupMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewFilterGroupId, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterGroupId } = action; + const { entityId } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -49,7 +27,7 @@ export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigratio ); await viewFilterGroupRepository.delete({ - id: viewFilterGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts index e20222b7871..1459b62575e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type UpdateViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,45 +9,18 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_filter_group', + 'update', + 'viewFilterGroup', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroupId } = action; - - const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFilterGroupId, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - const updatedViewFilterGroup = { - ...existingViewFilterGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFilterGroupMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewFilterGroup, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFilterGroupId } = action; + const { entityId } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -62,7 +29,7 @@ export class UpdateViewFilterGroupActionHandlerService extends WorkspaceMigratio const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFilterGroupRepository.update(viewFilterGroupId, update); + await viewFilterGroupRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts index d07cb95caad..f6c682c6e6d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { CreateViewFilterAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_filter', + 'create', + 'viewFilter', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilter } = action; - - const updatedFlatViewFilterMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewFilter, - flatEntityMaps: flatViewFilterMaps, - }); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilter } = action; + const { flatEntity } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); await viewFilterRepository.insert({ - ...viewFilter, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts index 5a5204156fa..886ba6906cb 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts @@ -1,54 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_filter', + 'delete', + 'viewFilter', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilterId } = action; - - const updatedFlatViewFilterMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: viewFilterId, - flatEntityMaps: flatViewFilterMaps, - }, - ); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterId } = action; + const { entityId } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); await viewFilterRepository.delete({ - id: viewFilterId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts index d35ea0fd3fc..f16eaca2797 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { UpdateViewFilterAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_filter', + 'update', + 'viewFilter', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilterId } = action; - - const existingViewFilter = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFilterId, - flatEntityMaps: flatViewFilterMaps, - }); - - const updatedViewFilter = { - ...existingViewFilter, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFilterMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewFilter, - flatEntityMaps: flatViewFilterMaps, - }); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFilterId } = action; + const { entityId } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFilterRepository.update(viewFilterId, update); + await viewFilterRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts index 24935c67f8e..47606283c89 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { CreateViewGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_group', + 'create', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroup } = action; - - const updatedFlatViewGroupMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewGroup, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewGroup } = action; + const { flatEntity } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); await viewGroupRepository.insert({ - ...viewGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts index 62ac20b9cf0..c430e5f826a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-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-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_group', + 'delete', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroupId } = action; - - const updatedFlatViewGroupMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewGroupId, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewGroupId } = action; + const { entityId } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); await viewGroupRepository.delete({ - id: viewGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts index ee7963d01dc..4e9c1825994 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { UpdateViewGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,47 +9,21 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_group', + 'update', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroupId } = action; - - const existingViewGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewGroupId, - flatEntityMaps: flatViewGroupMaps, - }); - - const updatedViewGroup = { - ...existingViewGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewGroupMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewGroup, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewGroupId } = action; + const { entityId } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewGroupRepository.update(viewGroupId, update); + await viewGroupRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts index d0b49384486..6e88d27eedf 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { CreateViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view', + 'create', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { view } = action; - - const updatedFlatViewMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: view, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { view } = action; + const { flatEntity } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.insert({ - ...view, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts index 826202974bd..ba0908e708b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { DeleteViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view', + 'delete', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { viewId } = action; - - const updatedFlatViewMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewId, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewId } = action; + const { entityId } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.delete({ - id: viewId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts index 2c8c5f7e572..ac45b2615a9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { UpdateViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,50 +9,24 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view', + 'update', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { viewId } = action; - - const existingView = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewId, - flatEntityMaps: flatViewMaps, - }); - - const updatedView = { - ...existingView, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedView, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewId } = action; + const { entityId } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.update( - viewId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts index c76d9378125..2e55ea5c242 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts @@ -18,6 +18,7 @@ import { DeleteFieldActionHandlerService } from 'src/engine/workspace-manager/wo import { UpdateFieldActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service'; import { CreateIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service'; import { DeleteIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service'; +import { UpdateIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service'; import { CreateObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service'; import { DeleteObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service'; import { UpdateObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service'; @@ -76,6 +77,7 @@ import { UpdateViewActionHandlerService } from 'src/engine/workspace-manager/wor DeleteObjectActionHandlerService, CreateIndexActionHandlerService, + UpdateIndexActionHandlerService, DeleteIndexActionHandlerService, CreateViewActionHandlerService, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts index e95752c9546..438e5667808 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts @@ -4,68 +4,89 @@ import { AllMetadataName } from 'twenty-shared/metadata'; import { LoggerService } from 'src/engine/core-modules/logger/logger.service'; import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; import { MetadataRelatedFlatEntityMapsKeys } from 'src/engine/metadata-modules/flat-entity/types/metadata-related-flat-entity-maps-keys.type'; import { MetadataToFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/types/metadata-to-flat-entity-maps-key'; -import { FromWorkspaceMigrationActionToMetadataName } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { - type ExtractAction, - type WorkspaceMigrationActionTypeV2, + buildActionHandlerKey, type WorkspaceMigrationActionV2, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; import { WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/constants/workspace-migration-action-handler-metadata-key.constant'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; +import { optimisticallyApplyCreateActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util'; +import { optimisticallyApplyDeleteActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util'; +import { optimisticallyApplyUpdateActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util'; -// TODO deprecated prastoin -export type OptimisticallyApplyActionOnAllFlatEntityMapsArgs< +type OptimisticallyApplyActionOnAllFlatEntityMapsArgs< TActionType extends WorkspaceMigrationActionV2, > = Pick< WorkspaceMigrationActionRunnerArgs, 'allFlatEntityMaps' | 'action' >; -/// export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< - TActionType extends WorkspaceMigrationActionTypeV2, - TMetadataName extends - AllMetadataName = FromWorkspaceMigrationActionToMetadataName, + TActionType extends WorkspaceMigrationActionType, + TMetadataName extends AllMetadataName, + TAction extends + WorkspaceMigrationActionV2 = AllFlatEntityTypesByMetadataName[TMetadataName]['actions'][TActionType], > { public actionType: TActionType; + public metadataName: TMetadataName; @Inject(LoggerService) protected readonly logger: LoggerService; executeForMetadata( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } executeForWorkspaceSchema( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } - optimisticallyApplyActionOnAllFlatEntityMaps( - args: OptimisticallyApplyActionOnAllFlatEntityMapsArgs< - ExtractAction - >, - ): Pick< + private optimisticallyApplyActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Pick< AllFlatEntityMaps, | MetadataRelatedFlatEntityMapsKeys | MetadataToFlatEntityMapsKey > { - return args.allFlatEntityMaps; + switch (action.type) { + case 'create': { + return optimisticallyApplyCreateActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + case 'delete': { + return optimisticallyApplyDeleteActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + case 'update': { + return optimisticallyApplyUpdateActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + } } rollbackForMetadata( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } async execute( - context: WorkspaceMigrationActionRunnerArgs>, + context: WorkspaceMigrationActionRunnerArgs, ): Promise< Pick< AllFlatEntityMaps, @@ -96,7 +117,7 @@ export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< } async rollback( - context: WorkspaceMigrationActionRunnerArgs>, + context: WorkspaceMigrationActionRunnerArgs, ): Promise { await this.rollbackForMetadata(context); } @@ -110,28 +131,37 @@ export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< }): Promise { this.logger.time( 'BaseWorkspaceMigrationRunnerActionHandlerService', - `${this.actionType} ${label}`, + `${this.actionType}_${this.metadataName} ${label}`, ); await method(); this.logger.timeEnd( 'BaseWorkspaceMigrationRunnerActionHandlerService', - `${this.actionType} ${label}`, + `${this.actionType}_${this.metadataName} ${label}`, ); } } export function WorkspaceMigrationRunnerActionHandler< - TActionType extends WorkspaceMigrationActionTypeV2, + TActionType extends WorkspaceMigrationActionType, + TMetadataName extends AllMetadataName, >( actionType: TActionType, -): typeof BaseWorkspaceMigrationRunnerActionHandlerService { - abstract class ActionHandlerService extends BaseWorkspaceMigrationRunnerActionHandlerService { + metadataName: TMetadataName, +): typeof BaseWorkspaceMigrationRunnerActionHandlerService< + TActionType, + TMetadataName +> { + abstract class ActionHandlerService extends BaseWorkspaceMigrationRunnerActionHandlerService< + TActionType, + TMetadataName + > { actionType = actionType; + metadataName = metadataName; } SetMetadata( WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, - actionType, + buildActionHandlerKey(actionType, metadataName), )(ActionHandlerService); return ActionHandlerService; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts index bb2851e3d8a..09f6575f522 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts @@ -7,7 +7,8 @@ import { BaseWorkspaceMigrationRunnerActionHandlerService } from 'src/engine/wor import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { - type WorkspaceMigrationActionTypeV2, + buildActionHandlerKey, + type WorkspaceMigrationActionHandlerKey, type WorkspaceMigrationActionV2, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; import { WorkspaceSchemaMigrationRunnerActionHandlersModule } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module'; @@ -23,7 +24,7 @@ export class WorkspaceMigrationRunnerActionHandlerRegistryService implements OnModuleInit { private readonly actionHandlers = new Map< - WorkspaceMigrationActionTypeV2, + WorkspaceMigrationActionHandlerKey, InstanceType >(); @@ -43,31 +44,36 @@ export class WorkspaceMigrationRunnerActionHandlerRegistryService if (!instance || !metatype) return; - const actionType = Reflect.getMetadata( - WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, - metatype, - ); + const actionHandlerKey: WorkspaceMigrationActionHandlerKey | undefined = + Reflect.getMetadata( + WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, + metatype, + ); - if (actionType && instance.execute) { - this.actionHandlers.set(actionType, instance); + if (actionHandlerKey && instance.execute) { + this.actionHandlers.set(actionHandlerKey, instance); } }); } async executeActionHandler({ - actionType, + action, context, rollback, }: { - actionType: WorkspaceMigrationActionTypeV2; + action: T; context: WorkspaceMigrationActionRunnerArgs; rollback?: boolean; }): Promise> { - const handler = this.actionHandlers.get(actionType); + const actionHandlerKey = buildActionHandlerKey( + action.type, + action.metadataName, + ); + const handler = this.actionHandlers.get(actionHandlerKey); if (!handler) { throw new WorkspaceMigrationRunnerException( - `No migration runner action handler found for action: ${actionType}`, + `No migration runner action handler found for action: ${actionHandlerKey}`, WorkspaceMigrationRunnerExceptionCode.INVALID_ACTION_TYPE, ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts index 4a598139410..4fbfa31c6e3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts @@ -41,19 +41,10 @@ export class WorkspaceMigrationRunnerV2Service { const asyncOperations: Promise[] = []; const shouldIncrementMetadataGraphqlSchemaVersion = actions.some( (action) => { - switch (action.type) { - case 'delete_field': - case 'create_field': - case 'update_field': - case 'delete_object': - case 'create_object': - case 'update_object': { - return true; - } - default: { - return false; - } - } + return ( + action.metadataName === 'objectMetadata' || + action.metadataName === 'fieldMetadata' + ); }, ); @@ -65,28 +56,15 @@ export class WorkspaceMigrationRunnerV2Service { ); } + const viewRelatedMetadataNames = [ + 'view', + 'viewFilter', + 'viewGroup', + 'viewField', + 'viewFilterGroup', + ]; const shouldInvalidFindCoreViewsGraphqlCacheOperation = actions.some( - (action) => { - switch (action.type) { - case 'delete_view': - case 'create_view': - case 'update_view': - case 'delete_view_filter': - case 'create_view_filter': - case 'update_view_filter': - case 'delete_view_group': - case 'create_view_group': - case 'update_view_group': - case 'delete_view_field': - case 'create_view_field': - case 'update_view_field': { - return true; - } - default: { - return false; - } - } - }, + (action) => viewRelatedMetadataNames.includes(action.metadataName), ); if ( @@ -102,19 +80,9 @@ export class WorkspaceMigrationRunnerV2Service { } const shouldInvalidateRoleMapCache = actions.some((action) => { - switch (action.type) { - case 'create_role': - case 'delete_role': - case 'update_role': - case 'create_role_target': - case 'delete_role_target': - case 'update_role_target': { - return true; - } - default: { - return false; - } - } + return ( + action.metadataName === 'role' || action.metadataName === 'roleTarget' + ); }); if ( @@ -167,7 +135,7 @@ export class WorkspaceMigrationRunnerV2Service { const partialOptimisticCache = await this.workspaceMigrationRunnerActionHandlerRegistry.executeActionHandler( { - actionType: action.type, + action, context: { action, allFlatEntityMaps, @@ -257,7 +225,7 @@ export class WorkspaceMigrationRunnerV2Service { for (const invertedAction of invertedActions) { await this.workspaceMigrationRunnerActionHandlerRegistry.executeActionHandler( { - actionType: invertedAction.type, + action: invertedAction, context: { action: invertedAction, allFlatEntityMaps: allFlatEntityMaps, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..716c82e862a --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,84 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { type AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; +import { addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; + +type CreateAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['create']; + +export type OptimisticallyApplyCreateActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: CreateAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyCreateActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyCreateActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'fieldMetadata': { + action.flatFieldMetadatas.forEach((flatEntity) => + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }), + ); + + return allFlatEntityMaps; + } + case 'objectMetadata': { + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + action.flatFieldMetadatas.forEach((flatField) => + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatField, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: 'fieldMetadata', + }), + ); + + return allFlatEntityMaps; + } + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'index': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..bde51d585e8 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,69 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +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 { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; + +type DeleteAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['delete']; + +export type OptimisticallyApplyDeleteActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: DeleteAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyDeleteActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyDeleteActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'fieldMetadata': + case 'objectMetadata': + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'index': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + const flatEntityToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow< + MetadataFlatEntity + >({ + flatEntityId: action.entityId, + flatEntityMaps: + allFlatEntityMaps[getMetadataFlatEntityMapsKey(action.metadataName)], + }); + + deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatEntityToDelete, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..55883a4d585 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,97 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +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 { addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; +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 { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; +import { replaceFlatEntityInFlatEntityMapsThroughMutationOrThrow } from 'src/engine/workspace-manager/workspace-migration-v2/utils/replace-flat-entity-in-flat-entity-maps-through-mutation-or-throw.util'; +import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; + +type UpdateAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['update']; + +export type OptimisticallyApplyUpdateActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: UpdateAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyUpdateActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyUpdateActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'index': { + const flatIndex = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityId: action.entityId, + flatEntityMaps: allFlatEntityMaps['flatIndexMaps'], + }); + + deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatIndex, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.updatedFlatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + case 'fieldMetadata': + case 'objectMetadata': + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + const flatEntityMapsKey = getMetadataFlatEntityMapsKey( + action.metadataName, + ); + const fromFlatEntity = findFlatEntityByIdInFlatEntityMapsOrThrow< + MetadataFlatEntity + >({ + flatEntityId: action.entityId, + flatEntityMaps: allFlatEntityMaps[flatEntityMapsKey], + }); + + const toFlatEntity = { + ...fromFlatEntity, + ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), + }; + + replaceFlatEntityInFlatEntityMapsThroughMutationOrThrow({ + flatEntity: toFlatEntity, + flatEntityMapsToMutate: allFlatEntityMaps[flatEntityMapsKey], + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap index 7684b47f835..5b5ef350405 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,10 +17,12 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -50,10 +35,12 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -71,42 +58,21 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 3 viewFields", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 3, + "viewField": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap index 6aa3a1e999b..dd3652e23d4 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 Should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,42 +17,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 Should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -81,23 +43,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -110,42 +55,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -157,23 +81,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -186,42 +93,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap index 6a73f170ea0..cd50bc62340 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,42 +17,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -81,23 +43,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -110,42 +55,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting view field", "name": "GraphQLError", @@ -157,23 +81,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -185,41 +92,20 @@ exports[`View Field Resolver - Successful object metadata identifier update side ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "delete_view_field", + "type": "delete", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting view field", "name": "GraphQLError", @@ -231,23 +117,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -260,42 +129,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view field", "name": "GraphQLError", @@ -307,23 +155,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -336,42 +167,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap index def0c5aed9e..463eeef921d 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap @@ -17,58 +17,20 @@ exports[`Agent creation should fail when computed name already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "existingTestAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -92,58 +54,20 @@ exports[`Agent creation should fail when label is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -181,58 +105,20 @@ exports[`Agent creation should fail when modelId is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyModelidAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -270,58 +156,20 @@ exports[`Agent creation should fail when prompt is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyPromptAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -359,58 +207,20 @@ exports[`Agent creation should fail when responseFormat has invalid type 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "invalidResponseFormatAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -434,58 +244,20 @@ exports[`Agent creation should fail when responseFormat type is json but schema "flatEntityMinimalInformation": { "id": Any, "name": "jsonWithoutSchemaAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -509,58 +281,20 @@ exports[`Agent creation should fail when responseFormat type is text but schema "flatEntityMinimalInformation": { "id": Any, "name": "textWithSchemaAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap index 85463d0cb0c..3e535a6c19f 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap @@ -17,58 +17,20 @@ exports[`Agent deletion should fail should fail when attempting to delete a stan "flatEntityMinimalInformation": { "id": Any, "name": "helper", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "delete_agent", + "type": "delete", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap index 4d287fcfc6c..b411f7e4a5a 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap @@ -16,58 +16,20 @@ exports[`Agent update should fail should fail when attempting to update a standa ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -112,58 +74,20 @@ exports[`Agent update should fail when settings null required properties 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -186,58 +110,20 @@ exports[`Agent update should fail when updating label to one that already exists ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -260,58 +146,20 @@ exports[`Agent update should fail when updating responseFormat type to json with ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -334,58 +182,20 @@ exports[`Agent update should fail when updating responseFormat type to text with ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -408,58 +218,20 @@ exports[`Agent update should fail when updating responseFormat with invalid type ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -482,58 +254,20 @@ exports[`Agent update should fail when updating with empty label 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -556,58 +290,20 @@ exports[`Agent update should fail when updating with empty modelId 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -630,58 +326,20 @@ exports[`Agent update should fail when updating with empty prompt 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap index d81ff9f1915..8ffb2e8bd56 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`createOne FieldMetadataService name/label sync should return an error w "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`createOne FieldMetadataService name/label sync should return an error w "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap index b912799a96d..88ba36d69d7 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing create field metadata tests suite should fail to create NUMERIC "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing create field metadata tests suite should fail to create NUMERIC "id": Any, "name": "numericField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing create field metadata tests suite should fail to create POSITIO "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing create field metadata tests suite should fail to create POSITIO "id": Any, "name": "positionField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -164,12 +88,7 @@ exports[`Failing create field metadata tests suite should fail to create TS_VECT "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -177,52 +96,20 @@ exports[`Failing create field metadata tests suite should fail to create TS_VECT "message": "TS Vector is not supported for field creation", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap index 15b6468fc62..820792e95de 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`updateOne failing update should not update a field name if it is not sy "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`updateOne failing update should not update a field name if it is not sy "id": Any, "name": "newName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -84,9 +46,6 @@ exports[`updateOne failing update should throw if the field name is not availabl "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -106,55 +65,20 @@ exports[`updateOne failing update should throw if the field name is not availabl "id": Any, "name": "otherTestName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap index cbf677db1d8..b279e87446f 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -164,9 +88,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -181,55 +102,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -243,9 +129,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -275,55 +158,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -337,9 +185,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -369,55 +214,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -431,9 +241,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -463,55 +270,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -525,9 +297,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -557,55 +326,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -619,9 +353,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -636,55 +367,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -698,9 +394,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -715,55 +408,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -777,9 +435,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -800,55 +455,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -862,9 +482,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -879,55 +496,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -941,9 +523,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -958,55 +537,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1020,9 +564,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1037,55 +578,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1099,9 +605,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1134,55 +637,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1196,9 +664,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1213,55 +678,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1275,9 +705,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1292,55 +719,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1354,9 +746,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1371,55 +760,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1433,9 +787,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1450,55 +801,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1512,9 +828,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1529,55 +842,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1591,9 +869,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1608,55 +883,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1670,9 +910,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1687,55 +924,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1749,9 +951,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1771,55 +970,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1833,9 +997,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1849,55 +1010,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1911,9 +1037,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1928,55 +1051,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1990,9 +1078,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2006,55 +1091,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2068,9 +1118,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2091,55 +1138,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2153,9 +1165,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2170,55 +1179,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2232,9 +1206,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2249,55 +1220,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2311,9 +1247,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2328,55 +1261,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2390,9 +1288,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2413,55 +1308,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2475,9 +1335,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2492,55 +1349,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2554,9 +1376,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2571,55 +1390,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2633,9 +1417,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2656,55 +1437,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2718,9 +1464,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2734,55 +1477,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2796,9 +1504,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2812,55 +1517,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2874,9 +1544,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2891,55 +1558,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2953,9 +1585,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2970,55 +1599,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3032,9 +1626,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3055,55 +1646,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3117,9 +1673,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3134,55 +1687,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3196,9 +1714,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3213,55 +1728,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3275,9 +1755,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3307,55 +1784,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3369,9 +1811,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3401,55 +1840,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3463,9 +1867,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3495,55 +1896,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3557,9 +1923,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3589,55 +1952,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3651,9 +1979,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3668,55 +1993,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3730,9 +2020,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3753,55 +2040,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3815,9 +2067,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3832,55 +2081,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3894,9 +2108,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3911,55 +2122,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3973,9 +2149,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3990,55 +2163,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4052,9 +2190,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,55 +2204,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4131,9 +2231,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4148,55 +2245,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4210,9 +2272,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4227,55 +2286,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4289,9 +2313,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4306,55 +2327,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4368,9 +2354,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4385,55 +2368,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4447,9 +2395,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4464,55 +2409,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4526,9 +2436,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4548,55 +2455,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4610,9 +2482,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4626,55 +2495,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4688,9 +2522,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4705,55 +2536,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4767,9 +2563,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4783,55 +2576,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4845,9 +2603,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4868,55 +2623,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4930,9 +2650,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4947,55 +2664,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5009,9 +2691,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5026,55 +2705,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5088,9 +2732,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5105,55 +2746,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5167,9 +2773,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5190,55 +2793,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5252,9 +2820,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5269,55 +2834,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5331,9 +2861,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5348,55 +2875,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5410,9 +2902,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5433,55 +2922,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5495,9 +2949,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5511,55 +2962,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5573,9 +2989,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5589,55 +3002,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5651,9 +3029,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5668,55 +3043,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap index ddea75e6f15..92f4bd7a968 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -164,9 +88,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -181,55 +102,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -243,9 +129,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -275,55 +158,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -337,9 +185,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -369,55 +214,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -431,9 +241,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -463,55 +270,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -525,9 +297,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -557,55 +326,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -619,9 +353,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -636,55 +367,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -698,9 +394,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -715,55 +408,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -777,9 +435,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -800,55 +455,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -862,9 +482,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -879,55 +496,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -941,9 +523,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -958,55 +537,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1020,9 +564,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1037,55 +578,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1099,9 +605,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1134,55 +637,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1196,9 +664,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1213,55 +678,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1275,9 +705,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1292,55 +719,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1354,9 +746,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1371,55 +760,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1433,9 +787,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1450,55 +801,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1512,9 +828,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1529,55 +842,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1591,9 +869,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1608,55 +883,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1670,9 +910,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1687,55 +924,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1749,9 +951,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1771,55 +970,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1833,9 +997,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1849,55 +1010,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1911,9 +1037,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1927,55 +1050,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1989,9 +1077,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2012,55 +1097,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2074,9 +1124,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2091,55 +1138,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2153,9 +1165,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2170,55 +1179,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2232,9 +1206,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2249,55 +1220,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2311,9 +1247,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2334,55 +1267,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2396,9 +1294,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2413,55 +1308,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2475,9 +1335,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2492,55 +1349,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2554,9 +1376,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2577,55 +1396,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2639,9 +1423,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2655,55 +1436,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2717,9 +1463,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2733,55 +1476,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2795,9 +1503,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2812,55 +1517,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2874,9 +1544,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2891,55 +1558,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2953,9 +1585,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2976,55 +1605,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3038,9 +1632,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3055,55 +1646,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3117,9 +1673,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3134,55 +1687,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3196,9 +1714,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3228,55 +1743,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3290,9 +1770,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3322,55 +1799,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3384,9 +1826,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3416,55 +1855,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3478,9 +1882,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3510,55 +1911,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3572,9 +1938,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3589,55 +1952,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3651,9 +1979,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3674,55 +1999,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3736,9 +2026,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3753,55 +2040,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3815,9 +2067,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3832,55 +2081,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3894,9 +2108,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3911,55 +2122,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3973,9 +2149,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3990,55 +2163,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4052,9 +2190,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,55 +2204,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4131,9 +2231,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4148,55 +2245,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4210,9 +2272,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4227,55 +2286,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4289,9 +2313,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4306,55 +2327,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4368,9 +2354,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4385,55 +2368,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4447,9 +2395,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4469,55 +2414,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4531,9 +2441,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4547,55 +2454,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4609,9 +2481,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4625,55 +2494,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4687,9 +2521,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4710,55 +2541,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4772,9 +2568,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4789,55 +2582,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4851,9 +2609,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4868,55 +2623,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4930,9 +2650,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4947,55 +2664,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5009,9 +2691,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5032,55 +2711,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5094,9 +2738,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5111,55 +2752,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5173,9 +2779,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5190,55 +2793,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5252,9 +2820,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5275,55 +2840,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5337,9 +2867,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5353,55 +2880,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5415,9 +2907,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5431,55 +2920,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5493,9 +2947,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5510,55 +2961,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap index 911d192b5f4..ed400fdd201 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -28,9 +25,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "fieldNamePersonForMorphRelationSecond", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -44,9 +43,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -66,54 +67,21 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "flatEntityMinimalInformation": { "id": Any, "name": "IDX_4ff93dd3375abd83d29ed3d01b4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -125,9 +93,6 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -141,9 +106,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "fieldNameCompanyForMorphRelationSecond", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -157,9 +124,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -174,54 +143,21 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "flatEntityMinimalInformation": { "id": Any, "name": "IDX_59563a0476bb3b8760e33ae6d5b", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap index 3d92aa7d571..b8fed57fd42 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,9 +19,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -39,9 +38,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "tata", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -56,9 +57,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_4a59b92546a3dbf54abee51283a", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, { "errors": [ @@ -71,54 +74,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_247f630f4f88242063a98b01371", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 2 indexs", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 2, + "totalErrors": 4, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -130,9 +100,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -147,55 +114,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "fieldNamePersonForMorphRelationSecondId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -207,12 +139,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -221,52 +148,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must only contain relation to other object metadata", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -278,12 +173,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -292,52 +182,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must only contain relation to the same object metadata", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -349,9 +207,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -372,9 +227,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -389,54 +246,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c1add8eb2b51d67721916a3e5a9", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -448,9 +272,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -465,9 +286,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -482,54 +305,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c84138bdf8bc3889ef56273281e", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -541,9 +331,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -558,9 +345,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -575,54 +364,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e07d8240883043fcb1ad1ba0324", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -634,9 +390,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -657,9 +410,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -674,54 +429,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c1add8eb2b51d67721916a3e5a9", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -733,12 +455,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -755,52 +472,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -812,12 +497,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -834,52 +514,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -891,12 +539,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -912,52 +555,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -969,12 +580,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -983,52 +589,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "At least one relation is require", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1040,12 +614,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1054,52 +623,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must have the same relation type", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1111,12 +648,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1125,52 +657,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must have the same relation type", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1182,12 +682,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1199,52 +694,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1256,12 +719,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1271,52 +729,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "value": null, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1328,12 +754,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1342,52 +763,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Relation creation payload is required", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap index 1675b6af316..3d1b8f8ad5e 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -82,9 +44,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -99,55 +58,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -159,9 +83,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -182,55 +103,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -242,9 +128,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -259,55 +142,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -319,9 +167,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -342,55 +187,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -402,12 +212,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -422,52 +227,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -479,12 +252,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -499,52 +267,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -556,12 +292,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -576,52 +307,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -633,12 +332,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -652,52 +346,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -709,9 +371,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -726,9 +385,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -742,9 +403,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "defaulttargetfieldlabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -759,54 +422,21 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_747db609dd2bb7abe30d5d1926c", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -818,12 +448,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -838,52 +463,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -895,12 +488,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -915,52 +503,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -972,9 +528,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -989,9 +542,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1005,9 +560,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "uniqueTargetLabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1022,54 +579,21 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_7ee6c7ff1e4648b0665f60cd5e4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1081,12 +605,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1101,52 +620,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1159,9 +646,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1176,9 +660,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1193,54 +679,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_28fc32819c3dc0ec7c8594219fc", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1254,9 +707,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1271,9 +721,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1288,54 +740,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e19260dc9ba8bb2ac7c39c6fcfd", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1349,9 +768,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1372,9 +788,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1389,54 +807,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_78587d9d07f2ad40242e070725f", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1450,9 +835,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1467,9 +849,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1484,54 +868,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_94535ac037cc2cd5eb316e87a54", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1545,9 +896,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1568,9 +916,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1585,54 +935,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_78587d9d07f2ad40242e070725f", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1646,12 +963,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1666,52 +978,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1725,12 +1005,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1745,52 +1020,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1804,12 +1047,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1824,52 +1062,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1883,12 +1089,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1902,52 +1103,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1961,9 +1130,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1978,9 +1144,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1994,9 +1162,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "defaulttargetfieldlabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2011,54 +1181,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_8f338db6589d97164642f3fe641", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2072,12 +1209,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2092,52 +1224,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2151,12 +1251,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2171,52 +1266,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2230,9 +1293,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2247,9 +1307,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2263,9 +1325,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "uniqueTargetLabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2280,54 +1344,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_d41e56dfc90f36d133336f65736", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2341,12 +1372,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2361,52 +1387,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2419,9 +1413,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2436,55 +1427,20 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "manager", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2496,9 +1452,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2513,9 +1466,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "manager", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2530,54 +1485,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_772faa136925e6c4141fd45ac0e", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2589,9 +1511,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2606,9 +1525,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2622,9 +1543,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "relatedObject", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2639,54 +1562,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_7ee6c7ff1e4648b0665f60cd5e4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2698,9 +1588,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2715,9 +1602,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "companyId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2731,9 +1620,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "related", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2748,54 +1639,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ed8240d8bc1e69a39dab1c17fe2", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap index 001b78751a9..70f7ff55eb3 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Field metadata relation update should fail relation when name is not in "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -29,55 +26,20 @@ exports[`Field metadata relation update should fail relation when name is not in "id": Any, "name": "New Name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap index f1b746aed48..cf03cca24d5 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap @@ -5,10 +5,6 @@ exports[`failing createOne unique field metadata should fail for composite type "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], "index": [ { "errors": [ @@ -21,54 +17,20 @@ exports[`failing createOne unique field metadata should fail for composite type "flatEntityMinimalInformation": { "id": Any, "name": "IDX_UNIQUE_98d410e804d758f9bcceb154dde", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "index": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -80,10 +42,6 @@ exports[`failing createOne unique field metadata should fail when field has cust "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], "index": [ { "errors": [ @@ -96,54 +54,20 @@ exports[`failing createOne unique field metadata should fail when field has cust "flatEntityMinimalInformation": { "id": Any, "name": "IDX_UNIQUE_a1b02809c523cdc853d35fbc413", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "index": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap index 1fbec55b8b3..652063d6f05 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -21,9 +18,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -37,9 +36,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -53,9 +54,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -69,9 +72,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -85,9 +90,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -101,9 +108,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -117,9 +126,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -133,9 +144,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -149,9 +162,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -165,9 +180,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -181,9 +198,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -197,9 +216,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -213,9 +234,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -229,9 +252,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -245,9 +270,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -261,9 +288,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -277,9 +306,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -293,9 +324,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -309,9 +342,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -331,9 +366,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -350,21 +387,13 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -376,9 +405,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -398,10 +429,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -419,10 +452,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -440,10 +475,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -461,10 +498,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -482,10 +521,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -503,10 +544,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -524,10 +567,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -545,10 +590,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -566,10 +613,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -587,10 +636,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -608,10 +659,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -629,42 +682,25 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -676,9 +712,6 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -692,9 +725,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -708,9 +743,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -724,9 +761,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -740,9 +779,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -756,9 +797,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -772,9 +815,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -788,9 +833,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -804,9 +851,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -820,9 +869,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -836,9 +887,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -852,9 +905,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -868,9 +923,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -884,9 +941,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -900,9 +959,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -916,9 +977,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -932,9 +995,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -948,9 +1013,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -964,9 +1031,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -980,9 +1049,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1002,9 +1073,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -1021,21 +1094,13 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -1047,9 +1112,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -1069,10 +1136,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1090,10 +1159,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1111,10 +1182,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1132,10 +1205,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1153,10 +1228,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1174,10 +1251,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1195,10 +1274,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1216,10 +1297,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1237,10 +1320,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1258,10 +1343,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1279,10 +1366,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1300,42 +1389,25 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -1358,9 +1430,6 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1374,9 +1443,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1390,9 +1461,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1406,9 +1479,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1422,9 +1497,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1438,9 +1515,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1454,9 +1533,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1470,9 +1551,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1486,9 +1569,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1502,9 +1587,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1518,9 +1605,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1534,9 +1623,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1550,9 +1641,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1566,9 +1659,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1582,9 +1677,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1598,9 +1695,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1614,9 +1713,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1630,9 +1731,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1646,9 +1749,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1662,9 +1767,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1684,9 +1791,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -1703,21 +1812,13 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -1729,9 +1830,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -1751,10 +1854,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1772,10 +1877,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1793,10 +1900,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1814,10 +1923,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1835,10 +1946,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1856,10 +1969,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1877,10 +1992,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1898,10 +2015,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1919,10 +2038,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1940,10 +2061,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1961,10 +2084,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1982,42 +2107,25 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -2029,9 +2137,6 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2045,9 +2150,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2061,9 +2168,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2077,9 +2186,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2093,9 +2204,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2109,9 +2222,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2125,9 +2240,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2141,9 +2258,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2157,9 +2276,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2173,9 +2294,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2189,9 +2312,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2205,9 +2330,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2221,9 +2348,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2237,9 +2366,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2253,9 +2384,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2269,9 +2402,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2285,9 +2420,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2301,9 +2438,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2317,9 +2456,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2333,9 +2474,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2355,9 +2498,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -2374,21 +2519,13 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -2400,9 +2537,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -2422,10 +2561,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2443,10 +2584,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2464,10 +2607,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2485,10 +2630,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2506,10 +2653,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2527,10 +2676,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2548,10 +2699,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2569,10 +2722,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2590,10 +2745,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2611,10 +2768,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2632,10 +2791,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2653,42 +2814,25 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -2711,9 +2855,6 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2727,9 +2868,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2743,9 +2886,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2759,9 +2904,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2775,9 +2922,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2791,9 +2940,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2807,9 +2958,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2823,9 +2976,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2839,9 +2994,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2855,9 +3012,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2871,9 +3030,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2887,9 +3048,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2903,9 +3066,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2919,9 +3084,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2935,9 +3102,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2951,9 +3120,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2967,9 +3138,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2983,9 +3156,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2999,9 +3174,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3015,9 +3192,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -3037,9 +3216,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -3056,21 +3237,13 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -3082,9 +3255,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -3104,10 +3279,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3125,10 +3302,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3146,10 +3325,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3167,10 +3348,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3188,10 +3371,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3209,10 +3394,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3230,10 +3417,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3251,10 +3440,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3272,10 +3463,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3293,10 +3486,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3314,10 +3509,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3335,42 +3532,25 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -3382,9 +3562,6 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3398,9 +3575,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3414,9 +3593,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3430,9 +3611,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3446,9 +3629,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3462,9 +3647,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3478,9 +3665,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3494,9 +3683,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3510,9 +3701,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3526,9 +3719,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3542,9 +3737,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3558,9 +3755,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3574,9 +3773,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3590,9 +3791,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3606,9 +3809,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3622,9 +3827,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3638,9 +3845,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3654,9 +3863,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3670,9 +3881,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3686,9 +3899,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -3708,9 +3923,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -3727,21 +3944,13 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -3753,9 +3962,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -3775,10 +3986,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3796,10 +4009,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3817,10 +4032,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3838,10 +4055,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3859,10 +4078,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3880,10 +4101,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3901,10 +4124,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3922,10 +4147,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3943,10 +4170,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3964,10 +4193,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3985,10 +4216,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4006,42 +4239,25 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -4053,9 +4269,6 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,9 +4282,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4085,9 +4300,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4101,9 +4318,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4117,9 +4336,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4133,9 +4354,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4149,9 +4372,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4165,9 +4390,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4181,9 +4408,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4197,9 +4426,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4213,9 +4444,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4229,9 +4462,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4245,9 +4480,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4261,9 +4498,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4277,9 +4516,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4299,9 +4540,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "targetAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4321,9 +4564,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4343,9 +4588,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4365,9 +4612,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4387,9 +4636,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -4409,9 +4660,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "id": Any, "name": "IDX_da4ca4dc0c441477f29e4a384b0", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -4428,21 +4681,13 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "namePlural": "listingas", "nameSingular": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -4454,9 +4699,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -4476,10 +4723,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4497,10 +4746,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4518,10 +4769,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4539,10 +4792,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4560,10 +4815,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4581,10 +4838,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4602,10 +4861,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4623,10 +4884,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4644,10 +4907,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4665,10 +4930,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4686,10 +4953,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4707,42 +4976,25 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -4754,9 +5006,6 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4770,9 +5019,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4786,9 +5037,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4802,9 +5055,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4818,9 +5073,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4834,9 +5091,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4850,9 +5109,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4866,9 +5127,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4882,9 +5145,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4898,9 +5163,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4914,9 +5181,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4930,9 +5199,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4946,9 +5217,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4962,9 +5235,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4978,9 +5253,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4994,9 +5271,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5010,9 +5289,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5026,9 +5307,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5042,9 +5325,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5058,9 +5343,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -5080,9 +5367,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -5099,21 +5388,13 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "namePlural": "μ", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -5125,9 +5406,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -5147,10 +5430,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5168,10 +5453,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5189,10 +5476,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5210,10 +5499,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5231,10 +5522,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5252,10 +5545,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5273,10 +5568,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5294,10 +5591,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5315,10 +5614,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5336,10 +5637,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5357,10 +5660,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5378,42 +5683,25 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -5425,9 +5713,6 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5441,9 +5726,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5457,9 +5744,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5473,9 +5762,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5489,9 +5780,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5505,9 +5798,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5521,9 +5816,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5537,9 +5834,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5553,9 +5852,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5569,9 +5870,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5585,9 +5888,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5601,9 +5906,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5617,9 +5924,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5633,9 +5942,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5649,9 +5960,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5665,9 +5978,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5681,9 +5996,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5697,9 +6014,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5713,9 +6032,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5729,9 +6050,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -5751,9 +6074,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -5770,21 +6095,13 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "namePlural": "users", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -5796,9 +6113,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -5818,10 +6137,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5839,10 +6160,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5860,10 +6183,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5881,10 +6206,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5902,10 +6229,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5923,10 +6252,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5944,10 +6275,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5965,10 +6298,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5986,10 +6321,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6007,10 +6344,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6028,10 +6367,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6049,42 +6390,25 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -6107,9 +6431,6 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -6123,9 +6444,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6139,9 +6462,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6155,9 +6480,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6171,9 +6498,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6187,9 +6516,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6203,9 +6534,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6219,9 +6552,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6235,9 +6570,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6251,9 +6588,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6267,9 +6606,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6283,9 +6624,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6299,9 +6642,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6315,9 +6660,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6331,9 +6678,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6347,9 +6696,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6363,9 +6714,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6379,9 +6732,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6395,9 +6750,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6411,9 +6768,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -6433,9 +6792,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -6458,21 +6819,13 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "namePlural": "Not_Camel_Case", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -6484,9 +6837,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -6506,10 +6861,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6527,10 +6884,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6548,10 +6907,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6569,10 +6930,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6590,10 +6953,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6611,10 +6976,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6632,10 +6999,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6653,10 +7022,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6674,10 +7045,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6695,10 +7068,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6716,10 +7091,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6737,42 +7114,25 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -6784,9 +7144,6 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -6800,9 +7157,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6816,9 +7175,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6832,9 +7193,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6848,9 +7211,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6864,9 +7229,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6880,9 +7247,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6896,9 +7265,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6912,9 +7283,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6928,9 +7301,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6944,9 +7319,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6960,9 +7337,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6976,9 +7355,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6992,9 +7373,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7008,9 +7391,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7036,9 +7421,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "targetA a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7064,9 +7451,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7092,9 +7481,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7120,9 +7511,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7148,9 +7541,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -7170,9 +7565,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_2e70d840ef39341865172574229", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -7195,21 +7592,13 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "namePlural": "listingas", "nameSingular": "a a", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -7221,9 +7610,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -7243,10 +7634,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7264,10 +7657,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7285,10 +7680,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7306,10 +7703,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7327,10 +7726,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7348,10 +7749,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7369,10 +7772,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7390,10 +7795,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7411,10 +7818,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7432,10 +7841,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7453,10 +7864,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7474,42 +7887,25 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -7521,9 +7917,6 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -7537,9 +7930,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7553,9 +7948,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7569,9 +7966,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7585,9 +7984,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7601,9 +8002,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7617,9 +8020,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7633,9 +8038,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7649,9 +8056,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7665,9 +8074,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7681,9 +8092,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7697,9 +8110,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7713,9 +8128,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7729,9 +8146,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7745,9 +8164,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7761,9 +8182,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "target", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7789,9 +8212,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7817,9 +8242,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7845,9 +8272,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7873,9 +8302,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -7895,9 +8326,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e0b8367f7f89bf39915991232b6", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -7920,21 +8353,13 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "namePlural": "listingas", "nameSingular": "", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -7946,9 +8371,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -7968,10 +8395,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7989,10 +8418,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8010,10 +8441,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8031,10 +8464,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8052,10 +8487,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8073,10 +8510,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8094,10 +8533,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8115,10 +8556,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8136,10 +8579,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8157,10 +8602,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8178,10 +8625,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8199,42 +8648,25 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -8246,9 +8678,6 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -8262,9 +8691,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8278,9 +8709,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8294,9 +8727,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8310,9 +8745,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8326,9 +8763,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8342,9 +8781,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8358,9 +8799,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8374,9 +8817,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8390,9 +8835,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8406,9 +8853,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8422,9 +8871,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8438,9 +8889,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8454,9 +8907,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8470,9 +8925,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8498,9 +8955,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "targetΜ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8520,9 +8979,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8542,9 +9003,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8564,9 +9027,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8586,9 +9051,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -8608,9 +9075,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e895f7d7a9fc30bad070509afab", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -8627,21 +9096,13 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "namePlural": "listingas", "nameSingular": "μ", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -8653,9 +9114,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -8675,10 +9138,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8696,10 +9161,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8717,10 +9184,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8738,10 +9207,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8759,10 +9230,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8780,10 +9253,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8801,10 +9276,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8822,10 +9299,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8843,10 +9322,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8864,10 +9345,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8885,10 +9368,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8906,42 +9391,25 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -8953,9 +9421,6 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -8969,9 +9434,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8985,9 +9452,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9001,9 +9470,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9017,9 +9488,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9033,9 +9506,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9049,9 +9524,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9065,9 +9542,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9081,9 +9560,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9097,9 +9578,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9113,9 +9596,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9129,9 +9614,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9145,9 +9632,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9161,9 +9650,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9177,9 +9668,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9193,9 +9686,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "targetUser", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9215,9 +9710,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9237,9 +9734,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9259,9 +9758,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9281,9 +9782,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -9303,9 +9806,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "id": Any, "name": "IDX_00aaf7dba3ae2d70218bdebd383", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -9322,21 +9827,13 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "namePlural": "listingas", "nameSingular": "user", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -9348,9 +9845,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -9370,10 +9869,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9391,10 +9892,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9412,10 +9915,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9433,10 +9938,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9454,10 +9961,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9475,10 +9984,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9496,10 +10007,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9517,10 +10030,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9538,10 +10053,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9559,10 +10076,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9580,10 +10099,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9601,42 +10122,25 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -9659,9 +10163,6 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -9675,9 +10176,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9691,9 +10194,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9707,9 +10212,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9723,9 +10230,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9739,9 +10248,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9755,9 +10266,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9771,9 +10284,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9787,9 +10302,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9803,9 +10320,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9819,9 +10338,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9835,9 +10356,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9851,9 +10374,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9867,9 +10392,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9883,9 +10410,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9911,9 +10440,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "targetNot_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9939,9 +10470,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9967,9 +10500,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9995,9 +10530,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10023,9 +10560,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -10045,9 +10584,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "id": Any, "name": "IDX_17a51d4440e492a8ec4d594c445", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -10070,21 +10611,13 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "namePlural": "listingas", "nameSingular": "Not_Camel_Case", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -10096,9 +10629,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -10118,10 +10653,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10139,10 +10676,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10160,10 +10699,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10181,10 +10722,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10202,10 +10745,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10223,10 +10768,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10244,10 +10791,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10265,10 +10814,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10286,10 +10837,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10307,10 +10860,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10328,10 +10883,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10349,42 +10906,25 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -10396,9 +10936,6 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -10412,9 +10949,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10428,9 +10967,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10444,9 +10985,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10460,9 +11003,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10476,9 +11021,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10492,9 +11039,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10508,9 +11057,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10524,9 +11075,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10540,9 +11093,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10556,9 +11111,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10572,9 +11129,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10588,9 +11147,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10604,9 +11165,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10620,9 +11183,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10636,9 +11201,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "targetFooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10652,9 +11219,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10668,9 +11237,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10684,9 +11255,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10700,9 +11273,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -10722,9 +11297,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "id": Any, "name": "IDX_acbec9630e5330ad7c000993538", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -10741,21 +11318,13 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "namePlural": "fooBar", "nameSingular": "fooBar", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -10767,9 +11336,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -10789,10 +11360,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10810,10 +11383,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10831,10 +11406,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10852,10 +11429,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10873,10 +11452,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10894,10 +11475,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10915,10 +11498,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10936,10 +11521,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10957,10 +11544,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10978,10 +11567,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10999,10 +11590,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11020,42 +11613,25 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -11067,9 +11643,6 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -11083,9 +11656,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11099,9 +11674,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11115,9 +11692,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11131,9 +11710,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11147,9 +11728,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11163,9 +11746,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11179,9 +11764,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11195,9 +11782,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11211,9 +11800,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11227,9 +11818,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11243,9 +11836,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11259,9 +11854,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11275,9 +11872,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11291,9 +11890,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11307,9 +11908,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "targetFooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11323,9 +11926,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11339,9 +11944,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11355,9 +11962,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11371,9 +11980,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -11393,9 +12004,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "id": Any, "name": "IDX_acbec9630e5330ad7c000993538", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -11412,21 +12025,13 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "namePlural": "fooBar", "nameSingular": "fooBar", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -11438,9 +12043,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -11460,10 +12067,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11481,10 +12090,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11502,10 +12113,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11523,10 +12136,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11544,10 +12159,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11565,10 +12182,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11586,10 +12205,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11607,10 +12228,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11628,10 +12251,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11649,10 +12274,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11670,10 +12297,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11691,42 +12320,25 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap index 7f3385452a6..7a925fd750c 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap @@ -6,11 +6,6 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -24,22 +19,13 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -52,42 +38,22 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -101,11 +67,6 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -119,22 +80,13 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -147,42 +99,22 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -196,11 +128,6 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -214,22 +141,13 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -247,42 +165,22 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -313,11 +211,6 @@ exports[`Object metadata update should fail when labelIdentifier is null 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -331,53 +224,20 @@ exports[`Object metadata update should fail when labelIdentifier is null 1`] = ` "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap index 7dc67932119..3b19a16907e 100644 --- a/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap @@ -5,13 +5,6 @@ exports[`Page layout tab creation should fail when pageLayoutId references non-e "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], "pageLayoutTab": [ { "errors": [ @@ -24,51 +17,20 @@ exports[`Page layout tab creation should fail when pageLayoutId references non-e "flatEntityMinimalInformation": { "id": Any, "title": "Tab With Non-Existent Layout", + "universalIdentifier": Any, }, + "metadataName": "pageLayoutTab", "status": "fail", - "type": "create_page_layout_tab", + "type": "create", }, ], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 pageLayoutTab", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "pageLayoutTab": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating page layout tab", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap index 4c659427b42..38f6c705bad 100644 --- a/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap @@ -16,14 +16,6 @@ exports[`Page layout widget creation should fail when pageLayoutTabId references "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], "pageLayoutWidget": [ { "errors": [ @@ -36,50 +28,20 @@ exports[`Page layout widget creation should fail when pageLayoutTabId references "flatEntityMinimalInformation": { "id": Any, "pageLayoutTabId": Any, + "universalIdentifier": Any, }, + "metadataName": "pageLayoutWidget", "status": "fail", - "type": "create_page_layout_widget", + "type": "create", }, ], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 pageLayoutWidget", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "pageLayoutWidget": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating page layout widget", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap index 4d6e241b585..53d3e85fc7d 100644 --- a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap @@ -5,15 +5,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -26,49 +17,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Destroy Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -80,15 +42,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -101,49 +54,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Soft Delete Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -155,15 +79,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -176,49 +91,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Update Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -230,15 +116,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but mul "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -251,49 +128,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but mul "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Multiple Write Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -305,15 +153,6 @@ exports[`Role creation should fail when label already exists 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -326,49 +165,20 @@ exports[`Role creation should fail when label already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "label": "Existing Test Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap index 1a122a1d735..126948a90c2 100644 --- a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap @@ -17,15 +17,6 @@ exports[`Role update should fail updating role with existing write permissions s "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -37,49 +28,20 @@ exports[`Role update should fail updating role with existing write permissions s ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -91,15 +53,6 @@ exports[`Role update should fail when updating a non-editable system role 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -111,49 +64,20 @@ exports[`Role update should fail when updating a non-editable system role 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -165,15 +89,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -185,49 +100,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -239,15 +125,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -259,49 +136,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -313,15 +161,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -333,49 +172,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -387,15 +197,6 @@ exports[`Role update should fail when updating label to one that already exists "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -407,49 +208,20 @@ exports[`Role update should fail when updating label to one that already exists ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -461,15 +233,6 @@ exports[`Role update should fail when updating to enable write permissions witho "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -481,49 +244,20 @@ exports[`Role update should fail when updating to enable write permissions witho ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap index 832434b9dd6..a41425490d6 100644 --- a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap @@ -5,21 +5,6 @@ exports[`Skill creation should fail when content is empty string 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -32,43 +17,20 @@ exports[`Skill creation should fail when content is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyContentSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", @@ -94,21 +56,6 @@ exports[`Skill creation should fail when label is empty string 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -121,43 +68,20 @@ exports[`Skill creation should fail when label is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyLabelSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", @@ -183,21 +107,6 @@ exports[`Skill creation should fail when name already exists 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -210,43 +119,20 @@ exports[`Skill creation should fail when name already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "existingTestSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap index 18a46de0415..6ec5d0f817b 100644 --- a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap @@ -29,21 +29,6 @@ exports[`Skill update should fail when updating with empty content 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -55,43 +40,20 @@ exports[`Skill update should fail when updating with empty content 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "update_skill", + "type": "update", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating skill", "name": "GraphQLError", @@ -103,21 +65,6 @@ exports[`Skill update should fail when updating with empty label 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -129,43 +76,20 @@ exports[`Skill update should fail when updating with empty label 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "update_skill", + "type": "update", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating skill", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap index a0e59928d78..3986f8a9734 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group creation should fail with circular dependency when id "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -40,39 +21,20 @@ exports[`View Filter Group creation should fail with circular dependency when id ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -84,25 +46,6 @@ exports[`View Filter Group creation should fail with circular dependency when ma "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -114,39 +57,20 @@ exports[`View Filter Group creation should fail with circular dependency when ma ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap index b738ccdf053..462a1b1df22 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId doe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId doe ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -79,25 +41,6 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId equ "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -114,39 +57,20 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId equ ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -158,25 +82,6 @@ exports[`View Filter Group creation should fail when viewId does not exist 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -188,39 +93,20 @@ exports[`View Filter Group creation should fail when viewId does not exist 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap index 39e77070643..4226c8e5d72 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group update should fail with circular dependency when pare "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group update should fail with circular dependency when pare ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", @@ -79,25 +41,6 @@ exports[`View Filter Group update should fail with circular dependency when upda "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -109,39 +52,20 @@ exports[`View Filter Group update should fail with circular dependency when upda ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap index 558324788f1..31333f13de1 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group update should fail when parentViewFilterGroupId does "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group update should fail when parentViewFilterGroupId does ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap index 9a981ec70da..d00951a00c2 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap @@ -5,24 +5,6 @@ exports[`View Filter creation should fail when fieldMetadataId does not exist 1` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -34,40 +16,20 @@ exports[`View Filter creation should fail when fieldMetadataId does not exist 1` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", @@ -79,24 +41,6 @@ exports[`View Filter creation should fail when viewFilterGroupId does not exist "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -113,40 +57,20 @@ exports[`View Filter creation should fail when viewFilterGroupId does not exist ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", @@ -158,24 +82,6 @@ exports[`View Filter creation should fail when viewId does not exist 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -192,40 +98,20 @@ exports[`View Filter creation should fail when viewId does not exist 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap b/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap index c7c8660c3b1..63969f4e01a 100644 --- a/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap @@ -4,26 +4,6 @@ exports[`View Group REST API POST /metadata/viewGroups should fail to create vie { "error": "METADATA_VALIDATION_ERROR", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], "viewGroup": [ { "errors": [ @@ -35,38 +15,20 @@ exports[`View Group REST API POST /metadata/viewGroups should fail to create vie ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewGroup", "status": "fail", - "type": "create_view_group", + "type": "create", }, ], }, "message": "Multiple validation errors occurred while creating view groups", "statusCode": 400, "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewGroup": 1, }, } `; diff --git a/packages/twenty-shared/src/metadata/MetadataValidationError.ts b/packages/twenty-shared/src/metadata/MetadataValidationError.ts index fa23696c0c9..2651eb8976c 100644 --- a/packages/twenty-shared/src/metadata/MetadataValidationError.ts +++ b/packages/twenty-shared/src/metadata/MetadataValidationError.ts @@ -17,10 +17,10 @@ export type MetadataValidationErrorResponse = { summary: { totalErrors: number; } & { - [P in AllMetadataName as `invalid${Capitalize

}`]: number; + [P in AllMetadataName as P]?: number; }; errors: { - [P in AllMetadataName]: FailedMetadataValidation[]; + [P in AllMetadataName]?: FailedMetadataValidation[]; }; };