@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.
115 lines (114 loc) • 4.57 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 { AppConstants } from "../server.constants.js";
import { ROLES } from "../constants/authorization.constants.js";
import { authenticate, authorizeRoles } from "../middleware/authenticate.js";
import { ParamId } from "../middleware/param-converter.middleware.js";
import { DELETE, GET, PATCH, POST, before, route } from "awilix-express";
//#region src/controllers/printer-tag.controller.ts
var printer_tag_controller_exports = /* @__PURE__ */ __exportAll({ PrinterTagController: () => PrinterTagController });
let PrinterTagController = class PrinterTagController {
constructor(printerTagService) {
this.printerTagService = printerTagService;
}
async listTags(req, res) {
res.send(await this.printerTagService.listTags());
}
async getTagWithPrinters(req, res) {
res.send(await this.printerTagService.getPrintersByTag(req.local.id));
}
async createTag(req, res) {
if (req.body.id) delete req.body.id;
const entity = await this.printerTagService.createTag(req.body);
res.send(entity);
}
async updateTagName(req, res) {
const entity = await this.printerTagService.updateTagName(req.local.id, req.body.name);
res.send(entity);
}
async updateTagColor(req, res) {
const entity = await this.printerTagService.updateTagColor(req.local.id, req.body.color);
res.send(entity);
}
async deleteTag(req, res) {
res.send(await this.printerTagService.deleteTag(req.local.id));
}
async addPrinterToTag(req, res) {
const entity = await this.printerTagService.addPrinterToTag(req.local.id, req.body.printerId);
res.send(this.printerTagService.toDto(entity));
}
async removePrinterFromTag(req, res) {
res.send(await this.printerTagService.removePrinterFromTag(req.local.id, req.body.printerId));
}
};
__decorate([
GET(),
route("/"),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "listTags", null);
__decorate([
GET(),
route("/:id"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "getTagWithPrinters", null);
__decorate([
POST(),
route("/"),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "createTag", null);
__decorate([
PATCH(),
route("/:id/name"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "updateTagName", null);
__decorate([
PATCH(),
route("/:id/color"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "updateTagColor", null);
__decorate([
DELETE(),
route("/:id"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "deleteTag", null);
__decorate([
POST(),
route("/:id/printer"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "addPrinterToTag", null);
__decorate([
DELETE(),
route("/:id/printer"),
before([ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], PrinterTagController.prototype, "removePrinterFromTag", null);
PrinterTagController = __decorate([
route(AppConstants.apiRoute + "/printer-tag"),
before([authenticate(), authorizeRoles([ROLES.OPERATOR, ROLES.ADMIN])]),
__decorateMetadata("design:paramtypes", [Object])
], PrinterTagController);
//#endregion
export { PrinterTagController, printer_tag_controller_exports };
//# sourceMappingURL=printer-tag.controller.js.map