UNPKG

@accounts/module-core

Version:

Server side GraphQL transport for accounts

21 lines (20 loc) 1.12 kB
/// <reference types="node" /> import { type IncomingMessage } from 'http'; import { type IContext, type User } from '@accounts/types'; import { type Application } from 'graphql-modules'; import { type Request as RequestGraphqlHttp } from 'graphql-http'; import { type RequestContext } from 'graphql-http/lib/use/http'; import type http from 'http'; export type AccountsContextOptions<Ctx extends object> = { createOperationController: Application['createOperationController']; ctx?: Ctx; headerName?: string; excludeAddUserInContext?: boolean; }; export declare const context: <IUserOrContext extends object = User, Ctx extends object = object, _User_ extends User = IUserOrContext extends User ? IUserOrContext : User, _Context_ extends object = IUserOrContext extends User ? IContext<IUserOrContext> : IUserOrContext>({ req, request, }: { req: IncomingMessage; request?: undefined; } | { req?: undefined; request: Request | RequestGraphqlHttp<http.IncomingMessage, RequestContext>; }, { createOperationController, ctx, ...options }: AccountsContextOptions<Ctx>) => Promise<_Context_>;