@golemio/pid
Version:
Golemio PID Module
35 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2PublicGtfsController = void 0;
const Di_1 = require("../../ioc/Di");
const OgModuleToken_1 = require("../../ioc/OgModuleToken");
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
class V2PublicGtfsController {
constructor() {
this.getOneTrip = async (req, res, next) => {
const span = (0, trace_provider_1.createChildSpan)("V2PublicGtfsController.getOneTrip");
try {
const facade = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.GtfsTripLookupFacade);
const params = this.parseGtfsTripLookupParams(req);
const info = await facade.getOneByGtfsTripId(params.gtfsTripId, params.scopes);
res.json(info);
}
catch (err) {
next(err);
}
finally {
span?.end();
}
};
}
parseGtfsTripLookupParams(req) {
return {
gtfsTripId: req.params.gtfsTripId,
scopes: req.query.scopes instanceof Array
? Array.from(new Set(req.query.scopes))
: [req.query.scopes],
};
}
}
exports.V2PublicGtfsController = V2PublicGtfsController;
//# sourceMappingURL=V2PublicGtfsController.js.map