Remove field metadata interface references (#13305)
# Introduction Following https://github.com/twentyhq/twenty/pull/13264 > After this PR merge will create a new one removing the type and replacing it to FieldMetadataEntity. This is it !
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
|
||||
export type UniqueFieldCondition = [field: string, value: string];
|
||||
|
||||
@ -11,7 +11,7 @@ export type RelationConnectQueryConfig = {
|
||||
recordToConnectConditions: UniqueConstraintCondition[];
|
||||
relationFieldName: string;
|
||||
connectFieldName: string;
|
||||
uniqueConstraintFields: FieldMetadataInterface<FieldMetadataType>[];
|
||||
uniqueConstraintFields: FieldMetadataEntity<FieldMetadataType>[];
|
||||
recordToConnectConditionByEntityIndex: {
|
||||
[entityIndex: number]: UniqueConstraintCondition;
|
||||
};
|
||||
|
||||
@ -4,10 +4,10 @@ import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { ColumnType, EntitySchemaColumnOptions } from 'typeorm';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface';
|
||||
|
||||
import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types';
|
||||
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 { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
||||
import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util';
|
||||
@ -18,7 +18,7 @@ import {
|
||||
TwentyORMException,
|
||||
TwentyORMExceptionCode,
|
||||
} from 'src/engine/twenty-orm/exceptions/twenty-orm.exception';
|
||||
import { isFieldMetadataInterfaceOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
|
||||
type EntitySchemaColumnMap = {
|
||||
[key: string]: EntitySchemaColumnOptions;
|
||||
@ -39,11 +39,11 @@ export class EntitySchemaColumnFactory {
|
||||
const key = fieldMetadata.name;
|
||||
|
||||
const isRelation =
|
||||
isFieldMetadataInterfaceOfType(
|
||||
isFieldMetadataEntityOfType(
|
||||
fieldMetadata,
|
||||
FieldMetadataType.RELATION,
|
||||
) ||
|
||||
isFieldMetadataInterfaceOfType(
|
||||
isFieldMetadataEntityOfType(
|
||||
fieldMetadata,
|
||||
FieldMetadataType.MORPH_RELATION,
|
||||
);
|
||||
@ -113,7 +113,7 @@ export class EntitySchemaColumnFactory {
|
||||
}
|
||||
|
||||
private createCompositeColumns(
|
||||
fieldMetadata: FieldMetadataInterface,
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
): EntitySchemaColumnMap {
|
||||
const entitySchemaColumnMap: EntitySchemaColumnMap = {};
|
||||
const compositeType = compositeTypeDefinitions.get(fieldMetadata.type);
|
||||
|
||||
@ -6,7 +6,7 @@ import { EntitySchemaRelationOptions } from 'typeorm';
|
||||
import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
|
||||
import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps';
|
||||
import { determineSchemaRelationDetails } from 'src/engine/twenty-orm/utils/determine-schema-relation-details.util';
|
||||
import { isFieldMetadataInterfaceOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
|
||||
type EntitySchemaRelationMap = {
|
||||
[key: string]: EntitySchemaRelationOptions;
|
||||
@ -28,11 +28,11 @@ export class EntitySchemaRelationFactory {
|
||||
|
||||
for (const fieldMetadata of fieldMetadataCollection) {
|
||||
const isRelation =
|
||||
isFieldMetadataInterfaceOfType(
|
||||
isFieldMetadataEntityOfType(
|
||||
fieldMetadata,
|
||||
FieldMetadataType.RELATION,
|
||||
) ||
|
||||
isFieldMetadataInterfaceOfType(
|
||||
isFieldMetadataEntityOfType(
|
||||
fieldMetadata,
|
||||
FieldMetadataType.MORPH_RELATION,
|
||||
);
|
||||
|
||||
@ -3,10 +3,10 @@ import deepEqual from 'deep-equal';
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { getUniqueConstraintsFields, isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface';
|
||||
import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface';
|
||||
|
||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
||||
import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
|
||||
import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps';
|
||||
@ -21,7 +21,7 @@ import {
|
||||
} from 'src/engine/twenty-orm/exceptions/twenty-orm.exception';
|
||||
import { formatCompositeField } from 'src/engine/twenty-orm/utils/format-data.util';
|
||||
import { getAssociatedRelationFieldName } from 'src/engine/twenty-orm/utils/get-associated-relation-field-name.util';
|
||||
import { isFieldMetadataInterfaceOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
|
||||
export const computeRelationConnectQueryConfigs = (
|
||||
entities: Record<string, unknown>[],
|
||||
@ -101,7 +101,7 @@ const updateConnectQueryConfigs = (
|
||||
const createConnectQueryConfig = (
|
||||
connectFieldName: string,
|
||||
recordToConnectCondition: UniqueConstraintCondition,
|
||||
uniqueConstraintFields: FieldMetadataInterface<FieldMetadataType>[],
|
||||
uniqueConstraintFields: FieldMetadataEntity<FieldMetadataType>[],
|
||||
targetObjectNameSingular: string,
|
||||
entityIndex: number,
|
||||
) => {
|
||||
@ -125,14 +125,14 @@ const computeRecordToConnectCondition = (
|
||||
entity: Record<string, unknown>,
|
||||
): {
|
||||
recordToConnectCondition: UniqueConstraintCondition;
|
||||
uniqueConstraintFields: FieldMetadataInterface<FieldMetadataType>[];
|
||||
uniqueConstraintFields: FieldMetadataEntity<FieldMetadataType>[];
|
||||
targetObjectNameSingular: string;
|
||||
} => {
|
||||
const field =
|
||||
objectMetadata.fieldsById[objectMetadata.fieldIdByName[connectFieldName]];
|
||||
|
||||
if (
|
||||
!isFieldMetadataInterfaceOfType(field, FieldMetadataType.RELATION) ||
|
||||
!isFieldMetadataEntityOfType(field, FieldMetadataType.RELATION) ||
|
||||
field.settings?.relationType !== RelationType.MANY_TO_ONE
|
||||
) {
|
||||
const objectMetadataNameSingular = objectMetadata.nameSingular;
|
||||
@ -239,7 +239,7 @@ const checkUniqueConstraintFullyPopulated = (
|
||||
connectFieldName: string,
|
||||
) => {
|
||||
const uniqueConstraintsFields = getUniqueConstraintsFields<
|
||||
FieldMetadataInterface,
|
||||
FieldMetadataEntity,
|
||||
ObjectMetadataInterface
|
||||
>({
|
||||
...objectMetadata,
|
||||
@ -298,7 +298,7 @@ const checkNoRelationFieldConflictOrThrow = (
|
||||
};
|
||||
|
||||
const computeUniqueConstraintCondition = (
|
||||
uniqueConstraintFields: FieldMetadataInterface<FieldMetadataType>[],
|
||||
uniqueConstraintFields: FieldMetadataEntity<FieldMetadataType>[],
|
||||
connectObject: ConnectObject,
|
||||
): UniqueConstraintCondition => {
|
||||
return uniqueConstraintFields.reduce((acc, uniqueConstraintField) => {
|
||||
@ -326,7 +326,7 @@ const computeUniqueConstraintCondition = (
|
||||
|
||||
const checkUniqueConstraintsAreSameOrThrow = (
|
||||
relationConnectQueryConfig: RelationConnectQueryConfig,
|
||||
uniqueConstraintFields: FieldMetadataInterface<FieldMetadataType>[],
|
||||
uniqueConstraintFields: FieldMetadataEntity<FieldMetadataType>[],
|
||||
) => {
|
||||
if (
|
||||
!deepEqual(
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { RelationType } from 'typeorm/metadata/types/RelationTypes';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
|
||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps';
|
||||
import {
|
||||
RelationException,
|
||||
@ -18,7 +17,7 @@ interface RelationDetails {
|
||||
}
|
||||
|
||||
export async function determineSchemaRelationDetails(
|
||||
fieldMetadata: FieldMetadataInterface<
|
||||
fieldMetadata: FieldMetadataEntity<
|
||||
FieldMetadataType.RELATION | FieldMetadataType.MORPH_RELATION
|
||||
>,
|
||||
objectMetadataMaps: ObjectMetadataMaps,
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { capitalize } from 'twenty-shared/utils';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
|
||||
import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types';
|
||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
||||
import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
|
||||
import { CompositeFieldMetadataType } from 'src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory';
|
||||
@ -57,7 +56,7 @@ export function formatData<T>(
|
||||
export function formatCompositeField(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
value: any,
|
||||
fieldMetadata: FieldMetadataInterface,
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
): Record<string, any> {
|
||||
const compositeType = compositeTypeDefinitions.get(
|
||||
@ -80,7 +79,7 @@ export function formatCompositeField(
|
||||
if (value && value[subFieldKey] !== undefined) {
|
||||
formattedCompositeField[fullFieldName] = formatFieldMetadataValue(
|
||||
value[subFieldKey],
|
||||
property as unknown as FieldMetadataInterface,
|
||||
property as unknown as FieldMetadataEntity,
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -91,7 +90,7 @@ export function formatCompositeField(
|
||||
function formatFieldMetadataValue(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
value: any,
|
||||
fieldMetadata: FieldMetadataInterface,
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
) {
|
||||
if (
|
||||
fieldMetadata.type === FieldMetadataType.RAW_JSON &&
|
||||
|
||||
@ -4,14 +4,13 @@ import { isNonEmptyString } from '@sniptt/guards';
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface';
|
||||
|
||||
import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types';
|
||||
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 { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps';
|
||||
import { ObjectMetadataMaps } from 'src/engine/metadata-modules/types/object-metadata-maps';
|
||||
import { getCompositeFieldMetadataCollection } from 'src/engine/twenty-orm/utils/get-composite-field-metadata-collection';
|
||||
import { isFieldMetadataInterfaceOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util';
|
||||
import { isDate } from 'src/utils/date/isDate';
|
||||
import { isValidDate } from 'src/utils/date/isValidDate';
|
||||
|
||||
@ -52,13 +51,10 @@ export function formatResult<T>(
|
||||
|
||||
const fieldMetadata = objectMetadataItemWithFieldMaps.fieldsById[
|
||||
fieldMetadataId
|
||||
] as FieldMetadataInterface<FieldMetadataType> | undefined;
|
||||
] as FieldMetadataEntity<FieldMetadataType> | undefined;
|
||||
|
||||
const isRelation = fieldMetadata
|
||||
? isFieldMetadataInterfaceOfType(
|
||||
fieldMetadata,
|
||||
FieldMetadataType.RELATION,
|
||||
)
|
||||
? isFieldMetadataEntityOfType(fieldMetadata, FieldMetadataType.RELATION)
|
||||
: false;
|
||||
|
||||
if (!compositePropertyArgs && !isRelation) {
|
||||
@ -204,7 +200,7 @@ export function getCompositeFieldMetadataMap(
|
||||
function formatFieldMetadataValue(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
value: any,
|
||||
fieldMetadata: FieldMetadataInterface,
|
||||
fieldMetadata: FieldMetadataEntity,
|
||||
) {
|
||||
if (
|
||||
typeof value === 'string' &&
|
||||
|
||||
Reference in New Issue
Block a user