update lpa portal

This commit is contained in:
2023-07-27 12:46:02 +01:00
parent 3ff708737c
commit daa8b1c96d
5 changed files with 198 additions and 106 deletions
+78
View File
@@ -0,0 +1,78 @@
/**
* @swagger
* /api/endpoint/getmylpacases_api:
* get:
* tags: [Portal]
* description: Get My LPA Cases
* summary: Phase 2
* parameters:
* - name: lpaid
* 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 { getToken, azureHeaders, consoleLogger } from "../../../actions";
import jsonpath from "jsonpath";
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;
};
export default async function ApiProxy(req, res) {
var lpaid = req.query.lpaid;
var token = await getToken();
const lpaList = await getLPA();
const lpaGUID = jsonpath.query(lpaList, '$..[?(@.name="' + lpaid + '")]');
console.log(
'$..[?(@.name="' + lpaid + '")]',
lpaList,
lpaid,
"LPAGUID=",
lpaGUID
);
var queryUrl =
"incidents?$select=description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value,pinswg_appellantlastname,pinswg_appellantfirstname,pinswg_appellantagent,pinswg_agentfirstname,pinswg_agentlastname,pinswg_agentcompanyname&$expand=primarycontactid($select=fullname)&$filter=_pinswg_associatedlpa_value eq " +
lpaGUID[0].accountid +
" and servicestage eq 0 and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true";
//console.log("///////////\nPortal query: ", queryUrl, "<<<<end query");
return axios
.get(
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
azureHeaders(token.access_token)
)
.then(({ data }) => {
data.value.forEach(function (element) {
element.pinswg_title = element.title;
});
res.status(200).json(data);
})
.catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err);
});
}
+10 -6
View File
@@ -9,7 +9,7 @@ import {
getAwaitingSubmissionFromBlob,
getAwaitingSubmission,
getMyCases,
getLPACases,
getMyLPACases,
getMyRepresentations,
getPersonalAccount,
getPortalModuleDetails,
@@ -188,9 +188,12 @@ export const getServerSideProps = wrapper.getServerSideProps(
const accountDetails = await getPersonalAccount(loggedInUser);
const lpaid = accountDetails(
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
);
console.log("----------", accountDetails);
const lpaid =
accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
];
const [
myCases,
@@ -201,8 +204,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
] = await Promise.all([
accountDetails.pinswg_typeofinvolvment == 846040012
? await getMyLPACases(lpaid)
: await getMyCases(loggedinUser),
await getMyCases(loggedInUser),
: await getMyCases(loggedInUser),
await getRepsFromBlob(thisSession.user.id),
await getWatchedCases(loggedInUser),
await getAwaitingSubmission(loggedInUser),
@@ -297,6 +300,7 @@ const getDetails = (resultsObj, detailsType) => {
resultsObj = resultsObj.value;
if (detailsType == "myRepresentations") {
const repsObj = resultsObj.map((searchDetail, index) => {
console.log(".......... ", searchDetail);
detailsArr.push(
getCase(searchDetail["incidentID"]).then((data) => {
let caseID = "";