From 4183e5460d2d6f19f6d03dcb5ef5c73cc3a290d1 Mon Sep 17 00:00:00 2001 From: Thomas Trompette Date: Wed, 3 Jul 2024 11:14:28 +0200 Subject: [PATCH] Use return await to catch exceptions (#6109) So the exceptions are handled properly and filtered in sentry --- .../field-metadata/field-metadata.resolver.ts | 12 ++++++------ .../object-metadata.resolver.ts | 12 +++++++++--- .../relation-metadata.resolver.ts | 4 ++-- .../remote-server/remote-server.resolver.ts | 19 ++++++++++++++----- .../remote-table/remote-table.resolver.ts | 11 +++++++---- 5 files changed, 38 insertions(+), 20 deletions(-) diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts index 8e3c63208..f92b8144b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts @@ -31,12 +31,12 @@ export class FieldMetadataResolver { constructor(private readonly fieldMetadataService: FieldMetadataService) {} @Mutation(() => FieldMetadataDTO) - createOneField( + async createOneField( @Args('input') input: CreateOneFieldMetadataInput, @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.fieldMetadataService.createOne({ + return await this.fieldMetadataService.createOne({ ...input.field, workspaceId, }); @@ -46,12 +46,12 @@ export class FieldMetadataResolver { } @Mutation(() => FieldMetadataDTO) - updateOneField( + async updateOneField( @Args('input') input: UpdateOneFieldMetadataInput, @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.fieldMetadataService.updateOne(input.id, { + return await this.fieldMetadataService.updateOne(input.id, { ...input.update, workspaceId, }); @@ -95,7 +95,7 @@ export class FieldMetadataResolver { } try { - return this.fieldMetadataService.deleteOneField(input, workspaceId); + return await this.fieldMetadataService.deleteOneField(input, workspaceId); } catch (error) { fieldMetadataGraphqlApiExceptionHandler(error); } @@ -114,7 +114,7 @@ export class FieldMetadataResolver { const relationMetadataItem = await context.loaders.relationMetadataLoader.load(fieldMetadata.id); - return this.fieldMetadataService.getRelationDefinitionFromRelationMetadata( + return await this.fieldMetadataService.getRelationDefinitionFromRelationMetadata( fieldMetadata, relationMetadataItem, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts index 710e74d9d..9ae44b1fe 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts @@ -23,12 +23,15 @@ export class ObjectMetadataResolver { ) {} @Mutation(() => ObjectMetadataDTO) - deleteOneObject( + async deleteOneObject( @Args('input') input: DeleteOneObjectInput, @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.objectMetadataService.deleteOneObject(input, workspaceId); + return await this.objectMetadataService.deleteOneObject( + input, + workspaceId, + ); } catch (error) { objectMetadataGraphqlApiExceptionHandler(error); } @@ -42,7 +45,10 @@ export class ObjectMetadataResolver { try { await this.beforeUpdateOneObject.run(input, workspaceId); - return this.objectMetadataService.updateOneObject(input, workspaceId); + return await this.objectMetadataService.updateOneObject( + input, + workspaceId, + ); } catch (error) { objectMetadataGraphqlApiExceptionHandler(error); } diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.resolver.ts index 9fcd2b80b..332f783e4 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.resolver.ts @@ -17,12 +17,12 @@ export class RelationMetadataResolver { ) {} @Mutation(() => RelationMetadataDTO) - deleteOneRelation( + async deleteOneRelation( @Args('input') input: DeleteOneRelationInput, @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.relationMetadataService.deleteOneRelation( + return await this.relationMetadataService.deleteOneRelation( input.id, workspaceId, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.resolver.ts index e5f72621a..262326669 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.resolver.ts @@ -26,7 +26,10 @@ export class RemoteServerResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteServerService.createOneRemoteServer(input, workspaceId); + return await this.remoteServerService.createOneRemoteServer( + input, + workspaceId, + ); } catch (error) { remoteServerGraphqlApiExceptionHandler(error); } @@ -38,7 +41,10 @@ export class RemoteServerResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteServerService.updateOneRemoteServer(input, workspaceId); + return await this.remoteServerService.updateOneRemoteServer( + input, + workspaceId, + ); } catch (error) { remoteServerGraphqlApiExceptionHandler(error); } @@ -50,7 +56,10 @@ export class RemoteServerResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteServerService.deleteOneRemoteServer(id, workspaceId); + return await this.remoteServerService.deleteOneRemoteServer( + id, + workspaceId, + ); } catch (error) { remoteServerGraphqlApiExceptionHandler(error); } @@ -62,7 +71,7 @@ export class RemoteServerResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteServerService.findOneByIdWithinWorkspace( + return await this.remoteServerService.findOneByIdWithinWorkspace( id, workspaceId, ); @@ -78,7 +87,7 @@ export class RemoteServerResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteServerService.findManyByTypeWithinWorkspace( + return await this.remoteServerService.findManyByTypeWithinWorkspace( foreignDataWrapperType, workspaceId, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.resolver.ts index 745df5eab..7698f25d0 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table.resolver.ts @@ -21,7 +21,7 @@ export class RemoteTableResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteTableService.findDistantTablesWithStatus( + return await this.remoteTableService.findDistantTablesWithStatus( input.id, workspaceId, input.shouldFetchPendingSchemaUpdates, @@ -37,7 +37,7 @@ export class RemoteTableResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteTableService.syncRemoteTable(input, workspaceId); + return await this.remoteTableService.syncRemoteTable(input, workspaceId); } catch (error) { remoteTableGraphqlApiExceptionHandler(error); } @@ -49,7 +49,10 @@ export class RemoteTableResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteTableService.unsyncRemoteTable(input, workspaceId); + return await this.remoteTableService.unsyncRemoteTable( + input, + workspaceId, + ); } catch (error) { remoteTableGraphqlApiExceptionHandler(error); } @@ -61,7 +64,7 @@ export class RemoteTableResolver { @AuthWorkspace() { id: workspaceId }: Workspace, ) { try { - return this.remoteTableService.syncRemoteTableSchemaChanges( + return await this.remoteTableService.syncRemoteTableSchemaChanges( input, workspaceId, );