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.

37 lines (36 loc) 1.39 kB
import { socketIoConnectedEvent } from "../constants/event.constants.js"; import { IO_MESSAGES } from "../state/socket-io.gateway.js"; //#region src/tasks/socketio.task.ts var SocketIoTask = class SocketIoTask { logger; constructor(loggerFactory, socketIoGateway, floorStore, printerSocketStore, printerEventsCache, printerCache, fileUploadTrackerCache, eventEmitter2) { this.socketIoGateway = socketIoGateway; this.floorStore = floorStore; this.printerSocketStore = printerSocketStore; this.printerEventsCache = printerEventsCache; this.printerCache = printerCache; this.fileUploadTrackerCache = fileUploadTrackerCache; this.eventEmitter2 = eventEmitter2; this.logger = loggerFactory(SocketIoTask.name); this.eventEmitter2.on(socketIoConnectedEvent, async () => { await this.sendUpdate(); }); } async run() { await this.sendUpdate(); } async sendUpdate() { const floors = await this.floorStore.listCache(); const socketIoData = { printers: await this.printerCache.listCachedPrinters(true), floors, socketStates: this.printerSocketStore.getSocketStatesById(), printerEvents: await this.printerEventsCache.getAllKeyValues(), trackedUploads: this.fileUploadTrackerCache.getUploads() }; this.socketIoGateway.send(IO_MESSAGES.Update, socketIoData); } }; //#endregion export { SocketIoTask }; //# sourceMappingURL=socketio.task.js.map