UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.

39 lines (38 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "PrinterApiFactory", { enumerable: true, get: function() { return PrinterApiFactory; } }); const _printerapiinterface = require("./printer-api.interface"); const _containertokens = require("../container.tokens"); class PrinterApiFactory { cradleService; constructor(cradleService){ this.cradleService = cradleService; } getById(id) { const printerCache = this.cradleService.resolve(_containertokens.DITokens.printerCache); const login = printerCache.getLoginDto(id); return this.getScopedPrinter(login); } getScopedPrinter(login) { let printerApi; if (login.printerType === _printerapiinterface.OctoprintType) { printerApi = this.cradleService.resolve(_containertokens.DITokens.octoprintApi); } else if (login.printerType === _printerapiinterface.MoonrakerType) { printerApi = this.cradleService.resolve(_containertokens.DITokens.moonrakerApi); } else if (login.printerType === _printerapiinterface.PrusaLinkType) { printerApi = this.cradleService.resolve(_containertokens.DITokens.prusaLinkApi); } else { throw new Error("PrinterType is unknown, cant pick the right socket adapter"); } printerApi.login = login; return printerApi; } } //# sourceMappingURL=printer-api.factory.js.map