UNPKG

shyft

Version:

Model driven GraphQL API framework

31 lines (30 loc) 2.14 kB
import { GraphQLResolveInfo } from 'graphql'; import { ViewEntity } from '..'; import { Context } from '../engine/context/Context'; import { Entity } from '../engine/entity/Entity'; import { ShadowEntity } from '../engine/entity/ShadowEntity'; import { Mutation } from '../engine/mutation/Mutation'; import { Subscription } from '../engine/subscription/Subscription'; declare type GraphQLFieldResolveFn = (source?: any, args?: { [key: string]: unknown; }, context?: Context, info?: GraphQLResolveInfo) => any; export declare const resolveByFind: (entity: Entity | ViewEntity, parentConnectionCollector?: any) => GraphQLFieldResolveFn; export declare const resolveByFindOne: (entity: Entity | ViewEntity | ShadowEntity, idCollector: any) => GraphQLFieldResolveFn; export declare const getNestedPayloadResolver: (entity: any, attributeNames: any, storageType: any, path?: any[]) => (source: any, args: any, context: any, info: any) => Promise<{}>; export declare type GetMutationResolverParams = (params: { entity: Entity; entityMutation: Mutation; typeName: string; nested: boolean; idResolver: ({ args }: { args: any; }) => number | string; }) => (source: any, args: any, context: Context, info: GraphQLResolveInfo) => Promise<Record<string, unknown>>; export declare const getMutationResolver: GetMutationResolverParams; export declare const handleSubscriptionPermission: (context: any, entity: Entity, entitySubscription: Subscription, input: any) => Promise<import("../engine/permission/Permission").ActionPermissionFilter>; export declare const setTopicEnd: (entitySubscription: Subscription) => string; export declare const getSubscriptionResolver: (entity: Entity, entitySubscription: Subscription, typeName: string, nested: boolean, idResolver: ({ args }: { args: any; }) => number | string) => (source: any, args: any, context: any, info: any) => Promise<AsyncIterator<unknown, any, undefined>>; export declare const getSubscriptionPayloadResolver: (entity: Entity, entitySubscription: Subscription, typeName: any) => (source: any, args: any, context: any, info: any) => Promise<{}>; export {};