[Flexible-schema] Refactor gql query runner to emit api event before processing to gql types (#8596)

Fixes https://github.com/twentyhq/twenty/issues/8300

## Context
API events were created too late and were already formatted as Gql
responses (including nesting with edges/node/type + formatting that
should not exist in an event payload). This PR moves the emit logic to
the resolver where we actually do the DB query
Note: Also added RESTORED events
This commit is contained in:
Weiko
2024-11-21 18:11:28 +01:00
committed by GitHub
parent 8f5515cab3
commit 1c04b2b0b7
46 changed files with 1251 additions and 1049 deletions

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryCreateManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-create-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class CreateManyResolverFactory
public static methodName = 'createMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryCreateManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class CreateManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.createMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
CreateManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, context);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryCreateOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-create-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class CreateOneResolverFactory
public static methodName = 'createOne' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryCreateOneResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class CreateOneResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.createOne(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
CreateOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryDeleteManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-delete-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class DeleteManyResolverFactory
public static methodName = 'deleteMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryDeleteManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class DeleteManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.deleteMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
DeleteManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryDeleteOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-delete-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class DeleteOneResolverFactory
public static methodName = 'deleteOne' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryDeleteOneResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class DeleteOneResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.deleteOne(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
DeleteOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryDestroyManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-destroy-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class DestroyManyResolverFactory
public static methodName = 'destroyMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryDestroyManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class DestroyManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.destroyMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
DestroyManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryDestroyOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-destroy-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class DestroyOneResolverFactory
public static methodName = 'destroyOne' as const;
constructor(
private readonly graphQLQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphQLQueryRunnerService: GraphqlQueryDestroyOneResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class DestroyOneResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphQLQueryRunnerService.destroyOne(args, options);
return await this.graphQLQueryRunnerService.execute(
args,
options,
DestroyOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -1,6 +1,7 @@
import { DestroyManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/destroy-many-resolver.factory';
import { DestroyOneResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/destroy-one-resolver.factory';
import { RestoreManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/restore-many-resolver.factory';
import { RestoreOneResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/restore-one-resolver.factory';
import { SearchResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/search-resolver-factory';
import { UpdateManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory';
@ -25,6 +26,7 @@ export const workspaceResolverBuilderFactories = [
DeleteManyResolverFactory,
DestroyOneResolverFactory,
DestroyManyResolverFactory,
RestoreOneResolverFactory,
RestoreManyResolverFactory,
SearchResolverFactory,
];
@ -45,6 +47,7 @@ export const workspaceResolverBuilderMethodNames = {
DeleteManyResolverFactory.methodName,
DestroyOneResolverFactory.methodName,
DestroyManyResolverFactory.methodName,
RestoreOneResolverFactory.methodName,
RestoreManyResolverFactory.methodName,
],
} as const;

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryFindDuplicatesResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-duplicates-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class FindDuplicatesResolverFactory
public static methodName = 'findDuplicates' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryFindDuplicatesResolverService,
) {}
create(
@ -36,9 +36,10 @@ export class FindDuplicatesResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.findDuplicates(
return await this.graphqlQueryRunnerService.execute(
args,
options,
FindDuplicatesResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryFindManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class FindManyResolverFactory
public static methodName = 'findMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryFindManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class FindManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.findMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
FindManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryFindOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class FindOneResolverFactory
public static methodName = 'findOne' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryFindOneResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class FindOneResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.findOne(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
FindOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryRestoreManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-restore-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class RestoreManyResolverFactory
public static methodName = 'restoreMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryRestoreManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class RestoreManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.restoreMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
RestoreManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -0,0 +1,49 @@
import { Injectable } from '@nestjs/common';
import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface';
import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface';
import {
Resolver,
RestoreOneResolverArgs,
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRestoreOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-restore-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
export class RestoreOneResolverFactory
implements WorkspaceResolverBuilderFactoryInterface
{
public static methodName = 'restoreOne' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRestoreOneResolverService,
) {}
create(
context: WorkspaceSchemaBuilderContext,
): Resolver<RestoreOneResolverArgs> {
const internalContext = context;
return async (_source, args, context, info) => {
try {
const options: WorkspaceQueryRunnerOptions = {
authContext: internalContext.authContext,
info,
objectMetadataMaps: internalContext.objectMetadataMaps,
objectMetadataItemWithFieldMaps:
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.execute(
args,
options,
RestoreOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}
};
}
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQuerySearchResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-search-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class SearchResolverFactory
public static methodName = 'search' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQuerySearchResolverService,
) {}
create(context: WorkspaceSchemaBuilderContext): Resolver<SearchResolverArgs> {
@ -34,7 +34,11 @@ export class SearchResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.search(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
SearchResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryUpdateManyResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-update-many-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class UpdateManyResolverFactory
public static methodName = 'updateMany' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryUpdateManyResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class UpdateManyResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.updateMany(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
UpdateManyResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -8,7 +8,7 @@ import {
} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface';
import { GraphqlQueryRunnerService } from 'src/engine/api/graphql/graphql-query-runner/graphql-query-runner.service';
import { GraphqlQueryUpdateOneResolverService } from 'src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-update-one-resolver.service';
import { workspaceQueryRunnerGraphqlApiExceptionHandler } from 'src/engine/api/graphql/workspace-query-runner/utils/workspace-query-runner-graphql-api-exception-handler.util';
@Injectable()
@ -18,7 +18,7 @@ export class UpdateOneResolverFactory
public static methodName = 'updateOne' as const;
constructor(
private readonly graphqlQueryRunnerService: GraphqlQueryRunnerService,
private readonly graphqlQueryRunnerService: GraphqlQueryUpdateOneResolverService,
) {}
create(
@ -36,7 +36,11 @@ export class UpdateOneResolverFactory
internalContext.objectMetadataItemWithFieldMaps,
};
return await this.graphqlQueryRunnerService.updateOne(args, options);
return await this.graphqlQueryRunnerService.execute(
args,
options,
UpdateOneResolverFactory.methodName,
);
} catch (error) {
workspaceQueryRunnerGraphqlApiExceptionHandler(error, internalContext);
}

View File

@ -37,7 +37,7 @@ export interface FindManyResolverArgs<
orderBy?: OrderBy;
}
export interface FindOneResolverArgs<Filter = any> {
export interface FindOneResolverArgs<Filter = ObjectRecordFilter> {
filter?: Filter;
}
@ -93,6 +93,10 @@ export interface DeleteManyResolverArgs<Filter = any> {
filter: Filter;
}
export interface RestoreOneResolverArgs {
id: string;
}
export interface RestoreManyResolverArgs<Filter = any> {
filter: Filter;
}
@ -125,11 +129,12 @@ export type ResolverArgs =
| CreateOneResolverArgs
| DeleteManyResolverArgs
| DeleteOneResolverArgs
| DestroyManyResolverArgs
| FindDuplicatesResolverArgs
| FindManyResolverArgs
| FindOneResolverArgs
| FindDuplicatesResolverArgs
| UpdateManyResolverArgs
| UpdateOneResolverArgs
| DestroyManyResolverArgs
| RestoreManyResolverArgs
| SearchResolverArgs;
| RestoreOneResolverArgs
| SearchResolverArgs
| UpdateManyResolverArgs
| UpdateOneResolverArgs;

View File

@ -6,6 +6,7 @@ import { DeleteManyResolverFactory } from 'src/engine/api/graphql/workspace-reso
import { DestroyManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/destroy-many-resolver.factory';
import { DestroyOneResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/destroy-one-resolver.factory';
import { RestoreManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/restore-many-resolver.factory';
import { RestoreOneResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/restore-one-resolver.factory';
import { SearchResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/search-resolver-factory';
import { UpdateManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory';
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
@ -40,6 +41,7 @@ export class WorkspaceResolverFactory {
private readonly destroyOneResolverFactory: DestroyOneResolverFactory,
private readonly updateManyResolverFactory: UpdateManyResolverFactory,
private readonly deleteManyResolverFactory: DeleteManyResolverFactory,
private readonly restoreOneResolverFactory: RestoreOneResolverFactory,
private readonly restoreManyResolverFactory: RestoreManyResolverFactory,
private readonly destroyManyResolverFactory: DestroyManyResolverFactory,
private readonly searchResolverFactory: SearchResolverFactory,
@ -54,19 +56,20 @@ export class WorkspaceResolverFactory {
WorkspaceResolverBuilderMethodNames,
WorkspaceResolverBuilderFactoryInterface
>([
['findMany', this.findManyResolverFactory],
['findOne', this.findOneResolverFactory],
['findDuplicates', this.findDuplicatesResolverFactory],
['createMany', this.createManyResolverFactory],
['createOne', this.createOneResolverFactory],
['updateOne', this.updateOneResolverFactory],
['deleteOne', this.deleteOneResolverFactory],
['destroyOne', this.destroyOneResolverFactory],
['updateMany', this.updateManyResolverFactory],
['deleteMany', this.deleteManyResolverFactory],
['restoreMany', this.restoreManyResolverFactory],
['deleteOne', this.deleteOneResolverFactory],
['destroyMany', this.destroyManyResolverFactory],
['destroyOne', this.destroyOneResolverFactory],
['findDuplicates', this.findDuplicatesResolverFactory],
['findMany', this.findManyResolverFactory],
['findOne', this.findOneResolverFactory],
['restoreMany', this.restoreManyResolverFactory],
['restoreOne', this.restoreOneResolverFactory],
['search', this.searchResolverFactory],
['updateMany', this.updateManyResolverFactory],
['updateOne', this.updateOneResolverFactory],
]);
const resolvers: IResolvers = {
Query: {},