From 526befad2080298def3296787a2aefb8007424d6 Mon Sep 17 00:00:00 2001
From: Jerald-Golden-B <jerald@hexrfactory.com>
Date: Tue, 1 Apr 2025 14:25:42 +0530
Subject: [PATCH] refactor: update backend URL and added conveyor event storing
 in ackend

---
 app/.env                                      |  3 -
 .../ui/componets/RealTimeVisulization.tsx     |  2 +-
 .../geomentries/assets/addAssetModel.ts       |  8 +-
 .../geomentries/assets/deleteFloorItems.ts    |  6 +-
 .../builder/groups/floorItemsGroup.tsx        |  5 +-
 app/src/modules/collaboration/collabCams.tsx  | 19 +++-
 .../collaboration/socketResponses.dev.tsx     | 76 +++++++++++++---
 .../scene/IntialLoad/loadInitialFloorItems.ts | 86 +++++++++++++------
 .../controls/selection/copyPasteControls.tsx  |  2 +-
 .../selection/duplicationControls.tsx         |  2 +-
 .../scene/controls/selection/moveControls.tsx |  2 +-
 .../controls/selection/rotateControls.tsx     |  2 +-
 .../controls/selection/selectionControls.tsx  |  2 +-
 .../scene/controls/transformControls.tsx      |  2 +-
 .../simulation/behaviour/behaviour.tsx        |  6 +-
 .../modules/simulation/path/pathCreation.tsx  |  6 +-
 .../assest/floorAsset/getFloorItemsApi.ts     |  6 +-
 .../assest/floorAsset/setFloorItemApi.ts      |  2 +-
 .../services/simulation/getAssetEventType.ts  |  2 +-
 app/src/types/world/worldTypes.d.ts           |  6 +-
 20 files changed, 173 insertions(+), 72 deletions(-)

diff --git a/app/.env b/app/.env
index daf92f1..e0b0d16 100644
--- a/app/.env
+++ b/app/.env
@@ -7,9 +7,6 @@ REACT_APP_SERVER_SOCKET_API_BASE_URL=185.100.212.76:8000
 # Base URL for the server REST API, used for HTTP requests to the backend server.
 REACT_APP_SERVER_REST_API_BASE_URL=185.100.212.76:5000
 
-REACT_APP_SERVER_REST_API_LOCAL_BASE_URL=192.168.0.102:5000
-
-# Base URL for the server marketplace API.
 # REACT_APP_SERVER_MARKETPLACE_URL=185.100.212.76:50011
 REACT_APP_SERVER_MARKETPLACE_URL=192.168.0.111:3501
 
