forked from cerc-io/ipld-eth-server
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { RequestHandler } from 'express';
|
|
import { Server } from 'http';
|
|
import { PluginHookFn } from 'postgraphile/build/postgraphile/pluginHook';
|
|
|
|
// NOTE (jchristie@8thlight.com) Shape of the middleware is not
|
|
// currently important to this application, but if a need arises,
|
|
// any needed shape can be assigned from a custom type here. For
|
|
// the time being, this is a named stub to provide clarity.
|
|
export interface PostgraphileMiddleware extends RequestHandler {}
|
|
|
|
export interface PostgraphileOptions {
|
|
pluginHook: PluginHookFn,
|
|
simpleSubscriptions: boolean;
|
|
watchPg: boolean;
|
|
graphiql: boolean;
|
|
// NOTE (jchristie@8thlight.com) Shape of the middlewares is not
|
|
// currently important to this application, but if a need arises,
|
|
// any needed shape can be assigned from a custom type here.
|
|
webSocketMiddlewares: object[];
|
|
}
|
|
|
|
export type PostgraphileInitCallback = (
|
|
databaseUrl: string,
|
|
schemas: string[],
|
|
options: PostgraphileOptions
|
|
) => PostgraphileMiddleware;
|
|
|
|
export type AddSubscriptionsCallback = (
|
|
httpServer: Server,
|
|
middleware: PostgraphileMiddleware,
|
|
options: PostgraphileOptions
|
|
) => void;
|