From 1514eef34371c254d05c85adf921829a3eebb5ed Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Tue, 10 Jun 2025 17:56:59 +0100 Subject: [PATCH] 17025 proxy for delete cases --- actions/index.js | 5 +- .../endpoint/deletewatchedcasesproxy_api.js | 86 +++++++++++++++++++ pages/api/endpoint/getwatchedcases_api.js | 2 +- 3 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 pages/api/endpoint/deletewatchedcasesproxy_api.js diff --git a/actions/index.js b/actions/index.js index 1fb6b921..20cdbef0 100644 --- a/actions/index.js +++ b/actions/index.js @@ -1461,9 +1461,10 @@ export const deleteMyRepresentationsFromBlob = ( export const deleteWatchedCases = (watchedCaseID) => { var queryUrl = - "/api/endpoint/deletewatchedcases_api?watchedCaseID=" + watchedCaseID; + "/api/endpoint/deletewatchedcasesproxy_api?watchedCaseID=" + + watchedCaseID; var config = { - method: "delete", + method: "get", url: queryUrl, }; diff --git a/pages/api/endpoint/deletewatchedcasesproxy_api.js b/pages/api/endpoint/deletewatchedcasesproxy_api.js new file mode 100644 index 00000000..e62bb1eb --- /dev/null +++ b/pages/api/endpoint/deletewatchedcasesproxy_api.js @@ -0,0 +1,86 @@ +/** + * @swagger + * /api/endpoint/getwatchedcasesproxy_api: + * get: + * tags: [Portal] + * description: Get my watched cases + * summary: Phase 2 + * parameters: + * - name: loggedInUserId + * in: query + * required: true + * example: 726158c6-708d-ec11-aad8-00224800be9c + * schema: + * type: string + * responses: + * 200: + * description: Success + */ + +import axios from "axios"; +import CryptoJS from "crypto-js"; +import { azureHeaders, consoleLogger, getToken } from "../../../actions"; + +const WORDKEY = process.env.HASHKEY; + +const WEBAPI_URL = + process.env.RELAY_ROOT || + "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; + +const hashAPIPath = (queryPath) => { + var hashlink = CryptoJS.HmacSHA256( + queryPath, + CryptoJS.enc.Hex.parse(WORDKEY) + ); + hashlink = hashlink.toString(CryptoJS.enc.Hex); + return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; +}; + +const BASE_URL = process.env.API_ROOT || `http://localhost:${port}`; + +export default async function ApiProxy(req, res) { + var watchedCaseID = req.query.watchedCaseID; + var token = await getToken(); + + var queryUrl = + "/api/endpoint/deletewatchedcases_api?watchedCaseID=" + watchedCaseID; + + return axios + .get( + BASE_URL + queryUrl + hashAPIPath(queryUrl), + azureHeaders(token.access_token) + ) + .then(({ data }) => { + // data.value.forEach(function (element) { + // element.ticketnumber = element.pinswg_WatchedCase?.ticketnumber; + // element.pinswg_title = + // element[ + // "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" + // ]; + + // element[ + // "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" + // ] = + // element.pinswg_WatchedCase?.[ + // "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" + // ]; + // element._pinswg_associatedlpa_value = + // element.pinswg_WatchedCase?._pinswg_associatedlpa_value; + // element[ + // "_ownerid_value@OData.Community.Display.V1.FormattedValue" + // ] = + // element.pinswg_WatchedCase?.[ + // "_ownerid_value@OData.Community.Display.V1.FormattedValue" + // ]; + // element._ownerid_value = + // element.pinswg_WatchedCase?._ownerid_value; + + // delete element.pinswg_WatchedCase; + // }); + res.status(200).json(data); + }) + .catch((error) => { + consoleLogger(error); + res.status(400).json(error); + }); +} diff --git a/pages/api/endpoint/getwatchedcases_api.js b/pages/api/endpoint/getwatchedcases_api.js index de389b98..eb8db3a1 100644 --- a/pages/api/endpoint/getwatchedcases_api.js +++ b/pages/api/endpoint/getwatchedcases_api.js @@ -45,7 +45,7 @@ export default async function ApiProxy(req, res) { loggedInUserId + "&$select=pinswg_emailnotifications,modifiedon,pinswg_appealcasetype,pinswg_watchlistid,_pinswg_watchedcase_value,statuscode,pinswg_representationsubmitted,pinswg_representationtype&$count=true&$orderby=createdon desc&$expand=pinswg_WatchedCase($select=pinswg_AssociatedLPA)"; - console.log(queryUrl); + //console.log(queryUrl); return axios .get( WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),