UNPKG

apollo-flash

Version:

A smart and efficient toolkit to quickly bootstrap an apollo-server project.

23 lines (22 loc) 827 B
/// <reference types="node" /> import { Request } from "express"; import { VerifyOptions } from "jsonwebtoken"; import { AuthContext, GetScopeFromUser, GetUserFromId } from "./typings"; /** * Class responsible to build application context. * * @export * @class ContextBuilder * @template AuthScopeEnum * @template User */ export default class ContextBuilder<AuthScopeEnum, User> { /** * Get authorization from a JWT token if given with the request. * * @param {string} authorizationHeader * @param {UserModel} model * @returns {Promise<AuthContext>} */ getAuthorization(req: Request, getUserFromId: GetUserFromId<User>, getScopeFromUser: GetScopeFromUser<AuthScopeEnum, User>, jwtSigningKey: string | Buffer, verifyOpts: VerifyOptions): Promise<AuthContext<AuthScopeEnum, User>>; }