import { GraphQLObjectType, GraphQLInputObjectType, GraphQLFieldConfigMap, GraphQLFieldConfigArgumentMap, GraphQLFieldResolver, GraphQLObjectTypeConfig, GraphQLInputObjectTypeConfig, GraphQLResolveInfo, GraphQLEnumType, GraphQLEnumTypeConfig } from "graphql"; import { BaseConfig, BaseAdapterInterface, MaybePromise } from "./BaseAdapterType"; export * from "./BaseAdapterType"; /** * 类型容器 * @type {Map | GraphQLInputObjectType>} */ export declare const typeMap: Map>; declare type WithNameType = GraphQLObjectType | GraphQLInputObjectType | GraphQLEnumType; /** * * @param config * @returns {GraphQLObjectType | GraphQLInputObjectType | GraphQLEnumType} * @param type */ export declare function getCacheGraphqlType | GraphQLInputObjectTypeConfig | GraphQLEnumTypeConfig>(config: TType, type?: any): WithNameType; export declare abstract class BaseAdapter, TArgs, TConfig extends BaseConfig> implements BaseAdapterInterface { config: TConfig; abstract createFields?: GraphQLFieldConfigArgumentMap; abstract associationsFields?: GraphQLFieldConfigMap; abstract associationsUpdateFields?: GraphQLFieldConfigArgumentMap; abstract associationsCreateFields?: GraphQLFieldConfigArgumentMap; abstract modelFields?: GraphQLFieldConfigMap; abstract customFields?: GraphQLFieldConfigMap; abstract updateFields?: GraphQLFieldConfigArgumentMap; abstract inputArgs: GraphQLFieldConfigArgumentMap; abstract inputListArgs: GraphQLFieldConfigArgumentMap; abstract subscriptionFilterArgs: GraphQLFieldConfigArgumentMap; abstract aggregateArgs: GraphQLFieldConfigArgumentMap; primaryKey: GraphQLFieldConfigArgumentMap; primaryKeyName?: string; description?: string; protected constructor(config: TConfig); private _applyMiddleware; /** * 模型类型 * @returns {GraphQLObjectType} */ get modelType(): GraphQLObjectType; /** * 模型字段枚举 * @returns {GraphQLObjectType} */ get fieldEnumType(): GraphQLEnumType; /** * 排序类型 * @returns {GraphQLInputObjectType} */ get orderType(): GraphQLInputObjectType; /** * 分页数据类型 * @returns {GraphQLObjectType} */ get pageType(): GraphQLObjectType; /** * 更新参数类型 * @returns {GraphQLInputObjectType} */ get updateType(): GraphQLInputObjectType; /** * 创建参数类型 * @returns {GraphQLInputObjectType} */ get createType(): GraphQLInputObjectType; get name(): string; private _getFieldConfig; /** * 查询单个数据 * @returns {GraphQLFieldConfig & Pick & BaseHook, TSource, TArgs, TContext> & {name?: string}, keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string} extends ("after" | "resolve" | "before") ? never : keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string}> & {resolve: (source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo) => any}} */ get getOne(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; /** * 获取列表数据 * @returns {GraphQLFieldConfig & Pick & BaseHook, TSource, TArgs, TContext> & {name?: string}, keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string} extends ("after" | "resolve" | "before") ? never : keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string}> & {resolve: (source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo) => any}} */ get getList(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; /** * 获取聚合数据 * @returns {GraphQLFieldConfig & Pick & BaseHook, TSource, TArgs, TContext> & {name?: string}, keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string} extends ("after" | "resolve" | "before") ? never : keyof GraphQLFieldConfigOptions & BaseHook, TSource, TArgs, TContext> & {name?: string}> & {resolve: (source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo) => any}} */ get getAggregate(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; /** * 新建mutation * @returns {GraphQLFieldConfig & Pick & BaseHook & {name?: string}, keyof GraphQLFieldConfig & BaseHook & {name?: string} extends "after" | "resolve" | "before" ? never : keyof GraphQLFieldConfig & BaseHook & {name?: string}> & {resolve: GraphQLFieldResolver}} */ get create(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; /** * 更新mutation * @returns {GraphQLFieldConfig & Pick & BaseHook & {name?: string}, keyof GraphQLFieldConfig & BaseHook & {name?: string} extends "after" | "resolve" | "before" ? never : keyof GraphQLFieldConfig & BaseHook & {name?: string}> & {resolve: GraphQLFieldResolver}} */ get update(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; /** * 删除mutation * @returns {GraphQLFieldConfig & Pick & BaseHook & {name?: string}, keyof GraphQLFieldConfig & BaseHook & {name?: string} extends "after" | "resolve" | "before" ? never : keyof GraphQLFieldConfig & BaseHook & {name?: string}> & {resolve: GraphQLFieldResolver}} */ get remove(): { resolve: GraphQLFieldResolver; description?: string; type: import("graphql").GraphQLOutputType; args?: GraphQLFieldConfigArgumentMap; subscribe?: GraphQLFieldResolver | GraphQLFieldResolver; deprecationReason?: string; extensions?: Readonly>; astNode?: import("graphql").FieldDefinitionNode; name?: string; }; get upperName(): string; get nameQueryOne(): string; get nameQueryList(): string; get nameQueryAggregate(): string; /** * 所有query的字段 * @returns {{} | {[p: string]: {resolve(): {}, description: string, type: GraphQLObjectType}}} */ get queryFields(): GraphQLFieldConfigMap; get nameMutationCreate(): string; get nameMutationRemove(): string; get nameMutationUpdate(): string; /** * 所有mutation的字段 * @returns {{} | {[p: string]: {resolve(): {}, description: string, type: GraphQLObjectType}}} */ get mutationFields(): GraphQLFieldConfigMap; get eventName(): string; /** * 创建的事件 * @returns {string} */ get createdEvent(): string; /** * 删除的事件 * @returns {string} */ get removedEvent(): string; /** * 更新的事件 * @returns {string} */ get updatedEvent(): string; /** * 所有监听的字段 * @returns {{} | {[p: string]: {args: {[p: string]: GraphQLArgumentConfig, triggerType: {description: string, type: GraphQLNonNull}}, subscribe: (rootValue?: any, args?: any, context?: any, info?: any) => AsyncIterator, description: string, type: GraphQLObjectType}}} */ get subscriptionFields(): GraphQLFieldConfigMap; /** * 实现查询单个的方法 * @param source * @param args * @param context * @param info */ abstract getOneResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; /** * 实现聚合函数的方法 * @param source * @param args * @param context * @param info */ abstract getAggregateResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; /** * 实现获取列表的方法 * @param source * @param args * @param context * @param info */ abstract getListResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; /** * 实现删除的方法 * @param source * @param args * @param context * @param info */ abstract removeResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; /** * 实现新建的方法 * @param source * @param args * @param context * @param info */ abstract createResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; /** * 实现更新的方法 * @param source * @param args * @param context * @param info */ abstract updateResolve(source: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo): MaybePromise; }