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.

118 lines (117 loc) 5.69 kB
import { __exportAll } from "../_virtual/_rolldown/runtime.js"; import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.129.0/helpers/decorateMetadata.js"; import { __decorate } from "../_virtual/_@oxc-project_runtime@0.129.0/helpers/decorate.js"; import { validateInput } from "../handlers/validators.js"; import { PrinterMaintenanceLogService } from "../services/orm/printer-maintenance-log.service.js"; import { AppConstants } from "../server.constants.js"; import { PERMS } from "../constants/authorization.constants.js"; import { authenticate, permission } from "../middleware/authenticate.js"; import { ParamId } from "../middleware/param-converter.middleware.js"; import { completeMaintenanceLogSchema, createMaintenanceLogSchema, getMaintenanceLogsQuerySchema } from "../services/validators/printer-maintenance-log.validation.js"; import { DELETE, GET, POST, before, route } from "awilix-express"; //#region src/controllers/printer-maintenance-log.controller.ts var printer_maintenance_log_controller_exports = /* @__PURE__ */ __exportAll({ PrinterMaintenanceLogController: () => PrinterMaintenanceLogController }); var _ref, _PrinterMaintenanceLogController; let PrinterMaintenanceLogController = _PrinterMaintenanceLogController = class PrinterMaintenanceLogController { logger; constructor(loggerFactory, printerMaintenanceLogService) { this.printerMaintenanceLogService = printerMaintenanceLogService; this.logger = loggerFactory(_PrinterMaintenanceLogController.name); } async list(req, res) { const query = await validateInput(req.query, getMaintenanceLogsQuerySchema); const result = await this.printerMaintenanceLogService.list(query); res.send({ logs: result.logs.map((log) => this.printerMaintenanceLogService.toDto(log)), total: result.total, page: query.page, pageSize: query.pageSize }); } async get(req, res) { const logId = req.params.id; const log = await this.printerMaintenanceLogService.get(logId); res.send(this.printerMaintenanceLogService.toDto(log)); } async getActiveByPrinterId(req, res) { const printerId = req.params.printerId; const log = await this.printerMaintenanceLogService.getActiveByPrinterId(printerId); res.send(log ? this.printerMaintenanceLogService.toDto(log) : null); } async create(req, res) { const data = await validateInput(req.body, createMaintenanceLogSchema); const userId = req.user?.id ?? null; const username = req.user?.username || "system"; const log = await this.printerMaintenanceLogService.create(data, userId, username); res.send(this.printerMaintenanceLogService.toDto(log)); } async complete(req, res) { const logId = req.params.id; const data = await validateInput(req.body, completeMaintenanceLogSchema); const userId = req.user?.id ?? null; const username = req.user?.username || "system"; const log = await this.printerMaintenanceLogService.complete(logId, data, userId, username); res.send(this.printerMaintenanceLogService.toDto(log)); } async delete(req, res) { const logId = req.params.id; await this.printerMaintenanceLogService.delete(logId); res.send({ success: true }); } }; __decorate([ GET(), route("/"), before([permission(PERMS.PrinterMaintenanceLog.List)]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "list", null); __decorate([ GET(), route("/:id"), before([permission(PERMS.PrinterMaintenanceLog.Get), ParamId("id")]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "get", null); __decorate([ GET(), route("/printer/:printerId/active"), before([permission(PERMS.PrinterMaintenanceLog.Get), ParamId("printerId")]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "getActiveByPrinterId", null); __decorate([ POST(), route("/"), before([permission(PERMS.PrinterMaintenanceLog.Create)]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "create", null); __decorate([ POST(), route("/:id/complete"), before([permission(PERMS.PrinterMaintenanceLog.Complete), ParamId("id")]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "complete", null); __decorate([ DELETE(), route("/:id"), before([permission(PERMS.PrinterMaintenanceLog.Delete), ParamId("id")]), __decorateMetadata("design:type", Function), __decorateMetadata("design:paramtypes", [Object, Object]), __decorateMetadata("design:returntype", Promise) ], PrinterMaintenanceLogController.prototype, "delete", null); PrinterMaintenanceLogController = _PrinterMaintenanceLogController = __decorate([ route(AppConstants.apiRoute + "/printer-maintenance-log"), before([authenticate()]), __decorateMetadata("design:paramtypes", [Object, typeof (_ref = typeof PrinterMaintenanceLogService !== "undefined" && PrinterMaintenanceLogService) === "function" ? _ref : Object]) ], PrinterMaintenanceLogController); //#endregion export { PrinterMaintenanceLogController, printer_maintenance_log_controller_exports }; //# sourceMappingURL=printer-maintenance-log.controller.js.map