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.

28 lines (27 loc) 1.17 kB
import { DITokens } from "../container.tokens.js"; import "./printer-api.interface.js"; //#region src/services/printer-api.factory.ts var PrinterApiFactory = class { constructor(cradleService) { this.cradleService = cradleService; } getById(id) { const login = this.cradleService.resolve(DITokens.printerCache).getLoginDto(id); const printerApi = this.getScopedPrinter(login); if (login.printerType === 3 && "setPrinterId" in printerApi) printerApi.setPrinterId(id); return printerApi; } getScopedPrinter(login) { let printerApi; if (login.printerType === 0) printerApi = this.cradleService.resolve(DITokens.octoprintApi); else if (login.printerType === 1) printerApi = this.cradleService.resolve(DITokens.moonrakerApi); else if (login.printerType === 2) printerApi = this.cradleService.resolve(DITokens.prusaLinkApi); else if (login.printerType === 3) printerApi = this.cradleService.resolve(DITokens.bambuApi); else throw new Error("PrinterType is unknown, cant pick the right socket adapter"); printerApi.login = login; return printerApi; } }; //#endregion export { PrinterApiFactory }; //# sourceMappingURL=printer-api.factory.js.map