@pothos/plugin-scope-auth
Version:
A Pothos plugin for adding scope based authorization checks to your GraphQL Schema
27 lines (26 loc) • 2.52 kB
TypeScript
import './global-types.js';
import './schema-builder.js';
import './field-builders.js';
import { BasePlugin, type PothosInterfaceTypeConfig, type PothosMutationTypeConfig, type PothosObjectTypeConfig, type PothosOutputFieldConfig, type PothosQueryTypeConfig, type PothosSubscriptionTypeConfig, type SchemaTypes } from '@pothos/core';
import type { GraphQLFieldResolver, GraphQLIsTypeOfFn, GraphQLTypeResolver } from 'graphql';
import RequestCache from './request-cache.js';
import type { ResolveStep } from './types.js';
export { RequestCache };
export * from './errors.js';
export * from './types.js';
declare const pluginName = "scopeAuth";
export default pluginName;
export declare class PothosScopeAuthPlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
wrapResolve(resolver: GraphQLFieldResolver<unknown, Types["Context"], object>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types["Context"], object>;
wrapSubscribe(subscriber: GraphQLFieldResolver<unknown, Types["Context"], object>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types["Context"], object>;
wrapResolveType(resolveType: GraphQLTypeResolver<unknown, Types["Context"]>): GraphQLTypeResolver<unknown, Types["Context"]>;
wrapIsTypeOf(isTypeOf: GraphQLIsTypeOfFn<unknown, Types["Context"]> | undefined, typeConfig: PothosObjectTypeConfig): GraphQLIsTypeOfFn<unknown, Types["Context"]> | undefined;
createStepsForType(typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, { skipTypeScopes, skipInterfaceScopes, forField, }: {
skipTypeScopes?: boolean;
skipInterfaceScopes?: boolean;
forField: boolean;
}): ResolveStep<Types>[];
createResolveSteps(fieldConfig: PothosOutputFieldConfig<Types>, typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, resolver: GraphQLFieldResolver<unknown, Types["Context"], object>, shouldRunTypeScopes: boolean, authorizedOnSubscribe: boolean): ResolveStep<Types>[];
createSubscribeSteps(fieldConfig: PothosOutputFieldConfig<Types>, typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, subscriber: GraphQLFieldResolver<unknown, Types["Context"], object>): ResolveStep<Types>[];
}
//# sourceMappingURL=index.d.ts.map