donmahallem/TrapezeApiExpressRoute

View on GitHub
src/endpoints/stop.ts

Summary

Maintainability
B
6 hrs
Test Coverage
/*!
 * Source https://github.com/donmahallem/TrapezeApiExpressRoute
 */

import { TrapezeApiClient } from "@donmahallem/trapeze-api-client";
import { StopId } from "@donmahallem/trapeze-api-types";
import * as express from "express";
import { promiseToResponse } from "../promise-to-response";

export class StopEndpoints {
    public static createStopInfoEndpoint(client: TrapezeApiClient): express.RequestHandler {
        return (req: express.Request, res: express.Response, next: express.NextFunction): void => {
            promiseToResponse(client.getStopInfo(req.params.id as StopId), res, next);
        };
    }
    public static createStopDeparturesEndpoint(client: TrapezeApiClient): express.RequestHandler {
        return (req: express.Request, res: express.Response, next: express.NextFunction): void => {
            promiseToResponse(client.getStopPassages(req.params.id as StopId), res, next);
        };
    }
}