@accounts/module-core
Version:
Server side GraphQL transport for accounts
21 lines (20 loc) • 1.12 kB
TypeScript
/// <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_>;