From cd06ae20e8d01067569e5f9a07b23122bbe091dc Mon Sep 17 00:00:00 2001 From: Antoine Moreaux Date: Thu, 29 Aug 2024 18:16:50 +0200 Subject: [PATCH] chore(*): remove unused code (#6781) The code removed in the PR was flagged as unused by the JetBrains inspector. I did a QA on the dev environment but other checks are highly recommended. There is one commit by scope to make the review easier. --------- Co-authored-by: Charles Bochet --- .../twenty-front/src/generated/graphql.tsx | 7 ++ .../hooks/useRecordActionBar.tsx | 6 +- .../hooks/useHandleToggleTrashColumnFilter.ts | 9 +- .../RecordIndexOptionsDropdownContent.tsx | 2 +- packages/twenty-front/vite.config.ts | 5 +- .../src/database/typeorm-seeds/core/index.ts | 33 +------ .../graphql-config/graphql-config.service.ts | 3 - .../factories/create-many-query.factory.ts | 4 +- .../factories/delete-one-query.factory.ts | 4 +- .../factories/fields-string.factory.ts | 4 +- .../find-duplicates-query.factory.ts | 4 +- .../factories/find-many-query.factory.ts | 4 +- .../factories/find-one-query.factory.ts | 4 +- .../factories/relation-field-alias.factory.ts | 4 +- .../factories/update-one-query.factory.ts | 4 +- .../workspace-query-builder.factory.ts | 4 +- .../__tests__/record-position.factory.spec.ts | 6 +- .../factories/query-runner-args.factory.ts | 2 +- .../factories/record-position.factory.ts | 2 +- .../storage/workspace-query-hook.storage.ts | 6 -- .../workspace-query-hook-metadata.accessor.ts | 4 +- .../workspace-query-runner.service.ts | 11 --- .../connection-type-definition.factory.ts | 4 +- .../factories/edge-type-definition.factory.ts | 4 +- .../input/date-time-filter.input-type.ts | 18 ---- .../graphql-types/input/index.ts | 3 - .../input/time-filter.input-type.ts | 18 ---- .../input/uuid-filter.input-type.ts | 14 --- .../workspace-graphql-schema.factory.ts | 4 +- .../ai-sql-query/ai-sql-query.service.ts | 2 +- .../hooks/before-create-one-app-token.hook.ts | 2 +- .../core-modules/auth/auth.exception.ts | 1 + .../google-apis-auth.controller.ts | 2 +- .../auth-graphql-api-exception.filter.ts | 3 +- .../auth/services/auth.service.ts | 6 -- .../auth/strategies/jwt.auth.strategy.ts | 2 +- .../file/services/file.service.ts | 2 +- .../workspace/services/workspace.service.ts | 6 -- .../ability/user-ability.decorator.ts | 11 --- .../log-execution-time.decorator.ts | 3 - .../exception-handler.module-definition.ts | 13 +-- .../exception-handler.module-factory.ts | 3 +- .../file-storage.module-factory.ts | 2 +- .../logger/logger.module-definition.ts | 13 +-- .../logger/logger.module-factory.ts | 2 +- .../message-queue/drivers/sync.driver.ts | 2 +- .../message-queue-metadata.accessor.ts | 17 +--- .../message-queue.module-factory.ts | 2 +- .../utils/get-job-class-name.util.ts | 5 -- .../field-metadata/composite-types/index.ts | 5 -- .../field-metadata/field-metadata.service.ts | 13 +-- .../is-field-metadata-options.validator.ts | 8 -- .../hooks/before-create-one-object.hook.ts | 2 +- .../hooks/before-delete-one-object.hook.ts | 2 +- .../hooks/before-update-one-object.hook.ts | 2 +- .../object-metadata.service.ts | 25 ------ .../hooks/before-create-one-relation.hook.ts | 2 +- .../hooks/before-delete-one-relation.hook.ts | 2 +- .../remote-table/remote-table.service.ts | 2 +- .../dtos/execute-serverless-function.input.ts | 2 +- .../dtos/serverless-function.dto.ts | 1 - .../serverless-function.entity.ts | 1 - .../workspace-migration.service.ts | 7 +- .../datasource/workspace.datasource.ts | 4 - .../decorators/workspace-field.decorator.ts | 4 +- .../decorators/workspace-index.decorator.ts | 4 - .../storage/metadata-args.storage.ts | 16 ---- .../storage/workspace-entities.storage.ts | 17 ---- .../workspace-cache-storage.service.ts | 4 +- .../fixer/abstract-workspace.fixer.ts | 2 +- .../fixer/workspace-default-value.fixer.ts | 7 +- .../services/database-structure.service.ts | 18 ---- .../workspace-manager.service.ts | 16 ---- .../workspace-migration-runner.service.ts | 4 +- .../interfaces/mapped-metadata.interface.ts | 19 ---- .../workspace-metadata-updater.service.ts | 17 ++-- ...ync-object-metadata-identifiers.service.ts | 6 +- ...orkspace-sync-relation-metadata.service.ts | 6 +- .../storage/workspace-sync.storage.ts | 8 -- .../utils/sync-metadata.util.ts | 1 + .../workspace-sync-metadata.service.ts | 4 +- .../repositories/blocklist.repository.ts | 17 ---- .../constants/calendar-throttle-duration.ts | 1 - .../calendar-channel-sync-status.service.ts | 12 --- ...-values-string-for-batch-raw-query.util.ts | 28 ------ .../connected-account.repository.ts | 87 ------------------- 86 files changed, 97 insertions(+), 575 deletions(-) delete mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts delete mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts delete mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts delete mode 100644 packages/twenty-server/src/engine/decorators/ability/user-ability.decorator.ts delete mode 100644 packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts delete mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts delete mode 100644 packages/twenty-server/src/modules/calendar/calendar-event-import-manager/constants/calendar-throttle-duration.ts diff --git a/packages/twenty-front/src/generated/graphql.tsx b/packages/twenty-front/src/generated/graphql.tsx index 39201910c..4fd5f53ec 100644 --- a/packages/twenty-front/src/generated/graphql.tsx +++ b/packages/twenty-front/src/generated/graphql.tsx @@ -351,6 +351,7 @@ export type Mutation = { deleteOneServerlessFunction: ServerlessFunction; deleteUser: User; disablePostgresProxy: PostgresCredentials; + disableWorkflowTrigger: Scalars['Boolean']; emailPasswordResetLink: EmailPasswordResetLink; enablePostgresProxy: PostgresCredentials; enableWorkflowTrigger: Scalars['Boolean']; @@ -431,6 +432,11 @@ export type MutationDeleteOneServerlessFunctionArgs = { }; +export type MutationDisableWorkflowTriggerArgs = { + workflowVersionId: Scalars['String']; +}; + + export type MutationEmailPasswordResetLinkArgs = { email: Scalars['String']; }; @@ -1186,6 +1192,7 @@ export type Field = { isSystem?: Maybe; label: Scalars['String']; name: Scalars['String']; + object?: Maybe; options?: Maybe; relationDefinition?: Maybe; settings?: Maybe; diff --git a/packages/twenty-front/src/modules/object-record/record-action-bar/hooks/useRecordActionBar.tsx b/packages/twenty-front/src/modules/object-record/record-action-bar/hooks/useRecordActionBar.tsx index 24230af6b..b7cce8057 100644 --- a/packages/twenty-front/src/modules/object-record/record-action-bar/hooks/useRecordActionBar.tsx +++ b/packages/twenty-front/src/modules/object-record/record-action-bar/hooks/useRecordActionBar.tsx @@ -121,11 +121,13 @@ export const useRecordActionBar = ({ title={`Delete ${numberOfSelectedRecords} ${ numberOfSelectedRecords === 1 ? `record` : 'records' }`} - subtitle={`This action cannot be undone. This will permanently delete ${ + subtitle={`Are you sure you want to delete ${ numberOfSelectedRecords === 1 ? 'this record' : 'these records' - }`} + }? ${ + numberOfSelectedRecords === 1 ? 'It' : 'They' + } can be recovered from the Options menu.`} onConfirmClick={() => handleDeleteClick()} deleteButtonText={`Delete ${ numberOfSelectedRecords > 1 ? 'Records' : 'Record' diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts index 170e912d7..2530f7c92 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts @@ -52,7 +52,7 @@ export const useHandleToggleTrashColumnFilter = ({ operand: ViewFilterOperand.IsNotEmpty, displayValue: '', definition: { - label: 'Trash', + label: `Deleted ${objectNameSingular}`, iconName: 'IconTrash', fieldMetadataId: trashFieldMetadata.id, type: filterType, @@ -61,7 +61,12 @@ export const useHandleToggleTrashColumnFilter = ({ }; upsertCombinedViewFilter(newFilter); - }, [columnDefinitions, objectMetadataItem.fields, upsertCombinedViewFilter]); + }, [ + columnDefinitions, + objectMetadataItem.fields, + objectNameSingular, + upsertCombinedViewFilter, + ]); return handleToggleTrashColumnFilter; }; diff --git a/packages/twenty-front/src/modules/object-record/record-index/options/components/RecordIndexOptionsDropdownContent.tsx b/packages/twenty-front/src/modules/object-record/record-index/options/components/RecordIndexOptionsDropdownContent.tsx index 4d9c8631b..4a4277a32 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/options/components/RecordIndexOptionsDropdownContent.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/options/components/RecordIndexOptionsDropdownContent.tsx @@ -166,7 +166,7 @@ export const RecordIndexOptionsDropdownContent = ({ closeDropdown(); }} LeftIcon={IconTrash} - text="Trash" + text={`Deleted ${objectNameSingular}`} /> )} diff --git a/packages/twenty-front/vite.config.ts b/packages/twenty-front/vite.config.ts index 3d6a7fc98..4daf48a28 100644 --- a/packages/twenty-front/vite.config.ts +++ b/packages/twenty-front/vite.config.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-console */ import react from '@vitejs/plugin-react-swc'; import wyw from '@wyw-in-js/vite'; import path from 'path'; @@ -8,13 +9,9 @@ import tsconfigPaths from 'vite-tsconfig-paths'; type Checkers = Parameters[0]; -// https://vitejs.dev/config/ export default defineConfig(({ command, mode }) => { const env = loadEnv(mode, process.cwd(), ''); - /* - Using explicit env variables, there is no need to expose all of them (security). - */ const { REACT_APP_SERVER_BASE_URL, VITE_BUILD_SOURCEMAP, diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/index.ts b/packages/twenty-server/src/database/typeorm-seeds/core/index.ts index 6e5c9921e..8dcd3212d 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/index.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/index.ts @@ -1,21 +1,9 @@ import { DataSource } from 'typeorm'; -import { - seedUsers, - deleteUsersByWorkspace, -} from 'src/database/typeorm-seeds/core/users'; -import { - seedWorkspaces, - deleteWorkspaces, -} from 'src/database/typeorm-seeds/core/workspaces'; -import { - seedFeatureFlags, - deleteFeatureFlags, -} from 'src/database/typeorm-seeds/core/feature-flags'; -import { - deleteUserWorkspaces, - seedUserWorkspaces, -} from 'src/database/typeorm-seeds/core/userWorkspaces'; +import { seedUsers } from 'src/database/typeorm-seeds/core/users'; +import { seedWorkspaces } from 'src/database/typeorm-seeds/core/workspaces'; +import { seedFeatureFlags } from 'src/database/typeorm-seeds/core/feature-flags'; +import { seedUserWorkspaces } from 'src/database/typeorm-seeds/core/userWorkspaces'; export const seedCoreSchema = async ( workspaceDataSource: DataSource, @@ -28,16 +16,3 @@ export const seedCoreSchema = async ( await seedUserWorkspaces(workspaceDataSource, schemaName, workspaceId); await seedFeatureFlags(workspaceDataSource, schemaName, workspaceId); }; - -export const deleteCoreSchema = async ( - workspaceDataSource: DataSource, - workspaceId: string, -) => { - const schemaName = 'core'; - - await deleteUserWorkspaces(workspaceDataSource, schemaName, workspaceId); - await deleteUsersByWorkspace(workspaceDataSource, schemaName, workspaceId); - await deleteFeatureFlags(workspaceDataSource, schemaName, workspaceId); - // deleteWorkspaces should be last - await deleteWorkspaces(workspaceDataSource, schemaName, workspaceId); -}; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts index d750fa248..8c0521173 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts @@ -75,9 +75,6 @@ export class GraphQLConfigService const data = await this.tokenService.validateToken(context.req); - user = data.user; - workspace = data.workspace; - return await this.createSchema(context, data); } catch (error) { if (error instanceof UnauthorizedException) { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts index d1a160be0..85dac955c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { v4 as uuidv4 } from 'uuid'; @@ -14,8 +14,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class CreateManyQueryFactory { - private readonly logger = new Logger(CreateManyQueryFactory.name); - constructor( private readonly fieldsStringFactory: FieldsStringFactory, private readonly argsAliasFactory: ArgsAliasFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts index 690621b78..f4e4e948a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { DeleteOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; @@ -9,8 +9,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class DeleteOneQueryFactory { - private readonly logger = new Logger(DeleteOneQueryFactory.name); - constructor(private readonly fieldsStringFactory: FieldsStringFactory) {} async create( diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts index 7dbf38b89..3b5c73d81 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { GraphQLResolveInfo } from 'graphql'; import graphqlFields from 'graphql-fields'; @@ -15,8 +15,6 @@ import { RelationFieldAliasFactory } from './relation-field-alias.factory'; @Injectable() export class FieldsStringFactory { - private readonly logger = new Logger(FieldsStringFactory.name); - constructor( private readonly fieldAliasFactory: FieldAliasFactory, private readonly relationFieldAliasFactory: RelationFieldAliasFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts index 5281dc7be..2d21b6aad 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import isEmpty from 'lodash.isempty'; @@ -15,8 +15,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class FindDuplicatesQueryFactory { - private readonly logger = new Logger(FindDuplicatesQueryFactory.name); - constructor( private readonly fieldsStringFactory: FieldsStringFactory, private readonly argsAliasFactory: ArgsAliasFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts index 03391ce4c..020af73ec 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { RecordFilter, @@ -14,8 +14,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class FindManyQueryFactory { - private readonly logger = new Logger(FindManyQueryFactory.name); - constructor( private readonly fieldsStringFactory: FieldsStringFactory, private readonly argsStringFactory: ArgsStringFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts index efef8ff69..89b53949c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { RecordFilter } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; @@ -11,8 +11,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class FindOneQueryFactory { - private readonly logger = new Logger(FindOneQueryFactory.name); - constructor( private readonly fieldsStringFactory: FieldsStringFactory, private readonly argsStringFactory: ArgsStringFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts index 00918785c..d1d835a09 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts @@ -1,4 +1,4 @@ -import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common'; +import { forwardRef, Inject, Injectable } from '@nestjs/common'; import { GraphQLResolveInfo } from 'graphql'; @@ -20,8 +20,6 @@ import { ArgsStringFactory } from './args-string.factory'; @Injectable() export class RelationFieldAliasFactory { - private logger = new Logger(RelationFieldAliasFactory.name); - constructor( @Inject(forwardRef(() => FieldsStringFactory)) private readonly fieldsStringFactory: CircularDep, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts index c9e863513..e80697a74 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; @@ -12,8 +12,6 @@ import { FieldsStringFactory } from './fields-string.factory'; @Injectable() export class UpdateOneQueryFactory { - private readonly logger = new Logger(UpdateOneQueryFactory.name); - constructor( private readonly fieldsStringFactory: FieldsStringFactory, private readonly argsAliasFactory: ArgsAliasFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts index fd49160eb..1403edffc 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { @@ -34,8 +34,6 @@ import { FindDuplicatesQueryFactory } from './factories/find-duplicates-query.fa @Injectable() export class WorkspaceQueryBuilderFactory { - private readonly logger = new Logger(WorkspaceQueryBuilderFactory.name); - constructor( private readonly findManyQueryFactory: FindManyQueryFactory, private readonly findOneQueryFactory: FindOneQueryFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts index 8a22aaea0..88d8e4204 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts @@ -1,12 +1,12 @@ -import { TestingModule, Test } from '@nestjs/testing'; +import { Test, TestingModule } from '@nestjs/testing'; -import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { RecordPositionQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; +import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; describe('RecordPositionFactory', () => { const recordPositionQueryFactory = { - create: jest.fn().mockResolvedValue('query'), + create: jest.fn().mockReturnValue(['query', []]), }; let workspaceDataSourceService; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index bdf9d862a..bdde71956 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -134,7 +134,7 @@ export class QueryRunnerArgsFactory { ), ]; case FieldMetadataType.NUMBER: - return [key, await Promise.resolve(Number(value))]; + return [key, Number(value)]; default: return [key, await Promise.resolve(value)]; } diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts index 1cde2b797..a8fea51bf 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts @@ -64,7 +64,7 @@ export class RecordPositionFactory { dataSourceSchema: string, workspaceId: string, ) { - const [query, params] = await this.recordPositionQueryFactory.create( + const [query, params] = this.recordPositionQueryFactory.create( recordPositionQueryArgs, objectMetadata, dataSourceSchema, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts index 4aca2f20d..e791ab3d3 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts @@ -66,10 +66,4 @@ export class WorkspaceQueryHookStorage { this.postHookInstances.get(key)?.push(data); } - - getWorkspaceQueryPostHookInstances( - key: WorkspaceQueryHookKey, - ): WorkspaceQueryHookData[] | undefined { - return this.postHookInstances.get(key); - } } diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/workspace-query-hook-metadata.accessor.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/workspace-query-hook-metadata.accessor.ts index 229e0b0bf..ea4a251ab 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/workspace-query-hook-metadata.accessor.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/workspace-query-hook-metadata.accessor.ts @@ -9,7 +9,7 @@ import { WorkspaceQueryHookOptions } from 'src/engine/api/graphql/workspace-quer export class WorkspaceQueryHookMetadataAccessor { constructor(private readonly reflector: Reflector) {} - isWorkspaceQueryHook(target: Type | Function): boolean { + isWorkspaceQueryHook(target: Type | Function): boolean { if (!target) { return false; } @@ -18,7 +18,7 @@ export class WorkspaceQueryHookMetadataAccessor { } getWorkspaceQueryHookMetadata( - target: Type | Function, + target: Type | Function, ): WorkspaceQueryHookOptions | undefined { return this.reflector.get(WORKSPACE_QUERY_HOOK_METADATA, target); } diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts index e3fd0d005..6e9a74475 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts @@ -1011,17 +1011,6 @@ export class WorkspaceQueryRunnerService { return parseResult(resultWithGetters); } - async executeAndParse( - query: string, - objectMetadataItem: ObjectMetadataInterface, - command: string, - workspaceId: string, - ): Promise { - const result = await this.execute(query, workspaceId); - - return this.parseResult(result, objectMetadataItem, command, workspaceId); - } - async triggerWebhooks( jobsData: Record[] | undefined, operation: CallWebhookJobsJobOperation, 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 e309d4c38..dfaf2f37e 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 @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLInt, GraphQLObjectType } from 'graphql'; @@ -20,8 +20,6 @@ export enum ConnectionTypeDefinitionKind { @Injectable() export class ConnectionTypeDefinitionFactory { - private readonly logger = new Logger(ConnectionTypeDefinitionFactory.name); - constructor(private readonly connectionTypeFactory: ConnectionTypeFactory) {} public create( 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 154684e97..03c25a197 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 @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; @@ -20,8 +20,6 @@ export enum EdgeTypeDefinitionKind { @Injectable() export class EdgeTypeDefinitionFactory { - private readonly logger = new Logger(EdgeTypeDefinitionFactory.name); - constructor(private readonly edgeTypeFactory: EdgeTypeFactory) {} public create( diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts deleted file mode 100644 index 278eff46d..000000000 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; - -import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { DateTimeScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; - -export const DatetimeFilterType = new GraphQLInputObjectType({ - name: 'DateTimeFilter', - fields: { - eq: { type: DateTimeScalarType }, - gt: { type: DateTimeScalarType }, - gte: { type: DateTimeScalarType }, - in: { type: new GraphQLList(new GraphQLNonNull(DateTimeScalarType)) }, - lt: { type: DateTimeScalarType }, - lte: { type: DateTimeScalarType }, - neq: { type: DateTimeScalarType }, - is: { type: FilterIs }, - }, -}); diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts index 48909d728..1d1f6f51f 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts @@ -2,10 +2,7 @@ export * from './big-float-filter.input-type'; export * from './big-int-filter.input-type'; export * from './boolean-filter.input-type'; export * from './date-filter.input-type'; -export * from './date-time-filter.input-type'; export * from './float-filter.input-type'; export * from './int-filter.input-type'; export * from './raw-json-filter.input-type'; export * from './string-filter.input-type'; -export * from './time-filter.input-type'; -export * from './uuid-filter.input-type'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts deleted file mode 100644 index 58d1b7bab..000000000 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; - -import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { TimeScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; - -export const TimeFilterType = new GraphQLInputObjectType({ - name: 'TimeFilter', - fields: { - eq: { type: TimeScalarType }, - gt: { type: TimeScalarType }, - gte: { type: TimeScalarType }, - in: { type: new GraphQLList(new GraphQLNonNull(TimeScalarType)) }, - lt: { type: TimeScalarType }, - lte: { type: TimeScalarType }, - neq: { type: TimeScalarType }, - is: { type: FilterIs }, - }, -}); diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts deleted file mode 100644 index 4935e4d94..000000000 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { GraphQLInputObjectType, GraphQLList } from 'graphql'; - -import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; - -export const UUIDFilterType = new GraphQLInputObjectType({ - name: 'UUIDFilter', - fields: { - eq: { type: UUIDScalarType }, - in: { type: new GraphQLList(UUIDScalarType) }, - neq: { type: UUIDScalarType }, - is: { type: FilterIs }, - }, -}); 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 6d1708db0..4f905032f 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 @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { GraphQLSchema } from 'graphql'; @@ -14,8 +14,6 @@ import { OrphanedTypesFactory } from './factories/orphaned-types.factory'; @Injectable() export class WorkspaceGraphQLSchemaFactory { - private readonly logger = new Logger(WorkspaceGraphQLSchemaFactory.name); - constructor( private readonly typeDefinitionsGenerator: TypeDefinitionsGenerator, private readonly queryTypeFactory: QueryTypeFactory, diff --git a/packages/twenty-server/src/engine/core-modules/ai-sql-query/ai-sql-query.service.ts b/packages/twenty-server/src/engine/core-modules/ai-sql-query/ai-sql-query.service.ts index f487b3b25..63809b96c 100644 --- a/packages/twenty-server/src/engine/core-modules/ai-sql-query/ai-sql-query.service.ts +++ b/packages/twenty-server/src/engine/core-modules/ai-sql-query/ai-sql-query.service.ts @@ -96,7 +96,7 @@ export class AISQLQueryService { } private getCreateTableStatement(tableName: string, colInfos: any[]) { - return `${`CREATE TABLE ${tableName} (\n`} ${colInfos + return `CREATE TABLE ${tableName} (\n ${colInfos .map( (colInfo) => `${colInfo.column_name} ${colInfo.data_type} ${ diff --git a/packages/twenty-server/src/engine/core-modules/app-token/hooks/before-create-one-app-token.hook.ts b/packages/twenty-server/src/engine/core-modules/app-token/hooks/before-create-one-app-token.hook.ts index 9face2a59..01399f21e 100644 --- a/packages/twenty-server/src/engine/core-modules/app-token/hooks/before-create-one-app-token.hook.ts +++ b/packages/twenty-server/src/engine/core-modules/app-token/hooks/before-create-one-app-token.hook.ts @@ -7,7 +7,7 @@ import { v4 as uuidv4 } from 'uuid'; import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity'; export class BeforeCreateOneAppToken - implements BeforeCreateOneHook + implements BeforeCreateOneHook { async run( instance: CreateOneInputType, diff --git a/packages/twenty-server/src/engine/core-modules/auth/auth.exception.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.exception.ts index 6195fd37d..2387ff9d3 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/auth.exception.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/auth.exception.ts @@ -10,6 +10,7 @@ export class AuthException extends CustomException { export enum AuthExceptionCode { USER_NOT_FOUND = 'USER_NOT_FOUND', CLIENT_NOT_FOUND = 'CLIENT_NOT_FOUND', + WORKSPACE_NOT_FOUND = 'WORKSPACE_NOT_FOUND', INVALID_INPUT = 'INVALID_INPUT', FORBIDDEN_EXCEPTION = 'FORBIDDEN_EXCEPTION', UNAUTHENTICATED = 'UNAUTHENTICATED', diff --git a/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts index a2fe6db48..783556dbe 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts @@ -72,7 +72,7 @@ export class GoogleAPIsAuthController { if (!workspaceId) { throw new AuthException( 'Workspace not found', - AuthExceptionCode.INVALID_INPUT, + AuthExceptionCode.WORKSPACE_NOT_FOUND, ); } diff --git a/packages/twenty-server/src/engine/core-modules/auth/filters/auth-graphql-api-exception.filter.ts b/packages/twenty-server/src/engine/core-modules/auth/filters/auth-graphql-api-exception.filter.ts index c33c724f0..0cf81224c 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/filters/auth-graphql-api-exception.filter.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/filters/auth-graphql-api-exception.filter.ts @@ -16,7 +16,6 @@ import { export class AuthGraphqlApiExceptionFilter implements ExceptionFilter { catch(exception: AuthException) { switch (exception.code) { - case AuthExceptionCode.USER_NOT_FOUND: case AuthExceptionCode.CLIENT_NOT_FOUND: throw new NotFoundError(exception.message); case AuthExceptionCode.INVALID_INPUT: @@ -24,6 +23,8 @@ export class AuthGraphqlApiExceptionFilter implements ExceptionFilter { case AuthExceptionCode.FORBIDDEN_EXCEPTION: throw new ForbiddenError(exception.message); case AuthExceptionCode.UNAUTHENTICATED: + case AuthExceptionCode.USER_NOT_FOUND: + case AuthExceptionCode.WORKSPACE_NOT_FOUND: throw new AuthenticationError(exception.message); case AuthExceptionCode.INVALID_DATA: case AuthExceptionCode.INTERNAL_SERVER_ERROR: diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts index 932716780..0830e57fb 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts @@ -41,12 +41,6 @@ import { EnvironmentService } from 'src/engine/integrations/environment/environm import { TokenService } from './token.service'; -export type UserPayload = { - firstName: string; - lastName: string; - email: string; -}; - @Injectable() export class AuthService { constructor( diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts index b6a0954a2..6f7436357 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts @@ -52,7 +52,7 @@ export class JwtAuthStrategy extends PassportStrategy(Strategy, 'jwt') { if (!workspace) { throw new AuthException( 'Workspace not found', - AuthExceptionCode.INVALID_INPUT, + AuthExceptionCode.WORKSPACE_NOT_FOUND, ); } diff --git a/packages/twenty-server/src/engine/core-modules/file/services/file.service.ts b/packages/twenty-server/src/engine/core-modules/file/services/file.service.ts index 0bfef082b..d56d769f9 100644 --- a/packages/twenty-server/src/engine/core-modules/file/services/file.service.ts +++ b/packages/twenty-server/src/engine/core-modules/file/services/file.service.ts @@ -38,7 +38,7 @@ export class FileService { const expirationDate = addMilliseconds(new Date(), ms(fileTokenExpiresIn)); - const signedPayload = await this.jwtWrapperService.sign( + const signedPayload = this.jwtWrapperService.sign( { expiration_date: expirationDate, ...payloadToEncode, diff --git a/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts index 4e57e1d2b..57344c77c 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts @@ -115,12 +115,6 @@ export class WorkspaceService extends TypeOrmQueryService { return workspace; } - async getWorkspaceIds() { - return this.workspaceRepository - .find() - .then((workspaces) => workspaces.map((workspace) => workspace.id)); - } - async handleRemoveWorkspaceMember(workspaceId: string, userId: string) { await this.userWorkspaceRepository.delete({ userId, diff --git a/packages/twenty-server/src/engine/decorators/ability/user-ability.decorator.ts b/packages/twenty-server/src/engine/decorators/ability/user-ability.decorator.ts deleted file mode 100644 index 2a12d6c07..000000000 --- a/packages/twenty-server/src/engine/decorators/ability/user-ability.decorator.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { createParamDecorator, ExecutionContext } from '@nestjs/common'; - -import { getRequest } from 'src/utils/extract-request'; - -export const UserAbility = createParamDecorator( - (_: unknown, context: ExecutionContext) => { - const request = getRequest(context); - - return request.ability; - }, -); diff --git a/packages/twenty-server/src/engine/decorators/observability/log-execution-time.decorator.ts b/packages/twenty-server/src/engine/decorators/observability/log-execution-time.decorator.ts index 3337f002b..6f9fbe560 100644 --- a/packages/twenty-server/src/engine/decorators/observability/log-execution-time.decorator.ts +++ b/packages/twenty-server/src/engine/decorators/observability/log-execution-time.decorator.ts @@ -3,9 +3,6 @@ import { Logger } from '@nestjs/common'; /** * A decorator function that logs the execution time of the decorated method. * - * @param target The target class of the decorated method. - * @param propertyKey The name of the decorated method. - * @param descriptor The property descriptor of the decorated method. * @returns The modified property descriptor with the execution time logging functionality. */ export function LogExecutionTime() { diff --git a/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts index 72e3d9a5a..2410d6616 100644 --- a/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts @@ -1,8 +1,4 @@ -import { - ConfigurableModuleBuilder, - FactoryProvider, - ModuleMetadata, -} from '@nestjs/common'; +import { ConfigurableModuleBuilder } from '@nestjs/common'; import { ExceptionHandlerModuleOptions } from './interfaces'; @@ -16,10 +12,3 @@ export const { }) .setClassMethodName('forRoot') .build(); - -export type ExceptionHandlerModuleAsyncOptions = { - useFactory: ( - ...args: any[] - ) => ExceptionHandlerModuleOptions | Promise; -} & Pick & - Pick; diff --git a/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts index 3b08ab93a..fed287d51 100644 --- a/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts @@ -6,8 +6,9 @@ import { ExceptionHandlerDriver } from 'src/engine/integrations/exception-handle /** * ExceptionHandler Module factory - * @param environment * @returns ExceptionHandlerModuleOptions + * @param environmentService + * @param adapterHost */ export const exceptionHandlerModuleFactory = async ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts index b1ab03642..f28597500 100644 --- a/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts @@ -9,8 +9,8 @@ import { resolveAbsolutePath } from 'src/utils/resolve-absolute-path'; /** * FileStorage Module factory - * @param environment * @returns FileStorageModuleOptions + * @param environmentService */ export const fileStorageModuleFactory = async ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts b/packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts index 7f1c1ee88..d896bff74 100644 --- a/packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts +++ b/packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts @@ -1,8 +1,4 @@ -import { - ConfigurableModuleBuilder, - FactoryProvider, - ModuleMetadata, -} from '@nestjs/common'; +import { ConfigurableModuleBuilder } from '@nestjs/common'; import { LoggerModuleOptions } from './interfaces'; @@ -16,10 +12,3 @@ export const { }) .setClassMethodName('forRoot') .build(); - -export type LoggerModuleAsyncOptions = { - useFactory: ( - ...args: any[] - ) => LoggerModuleOptions | Promise; -} & Pick & - Pick; diff --git a/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts b/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts index 93701802a..aef0bcd62 100644 --- a/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts @@ -6,8 +6,8 @@ import { /** * Logger Module factory - * @param environment * @returns LoggerModuleOptions + * @param environmentService */ export const loggerModuleFactory = async ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts index 7d9d5cca3..b65460687 100644 --- a/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts @@ -12,7 +12,7 @@ import { MessageQueueDriver } from './interfaces/message-queue-driver.interface' export class SyncDriver implements MessageQueueDriver { private readonly logger = new Logger(SyncDriver.name); private workersMap: { - [queueName: string]: (job: MessageQueueJob) => Promise | void; + [queueName: string]: (job: MessageQueueJob) => Promise | void; } = {}; constructor() {} diff --git a/packages/twenty-server/src/engine/integrations/message-queue/message-queue-metadata.accessor.ts b/packages/twenty-server/src/engine/integrations/message-queue/message-queue-metadata.accessor.ts index e509e1fd8..a63c3f16e 100644 --- a/packages/twenty-server/src/engine/integrations/message-queue/message-queue-metadata.accessor.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/message-queue-metadata.accessor.ts @@ -2,21 +2,18 @@ import { Injectable, Type } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { MessageQueueWorkerOptions } from 'src/engine/integrations/message-queue/interfaces/message-queue-worker-options.interface'; - import { MessageQueueProcessOptions } from 'src/engine/integrations/message-queue/decorators/process.decorator'; import { MessageQueueProcessorOptions } from 'src/engine/integrations/message-queue/decorators/processor.decorator'; import { PROCESSOR_METADATA, PROCESS_METADATA, - WORKER_METADATA, } from 'src/engine/integrations/message-queue/message-queue.constants'; @Injectable() export class MessageQueueMetadataAccessor { constructor(private readonly reflector: Reflector) {} - isProcessor(target: Type | Function): boolean { + isProcessor(target: Type | Function): boolean { if (!target) { return false; } @@ -24,7 +21,7 @@ export class MessageQueueMetadataAccessor { return !!this.reflector.get(PROCESSOR_METADATA, target); } - isProcess(target: Type | Function): boolean { + isProcess(target: Type | Function): boolean { if (!target) { return false; } @@ -33,22 +30,16 @@ export class MessageQueueMetadataAccessor { } getProcessorMetadata( - target: Type | Function, + target: Type | Function, ): MessageQueueProcessorOptions | undefined { return this.reflector.get(PROCESSOR_METADATA, target); } getProcessMetadata( - target: Type | Function, + target: Type | Function, ): MessageQueueProcessOptions | undefined { const metadata = this.reflector.get(PROCESS_METADATA, target); return metadata; } - - getWorkerOptionsMetadata( - target: Type | Function, - ): MessageQueueWorkerOptions { - return this.reflector.get(WORKER_METADATA, target) ?? {}; - } } diff --git a/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts index 603f550c3..671548449 100644 --- a/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts @@ -6,8 +6,8 @@ import { /** * MessageQueue Module factory - * @param environment * @returns MessageQueueModuleOptions + * @param environmentService */ export const messageQueueModuleFactory = async ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts b/packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts deleted file mode 100644 index 9ee392275..000000000 --- a/packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts +++ /dev/null @@ -1,5 +0,0 @@ -export function getJobClassName(name: string): string { - const [, jobName] = name.split('.') ?? []; - - return jobName ?? name; -} diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts index 991618f8c..f8a059647 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts @@ -1,5 +1,4 @@ import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; -import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { actorCompositeType } from 'src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type'; import { addressCompositeType } from 'src/engine/metadata-modules/field-metadata/composite-types/address.composite-type'; @@ -10,10 +9,6 @@ import { linkCompositeType } from 'src/engine/metadata-modules/field-metadata/co import { linksCompositeType } from 'src/engine/metadata-modules/field-metadata/composite-types/links.composite-type'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -export type CompositeFieldsDefinitionFunction = ( - fieldMetadata?: FieldMetadataInterface, -) => FieldMetadataInterface[]; - export const compositeTypeDefinitions = new Map< FieldMetadataType, CompositeType diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts index ede0e64e9..6dc4122aa 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts @@ -94,7 +94,7 @@ export class FieldMetadataService extends TypeOrmQueryService>( + queryRunner.manager.getRepository( FieldMetadataEntity, ); const objectMetadata = @@ -304,7 +304,7 @@ export class FieldMetadataService extends TypeOrmQueryService>( + queryRunner.manager.getRepository( FieldMetadataEntity, ); @@ -471,7 +471,7 @@ export class FieldMetadataService extends TypeOrmQueryService>( + queryRunner.manager.getRepository( FieldMetadataEntity, ); @@ -614,13 +614,6 @@ export class FieldMetadataService extends TypeOrmQueryService 0) { - return this.validationErrors.join(', '); - } - - return 'FieldMetadataOptions is not valid'; - } } diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts index 0737b8ef6..c8fd26182 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts @@ -9,7 +9,7 @@ import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/d @Injectable() export class BeforeCreateOneObject - implements BeforeCreateOneHook + implements BeforeCreateOneHook { async run( instance: CreateOneInputType, diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts index 6c3db542d..6f0147bf2 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts @@ -12,7 +12,7 @@ import { import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; @Injectable() -export class BeforeDeleteOneObject implements BeforeDeleteOneHook { +export class BeforeDeleteOneObject implements BeforeDeleteOneHook { constructor(readonly objectMetadataService: ObjectMetadataService) {} async run( diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts index b2cef2279..c7938eeb9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts @@ -18,7 +18,7 @@ import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadat @Injectable() export class BeforeUpdateOneObject - implements BeforeUpdateOneHook + implements BeforeUpdateOneHook { constructor( readonly objectMetadataService: ObjectMetadataService, diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts index 8661de4eb..1a45f708e 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts @@ -399,31 +399,6 @@ export class ObjectMetadataService extends TypeOrmQueryService, - ): Promise { - try { - return this.objectMetadataRepository.findOneOrFail({ - relations: [ - 'fields', - 'fields.fromRelationMetadata', - 'fields.toRelationMetadata', - ], - ...options, - where: { - ...options.where, - workspaceId, - }, - }); - } catch (error) { - throw new ObjectMetadataException( - 'Object does not exist', - ObjectMetadataExceptionCode.OBJECT_METADATA_NOT_FOUND, - ); - } - } - public async findManyWithinWorkspace( workspaceId: string, options?: FindManyOptions, diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts index d91d9c923..d5e1223c0 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts @@ -9,7 +9,7 @@ import { CreateRelationInput } from 'src/engine/metadata-modules/relation-metada @Injectable() export class BeforeCreateOneRelation - implements BeforeCreateOneHook + implements BeforeCreateOneHook { async run( instance: CreateOneInputType, diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-relation.hook.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-relation.hook.ts index 797618559..3f82928e6 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-relation.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-relation.hook.ts @@ -12,7 +12,7 @@ import { import { RelationMetadataService } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.service'; @Injectable() -export class BeforeDeleteOneRelation implements BeforeDeleteOneHook { +export class BeforeDeleteOneRelation implements BeforeDeleteOneHook { constructor(readonly relationMetadataService: RelationMetadataService) {} async run( diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.service.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.service.ts index 9f29b99ca..76127e49f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.service.ts @@ -601,7 +601,7 @@ export class RemoteTableService { columnName: string, columnType: string, objectMetadataId: string, - ): Promise> { + ): Promise { return this.fieldMetadataService.createOne({ name: columnName, label: camelToTitleCase(columnName), diff --git a/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/execute-serverless-function.input.ts b/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/execute-serverless-function.input.ts index 85fff20cc..8a03a09aa 100644 --- a/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/execute-serverless-function.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/execute-serverless-function.input.ts @@ -1,4 +1,4 @@ -import { ArgsType, Field, InputType } from '@nestjs/graphql'; +import { Field, InputType } from '@nestjs/graphql'; import { IsNotEmpty, IsObject, IsOptional, IsUUID } from 'class-validator'; import graphqlTypeJson from 'graphql-type-json'; diff --git a/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/serverless-function.dto.ts b/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/serverless-function.dto.ts index ff5a4c7d5..d220a4f86 100644 --- a/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/serverless-function.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/serverless-function/dtos/serverless-function.dto.ts @@ -14,7 +14,6 @@ import { IsDateString, IsEnum, IsNotEmpty, - IsNumber, IsString, IsUUID, } from 'class-validator'; diff --git a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.entity.ts b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.entity.ts index 784474187..035111942 100644 --- a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.entity.ts @@ -3,7 +3,6 @@ import { CreateDateColumn, Entity, PrimaryGeneratedColumn, - Unique, UpdateDateColumn, } from 'typeorm'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts index d12ed2493..a0e91b25b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts @@ -18,8 +18,8 @@ export class WorkspaceMigrationService { /** * Get all pending migrations for a given workspaceId * - * @param workspaceId: string * @returns Promise + * @param workspaceId */ public async getPendingMigrations( workspaceId: string, @@ -53,8 +53,8 @@ export class WorkspaceMigrationService { * Set appliedAt as current date for a given migration. * Should be called once the migration has been applied * - * @param workspaceId: string - * @param migration: WorkspaceMigration + * @param workspaceId + * @param migration */ public async setAppliedAtForMigration( workspaceId: string, @@ -69,6 +69,7 @@ export class WorkspaceMigrationService { /** * Create a new pending migration for a given workspaceId and expected changes * + * @param name * @param workspaceId * @param migrations */ diff --git a/packages/twenty-server/src/engine/twenty-orm/datasource/workspace.datasource.ts b/packages/twenty-server/src/engine/twenty-orm/datasource/workspace.datasource.ts index b83b7b940..076ef7f7e 100644 --- a/packages/twenty-server/src/engine/twenty-orm/datasource/workspace.datasource.ts +++ b/packages/twenty-server/src/engine/twenty-orm/datasource/workspace.datasource.ts @@ -36,8 +36,4 @@ export class WorkspaceDataSource extends DataSource { ): WorkspaceEntityManager { return new WorkspaceEntityManager(this.internalContext, this, queryRunner); } - - getWorkspaceId(): string { - return this.internalContext.workspaceId; - } } diff --git a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts index 83285f1c4..fd2b280fd 100644 --- a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts +++ b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts @@ -57,9 +57,7 @@ export function WorkspaceField( ) ?? false; const defaultValue = (options.defaultValue ?? - generateDefaultValue( - options.type, - )) as FieldMetadataDefaultValue<'default'> | null; + generateDefaultValue(options.type)) as FieldMetadataDefaultValue | null; metadataArgsStorage.addFields({ target: object.constructor, diff --git a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-index.decorator.ts b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-index.decorator.ts index eed0c9979..5ede935f4 100644 --- a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-index.decorator.ts +++ b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-index.decorator.ts @@ -3,10 +3,6 @@ import { metadataArgsStorage } from 'src/engine/twenty-orm/storage/metadata-args import { convertClassNameToObjectMetadataName } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/convert-class-to-object-metadata-name.util'; import { TypedReflect } from 'src/utils/typed-reflect'; -export interface WorkspaceIndexOptions { - columns?: string[]; -} - export function WorkspaceIndex(): PropertyDecorator; export function WorkspaceIndex(columns: string[]): ClassDecorator; export function WorkspaceIndex( diff --git a/packages/twenty-server/src/engine/twenty-orm/storage/metadata-args.storage.ts b/packages/twenty-server/src/engine/twenty-orm/storage/metadata-args.storage.ts index 77b038b33..7ea7f9d76 100644 --- a/packages/twenty-server/src/engine/twenty-orm/storage/metadata-args.storage.ts +++ b/packages/twenty-server/src/engine/twenty-orm/storage/metadata-args.storage.ts @@ -68,10 +68,6 @@ export class MetadataArgsStorage { target: Function | string, ): WorkspaceExtendedEntityMetadataArgs | undefined; - filterExtendedEntities( - target: (Function | string)[], - ): WorkspaceExtendedEntityMetadataArgs[]; - filterExtendedEntities( target: (Function | string) | (Function | string)[], ): @@ -85,8 +81,6 @@ export class MetadataArgsStorage { filterFields(target: Function | string): WorkspaceFieldMetadataArgs[]; - filterFields(target: (Function | string)[]): WorkspaceFieldMetadataArgs[]; - filterFields( target: (Function | string) | (Function | string)[], ): WorkspaceFieldMetadataArgs[] { @@ -107,8 +101,6 @@ export class MetadataArgsStorage { filterIndexes(target: Function | string): WorkspaceIndexMetadataArgs[]; - filterIndexes(target: (Function | string)[]): WorkspaceIndexMetadataArgs[]; - filterIndexes( target: (Function | string) | (Function | string)[], ): WorkspaceIndexMetadataArgs[] { @@ -119,10 +111,6 @@ export class MetadataArgsStorage { target: Function | string, ): WorkspaceDynamicRelationMetadataArgs[]; - filterDynamicRelations( - target: (Function | string)[], - ): WorkspaceDynamicRelationMetadataArgs[]; - filterDynamicRelations( target: (Function | string) | (Function | string)[], ): WorkspaceDynamicRelationMetadataArgs[] { @@ -133,10 +121,6 @@ export class MetadataArgsStorage { target: Function | string, ): WorkspaceJoinColumnsMetadataArgs[]; - filterJoinColumns( - target: (Function | string)[], - ): WorkspaceJoinColumnsMetadataArgs[]; - filterJoinColumns( target: (Function | string) | (Function | string)[], ): WorkspaceJoinColumnsMetadataArgs[] { diff --git a/packages/twenty-server/src/engine/twenty-orm/storage/workspace-entities.storage.ts b/packages/twenty-server/src/engine/twenty-orm/storage/workspace-entities.storage.ts index aa8f277fa..ed8fdd70a 100644 --- a/packages/twenty-server/src/engine/twenty-orm/storage/workspace-entities.storage.ts +++ b/packages/twenty-server/src/engine/twenty-orm/storage/workspace-entities.storage.ts @@ -6,15 +6,6 @@ export class WorkspaceEntitiesStorage { Map >(); - static getEntitySchema( - workspaceId: string, - objectMetadataName: string, - ): EntitySchema | undefined { - const workspace = this.workspaceEntities.get(workspaceId); - - return workspace?.get(objectMetadataName); - } - static setEntitySchema( workspaceId: string, objectMetadataName: string, @@ -38,12 +29,4 @@ export class WorkspaceEntitiesStorage { ([, schema]) => schema.options.name === target.options.name, )?.[0]; } - - static getEntities(workspaceId: string): EntitySchema[] { - return Array.from(this.workspaceEntities.get(workspaceId)?.values() || []); - } - - static clearWorkspace(workspaceId: string): void { - this.workspaceEntities.delete(workspaceId); - } } diff --git a/packages/twenty-server/src/engine/workspace-cache-storage/workspace-cache-storage.service.ts b/packages/twenty-server/src/engine/workspace-cache-storage/workspace-cache-storage.service.ts index 18426da5a..c15991fe6 100644 --- a/packages/twenty-server/src/engine/workspace-cache-storage/workspace-cache-storage.service.ts +++ b/packages/twenty-server/src/engine/workspace-cache-storage/workspace-cache-storage.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { EntitySchemaOptions } from 'typeorm'; @@ -18,8 +18,6 @@ enum WorkspaceCacheKeys { @Injectable() export class WorkspaceCacheStorageService { - private readonly logger = new Logger(WorkspaceCacheStorageService.name); - constructor( @InjectCacheStorage(CacheStorageNamespace.EngineWorkspace) private readonly cacheStorageService: CacheStorageService, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts index 73af458d7..38205eebc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts @@ -20,7 +20,7 @@ export abstract class AbstractWorkspaceFixer< > { private issueTypes: IssueTypes[]; - constructor(...issueTypes: IssueTypes[]) { + protected constructor(...issueTypes: IssueTypes[]) { this.issueTypes = issueTypes; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts index 9478de8c6..8362ca209 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts @@ -112,13 +112,12 @@ export class WorkspaceDefaultValueFixer extends AbstractWorkspaceFixer + | FieldMetadataDefaultValue // Old format for default values // TODO: Remove this after all workspaces are migrated | { type: FieldMetadataDefaultValueFunctionNames } | null = issue.fieldMetadata.defaultValue; - let alteredDefaultValue: FieldMetadataDefaultValue<'default'> | null = - null; + let alteredDefaultValue: FieldMetadataDefaultValue | null = null; // Check if it's an old function default value // eslint-disable-next-line @typescript-eslint/ban-ts-comment @@ -189,7 +188,7 @@ export class WorkspaceDefaultValueFixer extends AbstractWorkspaceFixer { + ): FieldMetadataDefaultValue { if ( columnDefault === undefined || columnDefault === null || diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts index 82dd9fdbd..f7d6d1e36 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts @@ -151,24 +151,6 @@ export class DatabaseStructureService { })); } - async workspaceColumnExist( - schemaName: string, - tableName: string, - columnName: string, - ): Promise { - const mainDataSource = this.typeORMService.getMainDataSource(); - const results = await mainDataSource.query( - `SELECT column_name - FROM information_schema.columns - WHERE table_schema = $1 - AND table_name = $2 - AND column_name = $3`, - [schemaName, tableName, columnName], - ); - - return results.length >= 1; - } - getPostgresDataTypes(fieldMetadata: FieldMetadataEntity): string[] { const mainDataSource = this.typeORMService.getMainDataSource(); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts index 2d4f95b25..000b37d37 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts @@ -76,22 +76,6 @@ export class WorkspaceManagerService { await this.prefillWorkspaceWithDemoObjects(dataSourceMetadata, workspaceId); } - /** - * - * Check if the workspace schema has already been created or not - * - * @param workspaceId - * @Returns Promise - */ - public async doesDataSourceExist(workspaceId: string): Promise { - const dataSource = - await this.dataSourceService.getDataSourcesMetadataFromWorkspaceId( - workspaceId, - ); - - return dataSource.length > 0; - } - /** * * We are updating the pg_graphql max_rows from 30 (default value) to 60 diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts index caffa38f6..3fec17109 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { QueryRunner, @@ -32,8 +32,6 @@ import { customTableDefaultColumns } from './utils/custom-table-default-column.u @Injectable() export class WorkspaceMigrationRunnerService { - private readonly logger = new Logger(WorkspaceMigrationRunnerService.name); - constructor( private readonly workspaceDataSourceService: WorkspaceDataSourceService, private readonly workspaceMigrationService: WorkspaceMigrationService, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts deleted file mode 100644 index c912000d4..000000000 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { PartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; -import { PartialWorkspaceEntity } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; - -import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; -import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; - -export type MappedFieldMetadata = Record; - -export interface MappedWorkspaceEntity - extends Omit { - fields: MappedFieldMetadata; -} - -export type MappedFieldMetadataEntity = Record; - -export interface MappedObjectMetadataEntity - extends Omit { - fields: MappedFieldMetadataEntity; -} diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts index 219ce346a..7fff3860d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { EntityManager, @@ -27,8 +27,6 @@ import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-syn @Injectable() export class WorkspaceMetadataUpdaterService { - private readonly logger = new Logger(WorkspaceMetadataUpdaterService.name); - async updateObjectMetadata( manager: EntityManager, storage: WorkspaceSyncStorage, @@ -127,12 +125,13 @@ export class WorkspaceMetadataUpdaterService { /** * Update field metadata */ - const updatedFieldMetadataCollection = await this.updateEntities< - FieldMetadataEntity<'default'> - >(manager, FieldMetadataEntity, storage.fieldMetadataUpdateCollection, [ - 'objectMetadataId', - 'workspaceId', - ]); + const updatedFieldMetadataCollection = + await this.updateEntities( + manager, + FieldMetadataEntity, + storage.fieldMetadataUpdateCollection, + ['objectMetadataId', 'workspaceId'], + ); /** * Create field metadata diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts index 159db8ec9..d59f35c1f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { EntityManager, Repository } from 'typeorm'; @@ -17,10 +17,6 @@ import { mapObjectMetadataByUniqueIdentifier } from 'src/engine/workspace-manage @Injectable() export class WorkspaceSyncObjectMetadataIdentifiersService { - private readonly logger = new Logger( - WorkspaceSyncObjectMetadataIdentifiersService.name, - ); - constructor(private readonly standardObjectFactory: StandardObjectFactory) {} async synchronize( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts index ba14f3634..216edeebf 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Logger } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; @@ -21,10 +21,6 @@ import { CustomWorkspaceEntity } from 'src/engine/twenty-orm/custom.workspace-en @Injectable() export class WorkspaceSyncRelationMetadataService { - private readonly logger = new Logger( - WorkspaceSyncRelationMetadataService.name, - ); - constructor( private readonly standardRelationFactory: StandardRelationFactory, private readonly workspaceRelationComparator: WorkspaceRelationComparator, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts index 49bc4b176..3cbbf6b5e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts @@ -84,10 +84,6 @@ export class WorkspaceSyncStorage { return this._indexMetadataCreateCollection; } - get indexMetadataUpdateCollection() { - return this._indexMetadataUpdateCollection; - } - get indexMetadataDeleteCollection() { return this._indexMetadataDeleteCollection; } @@ -138,10 +134,6 @@ export class WorkspaceSyncStorage { this._indexMetadataCreateCollection.push(index); } - addUpdateIndexMetadata(index: Partial) { - this._indexMetadataUpdateCollection.push(index); - } - addDeleteIndexMetadata(index: IndexMetadataEntity) { this._indexMetadataDeleteCollection.push(index); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.ts index 9fb601699..c770ec965 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.ts @@ -4,6 +4,7 @@ * Each object in the map contains the original object metadata and its fields as a nested map. * * @param arr - The array of ObjectMetadataEntity objects to convert. + * @param keyFactory * @returns A map of object metadata, with nameSingular as the key and the object as the value. */ export const mapObjectMetadataByUniqueIdentifier = < diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts index 085316c9a..bd85f4c20 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts @@ -42,8 +42,8 @@ export class WorkspaceSyncMetadataService { * Sync all standard objects and fields metadata for a given workspace and data source * This will update the metadata if it has changed and generate migrations based on the diff. * - * @param dataSourceId - * @param workspaceId + * @param context + * @param options */ public async synchronize( context: WorkspaceSyncContext, diff --git a/packages/twenty-server/src/modules/blocklist/repositories/blocklist.repository.ts b/packages/twenty-server/src/modules/blocklist/repositories/blocklist.repository.ts index 755997e23..c6d6ddb21 100644 --- a/packages/twenty-server/src/modules/blocklist/repositories/blocklist.repository.ts +++ b/packages/twenty-server/src/modules/blocklist/repositories/blocklist.repository.ts @@ -49,21 +49,4 @@ export class BlocklistRepository { transactionManager, ); } - - public async getByWorkspaceMemberIdAndHandle( - workspaceMemberId: string, - handle: string, - workspaceId: string, - transactionManager?: EntityManager, - ): Promise { - const dataSourceSchema = - this.workspaceDataSourceService.getSchemaName(workspaceId); - - return await this.workspaceDataSourceService.executeRawQuery( - `SELECT * FROM ${dataSourceSchema}."blocklist" WHERE "workspaceMemberId" = $1 AND "handle" = $2`, - [workspaceMemberId, handle], - workspaceId, - transactionManager, - ); - } } diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/constants/calendar-throttle-duration.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/constants/calendar-throttle-duration.ts deleted file mode 100644 index 64028026a..000000000 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/constants/calendar-throttle-duration.ts +++ /dev/null @@ -1 +0,0 @@ -export const CALENDAR_THROTTLE_DURATION = 1000 * 60 * 1; // 1 minute diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-channel-sync-status.service.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-channel-sync-status.service.ts index 7bcc8a99d..01345eebb 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-channel-sync-status.service.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-channel-sync-status.service.ts @@ -109,18 +109,6 @@ export class CalendarChannelSyncStatusService { }); } - public async markAsCalendarEventsImportOngoing(calendarChannelId: string) { - const calendarChannelRepository = - await this.twentyORMManager.getRepository( - 'calendarChannel', - ); - - await calendarChannelRepository.update(calendarChannelId, { - syncStage: CalendarChannelSyncStage.CALENDAR_EVENTS_IMPORT_ONGOING, - syncStatus: CalendarChannelSyncStatus.ONGOING, - }); - } - public async markAsCompletedAndSchedulePartialMessageListFetch( calendarChannelId: string, ) { diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/utils/get-flattened-values-and-values-string-for-batch-raw-query.util.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/utils/get-flattened-values-and-values-string-for-batch-raw-query.util.ts index 73c7c6eb1..d1a6cb565 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/utils/get-flattened-values-and-values-string-for-batch-raw-query.util.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/utils/get-flattened-values-and-values-string-for-batch-raw-query.util.ts @@ -26,31 +26,3 @@ export const valuesStringForBatchRawQuery = ( return castedValues.join(', '); }; - -export const getFlattenedValuesAndValuesStringForBatchRawQuery = ( - values: { - [key: string]: any; - }[], - keyTypeMap: { - [key: string]: string; - }, -): { - flattenedValues: any[]; - valuesString: string; -} => { - const keysToInsert = Object.keys(keyTypeMap); - - const flattenedValues = values.flatMap((value) => - keysToInsert.map((key) => value[key]), - ); - - const valuesString = valuesStringForBatchRawQuery( - values, - Object.values(keyTypeMap), - ); - - return { - flattenedValues, - valuesString, - }; -}; diff --git a/packages/twenty-server/src/modules/connected-account/repositories/connected-account.repository.ts b/packages/twenty-server/src/modules/connected-account/repositories/connected-account.repository.ts index ae68fd68a..7be9d5d65 100644 --- a/packages/twenty-server/src/modules/connected-account/repositories/connected-account.repository.ts +++ b/packages/twenty-server/src/modules/connected-account/repositories/connected-account.repository.ts @@ -61,41 +61,6 @@ export class ConnectedAccountRepository { return connectedAccounts; } - public async getAllByUserId( - userId: string, - workspaceId: string, - transactionManager?: EntityManager, - ): Promise { - const schemaExists = - await this.workspaceDataSourceService.checkSchemaExists(workspaceId); - - if (!schemaExists) { - return; - } - - const dataSourceSchema = - this.workspaceDataSourceService.getSchemaName(workspaceId); - - const workspaceMember = ( - await this.workspaceDataSourceService.executeRawQuery( - `SELECT * FROM ${dataSourceSchema}."workspaceMember" WHERE "userId" = $1`, - [userId], - workspaceId, - transactionManager, - ) - )?.[0]; - - if (!workspaceMember) { - return; - } - - return await this.getAllByWorkspaceMemberId( - workspaceMember.id, - workspaceId, - transactionManager, - ); - } - public async getAllByHandleAndWorkspaceMemberId( handle: string, workspaceMemberId: string, @@ -204,58 +169,6 @@ export class ConnectedAccountRepository { return connectedAccount; } - public async updateLastSyncHistoryId( - historyId: string, - connectedAccountId: string, - workspaceId: string, - transactionManager?: EntityManager, - ) { - const dataSourceSchema = - this.workspaceDataSourceService.getSchemaName(workspaceId); - - await this.workspaceDataSourceService.executeRawQuery( - `UPDATE ${dataSourceSchema}."connectedAccount" SET "lastSyncHistoryId" = $1 WHERE "id" = $2`, - [historyId, connectedAccountId], - workspaceId, - transactionManager, - ); - } - - public async updateLastSyncHistoryIdIfHigher( - historyId: string, - connectedAccountId: string, - workspaceId: string, - transactionManager?: EntityManager, - ) { - const dataSourceSchema = - this.workspaceDataSourceService.getSchemaName(workspaceId); - - await this.workspaceDataSourceService.executeRawQuery( - `UPDATE ${dataSourceSchema}."connectedAccount" SET "lastSyncHistoryId" = $1 - WHERE "id" = $2 - AND ("lastSyncHistoryId" < $1 OR "lastSyncHistoryId" = '')`, - [historyId, connectedAccountId], - workspaceId, - transactionManager, - ); - } - - public async deleteHistoryId( - connectedAccountId: string, - workspaceId: string, - transactionManager?: EntityManager, - ) { - const dataSourceSchema = - this.workspaceDataSourceService.getSchemaName(workspaceId); - - await this.workspaceDataSourceService.executeRawQuery( - `UPDATE ${dataSourceSchema}."connectedAccount" SET "lastSyncHistoryId" = '' WHERE "id" = $1`, - [connectedAccountId], - workspaceId, - transactionManager, - ); - } - public async updateAccessToken( accessToken: string, connectedAccountId: string,