@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.
122 lines (121 loc) • 4.7 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 { PERMS } from "../constants/authorization.constants.js";
import { authenticate, permission } from "../middleware/authenticate.js";
import { ParamId } from "../middleware/param-converter.middleware.js";
import { FloorStore } from "../state/floor.store.js";
import { DELETE, GET, PATCH, POST, before, route } from "awilix-express";
//#region src/controllers/floor.controller.ts
var floor_controller_exports = /* @__PURE__ */ __exportAll({ FloorController: () => FloorController });
var _ref;
let FloorController = class FloorController {
constructor(floorStore) {
this.floorStore = floorStore;
}
async list(req, res) {
const floors = await this.floorStore.listCache();
res.send(floors);
}
async get(req, res) {
const floor = await this.floorStore.getFloor(req.local.id);
res.send(floor);
}
async delete(req, res) {
await this.floorStore.delete(req.local.id);
res.send();
}
async create(req, res) {
const floor = await this.floorStore.create(req.body);
res.send(floor);
}
async updateName(req, res) {
const floor = await this.floorStore.updateName(req.local.id, req.body.name);
res.send(floor);
}
async updateFloorOrder(req, res) {
const floor = await this.floorStore.updateFloorOrder(req.local.id, req.body.order);
res.send(floor);
}
async addPrinterToFloor(req, res) {
const floor = await this.floorStore.addOrUpdatePrinter(req.local.id, req.body);
res.send(floor);
}
async removePrinterFromFloor(req, res) {
const floor = await this.floorStore.removePrinter(req.local.id, req.body.printerId);
res.send(floor);
}
};
__decorate([
GET(),
route("/"),
before([permission(PERMS.Floors.List)]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "list", null);
__decorate([
GET(),
route("/:id"),
before([permission(PERMS.Floors.Get), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "get", null);
__decorate([
DELETE(),
route("/:id"),
before([permission(PERMS.Floors.Delete), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "delete", null);
__decorate([
POST(),
route("/"),
before([permission(PERMS.Floors.Create)]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "create", null);
__decorate([
PATCH(),
route("/:id/name"),
before([permission(PERMS.Floors.Update), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "updateName", null);
__decorate([
PATCH(),
route("/:id/floor-order"),
before([permission(PERMS.Floors.Update), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "updateFloorOrder", null);
__decorate([
POST(),
route("/:id/printer"),
before([permission(PERMS.Floors.Update), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "addPrinterToFloor", null);
__decorate([
DELETE(),
route("/:id/printer"),
before([permission(PERMS.Floors.Update), ParamId("id")]),
__decorateMetadata("design:type", Function),
__decorateMetadata("design:paramtypes", [Object, Object]),
__decorateMetadata("design:returntype", Promise)
], FloorController.prototype, "removePrinterFromFloor", null);
FloorController = __decorate([
route(AppConstants.apiRoute + "/floor"),
before([authenticate()]),
__decorateMetadata("design:paramtypes", [typeof (_ref = typeof FloorStore !== "undefined" && FloorStore) === "function" ? _ref : Object])
], FloorController);
//#endregion
export { FloorController, floor_controller_exports };
//# sourceMappingURL=floor.controller.js.map