@pothos/plugin-scope-auth
Version:
A Pothos plugin for adding scope based authorization checks to your GraphQL Schema
26 lines • 2.5 kB
TypeScript
import './global-types';
import './schema-builder';
import './field-builders';
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';
import type { ResolveStep } from './types';
export { RequestCache };
export * from './errors';
export * from './types';
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