ipld-eth-server/postgraphile/src/server/interface.ts
2019-04-15 14:17:33 -04:00

38 lines
936 B
TypeScript

import { CreateHttpServerCallback } from '../adapters/http';
import {
ExpressInitCallback,
ExpressSessionInitCallback,
StaticPassportProvider
} from '../adapters/session';
import {
AddSubscriptionsCallback,
PostgraphileInitCallback,
PostgraphileMiddleware,
PostgraphileOptions
} from '../adapters/postgraphile';
import { PluginHookFn } from 'postgraphile/build/postgraphile/pluginHook';
export interface DatabaseConfig {
host: string;
database: string;
schemas: string[];
}
export interface ServerConfig {
middleware: PostgraphileMiddleware;
options: PostgraphileOptions;
port: number;
}
export interface ServerUtilities {
enableSubscriptions: AddSubscriptionsCallback;
express: ExpressInitCallback;
expressSession: ExpressSessionInitCallback;
httpServerFactory: CreateHttpServerCallback;
passport: StaticPassportProvider;
postgraphile: PostgraphileInitCallback;
pluginHook: PluginHookFn;
}