diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts index 98ec7e5d4..24843a342 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts @@ -1,13 +1,13 @@ import { GraphQLResolveInfo } from 'graphql'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export const workspaceQueryBuilderOptionsMock: WorkspaceQueryBuilderOptions = { fieldMetadataCollection: [], info: {} as GraphQLResolveInfo, objectMetadataCollection: [], - objectMetadataItem: objectMetadataItemMock as ObjectMetadataInterface, + objectMetadataItem: objectMetadataItemMock as ObjectMetadataEntity, }; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts index 86d32be90..d5751fbff 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts @@ -1,13 +1,12 @@ import { GraphQLResolveInfo } from 'graphql'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export interface WorkspaceQueryBuilderOptions { - objectMetadataItem: ObjectMetadataInterface; + objectMetadataItem: ObjectMetadataEntity; info: GraphQLResolveInfo; fieldMetadataCollection: FieldMetadataEntity[]; - objectMetadataCollection: ObjectMetadataInterface[]; + objectMetadataCollection: ObjectMetadataEntity[]; withSoftDeleted?: boolean; } diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts index 6e3a71174..7131b6d85 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts @@ -3,16 +3,16 @@ import { Injectable } from '@nestjs/common'; import { isDefined } from 'twenty-shared/utils'; import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { FindDuplicatesResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; @Injectable() export class WorkspaceResolverBuilderService { constructor() {} shouldBuildResolver( - objectMetadata: Pick, + objectMetadata: Pick, methodName: WorkspaceResolverBuilderMethodNames, ) { switch (methodName) { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/aggregation-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/aggregation-type.factory.ts index dec6bd49a..83e430ef5 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/aggregation-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/aggregation-type.factory.ts @@ -1,18 +1,17 @@ import { Injectable } from '@nestjs/common'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - import { AggregationField, getAvailableAggregationsFromObjectFields, } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; type AggregationGraphQLType = Pick; @Injectable() export class AggregationTypeFactory { public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, ): Record { const availableAggregations = getAvailableAggregationsFromObjectFields( objectMetadata.fields, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts index c16a36695..a1326ab62 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts @@ -2,11 +2,11 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigArgumentMap } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { ArgsMetadata } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; -import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; +import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; @Injectable() export class ArgsFactory { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts index 0fd2afba3..fc16e3096 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLEnumType } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { CompositeProperty, CompositeType, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts index 798b54625..69e4e5917 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts index 34f7f077f..d7f1d5512 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts index edc0186f6..c4a67907d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts @@ -2,10 +2,10 @@ import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { AggregationTypeFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/aggregation-type.factory'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { pascalCase } from 'src/utils/pascal-case'; import { ConnectionTypeFactory } from './connection-type.factory'; @@ -27,7 +27,7 @@ export class ConnectionTypeDefinitionFactory { ) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, ): ObjectTypeDefinition { const kind = ObjectTypeDefinitionKind.Connection; @@ -44,12 +44,10 @@ export class ConnectionTypeDefinitionFactory { } private generateFields( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, // eslint-disable-next-line @typescript-eslint/no-explicit-any - // eslint-disable-next-line @typescript-eslint/no-explicit-any ): GraphQLFieldConfigMap { - // eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any const fields: GraphQLFieldConfigMap = {}; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts index 99ce89573..95d68ce72 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts @@ -2,8 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { PageInfoType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/object'; import { @@ -11,6 +10,7 @@ import { TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ConnectionTypeDefinitionKind } from './connection-type-definition.factory'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; @@ -25,7 +25,7 @@ export class ConnectionTypeFactory { ) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, kind: ConnectionTypeDefinitionKind, buildOptions: WorkspaceBuildSchemaOptions, typeOptions: TypeOptions, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts index bb9fbd212..efc57471e 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts @@ -2,16 +2,16 @@ import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { pascalCase } from 'src/utils/pascal-case'; +import { EdgeTypeFactory } from './edge-type.factory'; import { ObjectTypeDefinition, ObjectTypeDefinitionKind, } from './object-type-definition.factory'; -import { EdgeTypeFactory } from './edge-type.factory'; export enum EdgeTypeDefinitionKind { Node = 'Node', @@ -23,7 +23,7 @@ export class EdgeTypeDefinitionFactory { constructor(private readonly edgeTypeFactory: EdgeTypeFactory) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, ): ObjectTypeDefinition { const kind = ObjectTypeDefinitionKind.Edge; @@ -40,7 +40,7 @@ export class EdgeTypeDefinitionFactory { } private generateFields( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, // eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts index 3adeeb2d1..9a10f2382 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts @@ -2,8 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { CursorScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; import { @@ -11,6 +10,7 @@ import { TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { EdgeTypeDefinitionKind } from './edge-type-definition.factory'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; @@ -25,7 +25,7 @@ export class EdgeTypeFactory { ) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, kind: EdgeTypeDefinitionKind, buildOptions: WorkspaceBuildSchemaOptions, typeOptions: TypeOptions, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts index 533074f5d..d0ec0868b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts @@ -3,8 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLEnumType } from 'graphql'; import { isDefined } from 'twenty-shared/utils'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { FieldMetadataComplexOption, @@ -12,6 +11,7 @@ import { } from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { transformEnumValue } from 'src/engine/utils/transform-enum-value'; import { pascalCase } from 'src/utils/pascal-case'; @@ -25,7 +25,7 @@ export class EnumTypeDefinitionFactory { private readonly logger = new Logger(EnumTypeDefinitionFactory.name); public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, ): EnumTypeDefinition[] { const enumTypeDefinitions: EnumTypeDefinition[] = []; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts index b519ce2af..3d59dbeaa 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts @@ -7,14 +7,14 @@ import { } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; import { RelationTypeV2Factory } from 'src/engine/api/graphql/workspace-schema-builder/factories/relation-type-v2.factory'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { getResolverArgs } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util'; import { objectContainsRelationField } from 'src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util'; import { ArgsFactory } from './args.factory'; @@ -44,7 +44,7 @@ export class ExtendObjectTypeDefinitionV2Factory { ) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, ): ObjectTypeDefinition { const kind = ObjectTypeDefinitionKind.Plain; @@ -101,12 +101,10 @@ export class ExtendObjectTypeDefinitionV2Factory { } private generateFields( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, options: WorkspaceBuildSchemaOptions, // eslint-disable-next-line @typescript-eslint/no-explicit-any - // eslint-disable-next-line @typescript-eslint/no-explicit-any ): GraphQLFieldConfigMap { - // eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any const fields: GraphQLFieldConfigMap = {}; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts index 5f833a1e0..1ca8c3991 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts @@ -2,11 +2,11 @@ import { Inject, Injectable, forwardRef } from '@nestjs/common'; import { GraphQLInputObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { generateFields } from 'src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { pascalCase } from 'src/utils/pascal-case'; import { InputTypeFactory } from './input-type.factory'; @@ -37,7 +37,7 @@ export class InputTypeDefinitionFactory { kind, options, }: { - objectMetadata: ObjectMetadataInterface; + objectMetadata: ObjectMetadataEntity; kind: InputTypeDefinitionKind; options: WorkspaceBuildSchemaOptions; }): InputTypeDefinition { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts index 49a75602c..ab791848c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts @@ -8,7 +8,7 @@ import { } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts index b19e73898..fb13f8338 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts @@ -2,9 +2,10 @@ import { Injectable } from '@nestjs/common'; import { GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { WorkspaceResolverBuilderMutationMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; + +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ObjectTypeName, RootTypeFactory } from './root-type.factory'; @@ -13,7 +14,7 @@ export class MutationTypeFactory { constructor(private readonly rootTypeFactory: RootTypeFactory) {} create( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], workspaceResolverMethodNames: WorkspaceResolverBuilderMutationMethodNames[], options: WorkspaceBuildSchemaOptions, ): GraphQLObjectType { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts index 842737ea5..6251c8fc6 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts @@ -2,10 +2,10 @@ import { Injectable } from '@nestjs/common'; import { GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { generateFields } from 'src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { pascalCase } from 'src/utils/pascal-case'; import { OutputTypeFactory } from './output-type.factory'; @@ -27,7 +27,7 @@ export class ObjectTypeDefinitionFactory { constructor(private readonly outputTypeFactory: OutputTypeFactory) {} public create( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, kind: ObjectTypeDefinitionKind, options: WorkspaceBuildSchemaOptions, ): ObjectTypeDefinition { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts index f2813479e..ee2233025 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; import { FieldMetadataType } from 'twenty-shared/types'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { TypeMapperService, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts index 59ce2e0f4..9cf38e290 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts @@ -2,9 +2,10 @@ import { Injectable } from '@nestjs/common'; import { GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { WorkspaceResolverBuilderQueryMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; + +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ObjectTypeName, RootTypeFactory } from './root-type.factory'; @@ -13,7 +14,7 @@ export class QueryTypeFactory { constructor(private readonly rootTypeFactory: RootTypeFactory) {} create( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], workspaceResolverMethodNames: WorkspaceResolverBuilderQueryMethodNames[], options: WorkspaceBuildSchemaOptions, ): GraphQLObjectType { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory.ts index ef7d8ad97..8db05876d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory.ts @@ -7,8 +7,6 @@ import { GraphQLString, } from 'graphql'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - import { InputTypeDefinition, InputTypeDefinitionKind, @@ -18,6 +16,7 @@ import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-meta 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 { getUniqueConstraintsFields } from 'src/engine/metadata-modules/index-metadata/utils/getUniqueConstraintsFields.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { pascalCase } from 'src/utils/pascal-case'; export const formatRelationConnectInputTarget = (objectMetadataId: string) => @@ -27,9 +26,7 @@ export const formatRelationConnectInputTarget = (objectMetadataId: string) => export class RelationConnectInputTypeDefinitionFactory { constructor(private readonly typeMapperService: TypeMapperService) {} - public create( - objectMetadata: ObjectMetadataInterface, - ): InputTypeDefinition[] { + public create(objectMetadata: ObjectMetadataEntity): InputTypeDefinition[] { const fields = this.generateRelationConnectInputType(objectMetadata); const target = formatRelationConnectInputTarget(objectMetadata.id); @@ -43,7 +40,7 @@ export class RelationConnectInputTypeDefinitionFactory { } private generateRelationConnectInputType( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, ): GraphQLInputObjectType { return new GraphQLInputObjectType({ name: `${pascalCase(objectMetadata.nameSingular)}RelationInput`, @@ -60,11 +57,11 @@ export class RelationConnectInputTypeDefinitionFactory { } private generateRelationWhereInputType( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, ): Record { const uniqueConstraints = getUniqueConstraintsFields< FieldMetadataEntity, - ObjectMetadataInterface + ObjectMetadataEntity >(objectMetadata); const fields: Record< diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts index ace302453..894c66f10 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts @@ -3,13 +3,13 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { WorkspaceResolverBuilderService } from 'src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service'; import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { getResolverArgs } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { getResolverName } from 'src/engine/utils/get-resolver-name.util'; import { ArgsFactory } from './args.factory'; @@ -33,7 +33,7 @@ export class RootTypeFactory { ) {} create( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], workspaceResolverMethodNames: WorkspaceResolverBuilderMethodNames[], objectTypeName: ObjectTypeName, options: WorkspaceBuildSchemaOptions, @@ -63,10 +63,9 @@ export class RootTypeFactory { }); } - // eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any private generateFields( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], workspaceResolverMethodNames: WorkspaceResolverBuilderMethodNames[], options: WorkspaceBuildSchemaOptions, ): GraphQLFieldConfigMap { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface.ts similarity index 100% rename from packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface.ts diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts index a3f156f4f..b20268fad 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts @@ -1,7 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { CompositeEnumTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory'; import { CompositeInputTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory'; @@ -11,6 +10,7 @@ import { ExtendObjectTypeDefinitionV2Factory } from 'src/engine/api/graphql/work import { RelationConnectInputTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory'; import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service'; import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ConnectionTypeDefinitionFactory } from './factories/connection-type-definition.factory'; import { EdgeTypeDefinitionFactory } from './factories/edge-type-definition.factory'; @@ -22,7 +22,7 @@ import { ObjectTypeDefinitionFactory, ObjectTypeDefinitionKind, } from './factories/object-type-definition.factory'; -import { WorkspaceBuildSchemaOptions } from './interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from './interfaces/workspace-build-schema-options.interface'; import { TypeDefinitionsStorage } from './storages/type-definitions.storage'; import { objectContainsRelationField } from './utils/object-contains-relation-field'; @@ -46,7 +46,7 @@ export class TypeDefinitionsGenerator { ) {} async generate( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { // Generate composite type objects first because they can be used in dynamic objects @@ -152,7 +152,7 @@ export class TypeDefinitionsGenerator { */ private async generateMetadataTypeDefs( - dynamicObjectMetadataCollection: ObjectMetadataInterface[], + dynamicObjectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { this.logger.log( @@ -173,7 +173,7 @@ export class TypeDefinitionsGenerator { } private generateObjectTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[] | CompositeType[], + objectMetadataCollection: ObjectMetadataEntity[] | CompositeType[], options: WorkspaceBuildSchemaOptions, ) { const objectTypeDefs = objectMetadataCollection.map((objectMetadata) => @@ -189,7 +189,7 @@ export class TypeDefinitionsGenerator { } private generatePaginationTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { const edgeTypeDefs = objectMetadataCollection.map((objectMetadata) => @@ -207,7 +207,7 @@ export class TypeDefinitionsGenerator { } private async generateInputTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { const inputTypeDefs = objectMetadataCollection @@ -253,7 +253,7 @@ export class TypeDefinitionsGenerator { } private generateEnumTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { const enumTypeDefs = objectMetadataCollection @@ -266,7 +266,7 @@ export class TypeDefinitionsGenerator { } private async generateExtendedObjectTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], options: WorkspaceBuildSchemaOptions, ) { // Generate extended object type defs only for objects that contain composite fields @@ -291,7 +291,7 @@ export class TypeDefinitionsGenerator { } private generateRelationConnectInputTypeDefs( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], ) { const relationWhereInputTypeDefs = objectMetadataCollection .map((objectMetadata) => diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts index baafa9b1c..e085166ba 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts @@ -7,8 +7,7 @@ import { import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-options.interface'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; import { InputTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; @@ -16,6 +15,7 @@ import { ObjectTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schem import { formatRelationConnectInputTarget } from 'src/engine/api/graphql/workspace-schema-builder/factories/relation-connect-input-type-definition.factory'; 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 { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util'; type TypeFactory = @@ -48,7 +48,7 @@ export const generateFields = < options, typeFactory, }: { - objectMetadata: ObjectMetadataInterface; + objectMetadata: ObjectMetadataEntity; kind: T; options: WorkspaceBuildSchemaOptions; typeFactory: TypeFactory; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts index e842e4219..2f12505bf 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts @@ -1,9 +1,8 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; export const objectContainsRelationField = ( - objectMetadata: ObjectMetadataInterface, + objectMetadata: ObjectMetadataEntity, ): boolean => { return objectMetadata.fields.some((field) => isRelationFieldMetadataType(field.type), diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts index be48bdb2b..d20ae9c30 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts @@ -3,14 +3,15 @@ import { Injectable } from '@nestjs/common'; import { GraphQLSchema } from 'graphql'; import { WorkspaceResolverBuilderMethods } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; + +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { TypeDefinitionsGenerator } from './type-definitions.generator'; import { MutationTypeFactory } from './factories/mutation-type.factory'; import { OrphanedTypesFactory } from './factories/orphaned-types.factory'; import { QueryTypeFactory } from './factories/query-type.factory'; -import { WorkspaceBuildSchemaOptions } from './interfaces/workspace-build-schema-optionts.interface'; +import { WorkspaceBuildSchemaOptions } from './interfaces/workspace-build-schema-options.interface'; @Injectable() export class WorkspaceGraphQLSchemaFactory { @@ -22,7 +23,7 @@ export class WorkspaceGraphQLSchemaFactory { ) {} async create( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], workspaceResolverBuilderMethods: WorkspaceResolverBuilderMethods, options: WorkspaceBuildSchemaOptions = {}, ): Promise { diff --git a/packages/twenty-server/src/engine/core-modules/event-emitter/types/object-record.base.event.ts b/packages/twenty-server/src/engine/core-modules/event-emitter/types/object-record.base.event.ts index c10a598cf..0c7aa4ccb 100644 --- a/packages/twenty-server/src/engine/core-modules/event-emitter/types/object-record.base.event.ts +++ b/packages/twenty-server/src/engine/core-modules/event-emitter/types/object-record.base.event.ts @@ -1,6 +1,5 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - import { ObjectRecordDiff } from 'src/engine/core-modules/event-emitter/types/object-record-diff'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; type Properties = { updatedFields?: string[]; @@ -13,6 +12,6 @@ export class ObjectRecordBaseEvent { recordId: string; userId?: string; workspaceMemberId?: string; - objectMetadata: Omit; + objectMetadata: Omit; properties: Properties; } diff --git a/packages/twenty-server/src/engine/dataloaders/dataloader.service.ts b/packages/twenty-server/src/engine/dataloaders/dataloader.service.ts index f647fb896..d63a9f721 100644 --- a/packages/twenty-server/src/engine/dataloaders/dataloader.service.ts +++ b/packages/twenty-server/src/engine/dataloaders/dataloader.service.ts @@ -4,9 +4,9 @@ import DataLoader from 'dataloader'; import { APP_LOCALES } from 'twenty-shared/translations'; import { isDefined } from 'twenty-shared/utils'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { IndexMetadataInterface } from 'src/engine/metadata-modules/index-metadata/interfaces/index-metadata.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { IDataloaders } from 'src/engine/dataloaders/dataloader.interface'; import { filterMorphRelationDuplicateFieldsDTO } from 'src/engine/dataloaders/utils/filter-morph-relation-duplicate-fields.util'; import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; @@ -17,7 +17,6 @@ import { fromFieldMetadataEntityToFieldMetadataDto } from 'src/engine/metadata-m import { resolveFieldMetadataStandardOverride } from 'src/engine/metadata-modules/field-metadata/utils/resolve-field-metadata-standard-override.util'; import { IndexFieldMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-field-metadata.dto'; import { IndexMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-metadata.dto'; -import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceMetadataCacheService } from 'src/engine/metadata-modules/workspace-metadata-cache/services/workspace-metadata-cache.service'; export type RelationMetadataLoaderPayload = { @@ -52,18 +51,18 @@ export type MorphRelationLoaderPayload = { export type FieldMetadataLoaderPayload = { workspaceId: string; - objectMetadata: Pick; + objectMetadata: Pick; locale?: keyof typeof APP_LOCALES; }; export type IndexMetadataLoaderPayload = { workspaceId: string; - objectMetadata: Pick; + objectMetadata: Pick; }; export type IndexFieldMetadataLoaderPayload = { workspaceId: string; - objectMetadata: Pick; + objectMetadata: Pick; indexMetadata: Pick; }; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface.ts deleted file mode 100644 index 0ec3ae3cb..000000000 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; - -export interface ObjectMetadataInterface extends ObjectMetadataEntity {} diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util.ts index 5a30ed4bf..014875d5d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util.ts @@ -1,12 +1,11 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ObjectMetadataException, ObjectMetadataExceptionCode, } from 'src/engine/metadata-modules/object-metadata/object-metadata.exception'; export const assertMutationNotOnRemoteObject = ( - objectMetadataItem: Pick, + objectMetadataItem: Pick, ) => { if (objectMetadataItem.isRemote) { throw new ObjectMetadataException( diff --git a/packages/twenty-server/src/engine/metadata-modules/types/object-metadata-item-with-field-maps.ts b/packages/twenty-server/src/engine/metadata-modules/types/object-metadata-item-with-field-maps.ts index 15e6dd721..bbb1cdc52 100644 --- a/packages/twenty-server/src/engine/metadata-modules/types/object-metadata-item-with-field-maps.ts +++ b/packages/twenty-server/src/engine/metadata-modules/types/object-metadata-item-with-field-maps.ts @@ -1,10 +1,10 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { IndexMetadataInterface } from 'src/engine/metadata-modules/index-metadata/interfaces/index-metadata.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { FieldMetadataMap } from 'src/engine/metadata-modules/types/field-metadata-map'; export type ObjectMetadataItemWithFieldMaps = Omit< - ObjectMetadataInterface, + ObjectMetadataEntity, 'fields' > & { fieldsById: FieldMetadataMap; diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/generate-object-metadata-maps.util.ts b/packages/twenty-server/src/engine/metadata-modules/utils/generate-object-metadata-maps.util.ts index 4d9e7e37c..dc3572232 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/generate-object-metadata-maps.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/generate-object-metadata-maps.util.ts @@ -1,15 +1,14 @@ import omit from 'lodash.omit'; import { FieldMetadataType } from 'twenty-shared/types'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { FieldMetadataMap } from 'src/engine/metadata-modules/types/field-metadata-map'; 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 { isFieldMetadataEntityOfType } from 'src/engine/utils/is-field-metadata-of-type.util'; export const generateObjectMetadataMaps = ( - objectMetadataCollection: ObjectMetadataInterface[], + objectMetadataCollection: ObjectMetadataEntity[], ): ObjectMetadataMaps => { const objectMetadataMaps: ObjectMetadataMaps = { byId: {}, diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/get-object-metadata-from-object-metadata-Item-with-field-maps.ts b/packages/twenty-server/src/engine/metadata-modules/utils/get-object-metadata-from-object-metadata-Item-with-field-maps.ts index fd77be619..743e4b9b3 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/get-object-metadata-from-object-metadata-Item-with-field-maps.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/get-object-metadata-from-object-metadata-Item-with-field-maps.ts @@ -1,12 +1,11 @@ import omit from 'lodash.omit'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; export const getObjectMetadataFromObjectMetadataItemWithFieldMaps = ( objectMetadataMapItem: ObjectMetadataItemWithFieldMaps, -): ObjectMetadataInterface => { +): ObjectMetadataEntity => { return { ...omit(objectMetadataMapItem, [ 'fieldsById', diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/compute-relation-connect-query-configs.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/compute-relation-connect-query-configs.util.ts index 2ad109776..8544dbe46 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/compute-relation-connect-query-configs.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/compute-relation-connect-query-configs.util.ts @@ -4,11 +4,11 @@ import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.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 { getUniqueConstraintsFields } from 'src/engine/metadata-modules/index-metadata/utils/getUniqueConstraintsFields.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; 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 { ConnectObject } from 'src/engine/twenty-orm/entity-manager/types/query-deep-partial-entity-with-relation-connect.type'; @@ -241,7 +241,7 @@ const checkUniqueConstraintFullyPopulated = ( ) => { const uniqueConstraintsFields = getUniqueConstraintsFields< FieldMetadataEntity, - ObjectMetadataInterface + ObjectMetadataEntity >({ ...objectMetadata, fields: Object.values(objectMetadata.fieldsById), diff --git a/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts b/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts index fc4eb9ccb..7ae1f5255 100644 --- a/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts +++ b/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts @@ -1,9 +1,9 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { computeTableName } from './compute-table-name.util'; export const computeObjectTargetTable = ( - objectMetadata: Pick, + objectMetadata: Pick, ) => { return computeTableName(objectMetadata.nameSingular, objectMetadata.isCustom); }; diff --git a/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts index 2a77019a2..1196a11bb 100644 --- a/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts +++ b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts @@ -1,11 +1,11 @@ import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { camelCase } from 'src/utils/camel-case'; import { pascalCase } from 'src/utils/pascal-case'; export const getResolverName = ( - objectMetadata: Pick, + objectMetadata: Pick, type: WorkspaceResolverBuilderMethodNames, ) => { switch (type) { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface.ts index 33a79968c..f7bae6c21 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface.ts @@ -1,12 +1,13 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { ComputedPartialFieldMetadata, PartialComputedFieldMetadata, PartialFieldMetadata, } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; + export type PartialWorkspaceEntity = Pick< - ObjectMetadataInterface, + ObjectMetadataEntity, | 'workspaceId' | 'nameSingular' | 'namePlural' diff --git a/packages/twenty-server/src/modules/webhook/types/object-record-event-for-webhook.type.ts b/packages/twenty-server/src/modules/webhook/types/object-record-event-for-webhook.type.ts index e953814c2..258be00ec 100644 --- a/packages/twenty-server/src/modules/webhook/types/object-record-event-for-webhook.type.ts +++ b/packages/twenty-server/src/modules/webhook/types/object-record-event-for-webhook.type.ts @@ -1,10 +1,9 @@ -import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; - import { ObjectRecordEvent } from 'src/engine/core-modules/event-emitter/types/object-record-event.event'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export type ObjectRecordEventForWebhook = Omit< ObjectRecordEvent, 'objectMetadata' > & { - objectMetadata: Pick; + objectMetadata: Pick; };