api asset delete bug fix and wall visibililty bug fix

This commit is contained in:
2025-09-02 12:32:02 +05:30
parent aa16257ae7
commit 175f6eac4f
9 changed files with 83 additions and 56 deletions

View File

@@ -15,7 +15,7 @@ import { useSelectedAsset } from '../../../../../../store/simulation/useSimulati
import { useBuilderStore } from '../../../../../../store/builder/useBuilderStore';
import { upsertProductOrEventApi } from '../../../../../../services/simulation/products/UpsertProductOrEventApi';
import { deleteFloorItem } from '../../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorItemApi';
import { deleteFloorAssetsApi } from '../../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorAssetsApi';
export function useModelEventHandlers({
boundingBox,
@@ -149,7 +149,12 @@ export function useModelEventHandlers({
// REST
deleteFloorItem(organization, asset.modelUuid, asset.modelName);
deleteFloorAssetsApi({
modelUuid: asset.modelUuid,
modelName: asset.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET

View File

@@ -122,7 +122,7 @@ function Wall({ wall }: { readonly wall: Wall }) {
castShadow
receiveShadow
ref={meshRef}
geometry={visible ? geometry : new THREE.BoxGeometry(0, 0)}
geometry={visible ? geometry : new THREE.BoxGeometry(0.00001, 0.00001)}
position={[centerX, centerY, centerZ]}
rotation={[0, -angle, 0]}
userData={wall}

View File

@@ -19,7 +19,7 @@ import RotateControls3D from "./rotateControls3D";
import TransformControls3D from "./transformControls3D";
import { useBuilderStore } from "../../../../../store/builder/useBuilderStore";
import { deleteFloorItem } from '../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorItemApi';
import { deleteFloorAssetsApi } from '../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorAssetsApi';
const SelectionControls3D: React.FC = () => {
const { camera, controls, gl, scene, raycaster, pointer } = useThree();
@@ -284,12 +284,16 @@ const SelectionControls3D: React.FC = () => {
const asset = getAssetById(selectedMesh.userData.modelUuid);
if (!asset) return;
if (!socket?.connected) {
// REST
deleteFloorItem(organization, selectedMesh.userData.modelUuid, selectedMesh.userData.modelName);
deleteFloorAssetsApi({
modelUuid: selectedMesh.userData.modelUuid,
modelName: selectedMesh.userData.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET

View File

@@ -8,7 +8,7 @@ import { useSocketStore } from "../../../../../store/builder/store";
import { upsertProductOrEventApi } from "../../../../../services/simulation/products/UpsertProductOrEventApi";
import { setAssetsApi } from "../../../../../services/factoryBuilder/asset/floorAsset/setAssetsApi";
import { deleteFloorItem } from "../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorItemApi";
import { deleteFloorAssetsApi } from "../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorAssetsApi";
function use3DRedoHandler() {
const { undoRedo3DStore, assetStore, productStore, eventStore } = useSceneContext();
@@ -177,7 +177,12 @@ function use3DRedoHandler() {
if (!socket?.connected) {
// REST
deleteFloorItem(organization, assetData.modelUuid, assetData.modelName);
deleteFloorAssetsApi({
modelUuid: assetData.modelUuid,
modelName: assetData.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET

View File

@@ -8,7 +8,7 @@ import { useSocketStore } from "../../../../../store/builder/store";
import { upsertProductOrEventApi } from "../../../../../services/simulation/products/UpsertProductOrEventApi";
import { setAssetsApi } from "../../../../../services/factoryBuilder/asset/floorAsset/setAssetsApi";
import { deleteFloorItem } from "../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorItemApi";
import { deleteFloorAssetsApi } from "../../../../../services/factoryBuilder/asset/floorAsset/deleteFloorAssetsApi";
function use3DUndoHandler() {
const { undoRedo3DStore, assetStore, productStore, eventStore } = useSceneContext();
@@ -176,7 +176,12 @@ function use3DUndoHandler() {
if (!socket?.connected) {
// REST
deleteFloorItem(organization, assetData.modelUuid, assetData.modelName);
deleteFloorAssetsApi({
modelUuid: assetData.modelUuid,
modelName: assetData.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET
@@ -254,7 +259,12 @@ function use3DUndoHandler() {
if (!socket?.connected) {
// REST
deleteFloorItem(organization, assetData.modelUuid, assetData.modelName);
deleteFloorAssetsApi({
modelUuid: assetData.modelUuid,
modelName: assetData.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET
@@ -291,7 +301,12 @@ function use3DUndoHandler() {
if (!socket?.connected) {
// REST
deleteFloorItem(organization, assetData.modelUuid, assetData.modelName);
deleteFloorAssetsApi({
modelUuid: assetData.modelUuid,
modelName: assetData.modelName,
versionId: selectedVersion?.versionId || '',
projectId: projectId || ''
});
} else {
// SOCKET

View File

@@ -0,0 +1,42 @@
let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
export interface DeleteFloorAssetsParams {
modelUuid: string;
modelName: string;
projectId: string;
versionId: string;
}
export const deleteFloorAssetsApi = async (params: DeleteFloorAssetsParams) => {
try {
const response = await fetch(`${url_Backend_dwinzo}/api/V1/assetDelete`, {
method: "PATCH",
headers: {
Authorization: "Bearer <access_token>",
"Content-Type": "application/json",
token: localStorage.getItem("token") || "",
refresh_token: localStorage.getItem("refreshToken") || "",
},
body: JSON.stringify(params),
});
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
localStorage.setItem("token", newAccessToken);
}
if (!response.ok) {
console.error("Failed to delete Floor Asset");
}
const result = await response.json();
return result;
} catch (error) {
console.error("Failed to delete floor asset");
if (error instanceof Error) {
console.log(error.message);
} else {
console.log("An unknown error occurred");
}
}
};

View File

@@ -1,42 +0,0 @@
let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
export const deleteFloorItem = async (
organization: string,
modelUuid: string,
modelName: string
) => {
try {
const response = await fetch(
`${url_Backend_dwinzo}/api/v1/deletefloorItem`,
{
method: "DELETE",
headers: {
Authorization: "Bearer <access_token>",
"Content-Type": "application/json",
token: localStorage.getItem("token") || "",
refresh_token: localStorage.getItem("refreshToken") || "",
},
body: JSON.stringify({ organization, modelUuid, modelName }),
}
);
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
//console.log("New token received:", newAccessToken);
localStorage.setItem("token", newAccessToken);
}
if (!response.ok) {
console.error("Failed to delete Floor Item");
}
const result = await response.json();
return result;
} catch (error) {
echo.error("Failed to delete floor item");
if (error instanceof Error) {
console.log(error.message);
} else {
console.log("An unknown error occurred");
}
}
};

View File

@@ -18,7 +18,6 @@ export const getFloatingWidgetInput = async (floatWidgetID: string, organization
);
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
//console.log("New token received:", newAccessToken);
localStorage.setItem("token", newAccessToken);
}

View File

@@ -17,7 +17,6 @@ export const getWidgetInputData = async (chartId?: string, zoneUuid?: string, pr
);
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
//console.log("New token received:", newAccessToken);
localStorage.setItem("token", newAccessToken);
}