feat: schema-builder and resolver-builder can handle relations (#2398)
* feat: wip add relation * feat: add relation for custom and standards objects * fix: use enum instead of magic string * fix: remove dead code & fix tests * fix: typo * fix: BooleanFilter is missing * fix: Malformed result error
This commit is contained in:
@ -0,0 +1,55 @@
|
||||
import { GraphQLFieldResolver } from 'graphql';
|
||||
|
||||
import { resolverBuilderMethodNames } from 'src/tenant/resolver-builder/factories/factories';
|
||||
|
||||
import { Record, RecordFilter, RecordOrderBy } from './record.interface';
|
||||
|
||||
export type Resolver<Args = any> = GraphQLFieldResolver<any, any, Args>;
|
||||
|
||||
export interface FindManyResolverArgs<
|
||||
Filter extends RecordFilter = RecordFilter,
|
||||
OrderBy extends RecordOrderBy = RecordOrderBy,
|
||||
> {
|
||||
first?: number;
|
||||
last?: number;
|
||||
before?: string;
|
||||
after?: string;
|
||||
filter?: Filter;
|
||||
orderBy?: OrderBy;
|
||||
}
|
||||
|
||||
export interface FindOneResolverArgs<Filter = any> {
|
||||
filter?: Filter;
|
||||
}
|
||||
|
||||
export interface CreateOneResolverArgs<Data extends Record = Record> {
|
||||
data: Data;
|
||||
}
|
||||
|
||||
export interface CreateManyResolverArgs<Data extends Record = Record> {
|
||||
data: Data[];
|
||||
}
|
||||
|
||||
export interface UpdateOneResolverArgs<Data extends Record = Record> {
|
||||
id: string;
|
||||
data: Data;
|
||||
}
|
||||
|
||||
export interface DeleteOneResolverArgs {
|
||||
id: string;
|
||||
}
|
||||
|
||||
export type ResolverBuilderQueryMethodNames =
|
||||
(typeof resolverBuilderMethodNames.queries)[number];
|
||||
|
||||
export type ResolverBuilderMutationMethodNames =
|
||||
(typeof resolverBuilderMethodNames.mutations)[number];
|
||||
|
||||
export type ResolverBuilderMethodNames =
|
||||
| ResolverBuilderQueryMethodNames
|
||||
| ResolverBuilderMutationMethodNames;
|
||||
|
||||
export interface ResolverBuilderMethods {
|
||||
readonly queries: readonly ResolverBuilderQueryMethodNames[];
|
||||
readonly mutations: readonly ResolverBuilderMutationMethodNames[];
|
||||
}
|
||||
Reference in New Issue
Block a user