[BREAKING_CHANGE] Deprecate remaining entities standardId (#17639)
# Introduction Following https://github.com/twentyhq/twenty/pull/17632 and https://github.com/twentyhq/twenty/pull/17572 This PR deprecates the agent, skill, field metadata and role `standardId` in favor of the `universalIdentifier` usage ## Note - Removed previous standard ids declaration modules - Twenty-sdk now re-exports the `STANDARD_OBJECTS` universalIdentifier hashmap constant - deleted some sync-metadata deadcode too ( mainly types )
This commit is contained in:
-1
@@ -233,7 +233,6 @@ describe('computeRelationConnectQueryConfigs', () => {
|
||||
description: null,
|
||||
standardOverrides: null,
|
||||
isUIReadOnly: false,
|
||||
standardId: null,
|
||||
labelIdentifierFieldMetadataId: null,
|
||||
imageIdentifierFieldMetadataId: null,
|
||||
duplicateCriteria: null,
|
||||
|
||||
+1
-1
@@ -12,6 +12,7 @@ import {
|
||||
isDefined,
|
||||
isNonEmptyArray,
|
||||
} from 'twenty-shared/utils';
|
||||
import { STANDARD_OBJECTS } from 'twenty-shared/metadata';
|
||||
|
||||
import type { ObjectLiteral } from 'typeorm';
|
||||
|
||||
@@ -26,7 +27,6 @@ import {
|
||||
TwentyORMExceptionCode,
|
||||
} from 'src/engine/twenty-orm/exceptions/twenty-orm.exception';
|
||||
import { type DatabaseBatchEventInput } from 'src/engine/workspace-event-emitter/workspace-event-emitter';
|
||||
import { STANDARD_OBJECTS } from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-object.constant';
|
||||
|
||||
export const formatTwentyOrmEventToDatabaseBatchEvent = <
|
||||
T extends ObjectLiteral,
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface';
|
||||
import { type WorkspaceJoinColumnsMetadataArgs } from 'src/engine/twenty-orm/interfaces/workspace-join-columns-metadata-args.interface';
|
||||
import { type WorkspaceRelationMetadataArgs } from 'src/engine/twenty-orm/interfaces/workspace-relation-metadata-args.interface';
|
||||
|
||||
import {
|
||||
RelationException,
|
||||
RelationExceptionCode,
|
||||
} from 'src/engine/twenty-orm/exceptions/relation.exception';
|
||||
import { metadataArgsStorage } from 'src/engine/twenty-orm/storage/metadata-args.storage';
|
||||
|
||||
export const getJoinColumn = (
|
||||
joinColumnsMetadataArgsCollection: WorkspaceJoinColumnsMetadataArgs[],
|
||||
relationMetadataArgs: WorkspaceRelationMetadataArgs,
|
||||
): string | null => {
|
||||
if (relationMetadataArgs.type === RelationType.ONE_TO_MANY) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const inverseSideTarget = relationMetadataArgs.inverseSideTarget();
|
||||
const inverseSideJoinColumnsMetadataArgsCollection =
|
||||
metadataArgsStorage.filterJoinColumns(inverseSideTarget);
|
||||
const filteredJoinColumnsMetadataArgsCollection =
|
||||
joinColumnsMetadataArgsCollection.filter(
|
||||
(joinColumnsMetadataArgs) =>
|
||||
joinColumnsMetadataArgs.relationName === relationMetadataArgs.name,
|
||||
);
|
||||
const oppositeFilteredJoinColumnsMetadataArgsCollection =
|
||||
inverseSideJoinColumnsMetadataArgsCollection.filter(
|
||||
(joinColumnsMetadataArgs) =>
|
||||
joinColumnsMetadataArgs.relationName === relationMetadataArgs.name,
|
||||
);
|
||||
|
||||
if (
|
||||
filteredJoinColumnsMetadataArgsCollection.length > 0 &&
|
||||
oppositeFilteredJoinColumnsMetadataArgsCollection.length > 0
|
||||
) {
|
||||
throw new RelationException(
|
||||
`Join column for ${relationMetadataArgs.name} relation is present on both sides`,
|
||||
RelationExceptionCode.RELATION_JOIN_COLUMN_ON_BOTH_SIDES,
|
||||
);
|
||||
}
|
||||
|
||||
// Check if there are multiple join columns for the relation
|
||||
if (filteredJoinColumnsMetadataArgsCollection.length > 1) {
|
||||
throw new RelationException(
|
||||
`Multiple join columns found for relation ${relationMetadataArgs.name}`,
|
||||
RelationExceptionCode.MULTIPLE_JOIN_COLUMNS_FOUND,
|
||||
);
|
||||
}
|
||||
|
||||
const joinColumnsMetadataArgs = filteredJoinColumnsMetadataArgsCollection[0];
|
||||
|
||||
if (!joinColumnsMetadataArgs) {
|
||||
throw new RelationException(
|
||||
`Join column is missing for relation ${relationMetadataArgs.name}`,
|
||||
RelationExceptionCode.MISSING_RELATION_JOIN_COLUMN,
|
||||
);
|
||||
}
|
||||
|
||||
return joinColumnsMetadataArgs.joinColumn;
|
||||
};
|
||||
Reference in New Issue
Block a user