diff --git a/packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch b/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch similarity index 70% rename from packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch rename to .yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch index 1ab883c5a8..614d12d865 100644 --- a/packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch +++ b/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch @@ -1,8 +1,8 @@ diff --git a/dist/interfaces/gql-module-options.interface.d.ts b/dist/interfaces/gql-module-options.interface.d.ts -index 72bab49dcc2b411408c75adf64c3f250cdeaa195..068dc04966e3f7ac7c7093f9ed8f29f24337cebc 100644 +index 8029a048f728026d1e9a01fcc7f02dc96e829638..cfb8e008a8433df0b532186c19d8adb1896e448e 100644 --- a/dist/interfaces/gql-module-options.interface.d.ts +++ b/dist/interfaces/gql-module-options.interface.d.ts -@@ -97,6 +97,10 @@ export interface GqlModuleOptions { +@@ -104,6 +104,10 @@ export interface GqlModuleOptions { * Extra static metadata to be loaded into the specification */ metadata?: () => Promise>; @@ -10,11 +10,11 @@ index 72bab49dcc2b411408c75adf64c3f250cdeaa195..068dc04966e3f7ac7c7093f9ed8f29f2 + * When set, only resolvers decorated with a matching scope will be included in this schema. + */ + resolverSchemaScope?: 'core' | 'metadata' | 'admin'; - } - export interface GqlOptionsFactory = GqlModuleOptions> { - createGqlOptions(): Promise> | Omit; + /** + * If `true`, enables development mode helpers and logs messages of all severity levels + * If `false`, only warn- and error-level messages are logged. diff --git a/dist/schema-builder/graphql-schema.factory.js b/dist/schema-builder/graphql-schema.factory.js -index f349a6e8ea629f8784143b2596e9e95b3255d348..790b062233936dcb336bc615887870d5e7a24de8 100644 +index 01ad7865af785d02e00bb63f2b2ccffc7757ab7c..3f7ffa3111fb1c04ba2b247e21e270e54f598fae 100644 --- a/dist/schema-builder/graphql-schema.factory.js +++ b/dist/schema-builder/graphql-schema.factory.js @@ -16,6 +16,7 @@ const subscription_type_factory_1 = require("./factories/subscription-type.facto @@ -25,7 +25,7 @@ index f349a6e8ea629f8784143b2596e9e95b3255d348..790b062233936dcb336bc615887870d5 let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { constructor(queryTypeFactory, mutationTypeFactory, subscriptionTypeFactory, orphanedTypesFactory, typeDefinitionsGenerator) { this.queryTypeFactory = queryTypeFactory; -@@ -32,9 +33,14 @@ let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { +@@ -32,11 +33,16 @@ let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { else { options = scalarsOrOptions; } @@ -33,15 +33,17 @@ index f349a6e8ea629f8784143b2596e9e95b3255d348..790b062233936dcb336bc615887870d5 + this.orphanedTypesFactory.orphanedReferenceRegistry.clear(); lazy_metadata_storage_1.LazyMetadataStorage.load(resolvers); type_metadata_storage_1.TypeMetadataStorage.compile(options.orphanedTypes); -- this.typeDefinitionsGenerator.generate(options); + // includeModules is passed internally from GraphQLSchemaBuilder + const internalOptions = options; +- this.typeDefinitionsGenerator.generate(options, internalOptions.includeModules); + const reachableTypes = Array.isArray(resolvers) + ? this.computeReachableTypes(resolvers, options.orphanedTypes) + : undefined; -+ this.typeDefinitionsGenerator.generate(options, reachableTypes); ++ this.typeDefinitionsGenerator.generate(options, internalOptions.includeModules, reachableTypes); const schema = new graphql_1.GraphQLSchema({ mutation: this.mutationTypeFactory.create(resolvers, options), query: this.queryTypeFactory.create(resolvers, options), -@@ -68,6 +74,116 @@ let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { +@@ -70,6 +76,114 @@ let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { .forEach((classRef) => this.addScalarTypeByClassRef(classRef, scalarsMap)); options.scalarsMap = scalarsMap; } @@ -130,7 +132,6 @@ index f349a6e8ea629f8784143b2596e9e95b3255d348..790b062233936dcb336bc615887870d5 + // Pass 1: follow field references from resolver return types and arguments + visitAllPendingTypes(); + // Pass 2: include types that implement a reachable interface -+ // (interfaces don't have back-pointers to their implementors) + for (const objectTypeMetadata of type_metadata_storage_1.TypeMetadataStorage.getObjectTypesMetadata()) { + if ((0, get_interfaces_array_util_1.getInterfacesArray)(objectTypeMetadata.interfaces) + .some((interfaceType) => reachableTypes.has(interfaceType))) { @@ -139,7 +140,6 @@ index f349a6e8ea629f8784143b2596e9e95b3255d348..790b062233936dcb336bc615887870d5 + } + visitAllPendingTypes(); + // Pass 3: include entire unions when any member is reachable -+ // (union membership is stored on the union, not on the member types) + for (const unionMetadata of type_metadata_storage_1.TypeMetadataStorage.getUnionsMetadata()) { + if (reachableTypes.has(unionMetadata.id)) { + continue; @@ -173,88 +173,43 @@ index f63bf917164e05b6a363d40e871303863800c4f3..101c67ee876a8c9758a3ed35fdb8b656 exports.OrphanedReferenceRegistry = OrphanedReferenceRegistry; exports.OrphanedReferenceRegistry = OrphanedReferenceRegistry = tslib_1.__decorate([ diff --git a/dist/schema-builder/storages/type-definitions.storage.js b/dist/schema-builder/storages/type-definitions.storage.js -index a19dee7a15b355a83124479f7e5e6cb91795070d..d28bdc8f03b4e77db93396ff28fb47d8176f0c21 100644 +index 069d16e10a5d680aab0ae9b9e25fb684e314dd37..9163c5f092a2648cc3c973308640c16a759f294a 100644 --- a/dist/schema-builder/storages/type-definitions.storage.js +++ b/dist/schema-builder/storages/type-definitions.storage.js -@@ -81,6 +81,15 @@ let TypeDefinitionsStorage = class TypeDefinitionsStorage { - } - return; - } -+ clear() { +@@ -103,13 +103,9 @@ let TypeDefinitionsStorage = class TypeDefinitionsStorage { + * Used when generating multiple schemas with different module configurations. + */ + clear() { +- this.interfaceTypeDefinitions.clear(); +- this.enumTypeDefinitions.clear(); +- this.unionTypeDefinitions.clear(); +- this.objectTypeDefinitions.clear(); +- this.inputTypeDefinitions.clear(); +- this.inputTypeDefinitionsLinks = undefined; +- this.outputTypeDefinitionsLinks = undefined; + // Only invalidate the lazy link caches, NOT the type Maps. -+ // The Maps accumulate types from all schema builds. This is -+ // needed because resolveType closures from earlier schemas -+ // look up types in objectTypeDefinitions at query time. -+ // The add* methods use Map.set() so duplicates are overwritten. + this.inputTypeDefinitionsLinks = null; + this.outputTypeDefinitionsLinks = null; -+ } + } }; exports.TypeDefinitionsStorage = TypeDefinitionsStorage; - exports.TypeDefinitionsStorage = TypeDefinitionsStorage = tslib_1.__decorate([ diff --git a/dist/schema-builder/type-definitions.generator.js b/dist/schema-builder/type-definitions.generator.js -index d5423f1603ea2dbe32f70778cb715de648960cf3..47c80de38dc9045b1ee043dd6f74bb22a66d3b4a 100644 +index 7fb2438d75794a0bb258fbfd99325f0646499723..db768e86d7bfb2b4427d0d5f50dca368031281ae 100644 --- a/dist/schema-builder/type-definitions.generator.js +++ b/dist/schema-builder/type-definitions.generator.js -@@ -19,25 +19,37 @@ let TypeDefinitionsGenerator = class TypeDefinitionsGenerator { +@@ -19,10 +19,31 @@ let TypeDefinitionsGenerator = class TypeDefinitionsGenerator { this.interfaceDefinitionFactory = interfaceDefinitionFactory; this.unionDefinitionFactory = unionDefinitionFactory; } -- generate(options) { -- this.generateUnionDefs(); -+ generate(options, reachableTypes) { -+ this.generateUnionDefs(reachableTypes); - this.generateEnumDefs(); -- this.generateInterfaceDefs(options); -- this.generateObjectTypeDefs(options); -- this.generateInputTypeDefs(options); -+ this.generateInterfaceDefs(options, reachableTypes); -+ this.generateObjectTypeDefs(options, reachableTypes); -+ this.generateInputTypeDefs(options, reachableTypes); - } -- generateInputTypeDefs(options) { -- const metadata = type_metadata_storage_1.TypeMetadataStorage.getInputTypesMetadata(); -+ clearTypeDefinitionStorage() { -+ this.typeDefinitionsStorage.clear(); -+ } -+ generateInputTypeDefs(options, reachableTypes) { -+ let metadata = type_metadata_storage_1.TypeMetadataStorage.getInputTypesMetadata(); +- generate(options, includeModules) { ++ generate(options, includeModules, reachableTypes) { + // Clear previous type definitions to support multiple schema generation + this.typeDefinitionsStorage.clear(); +- if (includeModules?.length) { + if (reachableTypes) { -+ metadata = metadata.filter((inputMetadata) => reachableTypes.has(inputMetadata.target)); -+ } - const inputTypeDefs = metadata.map((metadata) => this.inputTypeDefinitionFactory.create(metadata, options)); - this.typeDefinitionsStorage.addInputTypes(inputTypeDefs); - } -- generateObjectTypeDefs(options) { -- const metadata = type_metadata_storage_1.TypeMetadataStorage.getObjectTypesMetadata(); -+ generateObjectTypeDefs(options, reachableTypes) { -+ let metadata = type_metadata_storage_1.TypeMetadataStorage.getObjectTypesMetadata(); -+ if (reachableTypes) { -+ metadata = metadata.filter((objectMetadata) => reachableTypes.has(objectMetadata.target)); -+ } - const objectTypeDefs = metadata.map((metadata) => this.objectTypeDefinitionFactory.create(metadata, options)); - this.typeDefinitionsStorage.addObjectTypes(objectTypeDefs); - } -- generateInterfaceDefs(options) { -- const metadata = type_metadata_storage_1.TypeMetadataStorage.getInterfacesMetadata(); -+ generateInterfaceDefs(options, reachableTypes) { -+ let metadata = type_metadata_storage_1.TypeMetadataStorage.getInterfacesMetadata(); -+ if (reachableTypes) { -+ metadata = metadata.filter((interfaceMetadata) => reachableTypes.has(interfaceMetadata.target)); -+ } - const interfaceDefs = metadata.map((metadata) => this.interfaceDefinitionFactory.create(metadata, options)); - this.typeDefinitionsStorage.addInterfaces(interfaceDefs); - } -@@ -46,8 +58,22 @@ let TypeDefinitionsGenerator = class TypeDefinitionsGenerator { - const enumDefs = metadata.map((metadata) => this.enumDefinitionFactory.create(metadata)); - this.typeDefinitionsStorage.addEnums(enumDefs); - } -- generateUnionDefs() { -- const metadata = type_metadata_storage_1.TypeMetadataStorage.getUnionsMetadata(); -+ generateUnionDefs(reachableTypes) { -+ let metadata = type_metadata_storage_1.TypeMetadataStorage.getUnionsMetadata(); -+ if (reachableTypes) { -+ metadata = metadata.filter((unionMetadata) => { ++ // Twenty: scope the schema to types reachable from the scoped resolvers ++ const TMS = type_metadata_storage_1.TypeMetadataStorage; ++ const unionMetadata = TMS.getUnionsMetadata().filter((unionMetadata) => { + if (reachableTypes.has(unionMetadata.id)) { + return true; + } @@ -266,30 +221,45 @@ index d5423f1603ea2dbe32f70778cb715de648960cf3..47c80de38dc9045b1ee043dd6f74bb22 + return true; + } + }); ++ this.generateUnionDefs(unionMetadata); ++ this.generateEnumDefs(); ++ this.generateInterfaceDefs(options, TMS.getInterfacesMetadata().filter((m) => reachableTypes.has(m.target))); ++ this.generateObjectTypeDefs(options, TMS.getObjectTypesMetadata().filter((m) => reachableTypes.has(m.target))); ++ this.generateInputTypeDefs(options, TMS.getInputTypesMetadata().filter((m) => reachableTypes.has(m.target))); + } - const unionDefs = metadata.map((metadata) => this.unionDefinitionFactory.create(metadata)); - this.typeDefinitionsStorage.addUnions(unionDefs); ++ else if (includeModules?.length) { + // Filter metadata by modules + this.generateUnionDefs(type_metadata_storage_1.TypeMetadataStorage.getUnionsMetadataByModules(includeModules)); + this.generateEnumDefs(type_metadata_storage_1.TypeMetadataStorage.getEnumsMetadataByModules(includeModules)); +@@ -39,6 +60,9 @@ let TypeDefinitionsGenerator = class TypeDefinitionsGenerator { + this.generateInputTypeDefs(options); + } } ++ clearTypeDefinitionStorage() { ++ this.typeDefinitionsStorage.clear(); ++ } + generateInputTypeDefs(options, metadata) { + const inputTypeMetadata = metadata ?? type_metadata_storage_1.TypeMetadataStorage.getInputTypesMetadata(); + const inputTypeDefs = inputTypeMetadata.map((item) => this.inputTypeDefinitionFactory.create(item, options)); diff --git a/dist/services/resolvers-explorer.service.js b/dist/services/resolvers-explorer.service.js -index 1cc43269cd0c4fbe446789b38970118f0c1856c7..3eeb77fcd3c78a134896faa3424209abc47b971a 100644 +index f07850b78739e2ea14a297e1b44650de39a2de66..b881ca6ca231eb2031b92270125a832f34393b3a 100644 --- a/dist/services/resolvers-explorer.service.js +++ b/dist/services/resolvers-explorer.service.js -@@ -21,6 +21,7 @@ const graphql_constants_1 = require("../graphql.constants"); - const decorate_field_resolver_util_1 = require("../utils/decorate-field-resolver.util"); - const extract_metadata_util_1 = require("../utils/extract-metadata.util"); - const base_explorer_service_1 = require("./base-explorer.service"); +@@ -26,6 +26,7 @@ const ROOT_RESOLVER_TYPES = new Set([ + resolver_enum_1.Resolver.QUERY, + resolver_enum_1.Resolver.SUBSCRIPTION, + ]); +const RESOLVER_SCHEMA_SCOPE_KEY = 'RESOLVER_SCHEMA_SCOPE'; let ResolversExplorerService = ResolversExplorerService_1 = class ResolversExplorerService extends base_explorer_service_1.BaseExplorerService { constructor(modulesContainer, metadataScanner, externalContextCreator, gqlOptions, moduleRef, serializedGraph) { super(); -@@ -45,6 +46,15 @@ let ResolversExplorerService = ResolversExplorerService_1 = class ResolversExplo +@@ -52,6 +53,14 @@ let ResolversExplorerService = ResolversExplorerService_1 = class ResolversExplo if (!instance) { return undefined; } + const resolverSchemaScope = this.gqlOptions.resolverSchemaScope; + if (resolverSchemaScope && wrapper.metatype) { + // Default to 'metadata' for unscoped resolvers (e.g. nestjs-query auto-generated CRUD) -+ // TODO: remove this fallback once nestjs-query is deprecated + const resolverScope = Reflect.getMetadata(RESOLVER_SCHEMA_SCOPE_KEY, wrapper.metatype) || 'metadata'; + if (resolverScope !== resolverSchemaScope) { + return undefined; @@ -298,7 +268,7 @@ index 1cc43269cd0c4fbe446789b38970118f0c1856c7..3eeb77fcd3c78a134896faa3424209ab const prototype = Object.getPrototypeOf(instance); const predicate = (resolverType, isReferenceResolver, isPropertyResolver) => (0, shared_utils_1.isUndefined)(resolverType) || (!isReferenceResolver && -@@ -147,6 +157,15 @@ let ResolversExplorerService = ResolversExplorerService_1 = class ResolversExplo +@@ -160,6 +169,14 @@ let ResolversExplorerService = ResolversExplorerService_1 = class ResolversExplo getAllCtors() { const modules = this.getModules(this.modulesContainer, this.gqlOptions.include || []); const resolvers = this.flatMap(modules, this.mapToCtor).filter(Boolean); @@ -306,7 +276,6 @@ index 1cc43269cd0c4fbe446789b38970118f0c1856c7..3eeb77fcd3c78a134896faa3424209ab + if (resolverSchemaScope) { + return resolvers.filter((resolverConstructor) => { + // Default to 'metadata' for unscoped resolvers (e.g. nestjs-query auto-generated CRUD) -+ // TODO: remove this fallback once nestjs-query is deprecated + const resolverScope = Reflect.getMetadata(RESOLVER_SCHEMA_SCOPE_KEY, resolverConstructor) || 'metadata'; + return resolverScope === resolverSchemaScope; + }); diff --git a/packages/twenty-server/patches/@ptc-org+nestjs-query-graphql+4.2.0.patch b/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch similarity index 72% rename from packages/twenty-server/patches/@ptc-org+nestjs-query-graphql+4.2.0.patch rename to .yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch index 43d6ac453a..79f9069cac 100644 --- a/packages/twenty-server/patches/@ptc-org+nestjs-query-graphql+4.2.0.patch +++ b/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch @@ -1,5 +1,18 @@ +diff --git a/src/common/external.utils.js b/src/common/external.utils.js +index 1b4ee1bae8436551447e3b03c9f749f172962539..d00a94b0ce38c13cb09423c1dc72c9101b02cba1 100644 +--- a/src/common/external.utils.js ++++ b/src/common/external.utils.js +@@ -5,7 +5,7 @@ exports.getGraphqlObjectMetadata = getGraphqlObjectMetadata; + exports.getGraphqlObjectName = getGraphqlObjectName; + exports.getGraphqlEnumMetadata = getGraphqlEnumMetadata; + const graphql_1 = require("@nestjs/graphql"); +-const lazy_metadata_storage_1 = require("@nestjs/graphql/dist/schema-builder/storages/lazy-metadata.storage"); ++const lazy_metadata_storage_1 = require("@nestjs/graphql/dist/schema-builder/storages/lazy-metadata.storage.js"); + const type_errors_1 = require("../types/type.errors"); + /** + * @internal diff --git a/src/types/connection/cursor/page-info.type.js b/src/types/connection/cursor/page-info.type.js -index 00d836d..8eef442 100644 +index 00d836d0b67fba6daae736e4e99d5af2903d1258..c73dd1304611b61f938b75c01f18dbb1edd9ecb4 100644 --- a/src/types/connection/cursor/page-info.type.js +++ b/src/types/connection/cursor/page-info.type.js @@ -39,7 +39,6 @@ const getOrCreatePageInfoType = () => { @@ -11,7 +24,7 @@ index 00d836d..8eef442 100644 tslib_1.__metadata("design:paramtypes", [Boolean, Boolean, String, String]) ], PageInfoTypeImpl); diff --git a/src/types/connection/offset/offset-connection.type.js b/src/types/connection/offset/offset-connection.type.js -index b47564f..d33f391 100644 +index e89e5ab573572325aaad024827193e7d06f4e5ba..2878acae20c1367622530c4ea96a76062a84cada 100644 --- a/src/types/connection/offset/offset-connection.type.js +++ b/src/types/connection/offset/offset-connection.type.js @@ -64,7 +64,6 @@ function getOrCreateOffsetConnectionType(TItemClass, opts) { @@ -23,7 +36,7 @@ index b47564f..d33f391 100644 tslib_1.__metadata("design:paramtypes", [Object, Array, Function]) ], AbstractConnection); diff --git a/src/types/connection/offset/offset-page-info.type.js b/src/types/connection/offset/offset-page-info.type.js -index 4803306..d459b16 100644 +index 480330653efc3def8423adbc95d1009d02aa9778..ea55bcf2e45a05a2ba32d0f4185a15abac59d478 100644 --- a/src/types/connection/offset/offset-page-info.type.js +++ b/src/types/connection/offset/offset-page-info.type.js @@ -25,7 +25,6 @@ const getOrCreateOffsetPageInfoType = () => { @@ -35,7 +48,7 @@ index 4803306..d459b16 100644 tslib_1.__metadata("design:paramtypes", [Boolean, Boolean]) ], PageInfoTypeImpl); diff --git a/src/types/delete-many-reponse.type.js b/src/types/delete-many-reponse.type.js -index 4de72de..b42f05f 100644 +index 4de72de3822d9c23c6637bbec0f0be081cc82675..1663e6f62991153f89db08ab966cdef8e01b262f 100644 --- a/src/types/delete-many-reponse.type.js +++ b/src/types/delete-many-reponse.type.js @@ -16,7 +16,6 @@ const DeleteManyResponseType = () => { @@ -47,7 +60,7 @@ index 4de72de..b42f05f 100644 ], DeleteManyResponseTypeImpl); deleteManyResponseType = DeleteManyResponseTypeImpl; diff --git a/src/types/update-many-response.type.js b/src/types/update-many-response.type.js -index c525d14..74be84f 100644 +index c525d1419e27d3714e7a75b4852e605b83bd4b39..a067b5f60922b7e92e985487c7128efe31162b24 100644 --- a/src/types/update-many-response.type.js +++ b/src/types/update-many-response.type.js @@ -16,7 +16,6 @@ const UpdateManyResponseType = () => { diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index 0802e5f398..67113a1b92 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -50,10 +50,10 @@ "@nestjs/axios": "3.1.2", "@nestjs/cache-manager": "^2.3.0", "@nestjs/common": "11.1.24", - "@nestjs/config": "3.3.0", + "@nestjs/config": "^4.0.4", "@nestjs/core": "^11.1.24", "@nestjs/event-emitter": "2.1.0", - "@nestjs/graphql": "patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch", + "@nestjs/graphql": "patch:@nestjs/graphql@npm%3A13.4.2#~/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch", "@nestjs/jwt": "11.0.1", "@nestjs/passport": "11.0.5", "@nestjs/platform-express": "11.1.24", @@ -67,9 +67,9 @@ "@opentelemetry/exporter-metrics-otlp-http": "^0.200.0", "@opentelemetry/exporter-prometheus": "^0.217.0", "@opentelemetry/sdk-metrics": "^2.0.0", - "@ptc-org/nestjs-query-core": "4.4.0", - "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch", - "@ptc-org/nestjs-query-typeorm": "4.2.1-alpha.2", + "@ptc-org/nestjs-query-core": "^9.4.0", + "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@npm%3A9.4.0#~/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch", + "@ptc-org/nestjs-query-typeorm": "^9.4.0", "@react-email/render": "^1.2.3", "@sentry/nestjs": "^10.51.0", "@sentry/node": "^10.51.0", diff --git a/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.spec.ts b/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.spec.ts index 46aa43cdda..edd7c62a40 100644 --- a/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.spec.ts @@ -13,7 +13,12 @@ describe('AppTokenService', () => { AppTokenService, { provide: getRepositoryToken(AppTokenEntity), - useValue: {}, + useValue: { + manager: { + connection: { driver: { options: { type: 'postgres' } } }, + }, + metadata: { columns: [] }, + }, }, ], }).compile(); diff --git a/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.ts b/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.ts index 71d28fe883..cea5032aa3 100644 --- a/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.ts +++ b/packages/twenty-server/src/engine/core-modules/app-token/services/app-token.service.ts @@ -1,5 +1,15 @@ +import { InjectRepository } from '@nestjs/typeorm'; + import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; +import { Repository } from 'typeorm'; -import { type AppTokenEntity } from 'src/engine/core-modules/app-token/app-token.entity'; +import { AppTokenEntity } from 'src/engine/core-modules/app-token/app-token.entity'; -export class AppTokenService extends TypeOrmQueryService {} +export class AppTokenService extends TypeOrmQueryService { + constructor( + @InjectRepository(AppTokenEntity) + private readonly appTokenRepository: Repository, + ) { + super(appTokenRepository); + } +} diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts index 72ce01aea9..d36b2be9f3 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.spec.ts @@ -52,6 +52,10 @@ describe('UserWorkspaceService', () => { exists: jest.fn(), findOne: jest.fn(), findOneOrFail: jest.fn(), + manager: { + connection: { driver: { options: { type: 'postgres' } } }, + }, + metadata: { columns: [] }, }, }, { diff --git a/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts b/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts index 29b86930c1..8216400198 100644 --- a/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts @@ -52,6 +52,10 @@ describe('UserService', () => { save: jest.fn(), softDelete: jest.fn(), update: jest.fn(), + manager: { + connection: { driver: { options: { type: 'postgres' } } }, + }, + metadata: { columns: [] }, }, }, { diff --git a/packages/twenty-server/src/engine/core-modules/workspace/services/__tests__/workspace.service.spec.ts b/packages/twenty-server/src/engine/core-modules/workspace/services/__tests__/workspace.service.spec.ts index 5d05d7fb6a..b30da46b96 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/services/__tests__/workspace.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/services/__tests__/workspace.service.spec.ts @@ -57,6 +57,10 @@ describe('WorkspaceService', () => { findOne: jest.fn(), softDelete: jest.fn(), delete: jest.fn(), + manager: { + connection: { driver: { options: { type: 'postgres' } } }, + }, + metadata: { columns: [] }, }, }, { diff --git a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/create-page-layout-widget.input.ts b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/create-page-layout-widget.input.ts index 7ca393110f..ec5f8e01c4 100644 --- a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/create-page-layout-widget.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/create-page-layout-widget.input.ts @@ -41,8 +41,6 @@ export class CreatePageLayoutWidgetInput { @Field(() => GridPositionInput, { nullable: false, - deprecationReason: - 'Use `position` instead. Will be removed in a future release.', }) @ValidateNested() @Type(() => GridPositionInput) diff --git a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget-with-id.input.ts b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget-with-id.input.ts index d31331ef94..2c592c8d85 100644 --- a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget-with-id.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget-with-id.input.ts @@ -48,10 +48,7 @@ export class UpdatePageLayoutWidgetWithIdInput { @IsOptional() objectMetadataId: string | null; - @Field(() => GridPositionInput, { - deprecationReason: - 'Use `position` instead. Will be removed in a future release.', - }) + @Field(() => GridPositionInput, {}) @ValidateNested() @Type(() => GridPositionInput) @IsNotEmpty() diff --git a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget.input.ts b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget.input.ts index 661c9a29ea..ce770146bc 100644 --- a/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/inputs/update-page-layout-widget.input.ts @@ -44,8 +44,6 @@ export class UpdatePageLayoutWidgetInput { @Field(() => GridPositionInput, { nullable: true, - deprecationReason: - 'Use `position` instead. Will be removed in a future release.', }) @ValidateNested() @Type(() => GridPositionInput) diff --git a/yarn.lock b/yarn.lock index 2f4c4c277f..e01c5ca2c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8430,15 +8430,15 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:9.0.1": - version: 9.0.1 - resolution: "@graphql-tools/merge@npm:9.0.1" +"@graphql-tools/merge@npm:9.1.9, @graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.1.9": + version: 9.1.9 + resolution: "@graphql-tools/merge@npm:9.1.9" dependencies: - "@graphql-tools/utils": "npm:^10.0.10" + "@graphql-tools/utils": "npm:^11.1.0" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/cbfcb2c10490a11417991e8b61b8df2eba73a2c576e57cbf2d928902030d4391122536b9442bf042609ec24376b79b8bc6d9117e137dd8db2255ed90613acbc7 + checksum: 10c0/de16a915b09d1d3a3e0105d0b6cbdfd75feaa5ef7cbf4eec489c817d390b6aacd169b8e68e6efcefe82c92c4e88d36723b5e24a7035494100ead7efcef446359 languageName: node linkType: hard @@ -8454,19 +8454,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.1.9": - version: 9.1.9 - resolution: "@graphql-tools/merge@npm:9.1.9" - dependencies: - "@graphql-tools/utils": "npm:^11.1.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/de16a915b09d1d3a3e0105d0b6cbdfd75feaa5ef7cbf4eec489c817d390b6aacd169b8e68e6efcefe82c92c4e88d36723b5e24a7035494100ead7efcef446359 - languageName: node - linkType: hard - -"@graphql-tools/merge@npm:^9.0.1, @graphql-tools/merge@npm:^9.0.3": +"@graphql-tools/merge@npm:^9.0.3": version: 9.0.4 resolution: "@graphql-tools/merge@npm:9.0.4" dependencies: @@ -8542,17 +8530,16 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/schema@npm:10.0.2": - version: 10.0.2 - resolution: "@graphql-tools/schema@npm:10.0.2" +"@graphql-tools/schema@npm:10.0.33, @graphql-tools/schema@npm:^10.0.25, @graphql-tools/schema@npm:^10.0.29, @graphql-tools/schema@npm:^10.0.33": + version: 10.0.33 + resolution: "@graphql-tools/schema@npm:10.0.33" dependencies: - "@graphql-tools/merge": "npm:^9.0.1" - "@graphql-tools/utils": "npm:^10.0.10" + "@graphql-tools/merge": "npm:^9.1.9" + "@graphql-tools/utils": "npm:^11.1.0" tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/3d71117c8d8ed491aa5b988bcdfcc1a7ca8cea8638b37083af2665a0dbb95e1255961a8a43658538ad33b83d621812886a4626ad7a5333d7d9e6c62304b52cb2 + checksum: 10c0/6c32d175b4832d063017d86cfe392502bd69dddb58d9ec47939818a103a6c23201402bbd13756f4bfd5ad14677e8b54af46adce4a4e63aa5d7fe8853351d3dce languageName: node linkType: hard @@ -8570,19 +8557,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/schema@npm:^10.0.25, @graphql-tools/schema@npm:^10.0.29, @graphql-tools/schema@npm:^10.0.33": - version: 10.0.33 - resolution: "@graphql-tools/schema@npm:10.0.33" - dependencies: - "@graphql-tools/merge": "npm:^9.1.9" - "@graphql-tools/utils": "npm:^11.1.0" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/6c32d175b4832d063017d86cfe392502bd69dddb58d9ec47939818a103a6c23201402bbd13756f4bfd5ad14677e8b54af46adce4a4e63aa5d7fe8853351d3dce - languageName: node - linkType: hard - "@graphql-tools/schema@npm:^8.0.0": version: 8.5.1 resolution: "@graphql-tools/schema@npm:8.5.1" @@ -8655,17 +8629,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:10.0.13": - version: 10.0.13 - resolution: "@graphql-tools/utils@npm:10.0.13" +"@graphql-tools/utils@npm:11.1.0, @graphql-tools/utils@npm:^11.0.0, @graphql-tools/utils@npm:^11.1.0": + version: 11.1.0 + resolution: "@graphql-tools/utils@npm:11.1.0" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" - cross-inspect: "npm:1.0.0" - dset: "npm:^3.1.2" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + cross-inspect: "npm:1.0.1" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/6505c494716bb7aa36eba3d731f5a3e28c0bbd2efc818f1fdc7367a408ced8878bfff40f4dafbcef70d912219df81484e32e28130366e8355c126fcbc8ac9dd5 + checksum: 10c0/4858ee4a1df0f858c65a5459d991bedcfde488054484c8707c97e2ce9db9a8f74aaaa0d7c20f38ff872507db9a73fc1182d4d1860dd72099509552538dfd477a languageName: node linkType: hard @@ -8692,7 +8666,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.10, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.3.4": +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13, @graphql-tools/utils@npm:^10.2.1, @graphql-tools/utils@npm:^10.3.4": version: 10.3.4 resolution: "@graphql-tools/utils@npm:10.3.4" dependencies: @@ -8720,20 +8694,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:^11.0.0, @graphql-tools/utils@npm:^11.1.0": - version: 11.1.0 - resolution: "@graphql-tools/utils@npm:11.1.0" - dependencies: - "@graphql-typed-document-node/core": "npm:^3.1.1" - "@whatwg-node/promise-helpers": "npm:^1.0.0" - cross-inspect: "npm:1.0.1" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/4858ee4a1df0f858c65a5459d991bedcfde488054484c8707c97e2ce9db9a8f74aaaa0d7c20f38ff872507db9a73fc1182d4d1860dd72099509552538dfd477a - languageName: node - linkType: hard - "@graphql-tools/wrap@npm:^10.0.16": version: 10.1.4 resolution: "@graphql-tools/wrap@npm:10.1.4" @@ -13047,17 +13007,17 @@ __metadata: languageName: node linkType: hard -"@nestjs/config@npm:3.3.0": - version: 3.3.0 - resolution: "@nestjs/config@npm:3.3.0" +"@nestjs/config@npm:^4.0.4": + version: 4.0.4 + resolution: "@nestjs/config@npm:4.0.4" dependencies: - dotenv: "npm:16.4.5" - dotenv-expand: "npm:10.0.0" - lodash: "npm:4.17.21" + dotenv: "npm:17.4.1" + dotenv-expand: "npm:12.0.3" + lodash: "npm:4.18.1" peerDependencies: - "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/common": ^10.0.0 || ^11.0.0 rxjs: ^7.1.0 - checksum: 10c0/9eb1634b1a0cf4a6892e1b4449344df296d25e886fcc534853b3e3d7cf462eddb8c6cb7dd1339e29b1a6f7451d08a27a98fcbeecc95d906035bbdb81dbc623f9 + checksum: 10c0/d1cd320a591864a2216fc702cb8fc5abd756de64d7a220494e4176ad5b0d4f0cbb6fe6f614c643efbd9fe59864989cb6644c49a037c60b257204af28535c7964 languageName: node linkType: hard @@ -13101,33 +13061,32 @@ __metadata: languageName: node linkType: hard -"@nestjs/graphql@npm:12.1.1": - version: 12.1.1 - resolution: "@nestjs/graphql@npm:12.1.1" +"@nestjs/graphql@npm:13.4.2": + version: 13.4.2 + resolution: "@nestjs/graphql@npm:13.4.2" dependencies: - "@graphql-tools/merge": "npm:9.0.1" - "@graphql-tools/schema": "npm:10.0.2" - "@graphql-tools/utils": "npm:10.0.13" - "@nestjs/mapped-types": "npm:2.0.5" - chokidar: "npm:3.6.0" - fast-glob: "npm:3.3.2" + "@graphql-tools/merge": "npm:9.1.9" + "@graphql-tools/schema": "npm:10.0.33" + "@graphql-tools/utils": "npm:11.1.0" + "@nestjs/mapped-types": "npm:2.1.1" + chokidar: "npm:4.0.3" + fast-glob: "npm:3.3.3" graphql-tag: "npm:2.12.6" - graphql-ws: "npm:5.14.3" - lodash: "npm:4.17.21" + graphql-ws: "npm:6.0.8" + lodash: "npm:4.18.1" normalize-path: "npm:3.0.0" subscriptions-transport-ws: "npm:0.11.0" - tslib: "npm:2.6.2" - uuid: "npm:9.0.1" - ws: "npm:8.16.0" + tslib: "npm:2.8.1" + ws: "npm:8.20.1" peerDependencies: - "@apollo/subgraph": ^2.0.0 - "@nestjs/common": ^9.3.8 || ^10.0.0 - "@nestjs/core": ^9.3.8 || ^10.0.0 + "@apollo/subgraph": ^2.9.3 + "@nestjs/common": ^11.0.1 + "@nestjs/core": ^11.0.1 class-transformer: "*" class-validator: "*" - graphql: ^16.6.0 + graphql: ^16.11.0 reflect-metadata: ^0.1.13 || ^0.2.0 - ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 + ts-morph: ^20.0.0 || ^21.0.0 || ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 peerDependenciesMeta: "@apollo/subgraph": optional: true @@ -13137,37 +13096,36 @@ __metadata: optional: true ts-morph: optional: true - checksum: 10c0/b2c371d443007b583b75cbffd86714fc87551e2f6c56a89b70f95eae2ee3fc9a5ae0673b44d1c9d59f42b38e6f54fe20f92396a8be02c5bf87d8e83d5da764a6 + checksum: 10c0/6ce949af29d3cf214f4c22ee7076a638f91fb12a0d915ed2bfd3a1ce07a0612c2cdb8fbaed58095dea95bd7a9b657b58a855af36bd953e3cc4399608b336d2c9 languageName: node linkType: hard -"@nestjs/graphql@patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch::locator=twenty-server%40workspace%3Apackages%2Ftwenty-server": - version: 12.1.1 - resolution: "@nestjs/graphql@patch:@nestjs/graphql@npm%3A12.1.1#./patches/@nestjs+graphql+12.1.1.patch::version=12.1.1&hash=eaf96d&locator=twenty-server%40workspace%3Apackages%2Ftwenty-server" +"@nestjs/graphql@patch:@nestjs/graphql@npm%3A13.4.2#~/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch": + version: 13.4.2 + resolution: "@nestjs/graphql@patch:@nestjs/graphql@npm%3A13.4.2#~/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch::version=13.4.2&hash=a5d90c" dependencies: - "@graphql-tools/merge": "npm:9.0.1" - "@graphql-tools/schema": "npm:10.0.2" - "@graphql-tools/utils": "npm:10.0.13" - "@nestjs/mapped-types": "npm:2.0.5" - chokidar: "npm:3.6.0" - fast-glob: "npm:3.3.2" + "@graphql-tools/merge": "npm:9.1.9" + "@graphql-tools/schema": "npm:10.0.33" + "@graphql-tools/utils": "npm:11.1.0" + "@nestjs/mapped-types": "npm:2.1.1" + chokidar: "npm:4.0.3" + fast-glob: "npm:3.3.3" graphql-tag: "npm:2.12.6" - graphql-ws: "npm:5.14.3" - lodash: "npm:4.17.21" + graphql-ws: "npm:6.0.8" + lodash: "npm:4.18.1" normalize-path: "npm:3.0.0" subscriptions-transport-ws: "npm:0.11.0" - tslib: "npm:2.6.2" - uuid: "npm:9.0.1" - ws: "npm:8.16.0" + tslib: "npm:2.8.1" + ws: "npm:8.20.1" peerDependencies: - "@apollo/subgraph": ^2.0.0 - "@nestjs/common": ^9.3.8 || ^10.0.0 - "@nestjs/core": ^9.3.8 || ^10.0.0 + "@apollo/subgraph": ^2.9.3 + "@nestjs/common": ^11.0.1 + "@nestjs/core": ^11.0.1 class-transformer: "*" class-validator: "*" - graphql: ^16.6.0 + graphql: ^16.11.0 reflect-metadata: ^0.1.13 || ^0.2.0 - ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 + ts-morph: ^20.0.0 || ^21.0.0 || ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 peerDependenciesMeta: "@apollo/subgraph": optional: true @@ -13177,7 +13135,7 @@ __metadata: optional: true ts-morph: optional: true - checksum: 10c0/0d13646d982c3d18de9a5d4989edf2e8d1ef15974d41795f8b220819a8b27c4d4cb9c71bd73524978fe12457e1e955b86f47efa3a4621a571b139d1918702125 + checksum: 10c0/1387d51abcd14505bd603ce75f189022b8da6ad31b8ec0d01c089f2e2544989f9b07aba123b1b5f974cfdae4067157f9eb191900952409140ba96c1bde332c59 languageName: node linkType: hard @@ -13193,20 +13151,20 @@ __metadata: languageName: node linkType: hard -"@nestjs/mapped-types@npm:2.0.5": - version: 2.0.5 - resolution: "@nestjs/mapped-types@npm:2.0.5" +"@nestjs/mapped-types@npm:2.1.1": + version: 2.1.1 + resolution: "@nestjs/mapped-types@npm:2.1.1" peerDependencies: - "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + "@nestjs/common": ^10.0.0 || ^11.0.0 class-transformer: ^0.4.0 || ^0.5.0 - class-validator: ^0.13.0 || ^0.14.0 + class-validator: ^0.13.0 || ^0.14.0 || ^0.15.0 reflect-metadata: ^0.1.12 || ^0.2.0 peerDependenciesMeta: class-transformer: optional: true class-validator: optional: true - checksum: 10c0/f92743cb4c0fe3b1eecdf0c7c6a40f0e7478574a9e1a25ebdbd29db29a7319c2ae608c08d07f7b9525bea01a5e20dbd73222100204d3a13500db4f56676446a1 + checksum: 10c0/985e7232921a7f79338b0247778994afcb1d7e74b14506bddc6996b39ff511f3847b4013b9bbcba66a0b9f370e747e7521e6b22a61dd630cfdead667b5b3c056 languageName: node linkType: hard @@ -16399,108 +16357,90 @@ __metadata: languageName: node linkType: hard -"@ptc-org/nestjs-query-core@npm:4.2.0": - version: 4.2.0 - resolution: "@ptc-org/nestjs-query-core@npm:4.2.0" +"@ptc-org/nestjs-query-core@npm:9.4.0, @ptc-org/nestjs-query-core@npm:^9.4.0": + version: 9.4.0 + resolution: "@ptc-org/nestjs-query-core@npm:9.4.0" dependencies: lodash.merge: "npm:^4.6.2" - reflect-metadata: "npm:^0.1.13" - tslib: "npm:^2.6.2" + reflect-metadata: "npm:^0.2.2" + tslib: "npm:^2.8.1" peerDependencies: - "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 || ^11.0.0 class-transformer: ^0.5 - checksum: 10c0/9c7f683f22b4e27f47fce70b7624d5e65f03da78f6408ab4e4983787345816d7ff5ec6013bf721bb7b0565b8939beb3ca70871897e736dff3b93eb8008360aa2 + checksum: 10c0/0d6b2275cf572a9ac6e13ae4080c3a8c23049dced2dfc80a38413ef39b85fa7fac409ce5b1036707c6bc6841045089f6a8cdabf3c89253e331aef9e7664b9f19 languageName: node linkType: hard -"@ptc-org/nestjs-query-core@npm:4.4.0": - version: 4.4.0 - resolution: "@ptc-org/nestjs-query-core@npm:4.4.0" +"@ptc-org/nestjs-query-graphql@npm:9.4.0": + version: 9.4.0 + resolution: "@ptc-org/nestjs-query-graphql@npm:9.4.0" dependencies: - lodash.merge: "npm:^4.6.2" - reflect-metadata: "npm:^0.2.1" - tslib: "npm:^2.6.2" - peerDependencies: - "@nestjs/common": ^9.0.0 || ^10.0.0 - class-transformer: ^0.5 - checksum: 10c0/d734151a3573eda72552664b5fb684d1d9d6fbf207d2b4e5b48a5a140bbc3f699c6fa29e76a2c31a74be3ec2ed4f54bcfcf95ecf414a7ccc0258c83e3b4a6b3b - languageName: node - linkType: hard - -"@ptc-org/nestjs-query-graphql@npm:4.2.0": - version: 4.2.0 - resolution: "@ptc-org/nestjs-query-graphql@npm:4.2.0" - dependencies: - "@ptc-org/nestjs-query-core": "npm:4.2.0" - dataloader: "npm:^2.2.2" + "@ptc-org/nestjs-query-core": "npm:9.4.0" + dataloader: "npm:^2.2.3" graphql-fields: "npm:^2.0.3" lodash.merge: "npm:4.6.2" lodash.omit: "npm:^4.5.0" - lower-case-first: "npm:^2.0.2" pluralize: "npm:^8.0.0" - reflect-metadata: "npm:0.1.13" - tslib: "npm:^2.6.2" - upper-case-first: "npm:^2.0.2" + reflect-metadata: "npm:0.2.2" + tslib: "npm:^2.8.1" peerDependencies: "@apollo/gateway": ^0.44.1 || ^0.46.0 || ^0.48.0 || ^0.49.0 || ^0.50.0 || ^2.0.0 - "@nestjs/common": ^9.0.0 || ^10.0.0 - "@nestjs/core": ^9.0.0 || ^10.0.0 - "@nestjs/graphql": ^11.0.0 || ^12.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 || ^11.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 || ^11.0.0 + "@nestjs/graphql": ^11.0.0 || ^12.0.0 || ^13.0.0 class-transformer: ^0.5 class-validator: ^0.14.0 graphql: ^16.0.0 - graphql-subscriptions: ^2.0.0 - ts-morph: ^19.0.0 - checksum: 10c0/8a5c5da602e68ff4875f19a19baa2b15bdefc9c5b467d3a55898fbbe411744762fcd42cf078e2ebc5cd53f1a12e67c7fbd698b3696ce1bb85e41dc9d0da72441 + graphql-subscriptions: ^3.0.0 + ts-morph: ^19.0.0 || ^20.0.0 || ^21.0.0 || ^24.0.0 || ^25.0.0 + checksum: 10c0/651d0be3ff77fd922ea29a621ca4c96e98df1ea15e05742cbe1fe10a157d46c019d728a38418662aa83414e1e6c78a3d2c9f6f25eec61f79075884dc4d1c1935 languageName: node linkType: hard -"@ptc-org/nestjs-query-graphql@patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch::locator=twenty-server%40workspace%3Apackages%2Ftwenty-server": - version: 4.2.0 - resolution: "@ptc-org/nestjs-query-graphql@patch:@ptc-org/nestjs-query-graphql@npm%3A4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch::version=4.2.0&hash=2d5c00&locator=twenty-server%40workspace%3Apackages%2Ftwenty-server" +"@ptc-org/nestjs-query-graphql@patch:@ptc-org/nestjs-query-graphql@npm%3A9.4.0#~/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch": + version: 9.4.0 + resolution: "@ptc-org/nestjs-query-graphql@patch:@ptc-org/nestjs-query-graphql@npm%3A9.4.0#~/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch::version=9.4.0&hash=ac8761" dependencies: - "@ptc-org/nestjs-query-core": "npm:4.2.0" - dataloader: "npm:^2.2.2" + "@ptc-org/nestjs-query-core": "npm:9.4.0" + dataloader: "npm:^2.2.3" graphql-fields: "npm:^2.0.3" lodash.merge: "npm:4.6.2" lodash.omit: "npm:^4.5.0" - lower-case-first: "npm:^2.0.2" pluralize: "npm:^8.0.0" - reflect-metadata: "npm:0.1.13" - tslib: "npm:^2.6.2" - upper-case-first: "npm:^2.0.2" + reflect-metadata: "npm:0.2.2" + tslib: "npm:^2.8.1" peerDependencies: "@apollo/gateway": ^0.44.1 || ^0.46.0 || ^0.48.0 || ^0.49.0 || ^0.50.0 || ^2.0.0 - "@nestjs/common": ^9.0.0 || ^10.0.0 - "@nestjs/core": ^9.0.0 || ^10.0.0 - "@nestjs/graphql": ^11.0.0 || ^12.0.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 || ^11.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 || ^11.0.0 + "@nestjs/graphql": ^11.0.0 || ^12.0.0 || ^13.0.0 class-transformer: ^0.5 class-validator: ^0.14.0 graphql: ^16.0.0 - graphql-subscriptions: ^2.0.0 - ts-morph: ^19.0.0 - checksum: 10c0/e22941524df13a20a67176aac42d27f6ac7860c72a4189eca91846d493f3da63b7d3ea71f2979bfb38de5e159fc6ac70d898fce20ef443e235f3b9202073441a + graphql-subscriptions: ^3.0.0 + ts-morph: ^19.0.0 || ^20.0.0 || ^21.0.0 || ^24.0.0 || ^25.0.0 + checksum: 10c0/338194d3290c63edf14979fcc28293fbe6574a4698e1c0421c33e450b1ae4667ea18950ecd4c95db0f1f245c8c03ca422a40fd54895497f529080324ed1517d3 languageName: node linkType: hard -"@ptc-org/nestjs-query-typeorm@npm:4.2.1-alpha.2": - version: 4.2.1-alpha.2 - resolution: "@ptc-org/nestjs-query-typeorm@npm:4.2.1-alpha.2" +"@ptc-org/nestjs-query-typeorm@npm:^9.4.0": + version: 9.4.0 + resolution: "@ptc-org/nestjs-query-typeorm@npm:9.4.0" dependencies: + "@ptc-org/nestjs-query-core": "npm:9.4.0" camel-case: "npm:^4.1.2" lodash.filter: "npm:^4.6.0" lodash.merge: "npm:^4.6.2" lodash.omit: "npm:^4.5.0" - tslib: "npm:^2.6.2" - uuid: "npm:^9.0.0" + reflect-metadata: "npm:0.2.2" + tslib: "npm:^2.8.1" + uuid: "npm:^10.0.0" peerDependencies: - "@nestjs/common": ^9.0.0 || ^10.0.0 - "@nestjs/typeorm": ^9.0.0 || ^10.0.0 - "@ptc-org/nestjs-query-core": 4.2.0 + "@nestjs/common": ^9.0.0 || ^10.0.0 || ^11.0.0 + "@nestjs/typeorm": ^9.0.0 || ^10.0.0 || ^11.0.0 class-transformer: ^0.5 - reflect-metadata: 0.1.13 typeorm: ^0.3.15 - checksum: 10c0/470eb55b0ff0c05a469e3749d3576ef3a9d5cfbcd8d7fcf0eca384bde46fd614e3401882342ffed72ac14cd92a11c35a4ea86e89dd26dd867b2948fd5f005565 + checksum: 10c0/8732a44b1fd311be5e58dd14b99005ee27106f8ad3408e17d68b411a36b4910c40d07f9c429c9322af95bd625810c106b2473a494c096817ade38a338c8956f5 languageName: node linkType: hard @@ -31099,15 +31039,6 @@ __metadata: languageName: node linkType: hard -"cross-inspect@npm:1.0.0": - version: 1.0.0 - resolution: "cross-inspect@npm:1.0.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/53530865c357c69a5a0543e2f2c61d3d46c9c316a19169372f5094cfb0a7c7e674f2daf2d5253a6731dfd9a8538aa4a4e13c6b4613b6f72b48bb0c41d2015ff4 - languageName: node - linkType: hard - "cross-inspect@npm:1.0.1": version: 1.0.1 resolution: "cross-inspect@npm:1.0.1" @@ -31707,7 +31638,7 @@ __metadata: languageName: node linkType: hard -"dataloader@npm:2.2.2, dataloader@npm:^2.2.2": +"dataloader@npm:2.2.2": version: 2.2.2 resolution: "dataloader@npm:2.2.2" checksum: 10c0/125ec69f821478cf7c6b4360095db6cab939fe57876a0d2060c428091a8deee7152345189923b71a6afa694aaec463779f34b585317164016fd6f54f52cd94ba @@ -32548,13 +32479,6 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:10.0.0, dotenv-expand@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv-expand@npm:10.0.0" - checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e - languageName: node - linkType: hard - "dotenv-expand@npm:12.0.3": version: 12.0.3 resolution: "dotenv-expand@npm:12.0.3" @@ -32564,6 +32488,13 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv-expand@npm:10.0.0" + checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e + languageName: node + linkType: hard + "dotenv@npm:12.0.4 ": version: 12.0.4 resolution: "dotenv@npm:12.0.4" @@ -32592,6 +32523,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:17.4.1": + version: 17.4.1 + resolution: "dotenv@npm:17.4.1" + checksum: 10c0/eb6ae592ee1e8f6b7f62e0f0c2827c4f27bbe9e00abe9d7910e06456e63dccd42f011de94da9450a63c07ccc52c318f527c1b56ad8e2c81a1a16314b53d4fd99 + languageName: node + linkType: hard + "dotenv@npm:^16.0.0, dotenv@npm:^16.0.3, dotenv@npm:^16.3.0, dotenv@npm:^16.4.5, dotenv@npm:^16.5.0": version: 16.6.1 resolution: "dotenv@npm:16.6.1" @@ -34668,20 +34606,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:3.3.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.3": +"fast-glob@npm:3.3.3, fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -34694,6 +34619,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + "fast-json-patch@npm:^3.0.0-1": version: 3.1.1 resolution: "fast-json-patch@npm:3.1.1" @@ -36677,16 +36615,7 @@ __metadata: languageName: node linkType: hard -"graphql-ws@npm:5.14.3": - version: 5.14.3 - resolution: "graphql-ws@npm:5.14.3" - peerDependencies: - graphql: ">=0.11 <=16" - checksum: 10c0/0715feb7b6bf760e2460c31848983bd3bd5958c95d8120c2acc7416f24137585dab2eb731d6bb6f8de992afbc2ad0cf258a00c6a08aa21479fb3e9bd1d3e120a - languageName: node - linkType: hard - -"graphql-ws@npm:^6.0.6": +"graphql-ws@npm:6.0.8, graphql-ws@npm:^6.0.6": version: 6.0.8 resolution: "graphql-ws@npm:6.0.8" peerDependencies: @@ -49418,27 +49347,13 @@ __metadata: languageName: node linkType: hard -"reflect-metadata@npm:0.1.13": - version: 0.1.13 - resolution: "reflect-metadata@npm:0.1.13" - checksum: 10c0/728bff0b376b05639fd11ed80c648b61f7fe653c5b506d7ca118e58b6752b9b00810fe0c86227ecf02bd88da6251ab3eb19fd403aaf2e9ff5ef36a2fda643026 - languageName: node - linkType: hard - -"reflect-metadata@npm:0.2.2, reflect-metadata@npm:^0.2.1": +"reflect-metadata@npm:0.2.2, reflect-metadata@npm:^0.2.1, reflect-metadata@npm:^0.2.2": version: 0.2.2 resolution: "reflect-metadata@npm:0.2.2" checksum: 10c0/1cd93a15ea291e420204955544637c264c216e7aac527470e393d54b4bb075f10a17e60d8168ec96600c7e0b9fcc0cb0bb6e91c3fbf5b0d8c9056f04e6ac1ec2 languageName: node linkType: hard -"reflect-metadata@npm:^0.1.13": - version: 0.1.14 - resolution: "reflect-metadata@npm:0.1.14" - checksum: 10c0/3a6190c7f6cb224f26a012d11f9e329360c01c1945e2cbefea23976a8bacf9db6b794aeb5bf18adcb673c448a234fbc06fc41853c00a6c206b30f0777ecf019e - languageName: node - linkType: hard - "reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": version: 1.0.10 resolution: "reflect.getprototypeof@npm:1.0.10" @@ -54984,10 +54899,10 @@ __metadata: "@nestjs/cache-manager": "npm:^2.3.0" "@nestjs/cli": "npm:^11.0.16" "@nestjs/common": "npm:11.1.24" - "@nestjs/config": "npm:3.3.0" + "@nestjs/config": "npm:^4.0.4" "@nestjs/core": "npm:^11.1.24" "@nestjs/event-emitter": "npm:2.1.0" - "@nestjs/graphql": "patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch" + "@nestjs/graphql": "patch:@nestjs/graphql@npm%3A13.4.2#~/.yarn/patches/@nestjs-graphql-npm-13.4.2-a41c900c19.patch" "@nestjs/jwt": "npm:11.0.1" "@nestjs/passport": "npm:11.0.5" "@nestjs/platform-express": "npm:11.1.24" @@ -55003,9 +54918,9 @@ __metadata: "@opentelemetry/exporter-metrics-otlp-http": "npm:^0.200.0" "@opentelemetry/exporter-prometheus": "npm:^0.217.0" "@opentelemetry/sdk-metrics": "npm:^2.0.0" - "@ptc-org/nestjs-query-core": "npm:4.4.0" - "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch" - "@ptc-org/nestjs-query-typeorm": "npm:4.2.1-alpha.2" + "@ptc-org/nestjs-query-core": "npm:^9.4.0" + "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@npm%3A9.4.0#~/.yarn/patches/@ptc-org-nestjs-query-graphql-npm-9.4.0-8e6f7894e1.patch" + "@ptc-org/nestjs-query-typeorm": "npm:^9.4.0" "@react-email/render": "npm:^1.2.3" "@sentry/nestjs": "npm:^10.51.0" "@sentry/node": "npm:^10.51.0" @@ -56700,15 +56615,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.1, uuid@npm:^9.0.0": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" - bin: - uuid: dist/bin/uuid - checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b - languageName: node - linkType: hard - "uuid@npm:^10.0.0": version: 10.0.0 resolution: "uuid@npm:10.0.0" @@ -56745,6 +56651,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.0": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -58118,21 +58033,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.16.0": - version: 8.16.0 - resolution: "ws@npm:8.16.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a - languageName: node - linkType: hard - "ws@npm:8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" @@ -58148,6 +58048,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:8.20.1": + version: 8.20.1 + resolution: "ws@npm:8.20.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/ce162433218399cdedeb76fd33363d4d86a7d910058d4e3c679dce08cea65d6da6b39f11baa4d7808d024cf46ed88f6a05c17611621aaad8fc5e62edacc30c5d + languageName: node + linkType: hard + "ws@npm:8.21.0, ws@npm:^8.13.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.18.3, ws@npm:^8.19.0, ws@npm:^8.20.0, ws@npm:^8.21.0": version: 8.21.0 resolution: "ws@npm:8.21.0"