Testing failer uncomment issue sorted API-Docker updated based on the Failed testcase
This commit is contained in:
@@ -3,24 +3,22 @@ ARG NODE_VERSION=lts
|
||||
FROM node:${NODE_VERSION}-alpine AS development
|
||||
# Use production node environment by default.
|
||||
|
||||
ENV NODE_ENV development
|
||||
ENV NODE_ENV=development
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install -g tsx
|
||||
RUN npm install -g tsx --ignore-scripts
|
||||
|
||||
COPY package.json /usr/src/app/package.json
|
||||
COPY package.json ./
|
||||
COPY package-lock.json ./
|
||||
RUN npm install --ignore-scripts
|
||||
|
||||
|
||||
# COPY package-lock.json /usr/src/app/package-lock.json
|
||||
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
|
||||
RUN chown -R appuser:appgroup /usr/src/app
|
||||
|
||||
|
||||
RUN npm install
|
||||
|
||||
# Run the application as a non-root user.
|
||||
USER root
|
||||
|
||||
# Copy the rest of the source files into the image.
|
||||
# Switch to non-root user
|
||||
USER appuser
|
||||
|
||||
|
||||
COPY . .
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import * as express from "express";
|
||||
import { assetsFloorservice } from "../controller/simulation/assetsFloorservice.ts";
|
||||
import { AssetsFloorService } from "../controller/simulation/assetsFloorservice.ts";
|
||||
const router = express.Router();
|
||||
router.post("/setasset", assetsFloorservice.setFloorassets);
|
||||
router.get("/floorAssets/:organization", assetsFloorservice.getFloorItems);
|
||||
router.post("/setasset", AssetsFloorService.setFloorassets);
|
||||
router.get("/floorAssets/:organization", AssetsFloorService.getFloorItems);
|
||||
router.patch(
|
||||
"/updateFloorAssets",
|
||||
assetsFloorservice.updateAssetPositionRotation
|
||||
AssetsFloorService.updateAssetPositionRotation
|
||||
);
|
||||
router.patch("/eventDataUpdate", assetsFloorservice.replaceEventDatas);
|
||||
// router.get("/pointData/:modelfileID/:organization", assetsFloorservice.gettypePoints);
|
||||
router.patch("/eventDataUpdate", AssetsFloorService.replaceEventDatas);
|
||||
export default router;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as express from "express";
|
||||
import { pointService } from "../controller/assets/pointService.ts";
|
||||
import { PointService } from "../controller/assets/pointService.ts";
|
||||
const router = express.Router();
|
||||
router.post("/pointSchema", pointService.addPoints);
|
||||
router.get("/pointData/:modelfileID/:organization", pointService.gettypePoints);
|
||||
router.post("/pointSchema", PointService.addPoints);
|
||||
router.get("/pointData/:modelfileID/:organization", PointService.gettypePoints);
|
||||
export default router;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import express from 'express';
|
||||
import { camera } from '../controller/camera/camera-Services.ts';
|
||||
import { Camera } from '../controller/camera/camera-Services.ts';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/setCamera',camera.createCamera)
|
||||
router.get('/getCamera/:organization/:userId',camera.getCamera)
|
||||
router.get('/activeCameras/:organization',camera.onlineActiveDatas)
|
||||
router.post('/setCamera',Camera.createCamera)
|
||||
router.get('/getCamera/:organization/:userId',Camera.getCamera)
|
||||
router.get('/activeCameras/:organization',Camera.onlineActiveDatas)
|
||||
|
||||
|
||||
export default router;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import express from 'express';
|
||||
import { environment } from '../controller/environments/environments-Services.ts';
|
||||
import { Environment } from '../controller/environments/environments-Services.ts';
|
||||
|
||||
const router = express.Router();
|
||||
router.post('/setEvironments',environment.setEnvironment)
|
||||
router.get('/findEnvironments/:organization/:userId',environment.getEnvironment)
|
||||
router.post('/setEvironments',Environment.setEnvironment)
|
||||
router.get('/findEnvironments/:organization/:userId',Environment.getEnvironment)
|
||||
|
||||
|
||||
export default router;
|
||||
@@ -1,14 +1,14 @@
|
||||
import * as express from "express";
|
||||
import { floatWidgetService } from "../controller/visualization/floatWidgetService.ts";
|
||||
import { FloatWidgetService } from "../controller/visualization/floatWidgetService.ts";
|
||||
const router = express.Router();
|
||||
router.post("/floatwidget/save", floatWidgetService.addfloatWidget);
|
||||
router.patch("/floatwidget/delete", floatWidgetService.deletefloatWidget);
|
||||
router.post("/floatwidget/save", FloatWidgetService.addfloatWidget);
|
||||
router.patch("/floatwidget/delete", FloatWidgetService.deletefloatWidget);
|
||||
router.get(
|
||||
"/floadData/:zoneId/:organization",
|
||||
floatWidgetService.getfloatWidget
|
||||
FloatWidgetService.getfloatWidget
|
||||
);
|
||||
router.get(
|
||||
"/A_floatWidget/:floatWidgetID/:organization",
|
||||
floatWidgetService.getsinglefloatWidget
|
||||
FloatWidgetService.getsinglefloatWidget
|
||||
);
|
||||
export default router;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import express from 'express';
|
||||
import { floorItems } from '../controller/assets/flooritem-Services.ts';
|
||||
import { assetsFloorservice } from '../controller/simulation/assetsFloorservice.ts';
|
||||
import { FloorItems } from '../controller/assets/flooritem-Services.ts';
|
||||
import { AssetsFloorService } from '../controller/simulation/assetsFloorservice.ts';
|
||||
|
||||
const router = express.Router();
|
||||
router.post('/setfloorItems',floorItems.setFloorItems)
|
||||
router.get('/findfloorItems/:organization',floorItems.getFloorItems)
|
||||
// router.delete('/deletefloorItem',floorItems.deleteFloorItems)
|
||||
router.delete('/deletefloorItem',assetsFloorservice.deleteFloorItems)
|
||||
router.post('/setfloorItems',FloorItems.setFloorItems)
|
||||
router.get('/findfloorItems/:organization',FloorItems.getFloorItems)
|
||||
router.delete('/deletefloorItem',AssetsFloorService.deleteFloorItems)
|
||||
|
||||
|
||||
export default router;
|
||||
@@ -1,14 +1,14 @@
|
||||
import express from 'express';
|
||||
import { lines } from '../controller/lines/line-Services.ts';
|
||||
import { Lines } from '../controller/lines/line-Services.ts';
|
||||
|
||||
|
||||
const router = express.Router();
|
||||
router.post('/setLine',lines.setLines)
|
||||
router.post('/updatePoint',lines.updateLines)
|
||||
router.get('/findLines/:organization',lines.getLines)
|
||||
router.delete('/deleteLine',lines.deleteLineItems)
|
||||
router.delete('/deletePoint',lines.deleteLinPoiteItems)
|
||||
router.post('/deleteLayer',lines.deleteLayer)
|
||||
router.post('/setLine',Lines.setLines)
|
||||
router.post('/updatePoint',Lines.updateLines)
|
||||
router.get('/findLines/:organization',Lines.getLines)
|
||||
router.delete('/deleteLine',Lines.deleteLineItems)
|
||||
router.delete('/deletePoint',Lines.deleteLinPoiteItems)
|
||||
router.post('/deleteLayer',Lines.deleteLayer)
|
||||
|
||||
|
||||
export default router;
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as express from "express";
|
||||
import { panelService } from "../controller/visualization/panelService.ts";
|
||||
import { PanelService } from "../controller/visualization/panelService.ts";
|
||||
const router = express.Router();
|
||||
/**
|
||||
* @swagger
|
||||
@@ -101,7 +101,7 @@ const router = express.Router();
|
||||
* 500:
|
||||
* description: Server error
|
||||
*/
|
||||
router.post("/panel/save", panelService.AddPanel);
|
||||
router.post("/panel/save", PanelService.AddPanel);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@@ -135,8 +135,7 @@ router.post("/panel/save", panelService.AddPanel);
|
||||
* 500:
|
||||
* description: Server error
|
||||
*/
|
||||
router.patch("/panel/delete", panelService.deletePanel);
|
||||
router.patch("/clearpanel", panelService.clearPanel);
|
||||
router.patch("/panel/delete", PanelService.deletePanel);
|
||||
router.patch("/clearpanel", PanelService.clearPanel);
|
||||
|
||||
// router.get("/zone/:sceneID", Zoneservice.allZones);
|
||||
export default router;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// import * as express from "express";
|
||||
// import { productFlowservice } from "../controller/simulation/productFlowservice.ts";
|
||||
// const router = express.Router();
|
||||
// router.post("/createProduct", productFlowservice.setproductFlow);
|
||||
// router.get("/productFlowList/:organization", productFlowservice.productpathsList);
|
||||
// export default router;
|
||||
@@ -1,11 +1,11 @@
|
||||
import * as express from "express";
|
||||
import { productFlowservice } from "../controller/simulation/productService.ts";
|
||||
import { ProductFlowService } from "../controller/simulation/productService.ts";
|
||||
const productRouter = express.Router();
|
||||
productRouter.post("/UpsertProductOrEvent", productFlowservice.productAdd);
|
||||
productRouter.get("/productData", productFlowservice.getProductDatas);
|
||||
productRouter.patch("/EventDataDelete", productFlowservice.EventDataDelete);
|
||||
productRouter.patch("/productDataDelete", productFlowservice.productDataDelete);
|
||||
productRouter.get("/AllProducts/:organization", productFlowservice.AllProductDatas);
|
||||
productRouter.patch("/productRename", productFlowservice.productRename);
|
||||
productRouter.post("/UpsertProductOrEvent", ProductFlowService.productAdd);
|
||||
productRouter.get("/productData", ProductFlowService.getProductDatas);
|
||||
productRouter.patch("/EventDataDelete", ProductFlowService.EventDataDelete);
|
||||
productRouter.patch("/productDataDelete", ProductFlowService.productDataDelete);
|
||||
productRouter.get("/AllProducts/:organization", ProductFlowService.AllProductDatas);
|
||||
productRouter.patch("/productRename", ProductFlowService.productRename);
|
||||
export default productRouter;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import express from 'express';
|
||||
import { share } from '../controller/share/share-Controller.ts';
|
||||
import { Share } from '../controller/share/share-Controller.ts';
|
||||
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/shareUser',share.shareUser)
|
||||
router.get('/findshareUsers',share.findshareUser)
|
||||
router.post('/shareUser',Share.shareUser)
|
||||
router.get('/findshareUsers',Share.findshareUser)
|
||||
|
||||
|
||||
export default router;
|
||||
@@ -1,12 +1,12 @@
|
||||
import * as express from "express";
|
||||
import { templateService } from "../controller/visualization/templateService.ts";
|
||||
import { TemplateService } from "../controller/visualization/templateService.ts";
|
||||
const router = express.Router();
|
||||
router.post("/template/save", templateService.AddTemplate);
|
||||
router.get("/templateData/:organization", templateService.GetAllTemplates);
|
||||
router.post("/TemplatetoZone", templateService.AddToZone);
|
||||
router.post("/template/save", TemplateService.AddTemplate);
|
||||
router.get("/templateData/:organization", TemplateService.GetAllTemplates);
|
||||
router.post("/TemplatetoZone", TemplateService.AddToZone);
|
||||
router.patch(
|
||||
"/TemplateDelete/:templateID/:organization",
|
||||
templateService.Deletezone
|
||||
); //delete zone
|
||||
TemplateService.Deletezone
|
||||
);
|
||||
|
||||
export default router;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import express from 'express';
|
||||
import { user } from '../controller/user-Controller.ts';
|
||||
import { User } from '../controller/user-Controller.ts';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/signup',user.signup)
|
||||
router.post('/login',user.login)
|
||||
router.post('/signup',User.signup)
|
||||
router.post('/login',User.login)
|
||||
|
||||
|
||||
export default router;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import express from 'express';
|
||||
import { wallItems } from '../controller/assets/wallitem-Services.ts';
|
||||
import { WallItems } from '../controller/assets/wallitem-Services.ts';
|
||||
|
||||
|
||||
const router = express.Router();
|
||||
router.post('/setWallItems',wallItems.setWallItems)
|
||||
router.get('/findWallItems/:organization',wallItems.getWallItems)
|
||||
router.delete('/deleteWallItem',wallItems.deleteWallItems)
|
||||
router.post('/setWallItems',WallItems.setWallItems)
|
||||
router.get('/findWallItems/:organization',WallItems.getWallItems)
|
||||
router.delete('/deleteWallItem',WallItems.deleteWallItems)
|
||||
|
||||
|
||||
export default router;
|
||||
@@ -1,9 +1,9 @@
|
||||
import * as express from "express";
|
||||
import { widget3dService } from "../controller/visualization/3dWidgetService.ts";
|
||||
import { Widget3dService } from "../controller/visualization/3dWidgetService.ts";
|
||||
const router = express.Router();
|
||||
router.post("/3dwidget/save", widget3dService.add3Dwidget);
|
||||
router.get("/3dwidgetData/:zoneId/:organization", widget3dService.get3Dwiget);
|
||||
router.get("/widget3D/:id/:organization", widget3dService.getSingle3Dwidget);
|
||||
router.patch("/widget3D/delete", widget3dService.delete3Dwidget);
|
||||
router.patch("/modifyPR/widget3D", widget3dService.update3DpositionRotation);
|
||||
router.post("/3dwidget/save", Widget3dService.add3Dwidget);
|
||||
router.get("/3dwidgetData/:zoneId/:organization", Widget3dService.get3Dwiget);
|
||||
router.get("/widget3D/:id/:organization", Widget3dService.getSingle3Dwidget);
|
||||
router.patch("/widget3D/delete", Widget3dService.delete3Dwidget);
|
||||
router.patch("/modifyPR/widget3D", Widget3dService.update3DpositionRotation);
|
||||
export default router;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as express from "express";
|
||||
import { widgetService } from "../controller/visualization/widgetService.ts";
|
||||
import { WidgetService } from "../controller/visualization/widgetService.ts";
|
||||
const router = express.Router();
|
||||
/**
|
||||
* @swagger
|
||||
@@ -134,11 +134,11 @@ const router = express.Router();
|
||||
* 500:
|
||||
* description: Server error
|
||||
*/
|
||||
router.post("/widget/save", widgetService.addWidget);
|
||||
router.patch("/widget/:widgetID", widgetService.updatewidget);
|
||||
router.patch("/delete/widget", widgetService.deleteWidget);
|
||||
router.post("/widget/save", WidgetService.addWidget);
|
||||
router.patch("/widget/:widgetID", WidgetService.updatewidget);
|
||||
router.patch("/delete/widget", WidgetService.deleteWidget);
|
||||
router.get(
|
||||
"/WidgetData/:widgetID/:organization",
|
||||
widgetService.getDatafromWidget
|
||||
WidgetService.getDatafromWidget
|
||||
);
|
||||
export default router;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
import express from 'express';
|
||||
|
||||
import { zone } from '../controller/lines/zone-Services.ts';
|
||||
import { Zone } from '../controller/lines/zone-Services.ts';
|
||||
|
||||
|
||||
const router = express.Router();
|
||||
router.post('/setZone',zone.setZone)
|
||||
router.delete('/deleteZone',zone.deleteZone)
|
||||
router.get('/findZones/:organization',zone.getZones)
|
||||
// router.get('/A_zone/:zoneId/:organization',zone.ZoneData)
|
||||
router.post('/setZone',Zone.setZone)
|
||||
router.delete('/deleteZone',Zone.deleteZone)
|
||||
router.get('/findZones/:organization',Zone.getZones)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as express from "express";
|
||||
import { Zoneservice } from "../controller/lines/zoneService.ts";
|
||||
import { ZoneService } from "../controller/lines/zoneService.ts";
|
||||
const router = express.Router();
|
||||
/**
|
||||
* @swagger
|
||||
@@ -245,7 +245,7 @@ const router = express.Router();
|
||||
* type: string
|
||||
* example: "Internal server error"
|
||||
*/
|
||||
router.post("/zone/save", Zoneservice.addandUpdateZone); //Zone create and update for the points
|
||||
router.post("/zone/save", ZoneService.addandUpdateZone);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@@ -318,9 +318,9 @@ router.post("/zone/save", Zoneservice.addandUpdateZone); //Zone create and updat
|
||||
* value:
|
||||
* message: "Zone not found for the UUID"
|
||||
*/
|
||||
router.get("/zones/:sceneID", Zoneservice.allZones);
|
||||
router.get("/zones/:sceneID", ZoneService.allZones);
|
||||
|
||||
router.get("/pageZodeData", Zoneservice.vizAllDatas);
|
||||
router.get("/pageZodeData", ZoneService.vizAllDatas);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@@ -414,7 +414,7 @@ router.get("/pageZodeData", Zoneservice.vizAllDatas);
|
||||
* example:
|
||||
* error: "Internal Server Error"
|
||||
*/
|
||||
router.get("/ZoneVisualization/:zoneId", Zoneservice.singleZonePanelDatas);
|
||||
router.get("/ZoneVisualization/:zoneId", ZoneService.singleZonePanelDatas);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@@ -483,7 +483,7 @@ router.get("/ZoneVisualization/:zoneId", Zoneservice.singleZonePanelDatas);
|
||||
* value:
|
||||
* message: "Zone not found"
|
||||
*/
|
||||
router.get("/A_zone/:zoneId/:organization", Zoneservice.ZoneData);
|
||||
router.get("/A_zone/:zoneId/:organization", ZoneService.ZoneData);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@@ -536,7 +536,6 @@ router.get("/A_zone/:zoneId/:organization", Zoneservice.ZoneData);
|
||||
* type: string
|
||||
* example: "Internal Server Error"
|
||||
*/
|
||||
router.patch("/zone/:zoneId", Zoneservice.deleteAZone); //delete Zone
|
||||
// router.get("/zone/:sceneID", Zoneservice.allZones);
|
||||
router.patch("/zones/lockedPanels", Zoneservice.lockedPanel);
|
||||
router.patch("/zone/:zoneId", ZoneService.deleteAZone);
|
||||
router.patch("/zones/lockedPanels", ZoneService.lockedPanel);
|
||||
export default router;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import express from "express";
|
||||
import cors from "cors";
|
||||
import connectDB from "../shared/connect/mongoose.ts";
|
||||
import dotenv from "dotenv";
|
||||
import cameraRoutes from "./Routes/camera-Routes.ts";
|
||||
import environmentsRoutes from "./Routes/environments-Routes.ts";
|
||||
@@ -10,7 +9,7 @@ import WallitemRoutes from "./Routes/wallItems-Routes.ts";
|
||||
import userRoutes from "./Routes/user-Routes.ts";
|
||||
import shareRoutes from "./Routes/share-Routes.ts";
|
||||
import zoneRoutes from "./Routes/zone-Routes.ts";
|
||||
import zoneRoutes2 from "./Routes/zoneRoutes.ts"; //update
|
||||
import zoneRoutes2 from "./Routes/zoneRoutes.ts";
|
||||
import panelRouter from "./Routes/panelRoutes.ts";
|
||||
import widgetRouter from "./Routes/widgetRoute.ts";
|
||||
import assetpointRouter from "./Routes/assetpointRoutes.ts";
|
||||
@@ -20,48 +19,43 @@ import templateRoutes from "./Routes/templateRoutes.ts";
|
||||
import widget3dRoutes from "./Routes/widget3dRoutes.ts";
|
||||
import productRouter from "./Routes/productRoutes.ts";
|
||||
import projectRouter from "./Routes/projectRoutes.ts";
|
||||
// import productFlowRoutes from "./Routes/productFlowRouts.ts";
|
||||
|
||||
const app = express();
|
||||
app.use(cors());
|
||||
// const allowedOriginsDev = [
|
||||
// "http://localhost:3000",
|
||||
// "http://192.168.0.183:8200",
|
||||
// "http://192.168.0.101:8200",
|
||||
// "http://192.168.0.105:8200",
|
||||
// "http://192.168.0.134:8200"
|
||||
// ];
|
||||
// const allowedOrigin =
|
||||
// process.env.NODE_ENV === "production"
|
||||
// ? process.env.FRONTEND_ORIGIN_PROD
|
||||
// : allowedOriginsDev;
|
||||
// app.use(cors({
|
||||
// origin: (origin, callback) => {
|
||||
// if (!origin) return callback(null, true);
|
||||
// if (
|
||||
// Array.isArray(allowedOrigin) &&
|
||||
// allowedOrigin.includes(origin)
|
||||
// ) {
|
||||
// return callback(null, true);
|
||||
// }
|
||||
|
||||
// if (typeof allowedOrigin === "string" && origin === allowedOrigin) {
|
||||
// return callback(null, true);
|
||||
// }
|
||||
|
||||
// return callback(new Error("Not allowed by CORS"));
|
||||
// },
|
||||
// credentials: true
|
||||
// }));
|
||||
app.use(express.json());
|
||||
app.disable("x-powered-by");
|
||||
dotenv.config();
|
||||
const allowedOriginsDev = [
|
||||
"http://localhost:3000",
|
||||
"http://192.168.0.183:8200",
|
||||
"http://192.168.0.101:8200",
|
||||
"http://192.168.0.105:8200",
|
||||
"http://192.168.0.134:8200",
|
||||
];
|
||||
const allowedOrigin =
|
||||
process.env.NODE_ENV === "production"
|
||||
? process.env.FRONTEND_ORIGIN_PROD
|
||||
: allowedOriginsDev;
|
||||
app.use(
|
||||
cors({
|
||||
origin: (origin, callback) => {
|
||||
if (!origin) return callback(null, true);
|
||||
if (Array.isArray(allowedOrigin) && allowedOrigin.includes(origin)) {
|
||||
return callback(null, true);
|
||||
}
|
||||
|
||||
if (typeof allowedOrigin === "string" && origin === allowedOrigin) {
|
||||
return callback(null, true);
|
||||
}
|
||||
|
||||
return callback(new Error("Not allowed by CORS"));
|
||||
},
|
||||
credentials: true,
|
||||
})
|
||||
);
|
||||
app.use(express.json());
|
||||
app.get("/", (req, res) => {
|
||||
res.send("Hello, I am Major-Dwinzo API!");
|
||||
});
|
||||
// connectDB();
|
||||
app.get("/health", (req, res) => {
|
||||
res.status(200).json({ message: "Server is running" });
|
||||
});
|
||||
|
||||
app.use("/api/v1", cameraRoutes);
|
||||
app.use("/api/v1", environmentsRoutes);
|
||||
app.use("/api/v1", linesRoutes);
|
||||
@@ -70,8 +64,8 @@ app.use("/api/v1", WallitemRoutes);
|
||||
app.use("/api/v1", userRoutes);
|
||||
app.use("/api/v1", shareRoutes);
|
||||
app.use("/api/v2", zoneRoutes);
|
||||
//update
|
||||
app.use("/api/v2", zoneRoutes2); //updates
|
||||
|
||||
app.use("/api/v2", zoneRoutes2);
|
||||
app.use("/api/v2", panelRouter);
|
||||
app.use("/api/v2", widgetRouter);
|
||||
app.use("/api/v2", assetpointRouter);
|
||||
@@ -80,6 +74,5 @@ app.use("/api/v2", floadWidgetRoutes);
|
||||
app.use("/api/v2", templateRoutes);
|
||||
app.use("/api/v2", widget3dRoutes);
|
||||
app.use("/api/v2", productRouter);
|
||||
// app.use("/api/v2", productFlowRoutes);
|
||||
app.use("/api/v1",projectRouter)
|
||||
app.use("/api/v1", projectRouter);
|
||||
export default app;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Response } from "express";
|
||||
import floorItemsModel from "../../../shared/model/assets/flooritems-Model.ts";
|
||||
|
||||
export class floorItems {
|
||||
export class FloorItems {
|
||||
static async setFloorItems(req: Request, res: Response) {
|
||||
try {
|
||||
const {
|
||||
@@ -48,16 +48,13 @@ export class floorItems {
|
||||
res.status(201).json(newValue);
|
||||
}
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error("Error creating flooritems:", error);
|
||||
res.status(500).json({ message: "Failed to create flooritems" });
|
||||
}
|
||||
}
|
||||
static async getFloorItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
// console.log('req.params: ', req.params);
|
||||
|
||||
const findValue = await floorItemsModel(organization).find();
|
||||
if (!findValue) {
|
||||
@@ -66,7 +63,6 @@ export class floorItems {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get flooritems:", error);
|
||||
res.status(500).json({ error: "Failed to get flooritems" });
|
||||
}
|
||||
}
|
||||
@@ -84,7 +80,6 @@ export class floorItems {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get flooritems:", error);
|
||||
res.status(500).json({ error: "Failed to get flooritems" });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,11 +74,9 @@ interface IPointStaticMachine extends IPointBase {
|
||||
targets: { modelUUID: string; pointUUID: string }[];
|
||||
};
|
||||
}
|
||||
export class pointService {
|
||||
export class PointService {
|
||||
static async addPoints(req: Request, res: Response): Promise<any> {
|
||||
const { type, modelfileID, organization } = req.body;
|
||||
|
||||
// Validate type
|
||||
if (!["Conveyor", "Vehicle", "ArmBot", "StaticMachine"].includes(type)) {
|
||||
return res.status(400).json({ message: "Invalid type requested" });
|
||||
}
|
||||
@@ -92,7 +90,6 @@ export class pointService {
|
||||
|
||||
if (type === "Conveyor") {
|
||||
const baseData = {
|
||||
// modelfileID: "672a090f80d91ac979f4d0bd",
|
||||
modelfileID: "7dc04e36882e4debbc1a8e3d",
|
||||
type: "Conveyor",
|
||||
};
|
||||
@@ -118,8 +115,6 @@ export class pointService {
|
||||
name: "trigger 1",
|
||||
type: "triggerType",
|
||||
bufferTime: 0,
|
||||
// delay: "Inherit",
|
||||
// spawnInterval: "Inherit",
|
||||
isUsed: false,
|
||||
},
|
||||
],
|
||||
@@ -195,7 +190,6 @@ export class pointService {
|
||||
} else if (type === "Vehicle") {
|
||||
console.log("vehcile data");
|
||||
const baseData = {
|
||||
// modelfileID: "67e3da19c2e8f37134526e6a",
|
||||
modelfileID: "a1ee92554935007b10b3eb05",
|
||||
type: "Vehicle",
|
||||
};
|
||||
@@ -231,7 +225,6 @@ export class pointService {
|
||||
} else if (type === "ArmBot") {
|
||||
console.log("ArmBot data");
|
||||
const baseData = {
|
||||
// modelfileID: "67eb7904c2e8f37134527eae",
|
||||
modelfileID: "52e6681fbb743a890d96c914",
|
||||
type: "ArmBot",
|
||||
};
|
||||
@@ -269,7 +262,6 @@ export class pointService {
|
||||
} else if (type === "StaticMachine") {
|
||||
console.log("StaticMachine data");
|
||||
const baseData = {
|
||||
// modelfileID: "67e3db5ac2e8f37134526f40",
|
||||
modelfileID: "ca164ffdfa74f6622536bb0f",
|
||||
type: "StaticMachine",
|
||||
};
|
||||
|
||||
@@ -1,80 +1,90 @@
|
||||
import { Request, Response } from "express";
|
||||
import wallItenmModel from "../../../shared/model/assets/wallitems-Model.ts";
|
||||
|
||||
export class WallItems {
|
||||
static async setWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const {
|
||||
modelUuid,
|
||||
modelName,
|
||||
position,
|
||||
type,
|
||||
csgposition,
|
||||
csgscale,
|
||||
quaternion,
|
||||
scale,
|
||||
organization,
|
||||
} = req.body;
|
||||
|
||||
export class wallItems {
|
||||
static async setWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { modelUuid, modelName, position, type, csgposition,csgscale,quaternion,scale,organization } = req.body
|
||||
|
||||
const findvalue = await wallItenmModel(organization).findOne({
|
||||
modelUuid: modelUuid,
|
||||
});
|
||||
|
||||
const findvalue = await wallItenmModel(organization).findOne({ modelUuid: modelUuid})
|
||||
|
||||
if (findvalue) {
|
||||
const updatevalue = await wallItenmModel(organization).findOneAndUpdate(
|
||||
{ modelUuid: modelUuid },
|
||||
{
|
||||
modelName,
|
||||
position,
|
||||
type,
|
||||
csgposition,
|
||||
csgscale,
|
||||
quaternion,
|
||||
scale,
|
||||
},
|
||||
{ new: true } // Return the updated document
|
||||
);
|
||||
res.status(201).json(updatevalue);
|
||||
|
||||
if (findvalue) {
|
||||
const updatevalue = await wallItenmModel(organization).findOneAndUpdate(
|
||||
{ modelUuid: modelUuid },
|
||||
{
|
||||
modelName,
|
||||
position,
|
||||
type,
|
||||
csgposition,
|
||||
csgscale,
|
||||
quaternion,
|
||||
scale,
|
||||
},
|
||||
{ new: true }
|
||||
);
|
||||
res.status(201).json(updatevalue);
|
||||
} else {
|
||||
const newValue = await wallItenmModel(organization).create({
|
||||
modelUuid,
|
||||
modelName,
|
||||
position,
|
||||
type,
|
||||
csgposition,
|
||||
csgscale,
|
||||
quaternion,
|
||||
scale,
|
||||
});
|
||||
|
||||
} else {
|
||||
const newValue = await wallItenmModel(organization).create({ modelUuid,modelName, position, type, csgposition,csgscale,quaternion,scale });
|
||||
|
||||
|
||||
res.status(201).json(newValue);
|
||||
|
||||
}
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error creating wallitems:', error);
|
||||
res.status(500).json({ message: "Failed to create wallitems" });
|
||||
}
|
||||
res.status(201).json(newValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error creating wallitems:", error);
|
||||
res.status(500).json({ message: "Failed to create wallitems" });
|
||||
}
|
||||
static async getWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
}
|
||||
static async getWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
const findValue = await wallItenmModel
|
||||
(organization).find()
|
||||
if (!findValue) {
|
||||
res.status(200).json("wallitems not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error get wallitems:', error);
|
||||
res.status(500).json({ error: "Failed to get wallitems" });
|
||||
}
|
||||
const findValue = await wallItenmModel(organization).find();
|
||||
if (!findValue) {
|
||||
res.status(200).json("wallitems not found");
|
||||
} else {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get wallitems:", error);
|
||||
res.status(500).json({ error: "Failed to get wallitems" });
|
||||
}
|
||||
static async deleteWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { modelUuid,modelName,organization } = req.body;
|
||||
|
||||
}
|
||||
static async deleteWallItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { modelUuid, modelName, organization } = req.body;
|
||||
|
||||
const findValue = await wallItenmModel
|
||||
(organization).findOneAndDelete({modelUuid:modelUuid,modelName:modelName})
|
||||
if (!findValue) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error get wallitems:', error);
|
||||
res.status(500).json({ error: "Failed to get wallitems" });
|
||||
}
|
||||
const findValue = await wallItenmModel(organization).findOneAndDelete({
|
||||
modelUuid: modelUuid,
|
||||
modelName: modelName,
|
||||
});
|
||||
if (!findValue) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get wallitems:", error);
|
||||
res.status(500).json({ error: "Failed to get wallitems" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,88 +2,91 @@ import { Request, Response } from "express";
|
||||
import cameraModel from "../../../shared/model/camera/camera-Model.ts";
|
||||
import userModel from "../../../shared/model/user-Model.ts";
|
||||
|
||||
export class camera {
|
||||
static async createCamera(req: Request, res: Response) {
|
||||
try {
|
||||
const { userId, position, target, rotation,organization } = req.body
|
||||
|
||||
export class Camera {
|
||||
static async createCamera(req: Request, res: Response) {
|
||||
try {
|
||||
const { userId, position, target, rotation, organization } = req.body;
|
||||
|
||||
const findCamera = await cameraModel(organization).findOne({ userId: userId })
|
||||
|
||||
if (findCamera) {
|
||||
const updateCamera = await cameraModel(organization).findOneAndUpdate(
|
||||
{ userId: userId }, { position: position, target: target,rotation:rotation }, { new: true });
|
||||
res.status(201).json(updateCamera);
|
||||
const findCamera = await cameraModel(organization).findOne({
|
||||
userId: userId,
|
||||
});
|
||||
|
||||
} else {
|
||||
const newCamera = await cameraModel(organization).create({ userId, position, target,rotation });
|
||||
|
||||
res.status(201).json(newCamera);
|
||||
|
||||
}
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error creating camera:', error);
|
||||
res.status(500).json({message:"Failed to create camera"});
|
||||
}
|
||||
}
|
||||
static async getCamera(req: Request, res: Response) {
|
||||
try {
|
||||
const { userId, organization } = req.params;
|
||||
|
||||
// if (!userId) {
|
||||
// res.status(201).json("User data is insufficient");
|
||||
// }
|
||||
const findCamera = await cameraModel(organization).findOne({ userId: userId })
|
||||
if (!findCamera) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findCamera);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error get camera:', error);
|
||||
res.status(500).json({ error: "Failed to get camera" });
|
||||
}
|
||||
}
|
||||
|
||||
static async onlineActiveDatas(req: Request, res: Response) {
|
||||
const {organization } = req.params;
|
||||
try {
|
||||
const findactiveUsers = await userModel(organization).find({activeStatus:"online"})
|
||||
|
||||
|
||||
const cameraDataPromises = findactiveUsers.map(async (activeUser:any) => {
|
||||
const cameraData = await cameraModel(organization)
|
||||
.findOne({ userId: activeUser._id })
|
||||
.select("position target rotation -_id");
|
||||
|
||||
if (cameraData) {
|
||||
return {
|
||||
position: cameraData.position,
|
||||
target: cameraData.target,
|
||||
rotation:cameraData.rotation,
|
||||
userData: {
|
||||
_id: activeUser._id,
|
||||
userName: activeUser.userName,
|
||||
email: activeUser.email,
|
||||
activeStatus: activeUser.activeStatus,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
// Return null if no camera data is found for the user
|
||||
return null;
|
||||
if (findCamera) {
|
||||
const updateCamera = await cameraModel(organization).findOneAndUpdate(
|
||||
{ userId: userId },
|
||||
{ position: position, target: target, rotation: rotation },
|
||||
{ new: true }
|
||||
);
|
||||
res.status(201).json(updateCamera);
|
||||
} else {
|
||||
const newCamera = await cameraModel(organization).create({
|
||||
userId,
|
||||
position,
|
||||
target,
|
||||
rotation,
|
||||
});
|
||||
|
||||
const cameraDatas = (await Promise.all(cameraDataPromises)).filter((singledata:any) => singledata !== null);
|
||||
|
||||
|
||||
res.status(200).send({ cameraDatas });
|
||||
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
res.status(201).json(newCamera);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error creating camera:", error);
|
||||
res.status(500).json({ message: "Failed to create camera" });
|
||||
}
|
||||
}
|
||||
static async getCamera(req: Request, res: Response) {
|
||||
try {
|
||||
const { userId, organization } = req.params;
|
||||
const findCamera = await cameraModel(organization).findOne({
|
||||
userId: userId,
|
||||
});
|
||||
if (!findCamera) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
res.status(201).json(findCamera);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get camera:", error);
|
||||
res.status(500).json({ error: "Failed to get camera" });
|
||||
}
|
||||
}
|
||||
|
||||
static async onlineActiveDatas(req: Request, res: Response) {
|
||||
const { organization } = req.params;
|
||||
try {
|
||||
const findactiveUsers = await userModel(organization).find({
|
||||
activeStatus: "online",
|
||||
});
|
||||
|
||||
const cameraDataPromises = findactiveUsers.map(
|
||||
async (activeUser: any) => {
|
||||
const cameraData = await cameraModel(organization)
|
||||
.findOne({ userId: activeUser._id })
|
||||
.select("position target rotation -_id");
|
||||
|
||||
if (cameraData) {
|
||||
return {
|
||||
position: cameraData.position,
|
||||
target: cameraData.target,
|
||||
rotation: cameraData.rotation,
|
||||
userData: {
|
||||
_id: activeUser._id,
|
||||
userName: activeUser.userName,
|
||||
email: activeUser.email,
|
||||
activeStatus: activeUser.activeStatus,
|
||||
},
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
);
|
||||
|
||||
const cameraDatas = (await Promise.all(cameraDataPromises)).filter(
|
||||
(singledata: any) => singledata !== null
|
||||
);
|
||||
|
||||
res.status(200).send({ cameraDatas });
|
||||
} catch (error: any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Response } from "express";
|
||||
import environmentModel from "../../../shared/model/environments/environments-Model.ts";
|
||||
|
||||
export class environment {
|
||||
export class Environment {
|
||||
static async setEnvironment(req: Request, res: Response) {
|
||||
try {
|
||||
const {
|
||||
@@ -46,7 +46,6 @@ export class environment {
|
||||
res.status(201).json(newValue);
|
||||
}
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error("Error creating environments:", error);
|
||||
res.status(500).json({ message: "Failed to create environments" });
|
||||
|
||||
@@ -1,125 +1,111 @@
|
||||
import { Request, Response } from "express";
|
||||
import lineModel from "../../../shared/model/lines/lines-Model.ts";
|
||||
|
||||
export class lines {
|
||||
static async setLines(req: Request, res: Response) {
|
||||
try {
|
||||
const {organization,layer,line,type}=req.body
|
||||
const newLine = await lineModel(organization).create({ layer,line,type });
|
||||
|
||||
|
||||
res.status(201).json(newLine);
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error creating Lines:', error);
|
||||
res.status(500).json({message:"Failed to create Lines"});
|
||||
}
|
||||
export class Lines {
|
||||
static async setLines(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, layer, line, type } = req.body;
|
||||
const newLine = await lineModel(organization).create({
|
||||
layer,
|
||||
line,
|
||||
type,
|
||||
});
|
||||
|
||||
res.status(201).json(newLine);
|
||||
} catch (error) {
|
||||
console.error("Error creating Lines:", error);
|
||||
res.status(500).json({ message: "Failed to create Lines" });
|
||||
}
|
||||
static async updateLines(req: Request, res: Response) {
|
||||
try {
|
||||
const {organization,uuid,position,}=req.body
|
||||
// const findLine = await lineModel(organization).find({ 'line.uuid': uuid });
|
||||
// Update the position of the line matching the uuid
|
||||
}
|
||||
static async updateLines(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, uuid, position } = req.body;
|
||||
const updateResult = await lineModel(organization).updateMany(
|
||||
{ "line.uuid": uuid },
|
||||
{ $set: { "line.$.position": position } }
|
||||
);
|
||||
|
||||
res.status(201).json(updateResult);
|
||||
} catch (error) {
|
||||
console.error("Error creating Lines:", error);
|
||||
res.status(500).json({ message: "Failed to create Lines" });
|
||||
}
|
||||
}
|
||||
static async getLines(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
const findValue = await lineModel(organization).find();
|
||||
if (!findValue) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error get Lines:", error);
|
||||
res.status(500).json({ error: "Failed to get Lines" });
|
||||
}
|
||||
}
|
||||
static async deleteLineItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, line } = req.body;
|
||||
|
||||
const inputUuids = line.map((item: any) => item.uuid);
|
||||
|
||||
const findValue = await lineModel(organization).findOneAndDelete({
|
||||
"line.uuid": { $all: inputUuids },
|
||||
});
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error delete Lines:", error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
}
|
||||
static async deleteLinPoiteItems(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, uuid } = req.body;
|
||||
|
||||
const findValue = await lineModel(organization).deleteMany({
|
||||
"line.uuid": uuid,
|
||||
});
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error delete Lines:", error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
}
|
||||
|
||||
static async deleteLayer(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, layer } = req.body;
|
||||
|
||||
const findValue = await lineModel(organization).find({ layer: layer });
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
await lineModel(organization).deleteMany({ layer: layer });
|
||||
|
||||
const updateResult = await lineModel(organization).updateMany(
|
||||
{ 'line.uuid': uuid }, // Filter: Find the line with the given uuid
|
||||
{ $set: { 'line.$.position': position } } // Update the position and type
|
||||
{ layer: { $gt: layer } },
|
||||
{ $inc: { layer: -1 } }
|
||||
);
|
||||
|
||||
res.status(201).json(updateResult);
|
||||
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error creating Lines:', error);
|
||||
res.status(500).json({message:"Failed to create Lines"});
|
||||
}
|
||||
}
|
||||
static async getLines(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
|
||||
const findValue = await lineModel(organization).find()
|
||||
if (!findValue) {
|
||||
res.status(200).json("user not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error get Lines:', error);
|
||||
res.status(500).json({ error: "Failed to get Lines" });
|
||||
}
|
||||
}
|
||||
static async deleteLineItems(req: Request, res: Response) {
|
||||
try {
|
||||
const {organization,layer,line,type}=req.body
|
||||
|
||||
const inputUuids = line.map((item: any) => item.uuid);
|
||||
|
||||
|
||||
// const findValue = await lineModel(organization).findOneAndDelete({
|
||||
|
||||
// line: { $elemMatch: { uuid: { $in: inputUuids } } },
|
||||
// });
|
||||
const findValue = await lineModel(organization).findOneAndDelete({
|
||||
"line.uuid": { $all: inputUuids } // Ensure all UUIDs are present in the `line` key
|
||||
});
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error delete Lines:', error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
}
|
||||
static async deleteLinPoiteItems(req: Request, res: Response) {
|
||||
try {
|
||||
const {organization,layer,uuid,type}=req.body
|
||||
|
||||
const findValue = await lineModel(organization).deleteMany({ 'line.uuid': uuid })
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
|
||||
res.status(201).json(findValue);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error delete Lines:', error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
}
|
||||
|
||||
static async deleteLayer(req: Request, res: Response) {
|
||||
try {
|
||||
const {organization,layer}=req.body
|
||||
|
||||
// Fetch the documents with the specified layer value
|
||||
const findValue = await lineModel(organization).find({ layer: layer });
|
||||
|
||||
if (!findValue) {
|
||||
res.status(200).json("data not found");
|
||||
} else {
|
||||
await lineModel(organization).deleteMany({ layer: layer });
|
||||
// console.log(`Documents with layer ${layer} have been deleted.`);
|
||||
|
||||
// Update documents with layer greater than -1
|
||||
const updateResult = await lineModel(organization).updateMany(
|
||||
{ layer: { $gt:layer} },
|
||||
{ $inc: { layer: -1 } } // Example operation: decrementing layer by 1
|
||||
);
|
||||
|
||||
|
||||
res.status(201).json(updateResult);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error delete Lines:', error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
|
||||
res.status(201).json(updateResult);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error delete Lines:", error);
|
||||
res.status(500).json({ error: "Failed to delete Lines" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,88 +1,121 @@
|
||||
import { Request, Response } from "express";
|
||||
import zoneModel from "../../../shared/model/lines/zone-Model.ts";
|
||||
export class zone {
|
||||
static async setZone(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, userId, zoneData } = req.body
|
||||
// console.log('req.body: ', req.body);
|
||||
const zoneId = zoneData.zoneId
|
||||
const points = zoneData.points
|
||||
const zoneName = zoneData.zoneName
|
||||
const layer = zoneData.layer
|
||||
const viewPortCenter = zoneData.viewPortCenter
|
||||
const viewPortposition = zoneData.viewPortposition
|
||||
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
|
||||
if (findZoneId) {
|
||||
const updateZone = await zoneModel(organization).findOneAndUpdate(
|
||||
{ zoneId: zoneId }, { points: points, viewPortposition: viewPortposition, viewPortCenter: viewPortCenter }, { new: true }
|
||||
).select("-_id -__v")
|
||||
res.status(201).json({ message: 'zone updated', data: updateZone, organization: organization })
|
||||
} else {
|
||||
const zoneCreate = await zoneModel(organization).create({
|
||||
zoneId, createBy: userId, zoneName: zoneName, points, layer, viewPortCenter, viewPortposition
|
||||
})
|
||||
const createdZone = await zoneModel(organization)
|
||||
.findById(zoneCreate._id)
|
||||
.select('-_id -__v')
|
||||
.lean();
|
||||
res.status(201).json({ message: 'zone created', data: createdZone, organization: organization })
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('error: ', error);
|
||||
res.status(500).json({ message: 'Zone not found', error })
|
||||
}
|
||||
}
|
||||
static async deleteZone(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, userId, zoneId } = req.body
|
||||
|
||||
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
|
||||
if (findZoneId) {
|
||||
const deleteZone = await zoneModel(organization).findOneAndDelete(
|
||||
{ zoneId: zoneId, createBy: userId }
|
||||
).select("-_id -__v")
|
||||
res.status(201).json({ message: 'zone deleted', data: deleteZone, organization: organization })
|
||||
} else {
|
||||
|
||||
res.status(500).json({ message: 'Invalid zone ID' })
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('error: ', error);
|
||||
res.status(500).json({ message: 'Zone not found', error })
|
||||
}
|
||||
}
|
||||
static async getZones(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, userId } = req.params
|
||||
|
||||
|
||||
const findZoneId = await zoneModel(organization)
|
||||
.find()
|
||||
.select("zoneId zoneName layer points viewPortCenter viewPortposition -_id");
|
||||
|
||||
if (!findZoneId) {
|
||||
res.status(500).json({ message: 'Invalid zone' })
|
||||
|
||||
}
|
||||
res.status(201).json({ data: findZoneId, organization: organization })
|
||||
} catch (error) {
|
||||
console.log('error: ', error);
|
||||
res.status(500).json({ message: 'Zone not found', error })
|
||||
}
|
||||
}
|
||||
|
||||
static async ZoneData(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const organization = req.params.organization;
|
||||
const zoneId = req.params.zoneId;
|
||||
const findZone = await zoneModel(organization)
|
||||
.findOne({ zoneId: zoneId })
|
||||
// .select("zoneName");
|
||||
console.log("findZone: ", findZone);
|
||||
if (findZone) return res.status(200).json(findZone);
|
||||
} catch (error: any) {
|
||||
return res.status(500).send(error.message);
|
||||
}
|
||||
export class Zone {
|
||||
static async setZone(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, userId, zoneData } = req.body;
|
||||
const zoneId = zoneData.zoneId;
|
||||
const points = zoneData.points;
|
||||
const zoneName = zoneData.zoneName;
|
||||
const layer = zoneData.layer;
|
||||
const viewPortCenter = zoneData.viewPortCenter;
|
||||
const viewPortposition = zoneData.viewPortposition;
|
||||
const findZoneId = await zoneModel(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
});
|
||||
if (findZoneId) {
|
||||
const updateZone = await zoneModel(organization)
|
||||
.findOneAndUpdate(
|
||||
{ zoneId: zoneId },
|
||||
{
|
||||
points: points,
|
||||
viewPortposition: viewPortposition,
|
||||
viewPortCenter: viewPortCenter,
|
||||
},
|
||||
{ new: true }
|
||||
)
|
||||
.select("-_id -__v");
|
||||
res
|
||||
.status(201)
|
||||
.json({
|
||||
message: "zone updated",
|
||||
data: updateZone,
|
||||
organization: organization,
|
||||
});
|
||||
} else {
|
||||
const zoneCreate = await zoneModel(organization).create({
|
||||
zoneId,
|
||||
createBy: userId,
|
||||
zoneName: zoneName,
|
||||
points,
|
||||
layer,
|
||||
viewPortCenter,
|
||||
viewPortposition,
|
||||
});
|
||||
const createdZone = await zoneModel(organization)
|
||||
.findById(zoneCreate._id)
|
||||
.select("-_id -__v")
|
||||
.lean();
|
||||
res
|
||||
.status(201)
|
||||
.json({
|
||||
message: "zone created",
|
||||
data: createdZone,
|
||||
organization: organization,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.log("error: ", error);
|
||||
res.status(500).json({ message: "Zone not found", error });
|
||||
}
|
||||
}
|
||||
static async deleteZone(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization, userId, zoneId } = req.body;
|
||||
|
||||
const findZoneId = await zoneModel(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
});
|
||||
if (findZoneId) {
|
||||
const deleteZone = await zoneModel(organization)
|
||||
.findOneAndDelete({ zoneId: zoneId, createBy: userId })
|
||||
.select("-_id -__v");
|
||||
res
|
||||
.status(201)
|
||||
.json({
|
||||
message: "zone deleted",
|
||||
data: deleteZone,
|
||||
organization: organization,
|
||||
});
|
||||
} else {
|
||||
res.status(500).json({ message: "Invalid zone ID" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.log("error: ", error);
|
||||
res.status(500).json({ message: "Zone not found", error });
|
||||
}
|
||||
}
|
||||
static async getZones(req: Request, res: Response) {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
const findZoneId = await zoneModel(organization)
|
||||
.find()
|
||||
.select(
|
||||
"zoneId zoneName layer points viewPortCenter viewPortposition -_id"
|
||||
);
|
||||
|
||||
if (!findZoneId) {
|
||||
res.status(500).json({ message: "Invalid zone" });
|
||||
}
|
||||
res.status(201).json({ data: findZoneId, organization: organization });
|
||||
} catch (error) {
|
||||
console.log("error: ", error);
|
||||
res.status(500).json({ message: "Zone not found", error });
|
||||
}
|
||||
}
|
||||
|
||||
static async ZoneData(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const organization = req.params.organization;
|
||||
const zoneId = req.params.zoneId;
|
||||
const findZone = await zoneModel(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
});
|
||||
console.log("findZone: ", findZone);
|
||||
if (findZone) return res.status(200).json(findZone);
|
||||
} catch (error: any) {
|
||||
return res.status(500).send(error.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Request, Response } from "express";
|
||||
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
|
||||
import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
|
||||
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
|
||||
export class Zoneservice {
|
||||
export class ZoneService {
|
||||
static async addandUpdateZone(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const organization = req.body.organization;
|
||||
@@ -33,13 +33,6 @@ export class Zoneservice {
|
||||
},
|
||||
});
|
||||
} else {
|
||||
// const existingZoneName = await zoneSchema(organization).find({
|
||||
// zoneName: zoneDatas.zoneName,
|
||||
// isArchive: false,
|
||||
// });
|
||||
// if (existingZoneName.length > 0) {
|
||||
// return res.json({ message: "Zone name already exists" });
|
||||
// }
|
||||
const replaceZone = await zoneSchema(organization).findOneAndUpdate(
|
||||
{ zoneId: zoneDatas.zoneId, isArchive: false },
|
||||
{
|
||||
@@ -96,7 +89,6 @@ export class Zoneservice {
|
||||
}
|
||||
}
|
||||
|
||||
//single zode panel and widget data
|
||||
static async singleZonePanelDatas(req: Request, res: Response): Promise<any> {
|
||||
const organization = req.query.organization;
|
||||
const zoneId = req.params.zoneId;
|
||||
@@ -157,7 +149,6 @@ export class Zoneservice {
|
||||
}
|
||||
}
|
||||
|
||||
//page full zone Datas with panel and widget
|
||||
static async vizAllDatas(req: Request, res: Response): Promise<any> {
|
||||
const organization = req.query.organization;
|
||||
try {
|
||||
@@ -173,13 +164,11 @@ export class Zoneservice {
|
||||
} else {
|
||||
const response = await Promise.all(
|
||||
existingZones.map(async (zone) => {
|
||||
// Fetch all panels associated with the current zone
|
||||
const panelData = await panelSchema(organization).find({
|
||||
zoneId: zone._id,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
// Fetch widgets for each panel
|
||||
const widgets = await Promise.all(
|
||||
panelData.map(async (panel) => {
|
||||
const widgetDataArray = await widgetSchema(organization).find({
|
||||
@@ -218,7 +207,6 @@ export class Zoneservice {
|
||||
}
|
||||
}
|
||||
|
||||
//only for the name and zoneID
|
||||
static async allZones(req: Request, res: Response): Promise<any> {
|
||||
const organization = req.query.organization;
|
||||
const sceneID = req.params.sceneID || "scene123";
|
||||
@@ -244,7 +232,7 @@ export class Zoneservice {
|
||||
const findZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
});
|
||||
// .select("zoneName");
|
||||
|
||||
if (findZone) return res.status(200).json(findZone);
|
||||
} catch (error: any) {
|
||||
return res.status(500).send(error.message);
|
||||
@@ -284,21 +272,4 @@ export class Zoneservice {
|
||||
return res.status(500).send(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
// static async zoneIdgenerate(req: Request, res: Response): Promise<any> {
|
||||
// const organization = req.query.organization;
|
||||
// const sceneID = req.params.sceneID;
|
||||
// try {
|
||||
// const Allzones = await zoneSchema(organization)
|
||||
// .find({ sceneID: sceneID, isArchive: false })
|
||||
// .select("zoneName sceneID zoneId");
|
||||
|
||||
// if (!Allzones || Allzones.length === 0) {
|
||||
// return res.send({ message: "Zone not found for the UUID" });
|
||||
// }
|
||||
// return res.send(Allzones);
|
||||
// } catch (error: any) {
|
||||
// return res.status(500).send(error.message);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import { createProject } from "../../../shared/services/project/project-Serivice
|
||||
export const createProjectController = async (req: Request, res: Response): Promise<void> => {
|
||||
try {
|
||||
const result = await createProject(req.body);
|
||||
console.log("result:", result);
|
||||
|
||||
switch (result.status) {
|
||||
case "project_exists":
|
||||
|
||||
@@ -1,43 +1,44 @@
|
||||
import { Request, Response } from "express";
|
||||
import userModel from "../../../shared/model/user-Model.ts";
|
||||
|
||||
export class Share {
|
||||
static async shareUser(req: Request, res: Response) {
|
||||
try {
|
||||
const { email, isShare, organization } = req.body;
|
||||
|
||||
export class share {
|
||||
static async shareUser(req: Request, res: Response) {
|
||||
try {
|
||||
const { email, isShare, organization } = req.body
|
||||
|
||||
const findValue = await userModel(organization).findOneAndUpdate(
|
||||
{ email: email },
|
||||
{ isShare: isShare },
|
||||
{ new: true }
|
||||
);
|
||||
|
||||
const findValue = await userModel(organization).findOneAndUpdate({email:email},{isShare:isShare},{new:true})
|
||||
|
||||
res.status(201).json({message:"scene shared successfully",data:findValue});
|
||||
if (!findValue) {
|
||||
res.status(404).json({message:"Not found"})
|
||||
}
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error creating Share:', error);
|
||||
res.status(500).json({message:"Failed to create Share"});
|
||||
}
|
||||
res
|
||||
.status(201)
|
||||
.json({ message: "scene shared successfully", data: findValue });
|
||||
if (!findValue) {
|
||||
res.status(404).json({ message: "Not found" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error creating Share:", error);
|
||||
res.status(500).json({ message: "Failed to create Share" });
|
||||
}
|
||||
|
||||
static async findshareUser(req: Request, res: Response) {
|
||||
try {
|
||||
const organization = req.query.organization as string;
|
||||
|
||||
|
||||
const findValue = await userModel(organization).find({}).select("isShare email userName -_id")
|
||||
// console.log('findValue: ', findValue);
|
||||
|
||||
res.status(201).json({message:"scene shared datas",data:findValue});
|
||||
if (!findValue) {
|
||||
res.status(404).json({message:"Not found"})
|
||||
}
|
||||
// Send response with the created document
|
||||
} catch (error) {
|
||||
console.error('Error Share:', error);
|
||||
res.status(500).json({message:"Failed to Share datas "});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static async findshareUser(req: Request, res: Response) {
|
||||
try {
|
||||
const organization = req.query.organization as string;
|
||||
|
||||
const findValue = await userModel(organization)
|
||||
.find({})
|
||||
.select("isShare email userName -_id");
|
||||
|
||||
res.status(201).json({ message: "scene shared datas", data: findValue });
|
||||
if (!findValue) {
|
||||
res.status(404).json({ message: "Not found" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error Share:", error);
|
||||
res.status(500).json({ message: "Failed to Share datas " });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,182 +1,9 @@
|
||||
import { Request, Response } from "express";
|
||||
import assetModel from "../../../shared/model/builder/assets/asset-Model.ts";
|
||||
import actionModel from "../../../shared/model/simulation/actionmodel.ts";
|
||||
import triggerModel from "../../../shared/model/simulation/triggersmodel.ts";
|
||||
import pointModel from "../../../shared/model/builder/assets/assetPoint-Model.ts";
|
||||
import EventsDataModel from "../../../shared/model/simulation/eventsDataModel.ts";
|
||||
|
||||
export class assetsFloorservice {
|
||||
// static async setFloorassets(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const {
|
||||
// modelUuid,
|
||||
// modelName,
|
||||
// position,
|
||||
// modelfileID,
|
||||
// rotation,
|
||||
// isLocked,
|
||||
// isVisible,
|
||||
// organization,
|
||||
// eventData,
|
||||
// } = req.body;
|
||||
// console.log("req.body: ", req.body);
|
||||
|
||||
// const findvalue = await assetModel(organization).findOne({
|
||||
// modelUuid,
|
||||
// // modelName,
|
||||
// isArchive: false,
|
||||
// });
|
||||
// const checkpointType = await pointModel(organization).findOne({
|
||||
// modelfileID: modelfileID,
|
||||
// isArchive: false,
|
||||
// });
|
||||
|
||||
// if (findvalue) {
|
||||
// const updatevalue = await assetModel(organization).findOneAndUpdate(
|
||||
// { modelUuid, isArchive: false },
|
||||
// {
|
||||
// modelName: modelName,
|
||||
// position,
|
||||
// rotation,
|
||||
// isVisible,
|
||||
// isLocked,
|
||||
// },
|
||||
// { new: true }
|
||||
// );
|
||||
// return res.status(201).json(updatevalue);
|
||||
// } else {
|
||||
// let assetData: any = {
|
||||
// modelUuid,
|
||||
// modelName,
|
||||
// position,
|
||||
// modelfileID,
|
||||
// rotation,
|
||||
// isLocked,
|
||||
// isVisible,
|
||||
// };
|
||||
|
||||
// console.log("eventData: ", eventData);
|
||||
// if (eventData) {
|
||||
// if (eventData.type === "Conveyor") {
|
||||
// assetData.speed = eventData.speed;
|
||||
// } else if (eventData.type === "Vehicle") {
|
||||
// assetData.speed = eventData.points.speed;
|
||||
// if (!eventData.points) {
|
||||
// return res
|
||||
// .status(400)
|
||||
// .json({ message: "Vehicle points must be a single object" });
|
||||
// }
|
||||
// // if (eventData.points.rotation) {
|
||||
// // return res.status(400).json({
|
||||
// // message: "Rotation is not allowed for Vehicle points",
|
||||
// // });
|
||||
// // }
|
||||
|
||||
// if (eventData.points.triggers) {
|
||||
// return res.status(400).json({
|
||||
// message: "triggers is not allowed for Vehicle points",
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// // else if(eventData.type === "ArmBot"){
|
||||
// // assetData.speed = eventData.position;
|
||||
// // }else if(eventData.type === "StaticMachine"){
|
||||
// // assetData.speed = eventData.position;
|
||||
// // }
|
||||
|
||||
// assetData.points = eventData.points;
|
||||
// assetData.type = eventData.type;
|
||||
// }
|
||||
// const assetDoc = await assetModel(organization).create(assetData);
|
||||
// await assetDoc.save();
|
||||
|
||||
// return res.status(201).json({
|
||||
// message: "Model stored successfully",
|
||||
// modelId: assetDoc._id,
|
||||
// });
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.error("Error creating flooritems:", error);
|
||||
// res.status(500).json({ message: "Failed to create flooritems" });
|
||||
// }
|
||||
// }
|
||||
// static async getFloorItems(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const { organization } = req.params;
|
||||
// const findValues = await assetModel(organization)
|
||||
// .find({ isArchive: false })
|
||||
// .select("-_id -isArchive");
|
||||
|
||||
// if (!findValues || findValues.length === 0) {
|
||||
// return res.status(200).json({ message: "floorItems not found" });
|
||||
// }
|
||||
|
||||
// const response = findValues.map((item) => {
|
||||
// // console.log("item: ", item);
|
||||
// // console.log("item: ", item.type);
|
||||
// // console.log('findValues: ', findValues);
|
||||
// // console.log("item.points: ", item.points);
|
||||
// const responseItem: any = {
|
||||
// modelUuid: item.modelUuid,
|
||||
// modelName: item.modelName,
|
||||
// position: item.position,
|
||||
// rotation: item.rotation,
|
||||
// modelfileID: item.modelfileID,
|
||||
// isLocked: item.isLocked,
|
||||
// isVisible: item.isVisible,
|
||||
// };
|
||||
// if (item.type === "Conveyor" && item.points.length > 0) {
|
||||
// responseItem.eventData = {
|
||||
// speed: item.speed,
|
||||
// points: item.points,
|
||||
// type: item.type,
|
||||
// };
|
||||
// }
|
||||
|
||||
// if (item.type === "Vehicle" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
// if (item.type === "ArmBot" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
// if (item.type === "StaticMachine" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
// return responseItem;
|
||||
// });
|
||||
|
||||
// return res.status(200).json(response);
|
||||
// } catch (error) {
|
||||
// res.status(500).json({ error: "Failed to get flooritems" });
|
||||
// }
|
||||
// }
|
||||
// static async deleteFloorItems(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const { modelUuid, modelName, organization } = req.body;
|
||||
|
||||
// const findValue = await assetModel(organization).findOneAndDelete({
|
||||
// modelUuid: modelUuid,
|
||||
// modelName: modelName,
|
||||
// isArchive: false,
|
||||
// });
|
||||
// if (!findValue) {
|
||||
// res.status(200).json("user not found");
|
||||
// } else {
|
||||
// res.status(201).json(findValue);
|
||||
// }
|
||||
// } catch (error) {
|
||||
// res.status(500).json({ error: "Failed to get flooritems" });
|
||||
// }
|
||||
// }
|
||||
export class AssetsFloorService {
|
||||
static async updateAssetPositionRotation(
|
||||
req: Request,
|
||||
res: Response
|
||||
@@ -186,12 +13,10 @@ export class assetsFloorservice {
|
||||
modelUuid,
|
||||
modelName,
|
||||
position,
|
||||
modelfileID,
|
||||
rotation,
|
||||
isLocked,
|
||||
isVisible,
|
||||
organization,
|
||||
// eventData, // Optional
|
||||
} = req.body;
|
||||
|
||||
const existingAsset = await assetModel(organization).findOne({
|
||||
@@ -244,7 +69,7 @@ export class assetsFloorservice {
|
||||
return res.status(500).send(error.message);
|
||||
}
|
||||
}
|
||||
//update setfoolrassets//getFloorItems//deleteFloorItems.........
|
||||
|
||||
static async setFloorassets(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const {
|
||||
@@ -258,14 +83,12 @@ export class assetsFloorservice {
|
||||
organization,
|
||||
eventData,
|
||||
} = req.body;
|
||||
console.log("req.body: ", req.body);
|
||||
|
||||
const findvalue = await assetModel(organization).findOne({
|
||||
modelUuid,
|
||||
// modelName,
|
||||
isArchive: false,
|
||||
});
|
||||
const checkpointType = await pointModel(organization).findOne({
|
||||
await pointModel(organization).findOne({
|
||||
modelfileID: modelfileID,
|
||||
isArchive: false,
|
||||
});
|
||||
@@ -292,10 +115,9 @@ export class assetsFloorservice {
|
||||
rotation,
|
||||
isLocked,
|
||||
isVisible,
|
||||
eventData
|
||||
eventData,
|
||||
};
|
||||
|
||||
console.log("eventData: ", eventData);
|
||||
if (eventData) {
|
||||
if (eventData.type === "Conveyor") {
|
||||
assetData.speed = eventData.speed;
|
||||
@@ -306,11 +128,6 @@ export class assetsFloorservice {
|
||||
.status(400)
|
||||
.json({ message: "Vehicle points must be a single object" });
|
||||
}
|
||||
// if (eventData.points.rotation) {
|
||||
// return res.status(400).json({
|
||||
// message: "Rotation is not allowed for Vehicle points",
|
||||
// });
|
||||
// }
|
||||
|
||||
if (eventData.points.triggers) {
|
||||
return res.status(400).json({
|
||||
@@ -318,11 +135,6 @@ export class assetsFloorservice {
|
||||
});
|
||||
}
|
||||
}
|
||||
// else if(eventData.type === "ArmBot"){
|
||||
// assetData.speed = eventData.position;
|
||||
// }else if(eventData.type === "StaticMachine"){
|
||||
// assetData.speed = eventData.position;
|
||||
// }
|
||||
|
||||
assetData.points = eventData.points;
|
||||
assetData.type = eventData.type;
|
||||
@@ -352,10 +164,6 @@ export class assetsFloorservice {
|
||||
}
|
||||
|
||||
const response = findValues.map((item) => {
|
||||
// console.log("item: ", item);
|
||||
// console.log("item: ", item.type);
|
||||
// console.log('findValues: ', findValues);
|
||||
// console.log("item.points: ", item.points);
|
||||
const responseItem: any = {
|
||||
modelUuid: item.modelUuid,
|
||||
modelName: item.modelName,
|
||||
@@ -366,36 +174,10 @@ export class assetsFloorservice {
|
||||
isVisible: item.isVisible,
|
||||
eventData: item.eventData,
|
||||
};
|
||||
// if (item.type === "Conveyor" && item.points.length > 0) {
|
||||
// responseItem.eventData = {
|
||||
// speed: item.speed,
|
||||
// points: item.points,
|
||||
// type: item.type,
|
||||
// };
|
||||
// }
|
||||
|
||||
// if (item.type === "Vehicle" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
// if (item.type === "ArmBot" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
// if (item.type === "StaticMachine" && item.points) {
|
||||
// responseItem.eventData = {
|
||||
// type: item.type,
|
||||
// points: item.points,
|
||||
// };
|
||||
// }
|
||||
return responseItem;
|
||||
});
|
||||
|
||||
// console.log('response: ', response);
|
||||
return res.status(200).json(response);
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: "Failed to get flooritems" });
|
||||
@@ -404,36 +186,32 @@ export class assetsFloorservice {
|
||||
static async deleteFloorItems(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { modelUuid, modelName, organization } = req.body;
|
||||
console.log('req.body:', req.body);
|
||||
|
||||
|
||||
const asset = await assetModel(organization).findOne({
|
||||
modelUuid,
|
||||
modelName,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
|
||||
if (!asset) {
|
||||
return res.status(404).json({ message: "Model not found" });
|
||||
}
|
||||
|
||||
|
||||
const archivedAsset = await assetModel(organization).findOneAndUpdate(
|
||||
{ modelUuid, modelName },
|
||||
{ $set: { isArchive: true } },
|
||||
{ new: true }
|
||||
);
|
||||
|
||||
|
||||
if (!archivedAsset) {
|
||||
return res.status(500).json({ message: "Failed to archive asset" });
|
||||
}
|
||||
|
||||
const updatedEvents = await EventsDataModel(organization).updateMany(
|
||||
|
||||
await EventsDataModel(organization).updateMany(
|
||||
{ modelUuid },
|
||||
{ $set: { isArchive: true } }
|
||||
);
|
||||
|
||||
console.log("Archived asset:", archivedAsset);
|
||||
console.log("Updated events:", updatedEvents.modifiedCount);
|
||||
|
||||
|
||||
return res.status(200).json({ message: "delete Asset successfully" });
|
||||
} catch (error) {
|
||||
console.error("Error deleting floor items:", error);
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
// import { Request, Response } from "express";
|
||||
// // import assetModel from "../../../shared/model/assets/flooritems-Model.ts";
|
||||
// import assetModel from "../../../shared/model/builder/assets/asset-Model.ts";
|
||||
// import actionModel from "../../../shared/model/simulation/actionmodel.ts";
|
||||
// import triggerModel from "../../../shared/model/simulation/triggersmodel.ts";
|
||||
// import productFlowModel from "../../../shared/model/simulation/ProductFlowmodel.ts";
|
||||
|
||||
// export class productFlowservice {
|
||||
// static async setproductFlow(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const {
|
||||
// productName,
|
||||
// modelUuid,
|
||||
// modelName,
|
||||
// eventData,
|
||||
// organization,
|
||||
// productID,
|
||||
// } = req.body;
|
||||
|
||||
// // Validate required fields
|
||||
// if (!modelUuid || !modelName || !organization) {
|
||||
// return res.status(400).json({ message: "Missing required fields" });
|
||||
// }
|
||||
|
||||
// // Check if asset exists
|
||||
// const existingAsset = await assetModel(organization).findOne({
|
||||
// modelUuid: modelUuid,
|
||||
// isArchive: false,
|
||||
// });
|
||||
// if (!existingAsset) {
|
||||
// return res.status(404).json({ message: "Asset not found for the ID" });
|
||||
// }
|
||||
|
||||
// // Prepare point references
|
||||
// let pointRefs: any[] = [];
|
||||
// if (eventData?.points && Array.isArray(eventData.points)) {
|
||||
// for (const point of eventData.points) {
|
||||
// let actionRefs: any[] = [];
|
||||
// let triggerRefs: any[] = [];
|
||||
|
||||
// // Process actions
|
||||
// if (Array.isArray(point.actions)) {
|
||||
// for (const action of point.actions) {
|
||||
// const actionDoc = await actionModel(organization).create({
|
||||
// pointsUUID: point.uuid,
|
||||
// isArchive: false,
|
||||
// uuid: action.uuid,
|
||||
// name: action.name,
|
||||
// type: action.type,
|
||||
// material: action.material || null,
|
||||
// delay: action.delay || null,
|
||||
// spawn_Interval: action.spawn_Interval || null,
|
||||
// });
|
||||
// actionRefs.push({
|
||||
// _id: actionDoc._id,
|
||||
// ...action,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Process triggers
|
||||
// if (Array.isArray(point.triggers)) {
|
||||
// for (const trigger of point.triggers) {
|
||||
// const triggerDoc = await triggerModel(organization).create({
|
||||
// pointsUUID: point.uuid,
|
||||
// isArchive: false,
|
||||
// uuid: trigger.uuid,
|
||||
// name: trigger.name,
|
||||
// type: trigger.type,
|
||||
// bufferTime: trigger.bufferTime || null,
|
||||
// });
|
||||
// triggerRefs.push({
|
||||
// _id: triggerDoc._id,
|
||||
// ...trigger,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// pointRefs.push({
|
||||
// pointuuid: point.uuid,
|
||||
// position: point.position || [],
|
||||
// rotation: point.rotation || [],
|
||||
// actions: actionRefs,
|
||||
// triggers: triggerRefs,
|
||||
// connections: point.connections || null,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// // Check if product flow exists
|
||||
// const existingproductData = await productFlowModel(organization).findOne({
|
||||
// _id: productID,
|
||||
// });
|
||||
|
||||
// let result;
|
||||
// if (existingproductData) {
|
||||
// // Update existing product flow
|
||||
// result = await productFlowModel(organization).findOneAndUpdate(
|
||||
// { _id: productID },
|
||||
// {
|
||||
// $push: {
|
||||
// ProductData: {
|
||||
// AssetName: modelName,
|
||||
// Assetuuid: modelUuid,
|
||||
// paths: {
|
||||
// Points: pointRefs,
|
||||
// },
|
||||
// isArchive: false,
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// { new: true }
|
||||
// );
|
||||
// } else {
|
||||
// // Create new product flow
|
||||
// result = await productFlowModel(organization).create({
|
||||
// _id: productID,
|
||||
// productName: productName,
|
||||
// ProductData: [
|
||||
// {
|
||||
// AssetName: modelName,
|
||||
// Assetuuid: modelUuid,
|
||||
// paths: {
|
||||
// Points: pointRefs,
|
||||
// },
|
||||
// isArchive: false,
|
||||
// },
|
||||
// ],
|
||||
// eventType: eventData?.type || null,
|
||||
// speed: eventData?.speed || null,
|
||||
// });
|
||||
// }
|
||||
|
||||
// res.status(201).json({
|
||||
// message: "Product flow processed successfully",
|
||||
// data: result,
|
||||
// });
|
||||
// } catch (error) {
|
||||
// console.error("Error creating flooritems:", error);
|
||||
// res.status(500).json({ message: "Failed to create flooritems" });
|
||||
// }
|
||||
// }
|
||||
// static async pointActionList(req: Request, res: Response): Promise<any> {}
|
||||
// static async productpathsList(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const { organization } = req.params;
|
||||
// const productFlowList = await productFlowModel(organization)
|
||||
// .find()
|
||||
// .select("ProductData productName -_id")
|
||||
// .exec();
|
||||
|
||||
// const formattedData = await Promise.all(
|
||||
// productFlowList.map(async (item) => ({
|
||||
// productName: item.productName,
|
||||
// paths: await Promise.all(
|
||||
// item.ProductData.map(async (data: any) => ({
|
||||
// Points: await Promise.all(
|
||||
// data.paths.Points.map(async (point: any) => {
|
||||
// const actions = await actionModel(organization)
|
||||
// .find({ _id: { $in: point.actions } })
|
||||
// .select(
|
||||
// "-_id -pointsUUID -isArchive -createdAt -updatedAt -__v"
|
||||
// )
|
||||
// .lean();
|
||||
// const triggers = await triggerModel(organization)
|
||||
// .find({ _id: { $in: point.triggers } })
|
||||
// .select(
|
||||
// "-_id -pointsUUID -isArchive -createdAt -updatedAt -__v"
|
||||
// )
|
||||
// .lean();
|
||||
// return {
|
||||
// connections: point.connections || null,
|
||||
// pointuuid: point.pointuuid,
|
||||
// actions: actions,
|
||||
// triggers: triggers,
|
||||
// position: point.position,
|
||||
// rotation: point.rotation,
|
||||
// };
|
||||
// })
|
||||
// ),
|
||||
// }))
|
||||
// ),
|
||||
// }))
|
||||
// );
|
||||
|
||||
// return res.status(200).json(formattedData);
|
||||
// } catch (error) {
|
||||
// console.error("Error get flooritems:", error);
|
||||
// res.status(500).json({ error: "Failed to get flooritems" });
|
||||
// }
|
||||
// }
|
||||
// // static async deleteFloorItems(req: Request, res: Response): Promise<any> {
|
||||
// // try {
|
||||
// // const { modelUuid, modelName, organization } = req.body;
|
||||
|
||||
// // const findValue = await assetModel(organization).findOneAndDelete({
|
||||
// // modelUuid: modelUuid,
|
||||
// // modelName: modelName,
|
||||
// // isArchive: false,
|
||||
// // });
|
||||
// // if (!findValue) {
|
||||
// // res.status(200).json("user not found");
|
||||
// // } else {
|
||||
// // res.status(201).json(findValue);
|
||||
// // }
|
||||
// // } catch (error) {
|
||||
// // console.error("Error get flooritems:", error);
|
||||
// // res.status(500).json({ error: "Failed to get flooritems" });
|
||||
// // }
|
||||
// // }
|
||||
// // static async updateAssetPositionRotation(
|
||||
// // req: Request,
|
||||
// // res: Response
|
||||
// // ): Promise<any> {
|
||||
// // try {
|
||||
// // const {
|
||||
// // modelUuid,
|
||||
// // modelName,
|
||||
// // position,
|
||||
// // modelfileID,
|
||||
// // rotation,
|
||||
// // isLocked,
|
||||
// // isVisible,
|
||||
// // organization,
|
||||
// // // eventData, // Optional
|
||||
// // } = req.body;
|
||||
|
||||
// // const existingAsset = await assetModel(organization).findOne({
|
||||
// // modelUuid: modelUuid,
|
||||
// // isArchive: false,
|
||||
// // });
|
||||
// // if (!existingAsset) return res.send("Asset not found");
|
||||
// // const updateAsset = await assetModel(organization).updateMany(
|
||||
// // { modelUuid: modelUuid, modelName: modelName, isArchive: false },
|
||||
// // {
|
||||
// // position: position,
|
||||
// // rotation: rotation,
|
||||
// // isVisible: isVisible,
|
||||
// // isLocked: isLocked,
|
||||
// // }
|
||||
// // );
|
||||
// // if (updateAsset)
|
||||
// // return res.status(200).json({ message: "Asset updated successfully" });
|
||||
// // } catch (error: any) {
|
||||
// // return res.send(error.message);
|
||||
// // }
|
||||
// // }
|
||||
// // static async updateActionsDatas(req: Request, res: Response) {}
|
||||
// }
|
||||
@@ -2,256 +2,233 @@ import { Request, Response } from "express";
|
||||
import ProductModel from "../../../shared/model/simulation/productModel.ts";
|
||||
import EventsDataModel from "../../../shared/model/simulation/eventsDataModel.ts";
|
||||
|
||||
export class productFlowservice {
|
||||
|
||||
static async productAdd(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productName, productId, eventDatas, organization } = req.body;
|
||||
if (!organization) {
|
||||
return res
|
||||
.json({ message: "organization not found" });
|
||||
export class ProductFlowService {
|
||||
static async productAdd(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productName, productId, eventDatas, organization } = req.body;
|
||||
if (!organization) {
|
||||
return res.json({ message: "organization not found" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
});
|
||||
if (existingProduct) {
|
||||
const existingEventData = await EventsDataModel(organization).findOne({
|
||||
productId: productId,
|
||||
modelUuid: eventDatas.modelUuid,
|
||||
isArchive: false,
|
||||
});
|
||||
if (existingEventData) {
|
||||
await EventsDataModel(organization).findOneAndUpdate(
|
||||
{
|
||||
modelUuid: eventDatas.modelUuid,
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
},
|
||||
{
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points,
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
})
|
||||
if (existingProduct) {
|
||||
const existingEventData = await EventsDataModel(organization).findOne(
|
||||
{
|
||||
productId: productId,
|
||||
modelUuid: eventDatas.modelUuid,
|
||||
isArchive: false,
|
||||
})
|
||||
if (existingEventData) {
|
||||
const updateEventData = await EventsDataModel(organization).findOneAndUpdate(
|
||||
{
|
||||
modelUuid: eventDatas.modelUuid,
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
}
|
||||
, {
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points,
|
||||
})
|
||||
return res
|
||||
.status(200)
|
||||
.json({ message: "EventData updated successfully" });
|
||||
} else {
|
||||
const addEventData = await EventsDataModel(organization).create({
|
||||
productId: productId,
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points
|
||||
})
|
||||
return res
|
||||
.status(201)
|
||||
.json({ message: "EventData add successfully" });
|
||||
}
|
||||
} else {
|
||||
const newProduct = await ProductModel(organization).create({
|
||||
productId: productId,
|
||||
productName: productName
|
||||
|
||||
})
|
||||
if (newProduct) {
|
||||
|
||||
if (eventDatas) {
|
||||
const addEventData = await EventsDataModel(organization).create({
|
||||
productId: productId,
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points,
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
return res
|
||||
.status(201)
|
||||
.json({ message: "Product created successfully" });
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to create product" });
|
||||
);
|
||||
return res
|
||||
.status(200)
|
||||
.json({ message: "EventData updated successfully" });
|
||||
} else {
|
||||
await EventsDataModel(organization).create({
|
||||
productId: productId,
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points,
|
||||
});
|
||||
return res
|
||||
.status(201)
|
||||
.json({ message: "EventData add successfully" });
|
||||
}
|
||||
}
|
||||
static async getProductDatas(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization } = req.query
|
||||
if (typeof productId !== "string" || typeof organization !== "string") {
|
||||
return res.status(400).json({ message: "Missing or invalid query parameters" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
})
|
||||
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
|
||||
const existingEventDatas = await EventsDataModel(organization).find({ productId: productId }).select("-productId")
|
||||
|
||||
return res
|
||||
.status(200)
|
||||
.json(existingEventDatas);
|
||||
} catch (error) {
|
||||
|
||||
res.status(500).json({ message: "Failed to get product" });
|
||||
} else {
|
||||
const newProduct = await ProductModel(organization).create({
|
||||
productId: productId,
|
||||
productName: productName,
|
||||
});
|
||||
if (newProduct) {
|
||||
if (eventDatas) {
|
||||
await EventsDataModel(organization).create({
|
||||
productId: productId,
|
||||
modelUuid: eventDatas?.modelUuid,
|
||||
modelName: eventDatas?.modelName,
|
||||
position: eventDatas?.position,
|
||||
rotation: eventDatas?.rotation,
|
||||
type: eventDatas?.type,
|
||||
speed: eventDatas?.speed,
|
||||
point: eventDatas?.point,
|
||||
points: eventDatas?.points,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
.status(201)
|
||||
.json({ message: "Product created successfully" });
|
||||
}
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to create product" });
|
||||
}
|
||||
static async productDataDelete(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization } = req.query
|
||||
if (typeof productId !== "string" || typeof organization !== "string") {
|
||||
return res.status(400).json({ message: "Missing or invalid query parameters" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
})
|
||||
}
|
||||
static async getProductDatas(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization } = req.query;
|
||||
if (typeof productId !== "string" || typeof organization !== "string") {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ message: "Missing or invalid query parameters" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
const productDelete = await ProductModel(organization).findOneAndUpdate(
|
||||
{ productId: productId },
|
||||
{
|
||||
isArchive: true,
|
||||
}, { new: true }
|
||||
|
||||
)
|
||||
const existingEventDatas = await EventsDataModel(organization).find({ productId: productId })
|
||||
if (existingEventDatas) {
|
||||
for (const event of existingEventDatas) {
|
||||
|
||||
await EventsDataModel(organization).updateMany(
|
||||
{ productId },
|
||||
{ $set: { isArchive: true } }
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
return res.status(201).json({ message: "product deleted successfully" });
|
||||
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to delete product" });
|
||||
}
|
||||
const existingEventDatas = await EventsDataModel(organization)
|
||||
.find({ productId: productId })
|
||||
.select("-productId");
|
||||
|
||||
return res.status(200).json(existingEventDatas);
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to get product" });
|
||||
}
|
||||
static async EventDataDelete(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization, modelUuid } = req.body
|
||||
}
|
||||
static async productDataDelete(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization } = req.query;
|
||||
if (typeof productId !== "string" || typeof organization !== "string") {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ message: "Missing or invalid query parameters" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
})
|
||||
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
|
||||
const existingEventDatas = await EventsDataModel(organization).findOneAndUpdate(
|
||||
{ productId: productId, modelUuid: modelUuid }, {
|
||||
isArchive: true,
|
||||
}, { new: true }
|
||||
|
||||
)
|
||||
|
||||
return res.status(201).json({ message: "EventData deleted successfully" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to delete Eventdata" });
|
||||
}
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
await ProductModel(organization).findOneAndUpdate(
|
||||
{ productId: productId },
|
||||
{
|
||||
isArchive: true,
|
||||
},
|
||||
{ new: true }
|
||||
);
|
||||
const existingEventDatas = await EventsDataModel(organization).find({
|
||||
productId: productId,
|
||||
});
|
||||
if (existingEventDatas) {
|
||||
await EventsDataModel(organization).updateMany(
|
||||
{ productId },
|
||||
{ $set: { isArchive: true } }
|
||||
);
|
||||
}
|
||||
return res.status(201).json({ message: "product deleted successfully" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to delete product" });
|
||||
}
|
||||
static async AllProductDatas(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { organization } = req.params
|
||||
}
|
||||
static async EventDataDelete(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, organization, modelUuid } = req.body;
|
||||
|
||||
if (!organization) {
|
||||
return res
|
||||
.json({ message: "organization not found" });
|
||||
}
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
const existingProduct = await ProductModel(organization).find({
|
||||
isArchive: false,
|
||||
})
|
||||
if (!existingProduct) {
|
||||
return res.status(404).json({ message: 'No products found' });
|
||||
}
|
||||
const result = [];
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
for (const product of existingProduct) {
|
||||
|
||||
|
||||
// Fetch events data for each product, excluding productId field
|
||||
const eventDatas = await EventsDataModel(organization)
|
||||
.find({ productId: product.productId, isArchive: false })
|
||||
.select("-productId -isArchive -createdAt -updatedAt -__v -_id");
|
||||
|
||||
|
||||
|
||||
// Combine product and event data
|
||||
result.push({
|
||||
// product: {
|
||||
productName: product.productName,
|
||||
productId: product.productId,
|
||||
eventDatas,
|
||||
// },
|
||||
});
|
||||
}
|
||||
|
||||
// Return combined data
|
||||
return res.status(200).json(result);
|
||||
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to get Allproduct" });
|
||||
}
|
||||
await EventsDataModel(organization).findOneAndUpdate(
|
||||
{ productId: productId, modelUuid: modelUuid },
|
||||
{
|
||||
isArchive: true,
|
||||
},
|
||||
{ new: true }
|
||||
);
|
||||
|
||||
return res
|
||||
.status(201)
|
||||
.json({ message: "EventData deleted successfully" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to delete Eventdata" });
|
||||
}
|
||||
static async productRename(req: Request, res: Response): Promise<any> {
|
||||
}
|
||||
static async AllProductDatas(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { organization } = req.params;
|
||||
|
||||
try {
|
||||
const { productId, productName, organization } = req.body
|
||||
if (!organization) {
|
||||
return res.json({ message: "organization not found" });
|
||||
}
|
||||
|
||||
const existingProduct = await ProductModel(organization).find({
|
||||
isArchive: false,
|
||||
});
|
||||
if (!existingProduct) {
|
||||
return res.status(404).json({ message: "No products found" });
|
||||
}
|
||||
const result = [];
|
||||
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
})
|
||||
for (const product of existingProduct) {
|
||||
const eventDatas = await EventsDataModel(organization)
|
||||
.find({ productId: product.productId, isArchive: false })
|
||||
.select("-productId -isArchive -createdAt -updatedAt -__v -_id");
|
||||
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
const productDelete = await ProductModel(organization).findOneAndUpdate(
|
||||
{ productId: productId },
|
||||
{
|
||||
productName: productName,
|
||||
}, { new: true }
|
||||
|
||||
)
|
||||
|
||||
return res.status(201).json({ message: "product Rename successfully" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to product Rename" });
|
||||
}
|
||||
result.push({
|
||||
productName: product.productName,
|
||||
productId: product.productId,
|
||||
eventDatas,
|
||||
});
|
||||
}
|
||||
|
||||
return res.status(200).json(result);
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to get Allproduct" });
|
||||
}
|
||||
}
|
||||
static async productRename(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { productId, productName, organization } = req.body;
|
||||
|
||||
const existingProduct = await ProductModel(organization).findOne({
|
||||
productId: productId,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
if (!existingProduct)
|
||||
return res.status(404).json({ message: "Product not found" });
|
||||
|
||||
await ProductModel(organization).findOneAndUpdate(
|
||||
{ productId: productId },
|
||||
{
|
||||
productName: productName,
|
||||
},
|
||||
{ new: true }
|
||||
);
|
||||
|
||||
return res.status(201).json({ message: "product Rename successfully" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: "Failed to product Rename" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,103 +1,72 @@
|
||||
import { Request, Response } from "express";
|
||||
import { Server } from 'http';
|
||||
import userModel from "../../shared/model/user-Model.ts";
|
||||
import { isSharedArrayBuffer } from "util/types";
|
||||
import {hashGenerate,hashValidator} from "../../shared/security/Hasing.ts"
|
||||
// import {hashGenerate} from '../security/Hasing'
|
||||
import { hashGenerate, hashValidator } from "../../shared/security/Hasing.ts";
|
||||
|
||||
let serverAlive = true;
|
||||
export class user {
|
||||
static async signup(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { userName, email, password,organization,profilePicture } = req.body;
|
||||
const caseChange = email.toLowerCase();
|
||||
const emailcheck = await userModel(organization).findOne({ email: caseChange });
|
||||
if (emailcheck!==null) {
|
||||
res.json({
|
||||
message:"User already exists"
|
||||
});
|
||||
} else {
|
||||
const hashpassword=await hashGenerate(password)
|
||||
const userCount = await userModel(organization).countDocuments({});
|
||||
role = userCount === 0 ? "Admin" : "User";
|
||||
const isShare = "true";
|
||||
const newuser = await userModel(organization).create({
|
||||
userName: userName,
|
||||
email: caseChange,
|
||||
isShare:isShare,
|
||||
password: hashpassword,
|
||||
role:role,
|
||||
profilePicture:profilePicture
|
||||
});
|
||||
newuser.save();
|
||||
res.status(200).json({
|
||||
message:"New User created"
|
||||
});
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
export class User {
|
||||
static async signup(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { userName, email, password, organization, profilePicture } =
|
||||
req.body;
|
||||
const caseChange = email.toLowerCase();
|
||||
const emailcheck = await userModel(organization).findOne({
|
||||
email: caseChange,
|
||||
});
|
||||
if (emailcheck !== null) {
|
||||
res.json({
|
||||
message: "User already exists",
|
||||
});
|
||||
} else {
|
||||
const hashpassword = await hashGenerate(password);
|
||||
const userCount = await userModel(organization).countDocuments({});
|
||||
role = userCount === 0 ? "Admin" : "User";
|
||||
const isShare = "true";
|
||||
const newuser = await userModel(organization).create({
|
||||
userName: userName,
|
||||
email: caseChange,
|
||||
isShare: isShare,
|
||||
password: hashpassword,
|
||||
role: role,
|
||||
profilePicture: profilePicture,
|
||||
});
|
||||
newuser.save();
|
||||
res.status(200).json({
|
||||
message: "New User created",
|
||||
});
|
||||
}
|
||||
} catch (error: any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
static async login(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { email, password,organization } = req.body;
|
||||
// console.log(' req.body: ', req.body);
|
||||
|
||||
const existingMail = await userModel(organization).findOne({
|
||||
email:email
|
||||
});
|
||||
|
||||
if (existingMail === null || !existingMail) {
|
||||
res.status(401).json({ message: "User Not Found!!! Kindly signup..." });
|
||||
} else {
|
||||
const hashedpassword= existingMail.password
|
||||
const checkpassword = await hashValidator(
|
||||
password,
|
||||
hashedpassword
|
||||
)
|
||||
// console.log('checkpassword: ', checkpassword);
|
||||
if (checkpassword) {
|
||||
// const tokenValidation=await tokenGenerator(existingMail.email)
|
||||
res.status(200).send({
|
||||
message: "login successfull",
|
||||
email: existingMail.email,
|
||||
name: existingMail.userName,
|
||||
userId: existingMail._id,
|
||||
isShare:existingMail.isShare,
|
||||
// token:tokenValidation
|
||||
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({message:"email & password is invalid...Check the credentials"})
|
||||
}
|
||||
}
|
||||
} catch (error:any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
|
||||
// static async checkserverHealth(server:Server,organization: string){
|
||||
// try {
|
||||
// if (server.listening) {
|
||||
// console.log('Server is running');
|
||||
// serverAlive = true;
|
||||
// // Update all users to online status
|
||||
// } else {
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" }); // Replace `activeStatus` with your actual field
|
||||
// throw new Error('Server is not running');
|
||||
// }
|
||||
// } catch (error:any) {
|
||||
// console.error('Server health check failed:', error.message);
|
||||
// serverAlive = false;
|
||||
}
|
||||
static async login(req: Request, res: Response) {
|
||||
try {
|
||||
let role;
|
||||
const { email, password, organization } = req.body;
|
||||
const existingMail = await userModel(organization).findOne({
|
||||
email: email,
|
||||
});
|
||||
|
||||
// // Update all users to offline status
|
||||
// // await userModel(organization).updateMany({}, { activeStatus: "offline" });
|
||||
// }
|
||||
// }
|
||||
|
||||
if (existingMail === null || !existingMail) {
|
||||
res.status(401).json({ message: "User Not Found!!! Kindly signup..." });
|
||||
} else {
|
||||
const hashedpassword = existingMail.password;
|
||||
const checkpassword = await hashValidator(password, hashedpassword);
|
||||
if (checkpassword) {
|
||||
res.status(200).send({
|
||||
message: "login successfull",
|
||||
email: existingMail.email,
|
||||
name: existingMail.userName,
|
||||
userId: existingMail._id,
|
||||
isShare: existingMail.isShare,
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({
|
||||
message: "email & password is invalid...Check the credentials",
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (error: any) {
|
||||
res.status(500).send(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
// export const startHealthCheck = (server: Server, organization: string) => {
|
||||
// setInterval(() => user.checkserverHealth(server, organization), 5000);
|
||||
// };
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Response } from "express";
|
||||
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
|
||||
import widget3dModel from "../../../shared/model/vizualization/3dwidget.ts";
|
||||
export class widget3dService {
|
||||
export class Widget3dService {
|
||||
static async add3Dwidget(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { organization, widget, zoneId } = req.body;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Response } from "express";
|
||||
import floatWidgetModel from "../../../shared/model/vizualization/floatWidget.ts";
|
||||
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
|
||||
export class floatWidgetService {
|
||||
export class FloatWidgetService {
|
||||
static async addfloatWidget(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { organization, widget, zoneId } = req.body;
|
||||
@@ -141,65 +141,4 @@ export class floatWidgetService {
|
||||
return res.status(500).send(error.message);
|
||||
}
|
||||
}
|
||||
// static async updatewidget(req: Request, res: Response): Promise<any> {
|
||||
// try {
|
||||
// const { organization, widgetID, values } = req.body;
|
||||
// const findwidget = await widgetSchema(organization).findOne({
|
||||
// widgetID: widgetID,
|
||||
// isArchive: false,
|
||||
// });
|
||||
// if (!findwidget)
|
||||
// return res.status(404).send({ message: "Data not found" });
|
||||
// const updateData = {
|
||||
// widgetName: values.widgetName,
|
||||
// widgetSide: values.widgetSide, // Fixed typo from widgetside to widgetSide
|
||||
// elementType: values.type,
|
||||
// Data: {
|
||||
// measurement: values.Data.measurement,
|
||||
// duration: values.Data.duration,
|
||||
// },
|
||||
// elementColor: values.color,
|
||||
// fontFamily: values.fontFamily,
|
||||
// fontStyle: values.fontStyle,
|
||||
// fontWeight: values.fontWeight,
|
||||
// isArchive: false,
|
||||
// };
|
||||
|
||||
// const changedWidget = await widgetSchema(organization).findOneAndUpdate(
|
||||
// { widgetID: widgetID, isArchive: false },
|
||||
// updateData,
|
||||
// {
|
||||
// new: true,
|
||||
// upsert: true,
|
||||
// setDefaultsOnInsert: true,
|
||||
// }
|
||||
// );
|
||||
|
||||
// return res.status(200).json({
|
||||
// message: "Widget updated successfully",
|
||||
// });
|
||||
// } catch (error: any) {
|
||||
// return res.status(500).send(error.message);
|
||||
// }
|
||||
// }
|
||||
|
||||
// static async getDatafromWidget(req: Request, res: Response): Promise<any> {
|
||||
// const { organization, widgetID } = req.params;
|
||||
// try {
|
||||
// const existingWidget = await widgetSchema(organization)
|
||||
// .findOne({
|
||||
// widgetID: widgetID,
|
||||
// isArchive: false,
|
||||
// })
|
||||
// .select("Data -_id");
|
||||
// const Datastructure = {
|
||||
// measurements: existingWidget.Data.measurements || {},
|
||||
// duration: existingWidget.Data.duration || "1h",
|
||||
// };
|
||||
|
||||
// if (existingWidget) return res.status(200).json({ Data: Datastructure });
|
||||
// } catch (error: any) {
|
||||
// return res.status(500).send(error.message);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -3,12 +3,11 @@ import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
|
||||
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
|
||||
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
|
||||
|
||||
export class panelService {
|
||||
export class PanelService {
|
||||
static async AddPanel(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const organization = req.body.organization;
|
||||
const zoneId = req.body.zoneId;
|
||||
const panelName = req.body.panelName;
|
||||
const panelOrder = req.body.panelOrder;
|
||||
const findZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
@@ -18,7 +17,7 @@ export class panelService {
|
||||
if (!findZone) {
|
||||
return res.status(404).json({ message: "Zone not found" });
|
||||
}
|
||||
const updatezone = await zoneSchema(organization).findOneAndUpdate(
|
||||
await zoneSchema(organization).findOneAndUpdate(
|
||||
{ zoneId: zoneId, isArchive: false },
|
||||
{ panelOrder: panelOrder },
|
||||
{ new: true }
|
||||
@@ -52,10 +51,6 @@ export class panelService {
|
||||
message: "No new panels were created. All panels already exist.",
|
||||
});
|
||||
}
|
||||
// const IDdata = createdPanels.map((ID: any) => {
|
||||
// return ID._id;
|
||||
// });
|
||||
createdPanels;
|
||||
return res.status(201).json({
|
||||
message: "Panels created successfully",
|
||||
panelID: createdPanels,
|
||||
@@ -66,7 +61,6 @@ export class panelService {
|
||||
}
|
||||
static async deletePanel(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
console.log("req.body: ", req.body);
|
||||
const { organization, panelName, zoneId } = req.body;
|
||||
const existingZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
@@ -81,7 +75,7 @@ export class panelService {
|
||||
});
|
||||
if (!existingPanel)
|
||||
return res.status(409).json({ message: "Panel Already Deleted" });
|
||||
const updatePanel = await panelSchema(organization).findOneAndUpdate(
|
||||
await panelSchema(organization).findOneAndUpdate(
|
||||
{ _id: existingPanel._id, isArchive: false },
|
||||
{ isArchive: true },
|
||||
{ new: true }
|
||||
@@ -96,12 +90,11 @@ export class panelService {
|
||||
}
|
||||
|
||||
if (existingZone.panelOrder.includes(existingPanel.panelName)) {
|
||||
const index1 = existingZone.panelOrder.indexOf(existingPanel.panelName);
|
||||
const zonepanelname = await zoneSchema(organization).updateOne(
|
||||
existingZone.panelOrder.indexOf(existingPanel.panelName);
|
||||
await zoneSchema(organization).updateOne(
|
||||
{ _id: existingZone._id },
|
||||
{ $pull: { panelOrder: existingPanel.panelName } }
|
||||
);
|
||||
console.log("zonepanelname: ", zonepanelname);
|
||||
}
|
||||
|
||||
return res.status(200).json({ message: "Panel deleted successfully" });
|
||||
@@ -111,7 +104,6 @@ export class panelService {
|
||||
}
|
||||
static async clearPanel(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
console.log("req.body;: ", req.body);
|
||||
const { organization, panelName, zoneId } = req.body;
|
||||
const existingZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
|
||||
@@ -5,20 +5,10 @@ import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
|
||||
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
|
||||
import floatWidgetModel from "../../../shared/model/vizualization/floatWidget.ts";
|
||||
|
||||
export class templateService {
|
||||
export class TemplateService {
|
||||
static async AddTemplate(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const {
|
||||
organization,
|
||||
template,
|
||||
// id,
|
||||
// name,
|
||||
// panelOrder,
|
||||
// widgets,
|
||||
// snapshot,
|
||||
// floatWidgets,
|
||||
} = req.body;
|
||||
// console.log("req.body: ", req.body);
|
||||
const { organization, template } = req.body;
|
||||
const existingTemplate = await templateModel(organization).findOne({
|
||||
templateID: template.id,
|
||||
isArchive: false,
|
||||
@@ -84,7 +74,6 @@ export class templateService {
|
||||
if (existingZone.panelOrder.length > 0) {
|
||||
existingZone.panelOrder = existingTemplate.panelOrder;
|
||||
await existingZone.save();
|
||||
// Clear existing data before adding new data
|
||||
const archivePanelDatas = await panelSchema(organization).find({
|
||||
zoneId,
|
||||
isArchive: false,
|
||||
|
||||
@@ -2,17 +2,10 @@ import { Request, Response } from "express";
|
||||
import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
|
||||
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
|
||||
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
|
||||
export class widgetService {
|
||||
export class WidgetService {
|
||||
static async addWidget(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
// console.log("req.body: ", req.body);
|
||||
console.log("req.body: ", req.body);
|
||||
const {
|
||||
organization,
|
||||
// panel,
|
||||
zoneId,
|
||||
widget,
|
||||
} = req.body;
|
||||
const { organization, zoneId, widget } = req.body;
|
||||
const existingZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
isArchive: false,
|
||||
@@ -32,9 +25,7 @@ export class widgetService {
|
||||
panelID: existingPanel._id,
|
||||
widgetID: widget.id,
|
||||
isArchive: false,
|
||||
// widgetOrder: widget.widgetOrder,
|
||||
});
|
||||
// console.log('existingWidget: ', widget.data.measurements);
|
||||
if (existingWidget) {
|
||||
const updateWidget = await widgetSchema(
|
||||
organization
|
||||
@@ -46,8 +37,6 @@ export class widgetService {
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
// panelID: existingPanel._id,
|
||||
// widgetID: widget.id,
|
||||
widgetName: widget?.widgetName,
|
||||
Data: {
|
||||
measurements: widget?.Data?.measurements || {},
|
||||
@@ -56,23 +45,18 @@ export class widgetService {
|
||||
isArchive: false,
|
||||
},
|
||||
},
|
||||
{ upsert: true, new: true } // Upsert: create if not exists, new: return updated document
|
||||
{ upsert: true, new: true }
|
||||
);
|
||||
console.log("updateWidget: ", updateWidget);
|
||||
if (!updateWidget) {
|
||||
return res.json({ message: "Widget update unsuccessful" });
|
||||
}
|
||||
return res
|
||||
.status(200)
|
||||
.json({ message: "Widget updated successfully" });
|
||||
// return res
|
||||
// .status(409)
|
||||
// .json({ message: "Widget already exist for the widgetID" });
|
||||
}
|
||||
const newWidget = await widgetSchema(organization).create({
|
||||
widgetID: widget.id,
|
||||
elementType: widget.type,
|
||||
// widgetOrder: widgetOrder,
|
||||
zoneId,
|
||||
widgetName: widget.title,
|
||||
panelID: existingPanel._id,
|
||||
@@ -87,7 +71,6 @@ export class widgetService {
|
||||
await existingPanel.save();
|
||||
return res.status(201).json({
|
||||
message: "Widget created successfully",
|
||||
// widgetID: newWidget._id,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -100,7 +83,6 @@ export class widgetService {
|
||||
static async deleteWidget(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
const { widgetID, organization, zoneId } = req.body;
|
||||
console.log(" req.body: ", req.body);
|
||||
const findWidget = await widgetSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
widgetID: widgetID,
|
||||
@@ -114,19 +96,11 @@ export class widgetService {
|
||||
);
|
||||
|
||||
if (widgetData) {
|
||||
// Find all widgets in the same panel and sort them by widgetOrder
|
||||
const widgets = await widgetSchema(organization).find({
|
||||
await widgetSchema(organization).find({
|
||||
panelID: findWidget.panelID,
|
||||
zoneId: zoneId,
|
||||
isArchive: false,
|
||||
});
|
||||
// .sort({ widgetOrder: 1 });
|
||||
|
||||
// Reassign widgetOrder values
|
||||
// for (let i = 0; i < widgets.length; i++) {
|
||||
// widgets[i].widgetOrder = (i + 1).toString(); // Convert to string
|
||||
// await widgets[i].save();
|
||||
// }
|
||||
const panelData = await panelSchema(organization).findOne({
|
||||
_id: findWidget.panelID,
|
||||
zoneId: zoneId,
|
||||
@@ -146,7 +120,6 @@ export class widgetService {
|
||||
|
||||
static async updatewidget(req: Request, res: Response): Promise<any> {
|
||||
try {
|
||||
console.log("req.body: ", req.body);
|
||||
const { organization, widgetID, values } = req.body;
|
||||
const findwidget = await widgetSchema(organization).findOne({
|
||||
widgetID: widgetID,
|
||||
@@ -156,7 +129,7 @@ export class widgetService {
|
||||
return res.status(404).send({ message: "Data not found" });
|
||||
const updateData = {
|
||||
widgetName: values.widgetName,
|
||||
widgetSide: values.widgetSide, // Fixed typo from widgetside to widgetSide
|
||||
widgetSide: values.widgetSide,
|
||||
elementType: values.type,
|
||||
Data: {
|
||||
measurement: values.Data.measurement,
|
||||
@@ -169,7 +142,7 @@ export class widgetService {
|
||||
isArchive: false,
|
||||
};
|
||||
|
||||
const changedWidget = await widgetSchema(organization).findOneAndUpdate(
|
||||
await widgetSchema(organization).findOneAndUpdate(
|
||||
{ widgetID: widgetID, isArchive: false },
|
||||
updateData,
|
||||
{
|
||||
|
||||
@@ -1,39 +1,25 @@
|
||||
import app from './app.ts';
|
||||
import http from 'http';
|
||||
import ip from 'ip';
|
||||
|
||||
// import { startHealthCheck } from './controller/user-Controller';
|
||||
import swaggerUi from 'swagger-ui-express';
|
||||
import mongoAdminCreation from '../shared/security/mongosecurity.ts';
|
||||
import fs from 'fs';
|
||||
import app from "./app.ts";
|
||||
import http from "http";
|
||||
import swaggerUi from "swagger-ui-express";
|
||||
import fs from "fs";
|
||||
const server = http.createServer(app);
|
||||
|
||||
|
||||
let swaggerDocument = {};
|
||||
// try {
|
||||
// swaggerDocument = require('../../swagger-output.json');
|
||||
|
||||
// } catch (error) {
|
||||
// console.error('Error loading Swagger JSON:', error);
|
||||
// swaggerDocument = {}; // Fallback: empty object or some default
|
||||
// }
|
||||
|
||||
try {
|
||||
swaggerDocument = JSON.parse(fs.readFileSync('swagger-output.json', 'utf-8'));
|
||||
swaggerDocument = JSON.parse(fs.readFileSync("swagger-output.json", "utf-8"));
|
||||
} catch (error) {
|
||||
console.error('Error loading Swagger JSON:', error);
|
||||
console.error("Error loading Swagger JSON:", error);
|
||||
}
|
||||
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
|
||||
const organization = process.env.ORGANIZATION_NAME || 'defaultOrganization'; // Replace with your logic
|
||||
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
|
||||
const organization = process.env.ORGANIZATION_NAME || "defaultOrganization";
|
||||
|
||||
// mongoAdminCreation()
|
||||
if (!organization) {
|
||||
throw new Error('ORGANIZATION_NAME is not defined in the environment');
|
||||
throw new Error("ORGANIZATION_NAME is not defined in the environment");
|
||||
}
|
||||
|
||||
const PORT = process.env.API_PORT
|
||||
const PORT = process.env.API_PORT;
|
||||
server.listen(PORT, () => {
|
||||
console.log(`API-Server running on http://localhost:${PORT}`);
|
||||
console.log(`Swagger UI available at http://localhost:${PORT}/api-docs`);
|
||||
// console.log(`Server is also accessible on IP address: ${ip.address()}`);
|
||||
|
||||
console.log(`API-Server running on http://localhost:${PORT}`);
|
||||
console.log(`Swagger UI available at http://localhost:${PORT}/api-docs`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user