query GetProtocols {
protocols(input:
{
filter:{
id:"b953017a-3824-4b44-a28f-e872a3c53b09"
unitId:"b953017a-3824-4b44-a28f-e872a3c53b08",
propertyId:"b953017a-3823-4b44-a28f-e872a3c53b09",
draftId:"b953017a-3824-4b44-a28f-e872a4c53b09",
companyId:"341de250-2fd6-11e7-9e51-ff0020488d44",
protocolType:"V2"
}
}
){
id
draftId
propertyId
companyId
unitId
protocolType
protocolVersion
unit {
id
}
company {
id
}
property {
id
}
keysets {
id
pictures {
id
}
}
meters {
id
protocolId
unitMeterId
stand
number
pictures{id}
}
rooms {
id
}
}
}
async function fetchProtocols() {
const graphqlEndpoint = 'https://acme-qa.everreal.co/api/reporting/graphql'; // Replace with your actual GraphQL endpoint URL
const query = `
query GetProtocols($filterInput: ProtocolFilter!) {
protocols(input: { filter: $filterInput }) {
id
draftId
propertyId
companyId
unitId
protocolType
protocolVersion
unit { id }
company { id }
property { id }
keysets {
id
pictures { id }
}
meters {
id
protocolId
unitMeterId
stand
number
pictures { id }
}
rooms { id }
}
}
`;
const variables = {
filterInput: {
id: "b953017a-3824-4b44-a28f-e872a3c53b09",
unitId: "b953017a-3824-4b44-a28f-e872a3c53b08",
propertyId: "b953017a-3823-4b44-a28f-e872a3c53b09",
draftId: "b953017a-3824-4b44-a28f-e872a4c53b09",
companyId: "341de250-2fd6-11e7-9e51-ff0020488d44",
protocolType: "V2"
}
};
try {
const response = await fetch(graphqlEndpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
// Add any necessary Authorization headers here e.g.,
// 'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
},
body: JSON.stringify({
query: query,
variables: variables // Send variables separately
})
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const result = await response.json();
if (result.errors) {
console.error("GraphQL Errors:", result.errors);
// Handle GraphQL errors (e.g., validation errors, execution errors)
} else {
console.log("Protocols Data:", result.data.protocols);
// Process the received data (result.data.protocols)
return result.data.protocols;
}
} catch (error) {
console.error("Error fetching protocols:", error);
// Handle network errors or other exceptions
}
}
// Example usage:
fetchProtocols().then(protocols => {
if (protocols) {
console.log("Successfully fetched protocols.");
// Do something with the protocols array
}
});