Fix the datacenter query according to the changes in backend

This commit is contained in:
2025-08-18 05:38:51 +03:00
parent dd04a057b1
commit ebd997a33d

View File

@@ -58,41 +58,42 @@ export const getDataCenters = () => {
id id
tag tag
} }
emissionSource { dataCenterEmissionSources {
id id
tag emissionSource {
} id
consuptionUnit { tag
id }
description consuptionUnit {
id
description
}
isDefault
percentage
} }
activitySubUnit { activitySubUnit {
id id
tag tag
} }
projects { physicalMachines {
id id
name name
physicalMachines { vms {
id id
name vmName
vms { state
id power
vmName calcOn
state hostingPm
power host
calcOn flavorName
hostingPm tag
host config {
flavorName id
tag cpu
config { ram
id disk
cpu }
ram
disk
}
}
} }
} }
} }
@@ -111,7 +112,7 @@ export const getDataCenters = () => {
console.log("GraphQL Response:", { console.log("GraphQL Response:", {
status: response.status, status: response.status,
data: response.data, data: response.data,
errors: response.data?.errors errors: response.data?.errors,
}); });
// Check for GraphQL errors // Check for GraphQL errors
@@ -125,7 +126,7 @@ export const getDataCenters = () => {
} }
const dataCenters = response.data.data.dataCenters; const dataCenters = response.data.data.dataCenters;
// Validate dataCenters is an array // Validate dataCenters is an array
if (!Array.isArray(dataCenters)) { if (!Array.isArray(dataCenters)) {
throw new Error("Invalid response: dataCenters is not an array"); throw new Error("Invalid response: dataCenters is not an array");
@@ -144,7 +145,7 @@ export const getDataCenters = () => {
message: error.message, message: error.message,
response: error.response?.data, response: error.response?.data,
status: error.response?.status, status: error.response?.status,
stack: error.stack stack: error.stack,
}); });
// Check for specific error types // Check for specific error types
@@ -213,13 +214,18 @@ export const createDataCenter = (dataCenterData) => {
id id
tag tag
} }
emissionSource { dataCenterEmissionSources {
id id
tag emissionSource {
} id
consuptionUnit { tag
id }
description consuptionUnit {
id
description
}
isDefault
percentage
} }
activitySubUnit { activitySubUnit {
id id
@@ -236,16 +242,20 @@ export const createDataCenter = (dataCenterData) => {
number: parseInt(dataCenterData.number) || 1, number: parseInt(dataCenterData.number) || 1,
areaId: dataCenterData.areaId || null, areaId: dataCenterData.areaId || null,
address: dataCenterData.address || "", address: dataCenterData.address || "",
latitude: dataCenterData.latitude ? parseFloat(dataCenterData.latitude) : null, latitude: dataCenterData.latitude
longitude: dataCenterData.longitude ? parseFloat(dataCenterData.longitude) : null, ? parseFloat(dataCenterData.latitude)
: null,
longitude: dataCenterData.longitude
? parseFloat(dataCenterData.longitude)
: null,
emissionScopeId: dataCenterData.emissionScopeId || null, emissionScopeId: dataCenterData.emissionScopeId || null,
sectorId: dataCenterData.sectorId || null, sectorId: dataCenterData.sectorId || null,
subSectorId: dataCenterData.subSectorId || null, subSectorId: dataCenterData.subSectorId || null,
emissionSourceId: dataCenterData.emissionSourceId || null, emissionSourceId: dataCenterData.emissionSourceId || null,
consuptionUnitId: dataCenterData.consuptionUnitId || null, consuptionUnitId: dataCenterData.consuptionUnitId || null,
activitySubUnitId: dataCenterData.activitySubUnitId || null activitySubUnitId: dataCenterData.activitySubUnitId || null,
} },
} },
}, },
{ {
headers: { headers: {
@@ -258,7 +268,7 @@ export const createDataCenter = (dataCenterData) => {
console.log("Create Response:", { console.log("Create Response:", {
status: response.status, status: response.status,
data: response.data, data: response.data,
errors: response.data?.errors errors: response.data?.errors,
}); });
if (response.data?.errors) { if (response.data?.errors) {
@@ -334,13 +344,18 @@ export const updateDataCenter = (id, dataCenterData) => {
id id
tag tag
} }
emissionSource { dataCenterEmissionSources {
id id
tag emissionSource {
} id
consuptionUnit { tag
id }
description consuptionUnit {
id
description
}
isDefault
percentage
} }
activitySubUnit { activitySubUnit {
id id
@@ -358,16 +373,20 @@ export const updateDataCenter = (id, dataCenterData) => {
number: parseInt(dataCenterData.number) || 1, number: parseInt(dataCenterData.number) || 1,
areaId: dataCenterData.areaId || null, areaId: dataCenterData.areaId || null,
address: dataCenterData.address || "", address: dataCenterData.address || "",
latitude: dataCenterData.latitude ? parseFloat(dataCenterData.latitude) : null, latitude: dataCenterData.latitude
longitude: dataCenterData.longitude ? parseFloat(dataCenterData.longitude) : null, ? parseFloat(dataCenterData.latitude)
: null,
longitude: dataCenterData.longitude
? parseFloat(dataCenterData.longitude)
: null,
emissionScopeId: dataCenterData.emissionScopeId || null, emissionScopeId: dataCenterData.emissionScopeId || null,
sectorId: dataCenterData.sectorId || null, sectorId: dataCenterData.sectorId || null,
subSectorId: dataCenterData.subSectorId || null, subSectorId: dataCenterData.subSectorId || null,
emissionSourceId: dataCenterData.emissionSourceId || null, emissionSourceId: dataCenterData.emissionSourceId || null,
consuptionUnitId: dataCenterData.consuptionUnitId || null, consuptionUnitId: dataCenterData.consuptionUnitId || null,
activitySubUnitId: dataCenterData.activitySubUnitId || null activitySubUnitId: dataCenterData.activitySubUnitId || null,
} },
} },
}, },
{ {
headers: { headers: {
@@ -382,7 +401,7 @@ export const updateDataCenter = (id, dataCenterData) => {
dispatch({ dispatch({
type: "UPDATE_DATA_CENTER_SUCCESS", type: "UPDATE_DATA_CENTER_SUCCESS",
payload: response.data.data.updateDataCenter payload: response.data.data.updateDataCenter,
}); });
return response.data.data.updateDataCenter; return response.data.data.updateDataCenter;
@@ -415,8 +434,8 @@ export const deleteDataCenter = (id) => {
} }
`, `,
variables: { variables: {
id: id id: id,
} },
}, },
{ {
headers: { headers: {
@@ -431,7 +450,7 @@ export const deleteDataCenter = (id) => {
dispatch({ dispatch({
type: "DELETE_DATA_CENTER_SUCCESS", type: "DELETE_DATA_CENTER_SUCCESS",
payload: id payload: id,
}); });
return true; return true;
@@ -466,7 +485,7 @@ export const getEmissionScopes = () => {
description description
} }
} }
` `,
}, },
{ {
headers: { headers: {
@@ -481,7 +500,7 @@ export const getEmissionScopes = () => {
dispatch({ dispatch({
type: "GET_EMISSION_SCOPES_SUCCESS", type: "GET_EMISSION_SCOPES_SUCCESS",
payload: response.data.data.emissionScopes payload: response.data.data.emissionScopes,
}); });
return response.data.data.emissionScopes; return response.data.data.emissionScopes;
@@ -502,65 +521,59 @@ export const getDataCenterVMs = (dataCenterId) => {
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
// Don't make the request if dataCenterId is undefined, null, or empty // Don't make the request if dataCenterId is undefined, null, or empty
if (!dataCenterId || dataCenterId === "undefined") { if (!dataCenterId || dataCenterId === "undefined") {
console.log('getDataCenterVMs: No dataCenterId provided'); console.log("getDataCenterVMs: No dataCenterId provided");
resolve([]); resolve([]);
return; return;
} }
try { try {
console.log('getDataCenterVMs: Fetching VMs for data center:', dataCenterId); console.log(
const response = await ApplicationService.http() "getDataCenterVMs: Fetching VMs for data center:",
.post( dataCenterId
"/graphql", );
{ const response = await ApplicationService.http().post(
query: ` "/graphql",
{
query: `
{ {
dataCenter(id: "${dataCenterId}") { dataCenter(id: "${dataCenterId}") {
id id
dataCenter dataCenter
projects { physicalMachines {
id id
name name
physicalMachines { vms {
id id
name vmName
vms { state
id power
name
status
power
}
} }
} }
} }
} }
`, `,
},
{
headers: {
Authorization: "Bearer " + localStorage.getItem("accessToken"),
}, },
{ }
headers: { );
Authorization: "Bearer " + localStorage.getItem("accessToken"),
},
}
);
const dataCenter = response?.data?.data?.dataCenter; const dataCenter = response?.data?.data?.dataCenter;
console.log('getDataCenterVMs: Data center response:', dataCenter); console.log("getDataCenterVMs: Data center response:", dataCenter);
let allVMs = []; let allVMs = [];
if (dataCenter && dataCenter.projects) { if (dataCenter && dataCenter.physicalMachines) {
dataCenter.projects.forEach(project => { dataCenter.physicalMachines.forEach((pm) => {
if (project.physicalMachines) { if (pm.vms) {
project.physicalMachines.forEach(pm => { allVMs = allVMs.concat(pm.vms);
if (pm.vms) {
allVMs = allVMs.concat(pm.vms);
}
});
} }
}); });
} }
console.log('getDataCenterVMs: Found VMs:', allVMs); console.log("getDataCenterVMs: Found VMs:", allVMs);
resolve(allVMs); resolve(allVMs);
} catch (error) { } catch (error) {
console.error("Error fetching VMs by data center:", error); console.error("Error fetching VMs by data center:", error);