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