1 | import { ResolverFn } from "graphql-subscriptions";
|
2 | import { TypeValueThunk, TypeOptions, ClassTypeResolver, SubscriptionFilterFunc, SubscriptionTopicFunc } from "../../decorators/types";
|
3 | import { ParamMetadata } from "./param-metadata";
|
4 | import { Middleware } from "../../interfaces/Middleware";
|
5 | import { Complexity } from "../../interfaces";
|
6 | export interface BaseResolverMetadata {
|
7 | methodName: string;
|
8 | schemaName: string;
|
9 | target: Function;
|
10 | complexity: Complexity | undefined;
|
11 | resolverClassMetadata?: ResolverClassMetadata;
|
12 | params?: ParamMetadata[];
|
13 | roles?: any[];
|
14 | middlewares?: Array<Middleware<any>>;
|
15 | }
|
16 | export interface ResolverMetadata extends BaseResolverMetadata {
|
17 | getReturnType: TypeValueThunk;
|
18 | returnTypeOptions: TypeOptions;
|
19 | description?: string;
|
20 | deprecationReason?: string;
|
21 | }
|
22 | export interface FieldResolverMetadata extends BaseResolverMetadata {
|
23 | kind: "internal" | "external";
|
24 | description?: string;
|
25 | deprecationReason?: string;
|
26 | getType?: TypeValueThunk;
|
27 | typeOptions?: TypeOptions;
|
28 | getObjectType?: ClassTypeResolver;
|
29 | }
|
30 | export interface SubscriptionResolverMetadata extends ResolverMetadata {
|
31 | topics: string | string[] | SubscriptionTopicFunc | undefined;
|
32 | filter: SubscriptionFilterFunc | undefined;
|
33 | subscribe: ResolverFn | undefined;
|
34 | }
|
35 | export interface ResolverClassMetadata {
|
36 | target: Function;
|
37 | getObjectType: ClassTypeResolver;
|
38 | isAbstract?: boolean;
|
39 | superResolver?: ResolverClassMetadata;
|
40 | }
|