/** * @swagger * /api/endpoint/getmycases_api: * get: * tags: [Portal] * description: Get My 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 { azureHeaders } from "../../../actions/core/headers"; import { consoleLogger } from "../../../actions/core/logger"; import { getToken } from "../../../actions/core/token"; import { hashAPIPath } from "../../../actions/core/hash"; import { respondError, respondSuccess } from "../middleware/apiResponse"; const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; export default async function ApiProxy(req, res) { const loggedInUserId = req.query.loggedInUserId; if ( typeof loggedInUserId !== "string" || loggedInUserId.trim().length === 0 ) { return respondError(res, { status: 400, code: "LOGGED_IN_USER_ID_REQUIRED", message: "loggedInUserId is required" }); } try { const token = await getToken(); const queryUrl = "incidents?$select=pinswg_environmentalstatementlocation,modifiedon,pinswg_publishtoweb,description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value,pinswg_lpareference,pinswg_appellantlastname,pinswg_appellantfirstname,pinswg_appellantagent,pinswg_agentfirstname,pinswg_agentlastname,pinswg_agentcompanyname&$expand=primarycontactid($select=fullname)&$filter=_customerid_value eq " + loggedInUserId + " and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true"; const { data } = await axios.get( WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeaders(token.access_token) ); data.value.forEach(function (element) { element.pinswg_title = element.title; }); return respondSuccess(res, data); } catch (error) { consoleLogger(error); return respondError(res, { status: 400, code: "MY_CASES_FETCH_FAILED", message: "Failed to fetch my cases" }); } }