@pothos/plugin-scope-auth
Version:
A Pothos plugin for adding scope based authorization checks to your GraphQL Schema
37 lines (36 loc) • 2.45 kB
TypeScript
import type { Path, PothosFieldConfig, SchemaTypes } from '@pothos/core';
import type { AuthScopeMap } from './index.js';
export declare function canCache<Types extends SchemaTypes>(map: AuthScopeMap<Types>): boolean;
export declare function cacheKey(path: Path | undefined): string;
export declare function isObjectOrInterface(fieldConfig: PothosFieldConfig<never>): fieldConfig is {
description?: import("graphql/jsutils/Maybe.js").Maybe<string>;
resolve?: import("graphql").GraphQLFieldResolver<unknown, object, any, unknown> | undefined;
subscribe?: import("graphql").GraphQLFieldResolver<unknown, object, any, unknown> | undefined;
deprecationReason?: import("graphql/jsutils/Maybe.js").Maybe<string>;
extensions?: import("graphql/jsutils/Maybe.js").Maybe<Readonly<import("graphql").GraphQLFieldExtensions<unknown, object, any>>>;
astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").FieldDefinitionNode>;
kind: "Object";
graphqlKind: "Object";
parentType: string;
name: string;
type: import("@pothos/core").PothosOutputFieldType<never>;
args: Record<string, import("@pothos/core").PothosInputFieldConfig<never>>;
argMappers: ((args: Record<string, unknown>, context: never, info: import("@pothos/core").PartialResolveInfo) => import("@pothos/core").MaybePromise<Record<string, unknown>>)[];
pothosOptions: never;
} | {
description?: import("graphql/jsutils/Maybe.js").Maybe<string>;
resolve?: import("graphql").GraphQLFieldResolver<unknown, object, any, unknown> | undefined;
subscribe?: import("graphql").GraphQLFieldResolver<unknown, object, any, unknown> | undefined;
deprecationReason?: import("graphql/jsutils/Maybe.js").Maybe<string>;
extensions?: import("graphql/jsutils/Maybe.js").Maybe<Readonly<import("graphql").GraphQLFieldExtensions<unknown, object, any>>>;
astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").FieldDefinitionNode>;
kind: "Interface";
graphqlKind: "Interface";
parentType: string;
name: string;
type: import("@pothos/core").PothosOutputFieldType<never>;
args: Record<string, import("@pothos/core").PothosInputFieldConfig<never>>;
argMappers: ((args: Record<string, unknown>, context: never, info: import("@pothos/core").PartialResolveInfo) => import("@pothos/core").MaybePromise<Record<string, unknown>>)[];
pothosOptions: never;
};
//# sourceMappingURL=util.d.ts.map