From bfe56693b9e81256fc1862813f8b9a86a985d17d Mon Sep 17 00:00:00 2001 From: Nivetharamesh99 Date: Wed, 2 Apr 2025 09:55:23 +0530 Subject: [PATCH] IsArchive updated and AssetPosition API updated --- src/api-server/Routes/assetfloorRoutes.ts | 4 ++ .../simulation/assetsFloorservice.ts | 44 +++++++++++++++++-- .../controller/visualization/widgetService.ts | 1 + .../model/builder/assets/asset-Model.ts | 2 + .../services/assets/asset-Controller.ts | 4 +- 5 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/api-server/Routes/assetfloorRoutes.ts b/src/api-server/Routes/assetfloorRoutes.ts index 92c4811..576a49b 100644 --- a/src/api-server/Routes/assetfloorRoutes.ts +++ b/src/api-server/Routes/assetfloorRoutes.ts @@ -3,5 +3,9 @@ import { assetsFloorservice } from "../controller/simulation/assetsFloorservice. const router = express.Router(); router.post("/setasset", assetsFloorservice.setFloorassets); router.get("/floorAssets/:organization", assetsFloorservice.getFloorItems); +router.patch( + "/updateFloorAssets", + assetsFloorservice.updateAssetPositionRotation +); // router.get("/pointData/:modelfileID/:organization", assetsFloorservice.gettypePoints); export default router; diff --git a/src/api-server/controller/simulation/assetsFloorservice.ts b/src/api-server/controller/simulation/assetsFloorservice.ts index e61e619..964edad 100644 --- a/src/api-server/controller/simulation/assetsFloorservice.ts +++ b/src/api-server/controller/simulation/assetsFloorservice.ts @@ -23,11 +23,12 @@ export class assetsFloorservice { const findvalue = await assetModel(organization).findOne({ modeluuid, modelname, + isArchive: false, }); if (findvalue) { const updatevalue = await assetModel(organization).findOneAndUpdate( - { modeluuid, modelname }, + { modeluuid, modelname,isArchive:false }, { position, rotation, @@ -125,7 +126,7 @@ export class assetsFloorservice { try { const { organization } = req.params; const findValues = await assetModel(organization) - .find() + .find({ isArchive: false }) .select("-_id") .populate({ path: "points", @@ -173,13 +174,14 @@ export class assetsFloorservice { res.status(500).json({ error: "Failed to get flooritems" }); } } - static async deleteFloorItems(req: Request, res: Response) { + static async deleteFloorItems(req: Request, res: Response): Promise { 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"); @@ -191,6 +193,42 @@ export class assetsFloorservice { res.status(500).json({ error: "Failed to get flooritems" }); } } + static async updateAssetPositionRotation( + req: Request, + res: Response + ): Promise { + 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) {} } diff --git a/src/api-server/controller/visualization/widgetService.ts b/src/api-server/controller/visualization/widgetService.ts index acf4ce6..cd0993e 100644 --- a/src/api-server/controller/visualization/widgetService.ts +++ b/src/api-server/controller/visualization/widgetService.ts @@ -69,6 +69,7 @@ export class widgetService { widgetID: widget.id, elementType: widget.type, // widgetOrder: widgetOrder, + zoneId, widgetName: widget.title, panelID: existingPanel._id, widgetside: widget.panel, diff --git a/src/shared/model/builder/assets/asset-Model.ts b/src/shared/model/builder/assets/asset-Model.ts index d2adb3a..0d1e7c8 100644 --- a/src/shared/model/builder/assets/asset-Model.ts +++ b/src/shared/model/builder/assets/asset-Model.ts @@ -8,6 +8,7 @@ export interface assetData extends Document { isLocked: boolean; type: string; isVisible: boolean; + isArchive:false // position: []; // rotation: { // x: number; @@ -45,6 +46,7 @@ export interface assetData extends Document { // Define the Mongoose Schema const assetDataSchema: Schema = new Schema({ + isArchive:{type:Boolean,default:false}, modeluuid: { type: String }, modelfileID: { type: String }, modelname: { type: String }, diff --git a/src/socket-server/services/assets/asset-Controller.ts b/src/socket-server/services/assets/asset-Controller.ts index 5572523..518e010 100644 --- a/src/socket-server/services/assets/asset-Controller.ts +++ b/src/socket-server/services/assets/asset-Controller.ts @@ -21,12 +21,13 @@ export const setAssetModel = async (data: any) => { const findvalue = await assetModel(organization).findOne({ modeluuid: modeluuid, modelname: modelname, + isArchive: false, }); if (findvalue) { console.log("findvalue: ", findvalue); const updatevalue = await assetModel(organization).findOneAndUpdate( - { modeluuid: modeluuid, modelname: modelname }, + { modeluuid: modeluuid, modelname: modelname, isArchive: false }, { position: position, rotation: rotation, @@ -149,6 +150,7 @@ export const deleteAssetModel = async (data: any) => { const findValue = await assetModel(organization).findOneAndDelete({ modeluuid: modeluuid, modelname: modelname, + isArchive: false, }); if (!findValue) { return {