dmw preliminary work
This commit is contained in:
@@ -21,6 +21,70 @@ const hashAPIPath = (queryPath) => {
|
||||
return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink;
|
||||
};
|
||||
|
||||
const renameKeys = (obj) => {
|
||||
const keyMappings = {
|
||||
"pinswg_projectlocation": "location",
|
||||
"pinswg_mapzoomlevel": "zoomLevel",
|
||||
"pinswg_name": "projectName",
|
||||
"pinswg_anticipatedgridreferenceeastingtext": "easting",
|
||||
"pinswg_anticipatedgridreferencenorthingtext": "northing",
|
||||
"pinswg_anticipatedgridrefeasting": "easting",
|
||||
"pinswg_anticipatedgridrefnorthing": "northing",
|
||||
"pinswg_projectname": "projectTitle",
|
||||
"pinswg_dnsid": "dnsId",
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue":
|
||||
"lpaDisplayName",
|
||||
"_pinswg_associatedlpa_value": "lpaId",
|
||||
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue":
|
||||
"appellantDisplayName",
|
||||
"_pinswg_appellant_value": "appellantId",
|
||||
"zoom": "mapZoom",
|
||||
"center": "locationCenter",
|
||||
};
|
||||
|
||||
let renamedObj = {};
|
||||
Object.keys(obj).forEach((key) => {
|
||||
// Skip keys that need to be removed
|
||||
if (keysToRemove.includes(key)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if the key exists in the mapping
|
||||
if (keyMappings[key]) {
|
||||
renamedObj[keyMappings[key]] = obj[key];
|
||||
} else {
|
||||
renamedObj[key] = obj[key];
|
||||
}
|
||||
});
|
||||
|
||||
// Recursively rename keys in nested objects
|
||||
if (obj.center) {
|
||||
renamedObj.locationCenter = {
|
||||
lat: obj.center.lat,
|
||||
lng: obj.center.lng,
|
||||
};
|
||||
}
|
||||
|
||||
if (renamedObj.easting) {
|
||||
renamedObj.easting = String(renamedObj.easting);
|
||||
}
|
||||
if (renamedObj.northing) {
|
||||
renamedObj.northing = String(renamedObj.northing);
|
||||
}
|
||||
|
||||
return renamedObj;
|
||||
};
|
||||
|
||||
const keysToRemove = [
|
||||
"_pinswg_associatedlpa_value@Microsoft.Dynamics.CRM.associatednavigationproperty",
|
||||
"_pinswg_appellant_value@Microsoft.Dynamics.CRM.associatednavigationproperty",
|
||||
"_pinswg_associatedlpa_value@Microsoft.Dynamics.CRM.lookuplogicalname",
|
||||
"_pinswg_appellant_value@Microsoft.Dynamics.CRM.lookuplogicalname",
|
||||
"pinswg_anticipatedgridrefeasting@OData.Community.Display.V1.FormattedValue",
|
||||
"pinswg_anticipatedgridrefnorthing@OData.Community.Display.V1.FormattedValue",
|
||||
// Add any other keys to remove here
|
||||
];
|
||||
|
||||
export default async function ApiProxy(req, res) {
|
||||
var token = await getToken();
|
||||
|
||||
@@ -90,7 +154,15 @@ export default async function ApiProxy(req, res) {
|
||||
});
|
||||
|
||||
// Send the merged values as the response
|
||||
return res.status(200).json(coordsObj);
|
||||
|
||||
const updatedData = {
|
||||
value: coordsObj.value.map((item) => renameKeys(item)),
|
||||
"@odata.count": coordsObj["@odata.count"],
|
||||
};
|
||||
|
||||
return req.query.hasOwnProperty("fordmw")
|
||||
? res.status(200).json(updatedData)
|
||||
: res.status(200).json(coordsObj);
|
||||
} catch (error) {
|
||||
// Catch any errors and send an error response
|
||||
consoleLogger(error);
|
||||
|
||||
Reference in New Issue
Block a user