@we-scrum/firebase
Version: 
We-scrum firebase tooling
32 lines (31 loc) • 1.12 kB
TypeScript
/// <reference types="express" />
import * as express from 'express';
import * as httpStatusCodes from 'http-status-codes';
import { auth, firestore } from 'firebase-admin';
import { Context } from './context';
export declare class Server {
    static statusCodes: typeof httpStatusCodes;
    private _app;
    constructor(options: Server.Options);
    registerMiddleWare(middleware: Server.Middleware): void;
    registerErrorHlandler(middleware: express.ErrorRequestHandler): void;
    registerRouter(path: string, router: express.Router): void;
    getNewRouter(): express.Router;
    readonly app: express.Express;
}
export declare namespace Server {
    interface Options {
        firebaseAuth: auth.Auth;
        firestore: firestore.Firestore;
    }
    interface Request extends express.Request {
        context: Context;
    }
    interface Response extends express.Response {
    }
    interface NextFunction extends express.NextFunction {
    }
    interface Middleware {
        (request: Server.Request, response: Server.Response, next: Server.NextFunction): void;
    }
}