diff --git a/components/search/searchresults.js b/components/search/searchresults.js
index 2ae424c7..71442be0 100644
--- a/components/search/searchresults.js
+++ b/components/search/searchresults.js
@@ -253,6 +253,8 @@ const SearchResults = (props) => {
searchDetailsObj
);
+ Object.assign(item, item.pinswg_sipscase);
+
detailsObj = detailsObj[0] || {};
return (
{
{item.title}
- {detailsObj.hasOwnProperty(
- "_pinswg_projecttype_value@OData.Community.Display.V1.FormattedValue"
- ) && (
-
- {
- detailsObj[
- "_pinswg_projecttype_value@OData.Community.Display.V1.FormattedValue"
- ]
- }
-
- )}
+ {item.hasOwnProperty(
+ "pinswg_sipscase"
+ ) &&
+ item.hasOwnProperty(
+ "_pinswg_projecttype_value@OData.Community.Display.V1.FormattedValue"
+ ) && (
+
+ {
+ item[
+ "_pinswg_projecttype_value@OData.Community.Display.V1.FormattedValue"
+ ]
+ }
+
+ )}
diff --git a/pages/api/endpoint/getadvancedsearchpaged_api.js b/pages/api/endpoint/getadvancedsearchpaged_api.js
index 506e13dd..9767a6e8 100644
--- a/pages/api/endpoint/getadvancedsearchpaged_api.js
+++ b/pages/api/endpoint/getadvancedsearchpaged_api.js
@@ -1,51 +1,51 @@
-/**
- * @swagger
- * /api/endpoint/getadvancedsearchpaged_api:
- * get:
- * tags: [Search]
- * description: Advanced search paged
- * parameters:
- * - name: searchstring
- * description: search string
- * in: query
- * required: false
- * example: {
- * "q":"cas-",
- * "lpa":"744c69f4-48da-eb11-aac5-00224800be9c",
- * "apt":"846040000",
- * "statuscode":"1"}
- * schema:
- * type: string
- * - name: pageNumber
- * in: query
- * required: true
- * example: 1
- * schema:
- * type: string
- * - name: orderby
- * in: query
- * required: true
- * example: createdon
- * schema:
- * type: string
- * - name: fieldSort
- * in: query
- * required: true
- * description: asc or desc
- * example: asc
- * schema:
- * type: string
- * - name: showNumberOfRecords
- * in: query
- * required: true
- * description: number of records to return per page
- * example: 10
- * schema:
- * type: string
- * responses:
- * 200:
- * description: Success
- */
+// /**
+// * @swagger
+// * /api/endpoint/getadvancedsearchpaged_api:
+// * get:
+// * tags: [Search]
+// * description: Advanced search paged
+// * parameters:
+// * - name: searchstring
+// * description: search string
+// * in: query
+// * required: false
+// * example: {
+// * "q":"cas-",
+// * "lpa":"744c69f4-48da-eb11-aac5-00224800be9c",
+// * "apt":"846040000",
+// * "statuscode":"1"}
+// * schema:
+// * type: string
+// * - name: pageNumber
+// * in: query
+// * required: true
+// * example: 1
+// * schema:
+// * type: string
+// * - name: orderby
+// * in: query
+// * required: true
+// * example: createdon
+// * schema:
+// * type: string
+// * - name: fieldSort
+// * in: query
+// * required: true
+// * description: asc or desc
+// * example: asc
+// * schema:
+// * type: string
+// * - name: showNumberOfRecords
+// * in: query
+// * required: true
+// * description: number of records to return per page
+// * example: 10
+// * schema:
+// * type: string
+// * responses:
+// * 200:
+// * description: Success
+// */
import axios from "axios";
import CryptoJS from "crypto-js";
@@ -53,6 +53,7 @@ import _ from "lodash";
import {
azureHeadersPagedCustom,
azureHeadersPaged,
+ azureHeaders,
consoleLogger,
getToken,
} from "../../../actions";
@@ -127,7 +128,29 @@ export default async function ApiProxy(req, res) {
? "&$skiptoken=" + ('
')
: "");
- //console.log("adv qu: ", queryUrl);
+ if (_.has(searchString, "projecttype")) {
+ queryUrl =
+ "pinswg_sipses?$count=true&$expand=pinswg_sipscase&$filter=_pinswg_projecttype_value eq " +
+ searchString.projecttype +
+ (searchString.hasOwnProperty("q")
+ ? " and contains(pinswg_projectname, '" + searchString.q + "')"
+ : "") +
+ (searchString.hasOwnProperty("lpa")
+ ? " and _pinswg_associatedlpa_value eq " +
+ searchString.lpa +
+ " "
+ : "") +
+ "&$orderby=" +
+ orderby +
+ " " +
+ fieldSort +
+ (typeof pageNumber != "undefined"
+ ? "&$skiptoken=" +
+ ('
')
+ : "");
+ }
+
+ console.log("adv qu: ", queryUrl);
var apiResponse = _.isEmpty(searchString)
? res.status(400).json()
@@ -146,63 +169,57 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
if (_.has(searchString, "projecttype")) {
- await updateValueArray(data, token);
-
- async function updateValueArray(data, token) {
- for (let i = 0; i < data.value.length; i++) {
- const item = data.value[i];
-
- try {
- // Axios call using the `incidentid` to fetch additional data
- const response = await axios.get(
- WEBAPI_URL +
- "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
- item.incidentid +
- " and _pinswg_projecttype_value eq " +
- searchString.projecttype +
- "&$select=_pinswg_projecttype_value" +
- hashAPIPath(
- "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
- item.incidentid +
- " and _pinswg_projecttype_value eq " +
- searchString.projecttype +
- "&$select=_pinswg_projecttype_value"
- ),
- azureHeadersPaged(token.access_token)
- );
-
- // Assuming the response contains the additional data you want to add
- // console.log(response.data.value[0]);
- console.log(response.data.value);
-
- if (
- response.data.value.length > 0 &&
- response.data.value[0]
- ._pinswg_projecttype_value != null
- ) {
- Object.assign(
- item,
- response.data.value[0]
- ); // Update item with new data
- } else {
- console.log(
- `No project type found for incident ID ${item.incidentid}`
- );
- }
- } catch (error) {
- console.error(
- `Error fetching data for incident ID ${item.incidentid}:`,
- error
- );
- }
- }
- }
-
- data.value = data.value.filter(
- (item) => item._pinswg_projecttype_value != null
- );
-
- data["@odata.count"] = data.value.length;
+ // await updateValueArray(data, token);
+ // async function updateValueArray(data, token) {
+ // for (let i = 0; i < data.value.length; i++) {
+ // const item = data.value[i];
+ // try {
+ // // Axios call using the `incidentid` to fetch additional data
+ // const response = await axios.get(
+ // WEBAPI_URL +
+ // "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
+ // item.incidentid +
+ // " and _pinswg_projecttype_value eq " +
+ // searchString.projecttype +
+ // "&$select=_pinswg_projecttype_value" +
+ // hashAPIPath(
+ // "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
+ // item.incidentid +
+ // " and _pinswg_projecttype_value eq " +
+ // searchString.projecttype +
+ // "&$select=_pinswg_projecttype_value"
+ // ),
+ // azureHeadersPaged(token.access_token)
+ // );
+ // // Assuming the response contains the additional data you want to add
+ // // console.log(response.data.value[0]);
+ // console.log(response.data.value);
+ // if (
+ // response.data.value.length > 0 &&
+ // response.data.value[0]
+ // ._pinswg_projecttype_value != null
+ // ) {
+ // Object.assign(
+ // item,
+ // response.data.value[0]
+ // ); // Update item with new data
+ // } else {
+ // console.log(
+ // `No project type found for incident ID ${item.incidentid}`
+ // );
+ // }
+ // } catch (error) {
+ // console.error(
+ // `Error fetching data for incident ID ${item.incidentid}:`,
+ // error
+ // );
+ // }
+ // }
+ // }
+ // data.value = data.value.filter(
+ // (item) => item._pinswg_projecttype_value != null
+ // );
+ // data["@odata.count"] = data.value.length;
}
res.status(200).json(data);
@@ -214,3 +231,161 @@ export default async function ApiProxy(req, res) {
return apiResponse;
}
+
+// export default async function ApiProxy(req, res) {
+// var searchString = req.query.searchstring;
+// var pageNumber = req.query.pageNumber;
+// var token = await getToken();
+
+// var orderby = req.query.orderby;
+// var fieldSort = req.query.fieldSort;
+// var showNumberOfRecords = req.query.showNumberOfRecords;
+
+// searchString = _.isEmpty(searchString)
+// ? searchString
+// : JSON.parse(decodeURI(searchString));
+
+// var queryString = "";
+
+// queryString +=
+// _.has(searchString, "q") && searchString.q != null
+// ? "(contains(title, '" +
+// searchString.q.replace(/\'/g, "''") +
+// "') or contains(ticketnumber,'" +
+// searchString.q.replace(/\'/g, "''") +
+// "')) and"
+// : "";
+
+// queryString +=
+// (_.has(searchString, "lpa") || _.has(searchString, "LPA")) &&
+// searchString.lpa != null
+// ? " _pinswg_associatedlpa_value eq " + searchString.lpa + " and"
+// : "";
+
+// queryString +=
+// _.has(searchString, "apt") && searchString.apt != null
+// ? " pinswg_appealcasetype eq " + searchString.apt + " and"
+// : "";
+
+// queryString +=
+// _.has(searchString, "statuscode") && searchString.statuscode != null
+// ? " statuscode eq " + searchString.statuscode + " and"
+// : "";
+
+// var queryUrl =
+// "incidents?$select=pinswg_caseaddress,modifiedon,description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title,_primarycontactid_value,pinswg_lpareference,pinswg_appellantagent,pinswg_appellantfirstname,pinswg_appellantlastname&$expand=primarycontactid($select=fullname)&$filter=" +
+// queryString +
+// " pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=" +
+// orderby +
+// " " +
+// fieldSort +
+// "&$count=true";
+
+// console.log(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl));
+
+// var apiResponse = _.isEmpty(searchString)
+// ? res.status(400).json()
+// : axios
+// .get(
+// WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
+// azureHeadersPagedCustom(
+// token.access_token,
+// showNumberOfRecords
+// )
+// )
+// .then(async ({ data }) => {
+// var dataStr;
+// _.has(data, "@odata.nextLink") == true &&
+// ((dataStr = JSON.stringify(data["@odata.nextLink"])),
+// (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
+
+// if (_.has(searchString, "projecttype")) {
+// await updateValueArray(data, token);
+
+// async function updateValueArray(data, token) {
+// let hasNextPage = true;
+// let nextPageUrl = data["@odata.nextLink"];
+
+// // Loop through all pages
+// while (hasNextPage) {
+// // Iterate through current data and process it
+// for (let i = 0; i < data.value.length; i++) {
+// const item = data.value[i];
+
+// try {
+// // Axios call using the `incidentid` to fetch additional data
+// const response = await axios.get(
+// WEBAPI_URL +
+// "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
+// item.incidentid +
+// " and _pinswg_projecttype_value eq " +
+// searchString.projecttype +
+// "&$select=_pinswg_projecttype_value" +
+// hashAPIPath(
+// "pinswg_sipses?$filter=_pinswg_sipscase_value eq " +
+// item.incidentid +
+// " and _pinswg_projecttype_value eq " +
+// searchString.projecttype +
+// "&$select=_pinswg_projecttype_value"
+// ),
+// azureHeadersPaged(token.access_token)
+// );
+
+// if (
+// response.data.value.length > 0 &&
+// response.data.value[0]
+// ._pinswg_projecttype_value != null
+// ) {
+// Object.assign(
+// item,
+// response.data.value[0]
+// ); // Update item with new data
+// } else {
+// console.log(
+// `No project type found for incident ID ${item.incidentid}`
+// );
+// }
+// } catch (error) {
+// console.error(
+// `Error fetching data for incident ID ${item.incidentid}:`,
+// error
+// );
+// }
+// }
+
+// // If there's a next page, fetch it
+// if (nextPageUrl) {
+// const nextPageData = await axios.get(
+// WEBAPI_URL +
+// nextPageUrl +
+// hashAPIPath(nextPageUrl),
+// azureHeadersPaged(token.access_token)
+// );
+// data.value = [
+// ...data.value,
+// ...nextPageData.data.value,
+// ];
+// nextPageUrl =
+// nextPageData.data["@odata.nextLink"];
+// } else {
+// hasNextPage = false;
+// }
+// }
+// }
+
+// data.value = data.value.filter(
+// (item) => item._pinswg_projecttype_value != null
+// );
+
+// data["@odata.count"] = data.value.length;
+// }
+
+// res.status(200).json(data);
+// })
+// .catch((error) => {
+// consoleLogger(error);
+// res.status(400).json(error);
+// });
+
+// return apiResponse;
+// }