diff --git a/app/src/components/ui/componets/RealTimeVisulization.tsx b/app/src/components/ui/componets/RealTimeVisulization.tsx
index f6a041a..4ff643b 100644
--- a/app/src/components/ui/componets/RealTimeVisulization.tsx
+++ b/app/src/components/ui/componets/RealTimeVisulization.tsx
@@ -63,7 +63,7 @@ const RealTimeVisulization: React.FC = () => {
       const organization = email?.split("@")[1]?.split(".")[0];
       try {
         const response = await getZone2dData(organization);
-        console.log('response: ', response);
+        // console.log('response: ', response);
 
         if (!Array.isArray(response)) {
           return;
diff --git a/app/src/modules/builder/geomentries/assets/addAssetModel.ts b/app/src/modules/builder/geomentries/assets/addAssetModel.ts
index 65832f8..0cf9f22 100644
--- a/app/src/modules/builder/geomentries/assets/addAssetModel.ts
+++ b/app/src/modules/builder/geomentries/assets/addAssetModel.ts
@@ -60,7 +60,7 @@ async function addAssetModel(
             if (intersectPoint.y < 0) {
                 intersectPoint = new THREE.Vector3(intersectPoint.x, 0, intersectPoint.z);
             }
-            console.log('selectedItem: ', selectedItem);
+            // console.log('selectedItem: ', selectedItem);
             const cachedModel = THREE.Cache.get(selectedItem.id);
             if (cachedModel) {
                 // console.log(`[Cache] Fetching ${selectedItem.name}`);
@@ -145,7 +145,7 @@ async function handleModelLoad(
     };
 
     const email = localStorage.getItem("email");
-    const organization = email ? email.split("@")[1].split(".")[0] : "default";
+    const organization = email ? email.split("@")[1].split(".")[0] : "";
 
     getAssetEventType(selectedItem.id, organization).then(async (res) => {
         console.log('res: ', res);
@@ -177,7 +177,7 @@ async function handleModelLoad(
                 speed: 'Inherit'
             };
 
-            console.log('eventData: ', eventData);
+            // console.log('eventData: ', eventData);
             newFloorItem.eventData = eventData;
         }
 
@@ -215,6 +215,8 @@ async function handleModelLoad(
             eventData: newFloorItem.eventData,
             socketId: socket.id
         };
+        console.log('data: ', data);
+
 
         socket.emit("v2:model-asset:add", data);
 
diff --git a/app/src/modules/builder/geomentries/assets/deleteFloorItems.ts b/app/src/modules/builder/geomentries/assets/deleteFloorItems.ts
index 87930dc..3bbe2cc 100644
--- a/app/src/modules/builder/geomentries/assets/deleteFloorItems.ts
+++ b/app/src/modules/builder/geomentries/assets/deleteFloorItems.ts
@@ -2,9 +2,9 @@ import { toast } from 'react-toastify';
 import * as THREE from 'three';
 
 import * as Types from "../../../../types/world/worldTypes";
-import { getFloorItems } from '../../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi';
 // import { deleteFloorItem } from '../../../../services/factoryBuilder/assest/floorAsset/deleteFloorItemApi';
 import { Socket } from 'socket.io-client';
+import { getFloorAssets } from '../../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi';
 
 async function DeleteFloorItems(
     itemsGroup: Types.RefGroup,
@@ -20,7 +20,7 @@ async function DeleteFloorItems(
         const email = localStorage.getItem('email')
         const organization = (email!.split("@")[1]).split(".")[0];
 
-        const items = await getFloorItems(organization);
+        const items = await getFloorAssets(organization);
         const removedItem = items.find(
             (item: { modeluuid: string }) => item.modeluuid === hoveredDeletableFloorItem.current?.uuid
         );
@@ -42,7 +42,7 @@ async function DeleteFloorItems(
             socketId: socket.id
         }
 
-        const response = socket.emit('v1:FloorItems:delete', data)
+        const response = socket.emit('v2:model-asset:delete', data)
 
         if (response) {
             const updatedItems = items.filter(
diff --git a/app/src/modules/builder/groups/floorItemsGroup.tsx b/app/src/modules/builder/groups/floorItemsGroup.tsx
index 3b38d01..7e7282b 100644
--- a/app/src/modules/builder/groups/floorItemsGroup.tsx
+++ b/app/src/modules/builder/groups/floorItemsGroup.tsx
@@ -11,7 +11,7 @@ import DeletableHoveredFloorItems from "../geomentries/assets/deletableHoveredFl
 import DeleteFloorItems from "../geomentries/assets/deleteFloorItems";
 import loadInitialFloorItems from "../../scene/IntialLoad/loadInitialFloorItems";
 import addAssetModel from "../geomentries/assets/addAssetModel";
-import { getFloorItems } from "../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi";
+import { getFloorAssets } from "../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi";
 import useModuleStore from "../../../store/useModuleStore";
 // import { retrieveGLTF } from "../../../utils/indexDB/idbUtils";
 const assetManagerWorker = new Worker(new URL('../../../services/factoryBuilder/webWorkers/assetManagerWorker.js', import.meta.url));
@@ -59,8 +59,7 @@ const FloorItemsGroup = ({ itemsGroup, hoveredDeletableFloorItem, AttachedObject
             }
         };
 
-        getFloorItems(organization).then((data) => {
-            console.log('data: ', data);
+        getFloorAssets(organization).then((data) => {
             const uniqueItems = (data as Types.FloorItems).filter((item, index, self) =>
                 index === self.findIndex((t) => t.modelfileID === item.modelfileID)
             );
diff --git a/app/src/modules/collaboration/collabCams.tsx b/app/src/modules/collaboration/collabCams.tsx
index 5ebe1eb..b15d17d 100644
--- a/app/src/modules/collaboration/collabCams.tsx
+++ b/app/src/modules/collaboration/collabCams.tsx
@@ -32,7 +32,7 @@ const CamModelsGroup = () => {
     if (!socket) return;
     const organization = email!.split("@")[1].split(".")[0];
 
-    socket.on("userConnectRespones", (data: any) => {
+    socket.on("userConnectResponse", (data: any) => {
       if (!groupRef.current) return;
       if (data.data.userData.email === email) return;
       if (socket.id === data.socketId || organization !== data.organization)
@@ -64,7 +64,11 @@ const CamModelsGroup = () => {
       });
     });
 
-    socket.on("userDisConnectRespones", (data: any) => {
+    // socket.on("users:online", (data: any) => { 
+    //   console.log('users online: ', data);
+    // })
+
+    socket.on("userDisConnectResponse", (data: any) => {
       if (!groupRef.current) return;
       if (socket.id === data.socketId || organization !== data.organization)
         return;
@@ -109,6 +113,15 @@ const CamModelsGroup = () => {
     };
   }, [socket, activeUsers]);
 
+
+  // useEffect(() => {
+  //   console.log(activeUsers);
+  // }, [activeUsers])
+
+  // useEffect(() => {
+  //   console.log(models);
+  // }, [models])
+
   useFrame(() => {
     if (!groupRef.current) return;
     Object.keys(models).forEach((uuid) => {
@@ -142,7 +155,7 @@ const CamModelsGroup = () => {
       const filteredData = data.cameraDatas.filter(
         (camera: any) => camera.userData.email !== email
       );
-      let a:any = [];
+      let a: any = [];
       if (filteredData.length > 0) {
         loader.load(camModel, (gltf) => {
           const newCams = filteredData.map((cam: any) => {
diff --git a/app/src/modules/collaboration/socketResponses.dev.tsx b/app/src/modules/collaboration/socketResponses.dev.tsx
index 1a5ef83..d17557d 100644
--- a/app/src/modules/collaboration/socketResponses.dev.tsx
+++ b/app/src/modules/collaboration/socketResponses.dev.tsx
@@ -82,14 +82,14 @@ export default function SocketResponses({
         })
 
         socket.on('model-asset:response:updates', async (data: any) => {
-            console.log('data: ', data);
+            // console.log('data: ', data);
             if (socket.id === data.socketId) {
                 return
             }
             if (organization !== data.organization) {
                 return
             }
-            if (data.message === "flooritem created") {
+            if (data.message === "Model created successfully") {
                 const loader = new GLTFLoader();
                 const dracoLoader = new DRACOLoader();
 
@@ -101,10 +101,61 @@ export default function SocketResponses({
                     isTempLoader.current = true;
                     const cachedModel = THREE.Cache.get(data.data.modelname);
                     let url;
-
                     if (cachedModel) {
                         // console.log(`Getting ${data.data.modelname} from cache`);
-                        url = URL.createObjectURL(cachedModel);
+                        const model = cachedModel.scene.clone();
+                        model.uuid = data.data.modeluuid;
+                        model.userData = { name: data.data.modelname, modelId: data.data.modelFileID };
+                        model.position.set(...data.data.position as [number, number, number]);
+                        model.rotation.set(data.data.rotation.x, data.data.rotation.y, data.data.rotation.z);
+                        model.scale.set(...CONSTANTS.assetConfig.defaultScaleBeforeGsap);
+
+                        model.traverse((child: any) => {
+                            if (child.isMesh) {
+                                // Clone the material to ensure changes are independent
+                                // child.material = child.material.clone();
+
+                                child.castShadow = true;
+                                child.receiveShadow = true;
+                            }
+                        });
+
+                        itemsGroup.current.add(model);
+
+                        if (tempLoader.current) {
+                            tempLoader.current.material.dispose();
+                            tempLoader.current.geometry.dispose();
+                            itemsGroup.current.remove(tempLoader.current);
+                            tempLoader.current = undefined;
+                        }
+
+                        const newFloorItem: Types.FloorItemType = {
+                            modeluuid: data.data.modeluuid,
+                            modelname: data.data.modelname,
+                            modelfileID: data.data.modelfileID,
+                            position: [...data.data.position as [number, number, number]],
+                            rotation: {
+                                x: model.rotation.x,
+                                y: model.rotation.y,
+                                z: model.rotation.z,
+                            },
+                            isLocked: data.data.isLocked,
+                            isVisible: data.data.isVisible,
+                        };
+
+                        if (data.data.eventData) {
+                            newFloorItem.eventData = data.data.eventData;
+                        }
+
+                        setFloorItems((prevItems: any) => {
+                            const updatedItems = [...(prevItems || []), newFloorItem];
+                            localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
+                            return updatedItems;
+                        });
+
+                        gsap.to(model.position, { y: data.data.position[1], duration: 1.5, ease: 'power2.out' });
+                        gsap.to(model.scale, { x: 1, y: 1, z: 1, duration: 1.5, ease: 'power2.out', onComplete: () => { toast.success("Model Added!") } });
+
                     } else {
                         const indexedDBModel = await retrieveGLTF(data.data.modelname);
                         if (indexedDBModel) {
@@ -118,7 +169,9 @@ export default function SocketResponses({
                         }
                     }
 
-                    loadModel(url);
+                    if (url) {
+                        loadModel(url);
+                    }
 
                 } catch (error) {
                     console.error('Error fetching asset model:', error);
@@ -168,6 +221,10 @@ export default function SocketResponses({
                             isVisible: data.data.isVisible,
                         };
 
+                        if (data.data.eventData) {
+                            newFloorItem.eventData = data.data.eventData;
+                        }
+
                         setFloorItems((prevItems: any) => {
                             const updatedItems = [...(prevItems || []), newFloorItem];
                             localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
@@ -183,7 +240,7 @@ export default function SocketResponses({
                     });
                 }
 
-            } else if (data.message === "flooritems updated") {
+            } else if (data.message === "Model updated successfully") {
                 itemsGroup.current.children.forEach((item: THREE.Group) => {
                     if (item.uuid === data.data.modeluuid) {
                         item.position.set(...data.data.position as [number, number, number]);
@@ -212,14 +269,14 @@ export default function SocketResponses({
             }
         })
 
-        socket.on('FloorItemsDeleteResponse', (data: any) => {
+        socket.on('model-asset:response:updates', (data: any) => {
             if (socket.id === data.socketId) {
                 return
             }
             if (organization !== data.organization) {
                 return
             }
-            if (data.message === "flooritem deleted") {
+            if (data.message === "Model deleted successfully") {
                 const deletedUUID = data.data.modeluuid;
                 let items = JSON.parse(localStorage.getItem("FloorItems")!);
 
@@ -746,7 +803,6 @@ export default function SocketResponses({
                 return
             }
             if (data.message === "zone deleted") {
-                console.log('data: ', data);
                 const updatedZones = zones.filter((zone: any) => zone.zoneId !== data.data.zoneId);
                 setZones(updatedZones);
 
@@ -769,7 +825,7 @@ export default function SocketResponses({
 
         return () => {
             socket.off('zone:response:updates');
-            socket.off('zone:response:updates');
+            socket.off('zone:response:delete');
         };
     }, [socket, zones, zonePoints])
 
diff --git a/app/src/modules/scene/IntialLoad/loadInitialFloorItems.ts b/app/src/modules/scene/IntialLoad/loadInitialFloorItems.ts
index 439cbc3..2b1b1f3 100644
--- a/app/src/modules/scene/IntialLoad/loadInitialFloorItems.ts
+++ b/app/src/modules/scene/IntialLoad/loadInitialFloorItems.ts
@@ -5,9 +5,9 @@ import * as THREE from 'three';
 import * as CONSTANTS from '../../../types/world/worldConstants';
 import { toast } from 'react-toastify';
 import * as Types from "../../../types/world/worldTypes";
-import { getFloorItems } from '../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi';
 import { initializeDB, retrieveGLTF, storeGLTF } from '../../../utils/indexDB/idbUtils';
 import { getCamera } from '../../../services/factoryBuilder/camera/getCameraApi';
+import { getFloorAssets } from '../../../services/factoryBuilder/assest/floorAsset/getFloorItemsApi';
 
 async function loadInitialFloorItems(
     itemsGroup: Types.RefGroup,
@@ -18,7 +18,8 @@ async function loadInitialFloorItems(
     const email = localStorage.getItem('email');
     const organization = (email!.split("@")[1]).split(".")[0];
 
-    const items = await getFloorItems(organization);
+    const items = await getFloorAssets(organization);
+    console.log('items: ', items);
     localStorage.setItem("FloorItems", JSON.stringify(items));
     await initializeDB();
 
@@ -121,18 +122,34 @@ async function loadInitialFloorItems(
                 });
             } else {
                 // console.log(`Item ${item.modelname} is not near`);
-                setFloorItems((prevItems) => [
-                    ...(prevItems || []),
-                    {
-                        modeluuid: item.modeluuid,
-                        modelname: item.modelname,
-                        position: item.position,
-                        rotation: item.rotation,
-                        modelfileID: item.modelfileID,
-                        isLocked: item.isLocked,
-                        isVisible: item.isVisible,
-                    },
-                ]);
+                if (item.eventData) {
+                    setFloorItems((prevItems) => [
+                        ...(prevItems || []),
+                        {
+                            modeluuid: item.modeluuid,
+                            modelname: item.modelname,
+                            position: item.position,
+                            rotation: item.rotation,
+                            modelfileID: item.modelfileID,
+                            isLocked: item.isLocked,
+                            isVisible: item.isVisible,
+                            eventData: item.eventData,
+                        },
+                    ]);
+                } else {
+                    setFloorItems((prevItems) => [
+                        ...(prevItems || []),
+                        {
+                            modeluuid: item.modeluuid,
+                            modelname: item.modelname,
+                            position: item.position,
+                            rotation: item.rotation,
+                            modelfileID: item.modelfileID,
+                            isLocked: item.isLocked,
+                            isVisible: item.isVisible,
+                        },
+                    ]);
+                }
                 modelsLoaded++;
                 checkLoadingCompletion(modelsLoaded, modelsToLoad, dracoLoader, () => { });
             }
@@ -169,18 +186,35 @@ function processLoadedModel(
 
 
     itemsGroup?.current?.add(model);
-    setFloorItems((prevItems) => [
-        ...(prevItems || []),
-        {
-            modeluuid: item.modeluuid,
-            modelname: item.modelname,
-            position: item.position,
-            rotation: item.rotation,
-            modelfileID: item.modelfileID,
-            isLocked: item.isLocked,
-            isVisible: item.isVisible,
-        },
-    ]);
+
+    if (item.eventData) {
+        setFloorItems((prevItems) => [
+            ...(prevItems || []),
+            {
+                modeluuid: item.modeluuid,
+                modelname: item.modelname,
+                position: item.position,
+                rotation: item.rotation,
+                modelfileID: item.modelfileID,
+                isLocked: item.isLocked,
+                isVisible: item.isVisible,
+                eventData: item.eventData,
+            },
+        ]);
+    } else {
+        setFloorItems((prevItems) => [
+            ...(prevItems || []),
+            {
+                modeluuid: item.modeluuid,
+                modelname: item.modelname,
+                position: item.position,
+                rotation: item.rotation,
+                modelfileID: item.modelfileID,
+                isLocked: item.isLocked,
+                isVisible: item.isVisible,
+            },
+        ]);
+    }
 
     gsap.to(model.position, { y: item.position[1], duration: 1.5, ease: 'power2.out' });
     gsap.to(model.scale, { x: 1, y: 1, z: 1, duration: 1.5, ease: 'power2.out' });
diff --git a/app/src/modules/scene/controls/selection/copyPasteControls.tsx b/app/src/modules/scene/controls/selection/copyPasteControls.tsx
index 3082462..4628311 100644
--- a/app/src/modules/scene/controls/selection/copyPasteControls.tsx
+++ b/app/src/modules/scene/controls/selection/copyPasteControls.tsx
@@ -180,7 +180,7 @@ const CopyPasteControls = ({ itemsGroupRef, copiedObjects, setCopiedObjects, pas
                     socketId: socket.id,
                 };
 
-                socket.emit("v1:FloorItems:set", data);
+                socket.emit("v2:model-asset:add", data);
 
                 itemsGroupRef.current.add(obj);
             }
diff --git a/app/src/modules/scene/controls/selection/duplicationControls.tsx b/app/src/modules/scene/controls/selection/duplicationControls.tsx
index cbe561a..6b32195 100644
--- a/app/src/modules/scene/controls/selection/duplicationControls.tsx
+++ b/app/src/modules/scene/controls/selection/duplicationControls.tsx
@@ -161,7 +161,7 @@ const DuplicationControls = ({ itemsGroupRef, duplicatedObjects, setDuplicatedOb
                     socketId: socket.id,
                 };
 
-                socket.emit("v1:FloorItems:set", data);
+                socket.emit("v2:model-asset:add", data);
 
                 itemsGroupRef.current.add(obj);
             }
diff --git a/app/src/modules/scene/controls/selection/moveControls.tsx b/app/src/modules/scene/controls/selection/moveControls.tsx
index bbdb3e1..15973d8 100644
--- a/app/src/modules/scene/controls/selection/moveControls.tsx
+++ b/app/src/modules/scene/controls/selection/moveControls.tsx
@@ -209,7 +209,7 @@ function MoveControls({ movedObjects, setMovedObjects, itemsGroupRef, copiedObje
                     socketId: socket.id,
                 };
 
-                socket.emit("v1:FloorItems:set", data);
+                socket.emit("v2:model-asset:add", data);
 
                 itemsGroupRef.current.add(obj);
             }
diff --git a/app/src/modules/scene/controls/selection/rotateControls.tsx b/app/src/modules/scene/controls/selection/rotateControls.tsx
index 6e65839..f8771be 100644
--- a/app/src/modules/scene/controls/selection/rotateControls.tsx
+++ b/app/src/modules/scene/controls/selection/rotateControls.tsx
@@ -212,7 +212,7 @@ function RotateControls({ rotatedObjects, setRotatedObjects, movedObjects, setMo
                     socketId: socket.id,
                 };
 
-                socket.emit("v1:FloorItems:set", data);
+                socket.emit("v2:model-asset:add", data);
 
                 itemsGroupRef.current.add(obj);
             }
diff --git a/app/src/modules/scene/controls/selection/selectionControls.tsx b/app/src/modules/scene/controls/selection/selectionControls.tsx
index 9d5f7ea..8e9ac96 100644
--- a/app/src/modules/scene/controls/selection/selectionControls.tsx
+++ b/app/src/modules/scene/controls/selection/selectionControls.tsx
@@ -222,7 +222,7 @@ const SelectionControls: React.FC = () => {
                     socketId: socket.id
                 };
 
-                socket.emit('v1:FloorItems:delete', data);
+                socket.emit('v2:model-asset:delete', data);
 
                 selectedMesh.traverse((child: THREE.Object3D) => {
                     if (child instanceof THREE.Mesh) {
diff --git a/app/src/modules/scene/controls/transformControls.tsx b/app/src/modules/scene/controls/transformControls.tsx
index 7047f35..0f0aaf0 100644
--- a/app/src/modules/scene/controls/transformControls.tsx
+++ b/app/src/modules/scene/controls/transformControls.tsx
@@ -83,7 +83,7 @@ export default function TransformControl() {
                     socketId: socket.id
                 }
 
-                socket.emit('v1:FloorItems:set', data);
+                socket.emit('v2:model-asset:add', data);
             }
             localStorage.setItem("FloorItems", JSON.stringify(updatedItems));
             return updatedItems;
diff --git a/app/src/modules/simulation/behaviour/behaviour.tsx b/app/src/modules/simulation/behaviour/behaviour.tsx
index 5075384..3cb1df1 100644
--- a/app/src/modules/simulation/behaviour/behaviour.tsx
+++ b/app/src/modules/simulation/behaviour/behaviour.tsx
@@ -50,8 +50,8 @@ function Behaviour() {
                             connections: { source: { pathUUID: item.modeluuid, pointUUID: point2UUID }, targets: [] },
                         },
                     ],
-                    assetPosition: [...item.position],
-                    assetRotation: [item.rotation.x, item.rotation.y, item.rotation.z],
+                    position: [...item.position],
+                    rotation: [item.rotation.x, item.rotation.y, item.rotation.z],
                     speed: 'Inherit',
                 };
 
@@ -71,7 +71,7 @@ function Behaviour() {
                         connections: { source: { pathUUID: item.modeluuid, pointUUID: pointUUID }, targets: [] },
                         speed: 2,
                     },
-                    assetPosition: [...item.position],
+                    position: [...item.position],
                 };
 
                 newPaths.push(newVehiclePath);
diff --git a/app/src/modules/simulation/path/pathCreation.tsx b/app/src/modules/simulation/path/pathCreation.tsx
index 202c7e7..84c3b78 100644
--- a/app/src/modules/simulation/path/pathCreation.tsx
+++ b/app/src/modules/simulation/path/pathCreation.tsx
@@ -171,8 +171,8 @@ function PathCreation({ pathsGroupRef }: { pathsGroupRef: React.MutableRefObject
                             name={`${path.modeluuid}-event-path`}
                             key={path.modeluuid}
                             ref={el => (groupRefs.current[path.modeluuid] = el!)}
-                            position={path.assetPosition}
-                            rotation={path.assetRotation}
+                            position={path.position}
+                            rotation={path.rotation}
                             onClick={(e) => {
                                 if (isConnecting || eyeDropMode) return;
                                 e.stopPropagation();
@@ -237,7 +237,7 @@ function PathCreation({ pathsGroupRef }: { pathsGroupRef: React.MutableRefObject
                             name={`${path.modeluuid}-vehicle-path`}
                             key={path.modeluuid}
                             ref={el => (groupRefs.current[path.modeluuid] = el!)}
-                            position={path.assetPosition}
+                            position={path.position}
                             onClick={(e) => {
                                 if (isConnecting || eyeDropMode) return;
                                 e.stopPropagation();
diff --git a/app/src/services/factoryBuilder/assest/floorAsset/getFloorItemsApi.ts b/app/src/services/factoryBuilder/assest/floorAsset/getFloorItemsApi.ts
index efe98fc..7a0290a 100644
--- a/app/src/services/factoryBuilder/assest/floorAsset/getFloorItemsApi.ts
+++ b/app/src/services/factoryBuilder/assest/floorAsset/getFloorItemsApi.ts
@@ -1,8 +1,8 @@
 let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
 
-export const getFloorItems = async (organization: string) => {
+export const getFloorAssets = async (organization: string) => {
     try {
-        const response = await fetch(`${url_Backend_dwinzo}/api/v1/findfloorItems/${organization}`, {
+        const response = await fetch(`${url_Backend_dwinzo}/api/v2/floorAssets/${organization}`, {
             method: "GET",
             headers: {
                 "Content-Type": "application/json",
@@ -10,7 +10,7 @@ export const getFloorItems = async (organization: string) => {
         });
 
         if (!response.ok) {
-            throw new Error("Failed to get Floor Items");
+            throw new Error("Failed to get assets");
         }
 
         const result = await response.json();
diff --git a/app/src/services/factoryBuilder/assest/floorAsset/setFloorItemApi.ts b/app/src/services/factoryBuilder/assest/floorAsset/setFloorItemApi.ts
index f6cd496..75583cc 100644
--- a/app/src/services/factoryBuilder/assest/floorAsset/setFloorItemApi.ts
+++ b/app/src/services/factoryBuilder/assest/floorAsset/setFloorItemApi.ts
@@ -1,4 +1,4 @@
-let url_Backend_dwinzo = `http://${process.env.REACT_APP_TEST}`;
+let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
 
 export const setFloorItemApi = async (
     organization: string,
diff --git a/app/src/services/simulation/getAssetEventType.ts b/app/src/services/simulation/getAssetEventType.ts
index a681b12..84433ec 100644
--- a/app/src/services/simulation/getAssetEventType.ts
+++ b/app/src/services/simulation/getAssetEventType.ts
@@ -1,4 +1,4 @@
-let url_Backend_dwinzo = `http://${process.env.REACT_APP_TEST}`;
+let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
 
 export const getAssetEventType = async (modelId: string, organization: string) => {
     try {
diff --git a/app/src/types/world/worldTypes.d.ts b/app/src/types/world/worldTypes.d.ts
index 4d10a36..d1ce13f 100644
--- a/app/src/types/world/worldTypes.d.ts
+++ b/app/src/types/world/worldTypes.d.ts
@@ -319,8 +319,8 @@ interface ConveyorEventsSchema {
         triggers: { uuid: string; name: string; type: string; isUsed: boolean; bufferTime: number }[] | [];
         connections: { source: { pathUUID: string; pointUUID: string }; targets: { pathUUID: string; pointUUID: string }[] };
     }[];
-    assetPosition: [number, number, number];
-    assetRotation: [number, number, number];
+    position: [number, number, number];
+    rotation: [number, number, number];
     speed: number | string;
 }
 
@@ -335,5 +335,5 @@ interface VehicleEventsSchema {
         connections: { source: { pathUUID: string; pointUUID: string }; targets: { pathUUID: string; pointUUID: string }[] };
         speed: number;
     };
-    assetPosition: [number, number, number];
+    position: [number, number, number];
 }
\ No newline at end of file