/** * @swagger * /api/endpoint/getbasicdnssearchdetailspaged_api: * get: * tags: [Search] * description: Basic DNS search details paged * summary: Not used * responses: * 200: * description: Success */ import axios from "axios"; import _ from "lodash"; import { azureHeadersPaged } from "../../../actions/core/headers"; import { consoleLogger } from "../../../actions/core/logger"; import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; 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 caseReference = req.query.caseReference; if ( typeof caseReference !== "string" || caseReference.trim().length === 0 ) { return respondError(res, { status: 400, code: "CASE_REFERENCE_REQUIRED", message: "caseReference is required" }); } try { const token = await getToken(); let queryUrl = "pinswg_dnses?$filter=pinswg_name eq '" + caseReference + "&$count=true"; queryUrl = queryUrl + getSelectQuery("pinswg_dnses"); const { data } = await axios.get( WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeadersPaged(token.access_token) ); if (_.has(data, "@odata.nextLink") === true) { const dataStr = JSON.stringify(data["@odata.nextLink"]); data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]; } return respondSuccess(res, data); } catch (error) { consoleLogger(error); return respondError(res, { status: 400, code: "BASIC_DNS_SEARCH_DETAILS_PAGED_FETCH_FAILED", message: "Failed to fetch paged basic DNS search details" }); } }