From 22047fa2bfcbadfdf477735bd4f64f33c9876a1a Mon Sep 17 00:00:00 2001 From: Weiko Date: Wed, 10 Jan 2024 17:02:54 +0100 Subject: [PATCH] Fix metadata exception handler #2 (#3357) --- .../filters/utils/global-exception-handler.util.ts | 10 +++------- .../exception-handler/drivers/sentry.driver.ts | 2 +- .../exception-handler.module-factory.ts | 2 +- .../interfaces/exception-handler.interface.ts | 2 +- .../field-metadata/field-metadata.resolver.ts | 12 ++++-------- .../field-metadata/field-metadata.service.ts | 2 +- .../src/metadata/metadata.module-factory.ts | 4 ++-- .../twenty-server/src/metadata/metadata.module.ts | 3 ++- .../object-metadata/object-metadata.service.ts | 4 ++-- 9 files changed, 17 insertions(+), 24 deletions(-) diff --git a/packages/twenty-server/src/filters/utils/global-exception-handler.util.ts b/packages/twenty-server/src/filters/utils/global-exception-handler.util.ts index d5f733b5e..ccab30479 100644 --- a/packages/twenty-server/src/filters/utils/global-exception-handler.util.ts +++ b/packages/twenty-server/src/filters/utils/global-exception-handler.util.ts @@ -1,7 +1,5 @@ import { HttpException } from '@nestjs/common'; -import { TypeORMError } from 'typeorm'; - import { AuthenticationError, BaseGraphQLError, @@ -29,12 +27,10 @@ export const handleException = ( exception: Error, exceptionHandlerService: ExceptionHandlerService, ): void => { - if ( - exception instanceof TypeORMError || - (exception instanceof HttpException && exception.getStatus() >= 500) - ) { - exceptionHandlerService.captureException(exception); + if (exception instanceof HttpException && exception.getStatus() < 500) { + return; } + exceptionHandlerService.captureException(exception); }; export const convertExceptionToGraphQLError = ( diff --git a/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts b/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts index 71d1bdaa8..b274910e8 100644 --- a/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts +++ b/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts @@ -11,7 +11,7 @@ export class ExceptionHandlerSentryDriver { constructor(options: ExceptionHandlerSentryDriverFactoryOptions['options']) { Sentry.init({ - dsn: options.dns, + dsn: options.dsn, integrations: [ // enable HTTP calls tracing new Sentry.Integrations.Http({ tracing: true }), diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts b/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts index 157e5094e..c8d601d22 100644 --- a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts +++ b/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts @@ -25,7 +25,7 @@ export const exceptionHandlerModuleFactory = async ( return { type: ExceptionHandlerDriver.Sentry, options: { - dns: environmentService.getSentryDSN() ?? '', + dsn: environmentService.getSentryDSN() ?? '', serverInstance: adapterHost.httpAdapter?.getInstance(), debug: environmentService.isDebugMode(), }, diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts b/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts index 62bfdb1fc..9a38b1d67 100644 --- a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts +++ b/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts @@ -8,7 +8,7 @@ export enum ExceptionHandlerDriver { export interface ExceptionHandlerSentryDriverFactoryOptions { type: ExceptionHandlerDriver.Sentry; options: { - dns: string; + dsn: string; serverInstance?: Router; debug?: boolean; }; diff --git a/packages/twenty-server/src/metadata/field-metadata/field-metadata.resolver.ts b/packages/twenty-server/src/metadata/field-metadata/field-metadata.resolver.ts index a8b8f5342..3b712968e 100644 --- a/packages/twenty-server/src/metadata/field-metadata/field-metadata.resolver.ts +++ b/packages/twenty-server/src/metadata/field-metadata/field-metadata.resolver.ts @@ -19,14 +19,10 @@ export class FieldMetadataResolver { @Args('input') input: CreateOneFieldMetadataInput, @AuthWorkspace() { id: workspaceId }: Workspace, ) { - try { - return this.fieldMetadataService.createOne({ - ...input.field, - workspaceId, - }); - } catch (error) { - console.log(error); - } + return this.fieldMetadataService.createOne({ + ...input.field, + workspaceId, + }); } @Mutation(() => FieldMetadataDTO) diff --git a/packages/twenty-server/src/metadata/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/metadata/field-metadata/field-metadata.service.ts index 659c751f5..ecf89cdb0 100644 --- a/packages/twenty-server/src/metadata/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/metadata/field-metadata/field-metadata.service.ts @@ -56,7 +56,7 @@ export class FieldMetadataService extends TypeOrmQueryService({ driver: YogaDriver, - imports: [], + inject: [ExceptionHandlerService], useFactory: metadataModuleFactory, }), DataSourceModule, diff --git a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts index 21c3c366e..fe90be30c 100644 --- a/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/metadata/object-metadata/object-metadata.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { BadRequestException, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { FindManyOptions, FindOneOptions, Repository } from 'typeorm'; @@ -59,7 +59,7 @@ export class ObjectMetadataService extends TypeOrmQueryService