/** * @swagger * /api/endpoint/getbasicdnssearchdetailspaged_api: * get: * tags: [Search] * description: Basic DNS search details paged * summary: Not used * responses: * 200: * description: Success */ import _ from "lodash"; import { azureHeadersPaged } from "../../../actions/core/headers"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { respondError } from "../middleware/apiResponse"; import { relayGet } from "../middleware/relayForwarding"; 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" }); } let queryUrl = "pinswg_dnses?$filter=pinswg_name eq '" + caseReference + "&$count=true"; queryUrl = queryUrl + getSelectQuery("pinswg_dnses"); return relayGet({ queryUrl, res, requestOptionsBuilder: (accessToken) => azureHeadersPaged(accessToken), transformData: (data) => { if (_.has(data, "@odata.nextLink") === true) { const dataStr = JSON.stringify(data["@odata.nextLink"]); data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]; } return data; }, errorResponse: { status: 400, code: "BASIC_DNS_SEARCH_DETAILS_PAGED_FETCH_FAILED", message: "Failed to fetch paged basic DNS search details" } }); }