refactor(relay): extract shared relay policy presets across endpoints

This commit is contained in:
2026-03-24 18:07:04 +00:00
parent 318f913397
commit fcfb7cf75e
21 changed files with 132 additions and 126 deletions
+2 -7
View File
@@ -17,6 +17,7 @@
*/
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_LOOKUP } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = req.query.emailAddress;
@@ -34,13 +35,7 @@ export default async function ApiProxy(req, res) {
emailAddress +
"'&$count=true&$select=emailaddress1, contactid";
const relayPolicy = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
const relayPolicy = RELAY_POLICY_LOOKUP;
return relayGet({
queryUrl,
+2 -7
View File
@@ -25,6 +25,7 @@ import { azureHeadersPaged } from "../../../actions/core/headers";
import { consoleLogger } from "../../../actions/core/logger";
import { respondError, respondSuccess } from "../middleware/apiResponse";
import { relayGet, relayGetData } from "../middleware/relayForwarding";
import { RELAY_POLICY_SEARCH_PAGED } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const encodedSearchString = req.query.searchstring;
@@ -103,13 +104,7 @@ export default async function ApiProxy(req, res) {
queryString +
" pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true";
const relayPolicy = {
method: "GET",
timeoutMs: 9000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 1000
};
const relayPolicy = RELAY_POLICY_SEARCH_PAGED;
return relayGet({
queryUrl,
@@ -51,6 +51,7 @@ import _ from "lodash";
import { azureHeadersPagedCustom } from "../../../actions/core/headers";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_SEARCH_PAGED } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const rawSearchString = req.query.searchstring;
@@ -173,13 +174,7 @@ export default async function ApiProxy(req, res) {
: "");
}
const relayPolicy = {
method: "GET",
timeoutMs: 9000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 1000
};
const relayPolicy = RELAY_POLICY_SEARCH_PAGED;
return relayGet({
queryUrl,
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const loggedInUserId = req.query.loggedInUserId;
@@ -39,13 +40,7 @@ export default async function ApiProxy(req, res) {
loggedInUserId +
" and servicestage eq 1 and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
+2 -7
View File
@@ -18,6 +18,7 @@
import { azureHeadersPaged } from "../../../actions/core/headers";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const searchString = req.query.searchString;
@@ -45,13 +46,7 @@ export default async function ApiProxy(req, res) {
: "") +
"and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
@@ -46,6 +46,7 @@ import _ from "lodash";
import { azureHeadersPagedCustom } from "../../../actions/core/headers";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_SEARCH_PAGED } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
let searchString = req.query.searchString;
@@ -111,13 +112,7 @@ export default async function ApiProxy(req, res) {
? "&$skiptoken=" + '<cookie pagenumber="' + pageNumber + '" />'
: "");
const relayPolicy = {
method: "GET",
timeoutMs: 9000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 1000
};
const relayPolicy = RELAY_POLICY_SEARCH_PAGED;
return relayGet({
queryUrl,
@@ -17,6 +17,7 @@
*/
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_LOOKUP } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = req.query.emailAddress;
@@ -34,13 +35,7 @@ export default async function ApiProxy(req, res) {
emailAddress +
"'&$count=true&$select=emailaddress1, contactid";
const relayPolicy = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
const relayPolicy = RELAY_POLICY_LOOKUP;
return relayGet({
queryUrl,
+2 -7
View File
@@ -24,6 +24,7 @@
import { azureHeadersPaged } from "../../../actions/core/headers";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_STRICT_LOGIN } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = req.query.emailAddress;
@@ -52,13 +53,7 @@ export default async function ApiProxy(req, res) {
pwd +
"'&$count=true&$select=emailaddress1,contactid,pinswg_custom_password,yomifullname,firstname,lastname";
const relayPolicy = {
method: "GET",
timeoutMs: 5000,
maxRetries: 0,
retryBaseDelayMs: 0,
retryMaxDelayMs: 0
};
const relayPolicy = RELAY_POLICY_STRICT_LOGIN;
return relayGet({
queryUrl,
+2 -7
View File
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const loggedInUserId = req.query.loggedInUserId;
@@ -39,13 +40,7 @@ export default async function ApiProxy(req, res) {
loggedInUserId +
" and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const loggedInUserId = req.query.loggedInUserId;
@@ -39,13 +40,7 @@ export default async function ApiProxy(req, res) {
loggedInUserId +
"&$count=true&$orderby=createdon desc";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
+2 -7
View File
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_LOOKUP } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const contactid = req.query.contactid;
@@ -36,13 +37,7 @@ export default async function ApiProxy(req, res) {
contactid +
")?$select=firstname, lastname, emailaddress1, telephone1, company, address1_line1,address1_line2,address1_city, address1_county,address1_postalcode,pinswg_typeofinvolvement,pinswg_contact_associatedlpa,pinswg_preferredlanguage&$count=true";
const relayPolicy = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
const relayPolicy = RELAY_POLICY_LOOKUP;
return relayGet({
queryUrl,
+2 -7
View File
@@ -20,6 +20,7 @@ import { azureHeadersPaged } from "../../../actions/core/headers";
import { hashAPIPath } from "../../../actions/core/hash";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_STRICT_LOGIN } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = req.query.emailAddress;
@@ -65,13 +66,7 @@ export default async function ApiProxy(req, res) {
emailAddress +
"' and statuscode eq 1&$count=true&$select=emailaddress1,contactid,yomifullname,firstname,lastname";
const relayPolicy = {
method: "GET",
timeoutMs: 5000,
maxRetries: 0,
retryBaseDelayMs: 0,
retryMaxDelayMs: 0
};
const relayPolicy = RELAY_POLICY_STRICT_LOGIN;
return relayGet({
queryUrl,
@@ -19,6 +19,7 @@
import { azureHeadersPaged } from "../../../actions/core/headers";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_LOOKUP } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = req.query.emailAddress;
@@ -36,13 +37,7 @@ export default async function ApiProxy(req, res) {
emailAddress +
"'&$count=true&$select=emailaddress1,contactid,yomifullname,firstname,lastname";
const relayPolicy = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
const relayPolicy = RELAY_POLICY_LOOKUP;
return relayGet({
queryUrl,
@@ -26,6 +26,7 @@
import { getSelectQuery } from "../../../actions/selectQueryTypes";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const appealType = req.query.appealType;
@@ -60,13 +61,7 @@ export default async function ApiProxy(req, res) {
queryUrl = queryUrl + getSelectQuery(appealType);
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
@@ -26,6 +26,7 @@
import { getSelectQuery } from "../../../actions/selectQueryTypes";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const appealType = req.query.appealType;
@@ -60,13 +61,7 @@ export default async function ApiProxy(req, res) {
queryUrl = queryUrl + getSelectQuery(appealType);
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
@@ -22,6 +22,7 @@ import {
} from "../../../actions/core/guards";
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_LOOKUP } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const emailAddress = sanitizeString(req.query.emailAddress);
@@ -39,13 +40,7 @@ export default async function ApiProxy(req, res) {
escapeODataString(emailAddress) +
"'&$count=true&$select=pinswg_preferredlanguage,contactid";
const relayPolicy = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
const relayPolicy = RELAY_POLICY_LOOKUP;
return relayGet({
queryUrl,
+2 -7
View File
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const incidentID = req.query.incidentID;
@@ -36,13 +37,7 @@ export default async function ApiProxy(req, res) {
incidentID +
" and pinswg_publishtoweb eq true&$count=true&$orderby=createdon desc";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
+2 -7
View File
@@ -19,6 +19,7 @@
import { respondError } from "../middleware/apiResponse";
import { relayGet } from "../middleware/relayForwarding";
import { RELAY_POLICY_BOUNDED_READ } from "../middleware/relayPolicyPresets";
export default async function ApiProxy(req, res) {
const loggedInUserId = req.query.loggedInUserId;
@@ -39,13 +40,7 @@ export default async function ApiProxy(req, res) {
loggedInUserId +
"&$select=pinswg_emailnotifications,modifiedon,pinswg_appealcasetype,pinswg_watchlistid,_pinswg_watchedcase_value,statuscode,pinswg_representationsubmitted,pinswg_representationtype&$count=true&$orderby=createdon desc&$expand=pinswg_WatchedCase($select=pinswg_AssociatedLPA)";
const relayPolicy = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
const relayPolicy = RELAY_POLICY_BOUNDED_READ;
return relayGet({
queryUrl,
@@ -0,0 +1,31 @@
export const RELAY_POLICY_STRICT_LOGIN = {
method: "GET",
timeoutMs: 5000,
maxRetries: 0,
retryBaseDelayMs: 0,
retryMaxDelayMs: 0
};
export const RELAY_POLICY_LOOKUP = {
method: "GET",
timeoutMs: 6000,
maxRetries: 1,
retryBaseDelayMs: 100,
retryMaxDelayMs: 500
};
export const RELAY_POLICY_BOUNDED_READ = {
method: "GET",
timeoutMs: 8000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 800
};
export const RELAY_POLICY_SEARCH_PAGED = {
method: "GET",
timeoutMs: 9000,
maxRetries: 2,
retryBaseDelayMs: 150,
retryMaxDelayMs: 1000
};