UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.

30 lines (29 loc) 1.08 kB
import { InternalServerException, ValidationException } from "../exceptions/runtime.exceptions.js"; import { currentPrinterToken, printerApiToken, printerIdToken, printerLoginToken } from "./printer.js"; //#region src/middleware/printer-resolver.ts function getScopedPrinter(req) { const errors = []; const resolve = (token) => { try { const dep = req.container.resolve(token); if (!dep) errors.push(`Scoped Dependency '${token}' was not resolved.`); return dep; } catch { throw new InternalServerException(`Dependency ${token} could not be resolved. Aborted request.`); } }; const printerApi = resolve(printerApiToken); const loginDto = resolve(printerLoginToken); const printerDto = resolve(currentPrinterToken); const printerId = resolve(printerIdToken); if (errors.length) throw new ValidationException(errors); return { [printerApiToken]: printerApi, [printerLoginToken]: loginDto, [currentPrinterToken]: printerDto, [printerIdToken]: printerId }; } //#endregion export { getScopedPrinter }; //# sourceMappingURL=printer-resolver.js.map