Refactor floor management APIs: implement getFloorsApi, deleteFloorApi, and upsertFloorApi for enhanced floor data handling. Update FloorCreator for improved point snapping and floor creation logic. Modify ReferencePoint to include UUID and user data. Adjust usePointSnapping to handle temporary points more effectively.

This commit is contained in:
2025-06-26 18:23:01 +05:30
parent 1e88006780
commit 5003dc3504
9 changed files with 157 additions and 33 deletions

View File

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

View File

@@ -0,0 +1,37 @@
let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
export const getFloorsApi = async (
projectId: string,
versionId: string,
) => {
try {
const response = await fetch(`${url_Backend_dwinzo}/api/V1/floors/${projectId}/${versionId}`, {
method: "GET",
headers: {
Authorization: "Bearer <access_token>",
"Content-Type": "application/json",
token: localStorage.getItem("token") || "",
refresh_token: localStorage.getItem("refreshToken") || "",
},
});
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
localStorage.setItem("token", newAccessToken);
}
if (!response.ok) {
console.error("Failed to get floors:", response.statusText);
}
const result = await response.json();
return result;
} catch (error) {
echo.error("Failed to get floors");
if (error instanceof Error) {
console.log(error.message);
} else {
console.log("An unknown error occurred");
}
}
};

View File

@@ -0,0 +1,39 @@
let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;
export const upsertFloorApi = async (
projectId: string,
versionId: string,
floorData: Wall
) => {
try {
const response = await fetch(`${url_Backend_dwinzo}/api/V1/UpsertFloor`, {
method: "POST",
headers: {
Authorization: "Bearer <access_token>",
"Content-Type": "application/json",
token: localStorage.getItem("token") || "",
refresh_token: localStorage.getItem("refreshToken") || "",
},
body: JSON.stringify({ projectId, versionId, floorData }),
});
const newAccessToken = response.headers.get("x-access-token");
if (newAccessToken) {
localStorage.setItem("token", newAccessToken);
}
if (!response.ok) {
console.error("Failed to upsert floor:", response.statusText);
}
const result = await response.json();
return result;
} catch (error) {
echo.error("Failed to upsert floor");
if (error instanceof Error) {
console.log(error.message);
} else {
console.log("An unknown error occurred");
}
}
};

View File

@@ -21,13 +21,13 @@ export const getWallsApi = async (
}
if (!response.ok) {
console.error("Failed to get wall:", response.statusText);
console.error("Failed to get walls:", response.statusText);
}
const result = await response.json();
return result;
} catch (error) {
echo.error("Failed to get wall");
echo.error("Failed to get walls");
if (error instanceof Error) {
console.log(error.message);
} else {