@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
JavaScript
;
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