diff --git a/.gitignore b/.gitignore index 32f86d23..d13735f9 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,14 @@ pages/admin/logchecker.js pages/baracuda.html pages/holding-min.html pages/holding.html + +# Cline / AI-assistant governance artifacts (keep local-only) +.clinerules +.clinerules/ +CONTRIBUTING_AI.md +GUARDRAILS.md +ai-prompts/ +context/ +memory-bank/ +workflows/ +AI_CONTEXT.md diff --git a/actions/clients/README.md b/actions/clients/README.md new file mode 100644 index 00000000..9d2ccbc3 --- /dev/null +++ b/actions/clients/README.md @@ -0,0 +1,6 @@ +# Actions Clients + +This folder is reserved for extracted client wrappers from `actions/index.js` as part of the Priority 1 refactor plan. + +Phase 1 delivered core helper extraction and compatibility barrel support. +Client-level extraction (`relayClient`, `endpointClient`, `fileClient`, `notifyClient`) is planned for the next increment. diff --git a/actions/core/env.js b/actions/core/env.js new file mode 100644 index 00000000..6966f917 --- /dev/null +++ b/actions/core/env.js @@ -0,0 +1,15 @@ +const port = parseInt(process.env.PORT, 10) || 3000; + +export const BASE_URL = + typeof window !== "undefined" + ? window.apiRoot + : process.env.API_ROOT || `http://localhost:${port}`; + +export const API_PATH = "/api/data/v8.2/"; + +export const WEBAPI_URL = + process.env.RELAY_ROOT || + "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; + +export const ACCESS_TOKEN_ENDPOINT = process.env.ACCESS_TOKEN_ENDPOINT; +export const TENANT_ID = process.env.TENANT; diff --git a/actions/core/guards.js b/actions/core/guards.js new file mode 100644 index 00000000..b233c126 --- /dev/null +++ b/actions/core/guards.js @@ -0,0 +1,11 @@ +export const isNonEmptyString = (value) => { + return typeof value === "string" && value.trim().length > 0; +}; + +export const sanitizeString = (value) => { + return typeof value === "string" ? value.trim() : ""; +}; + +export const escapeODataString = (value) => { + return sanitizeString(value).replace(/'/g, "''"); +}; diff --git a/actions/core/hash.js b/actions/core/hash.js new file mode 100644 index 00000000..0bf911f9 --- /dev/null +++ b/actions/core/hash.js @@ -0,0 +1,22 @@ +import CryptoJS from "crypto-js"; + +const WORDKEY = process.env.HASHKEY; + +export const hashAPIPath = (queryPath) => { + var hashlink = CryptoJS.HmacSHA256( + queryPath, + CryptoJS.enc.Hex.parse(WORDKEY) + ); + hashlink = hashlink.toString(CryptoJS.enc.Hex); + return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; +}; + +export const hashString = (stringToHash) => { + let hashedStr = CryptoJS.AES.encrypt(stringToHash, "pedw"); + return hashedStr.toString(); +}; + +export const dehashString = (stringToDeHash) => { + let dehashedStr = CryptoJS.AES.decrypt(decodeURI(stringToDeHash), "pedw"); + return dehashedStr.toString(CryptoJS.enc.Utf8); +}; diff --git a/actions/core/headers.js b/actions/core/headers.js new file mode 100644 index 00000000..f1acf98f --- /dev/null +++ b/actions/core/headers.js @@ -0,0 +1,50 @@ +export const azureHeaders = (access_token) => { + return { + headers: { + "OData-MaxVersion": "4.0", + "OData-Version": "4.0", + "Accept": "application/json;odata.metadata=none", + "Prefer": 'odata.include-annotations="*",return=representation', + "Content-Type": "application/json", + "Authorization": "Bearer " + access_token + } + }; +}; + +export const azureHeadersNoOdata = (access_token) => { + return { + headers: { + "Content-Type": "application/json", + "Authorization": "Bearer " + access_token + } + }; +}; + +export const azureHeadersPaged = (access_token) => { + return { + headers: { + "OData-MaxVersion": "4.0", + "OData-Version": "4.0", + "Accept": "application/json;odata.metadata=none", + "Prefer": + 'odata.include-annotations="*",return=representation, odata.maxpagesize=10', + "Content-Type": "application/json", + "Authorization": "Bearer " + access_token + } + }; +}; + +export const azureHeadersPagedCustom = (access_token, showNumberOfRecords) => { + return { + headers: { + "OData-MaxVersion": "4.0", + "OData-Version": "4.0", + "Accept": "application/json;odata.metadata=none", + "Prefer": + 'odata.include-annotations="*",return=representation, odata.maxpagesize=' + + showNumberOfRecords, + "Content-Type": "application/json", + "Authorization": "Bearer " + access_token + } + }; +}; diff --git a/actions/core/logger.js b/actions/core/logger.js new file mode 100644 index 00000000..13d35389 --- /dev/null +++ b/actions/core/logger.js @@ -0,0 +1,106 @@ +import _ from "lodash"; + +const MASK = "[REDACTED]"; + +const redactString = (value) => { + if (typeof value !== "string") return value; + + return value + .replace( + /([a-zA-Z0-9._%+-]{1,})@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/g, + `${MASK}@${MASK}` + ) + .replace(/Bearer\s+[A-Za-z0-9._\-]+/gi, `Bearer ${MASK}`) + .replace(/("client_secret"\s*:\s*")[^"]+("?)/gi, `$1${MASK}$2`) + .replace(/("access_token"\s*:\s*")[^"]+("?)/gi, `$1${MASK}$2`); +}; + +export const redactSensitive = (value) => { + if (value == null) return value; + + if (typeof value === "string") { + return redactString(value); + } + + try { + const json = JSON.stringify(value); + return redactString(json); + } catch (_error) { + return MASK; + } +}; + +export const getIP = (req) => { + const forwarded = req.headers["x-forwarded-for"]; + + const ip = + typeof forwarded === "string" + ? forwarded.split(/, /)[0] + : req.socket.remoteAddress; + + console.info( + "\n====================\n Client IP address: " + ip, + "\n=====================\n" + ); +}; + +export const consoleLogger = (err) => { + console.log( + "\n\n/////////////////////////////////////////////////\nRaw Error " + + redactSensitive(err) + + "\n\n/////////////////////////////////////////////////\n" + ); + var errStr = + "\n\n/////////////////////////////////////////////////\nServer Error " + + "\n" + + (_.has(err, "name") ? "Name: " + err.name + "\n" : "") + + (_.has(err, "code") ? "Code: " + err.code + "\n" : "") + + (_.has(err, "query") ? "Query: " + err.query + "\n" : "") + + (_.has(err, "message") ? "Message: " + err.message + "\n" : "") + + (_.has(err, "request.url") + ? "request.url: " + err.request.url + "\n" + : "") + + (_.has(err, "response.status") ? "Status: " + err.code + "\n" : "") + + (_.has(err, "response.statusText") + ? "\nStatusText: " + err.response.status + "\n" + : "") + + (_.has(err, "response.request.socket.remoteAddress") + ? "\nRequest IP: " + + err.response.request.socket.remoteAddress + + "\n" + : "") + + (_.has(err, "response.data.error.message") + ? "\nMessage: " + + redactSensitive(err.response.data.error.message) + + "\n" + : "") + + (_.has(err, "response.config.url") + ? "\nRequest URL: " + redactSensitive(err.config.url) + "\n" + : "") + + (_.has(err, "response.headers.date") + ? "\nRequest Time: " + err.response.headers.date + "\n" + : "") + + (_.has(err, "config.url") + ? "\nAxios config url: " + redactSensitive(err.config.url) + "\n" + : "") + + (_.has(err, "config.url") + ? "\nAxios message url: " + redactSensitive(err.message) + "\n" + : "") + + (_.has(err, "config.data") + ? "\nRequest payload: " + redactSensitive(err.config.data) + "\n" + : "") + + "\n/////////////////////////////////////////////////\n"; + + console.log(errStr); +}; + +export const conLog = (err) => { + var errStr = + "\n\n/////////////////////////////////////////////////\nResponse: " + + "\n" + + err + + "\n/////////////////////////////////////////////////\n\n"; + + console.log(errStr); + return errStr; +}; diff --git a/actions/core/token.js b/actions/core/token.js new file mode 100644 index 00000000..98fbde02 --- /dev/null +++ b/actions/core/token.js @@ -0,0 +1,42 @@ +import axios from "axios"; +import { ACCESS_TOKEN_ENDPOINT, TENANT_ID } from "./env"; +import { consoleLogger } from "./logger"; + +const cache = {}; + +const tokenBody = + "grant_type=" + + process.env.GRANT_TYPE + + "&client_id=" + + process.env.CLIENT_ID + + "&client_secret=" + + process.env.CLIENT_SECRET + + "&scope=" + + "https://" + + process.env.RELAYURI + + "/.default"; + +const tokenConfig = { + headers: { + "Content-Type": "application/x-www-form-urlencoded", + "Cache-Control": "no-cache" + } +}; + +export const getToken = () => { + return axios + .post( + `${ACCESS_TOKEN_ENDPOINT}${TENANT_ID}/oauth2/v2.0/token`, + tokenBody, + tokenConfig + ) + .then((res) => res.data) + .then((data) => { + cache.tokenResponse = data; + return data; + }) + .catch((error) => { + consoleLogger(error); + return error; + }); +}; diff --git a/actions/index.js b/actions/index.js index 5060f5c1..4849f4a1 100644 --- a/actions/index.js +++ b/actions/index.js @@ -1,2322 +1,8 @@ -import axios from "axios"; -import CryptoJS from "crypto-js"; -import _ from "lodash"; - -let BASE_URL; -const port = parseInt(process.env.PORT, 10) || 3000; - -if (typeof window !== "undefined") { - BASE_URL = window.apiRoot; -} else { - BASE_URL = process.env.API_ROOT || `http://localhost:${port}`; -} -//BASE_URL = process.env.API_ROOT; - -const WORDKEY = process.env.HASHKEY; - -const cache = {}; -const API_PATH = "/api/data/v8.2/"; - -const accessTokenEndpoint = process.env.ACCESS_TOKEN_ENDPOINT; -const tenantId = process.env.TENANT; - -const WEBAPI_URL = - process.env.RELAY_ROOT || - "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; - -export const getIP = (req) => { - const forwarded = req.headers["x-forwarded-for"]; - - const ip = - typeof forwarded === "string" - ? forwarded.split(/, /)[0] - : req.socket.remoteAddress; - - console.info( - "\n====================\n Client IP address: " + ip, - "\n=====================\n" - ); -}; - -export const consoleLogger = (err) => { - console.log( - "\n\n/////////////////////////////////////////////////\nRaw Error " + - err + - "\n\n/////////////////////////////////////////////////\n" - ); - var errStr = - "\n\n/////////////////////////////////////////////////\nServer Error " + - "\n" + - (_.has(err, "name") ? "Name: " + err.name + "\n" : "") + - (_.has(err, "code") ? "Code: " + err.code + "\n" : "") + - (_.has(err, "query") ? "Query: " + err.query + "\n" : "") + - (_.has(err, "message") ? "Message: " + err.message + "\n" : "") + - (_.has(err, "request.url") - ? "request.url: " + err.request.url + "\n" - : "") + - (_.has(err, "response.status") ? "Status: " + err.code + "\n" : "") + - (_.has(err, "response.statusText") - ? "\nStatusText: " + err.response.status + "\n" - : "") + - (_.has(err, "response.request.socket.remoteAddress") - ? "\nRequest IP: " + - err.response.request.socket.remoteAddress + - "\n" - : "") + - (_.has(err, "response.data.error.message") - ? "\nMessage: " + err.response.data.error.message + "\n" - : "") + - (_.has(err, "response.config.url") - ? "\nRequest URL: " + err.config.url + "\n" - : "") + - (_.has(err, "response.headers.date") - ? "\nRequest Time: " + err.response.headers.date + "\n" - : "") + - (_.has(err, "config.url") - ? "\nAxios config url: " + err.config.url + "\n" - : "") + - (_.has(err, "config.url") - ? "\nAxios message url: " + err.message + "\n" - : "") + - (_.has(err, "config.data") - ? "\nRequest payload: " + err.config.data + "\n" - : "") + - "\n/////////////////////////////////////////////////\n"; - - console.log(errStr); -}; - -export const conLog = (err) => { - var errStr = - "\n\n/////////////////////////////////////////////////\nResponse: " + - "\n" + - err + - "\n/////////////////////////////////////////////////\n\n"; - - console.log(errStr); - return errStr; -}; - -export const getToken = () => { - return axios - .post( - `${accessTokenEndpoint}${tenantId}/oauth2/v2.0/token`, - tokenBody, - tokenConfig - ) - .then((res) => res.data) - .then((data) => { - cache.tokenResponse = data; - return data; - }) - .catch((error) => { - consoleLogger(error); - return error; - }); -}; - -const tokenBody = - "grant_type=" + - process.env.GRANT_TYPE + - "&client_id=" + - process.env.CLIENT_ID + - "&client_secret=" + - process.env.CLIENT_SECRET + - "&scope=" + - "https://" + - process.env.RELAYURI + - "/.default"; - -const tokenConfig = { - headers: { - "Content-Type": "application/x-www-form-urlencoded", - "Cache-Control": "no-cache" - } -}; - -export const azureHeaders = (access_token) => { - return { - headers: { - "OData-MaxVersion": "4.0", - "OData-Version": "4.0", - "Accept": "application/json;odata.metadata=none", - "Prefer": 'odata.include-annotations="*",return=representation', - "Content-Type": "application/json", - "Authorization": "Bearer " + access_token - } - }; -}; - -export const azureHeadersNoOdata = (access_token) => { - return { - headers: { - //"OData-MaxVersion": "4.0", - //"OData-Version": "4.0", - //"Accept": "application/json;odata.metadata=none", - //"Prefer": 'odata.include-annotations="*",return=representation', - "Content-Type": "application/json", - "Authorization": "Bearer " + access_token - } - }; -}; - -export const azureHeadersPaged = (access_token) => { - return { - headers: { - "OData-MaxVersion": "4.0", - "OData-Version": "4.0", - "Accept": "application/json;odata.metadata=none", - "Prefer": - 'odata.include-annotations="*",return=representation, odata.maxpagesize=10', - "Content-Type": "application/json", - "Authorization": "Bearer " + access_token - } - }; -}; -export const azureHeadersPagedCustom = (access_token, showNumberOfRecords) => { - return { - headers: { - "OData-MaxVersion": "4.0", - "OData-Version": "4.0", - "Accept": "application/json;odata.metadata=none", - "Prefer": - 'odata.include-annotations="*",return=representation, odata.maxpagesize=' + - showNumberOfRecords, - "Content-Type": "application/json", - "Authorization": "Bearer " + access_token - } - }; -}; - -export const hashAPIPath = (queryPath) => { - var hashlink = CryptoJS.HmacSHA256( - queryPath, - CryptoJS.enc.Hex.parse(WORDKEY) - ); - hashlink = hashlink.toString(CryptoJS.enc.Hex); - return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; -}; - -export const hashString = (stringToHash) => { - //console.log("string to hash", stringToHash); - let hashedStr = CryptoJS.AES.encrypt(stringToHash, "pedw"); - //console.log("hashed String", hashedStr.toString()); - return hashedStr.toString(); -}; - -export const dehashString = (stringToDeHash) => { - //console.log("string to dehash", stringToDeHash); - let dehashedStr = CryptoJS.AES.decrypt(decodeURI(stringToDeHash), "pedw"); - //console.log("dehshed string:", dehashedStr.toString(CryptoJS.enc.Utf8)); - return dehashedStr.toString(CryptoJS.enc.Utf8); -}; - -export const getBasicSearch = (searchString) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getbasicsearch_api?searchString=" + - searchString - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getCaseMessage = (searchString) => { - return axios - .get(BASE_URL + "/api/endpoint/getcasemessage_api?id=" + searchString) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getIncidentbyID = (searchString) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getincidentbyid_api?searchString=" + - searchString - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getIsPublishedbyID = (searchString) => { - return axios - .get( - "/api/endpoint/getispublishedbyid_api?searchString=" + searchString - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getPartSavedAppeal = (searchString) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getpartsavedappeal_api?searchString=" + - searchString - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getBasicDNSURLSearch = (searchString) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getbasicdnsurlsearch_api?searchString=" + - searchString - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getSIPSEvents = async (caseid) => { - return axios - .get(BASE_URL + "/api/endpoint/getsipsevents_api?caseid=" + caseid) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getSIPSMedia = async (caseid) => { - return axios - .get(BASE_URL + "/api/endpoint/getsipsmedia_api?caseid=" + caseid) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getAddressSearchPaged = ( - searchString, - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords -) => { - return axios - .get( - "/api/endpoint/getbasicsearch_by_address_paged_api?searchString=" + - searchString + - "&pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getBasicSearchPaged = ( - searchString, - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords -) => { - return axios - .get( - "/api/endpoint/getbasicsearchpaged_api?searchString=" + - searchString + - "&pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getDNSCoords = () => { - return axios - .get(BASE_URL + "/api/endpoint/getdnscoords_api") - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getDNSList = (searchString) => { - return axios - .get(BASE_URL + "/api/endpoint/getdnslist_api") - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getBasicDNSSearch = (searchString) => { - return axios - .get(BASE_URL + "/api/endpoint/getbasicdnssearch_api") - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getBasicDNSSearchPaged = ( - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords -) => { - return axios - .get( - "/api/endpoint/getbasicdnssearchpaged_api?pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getAdvancedSearch = (searchString) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getadvancedsearch_api?searchstring=" + - JSON.stringify(searchString) - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getAdvancedSearchPaged = ( - searchString, - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords -) => { - return axios - .get( - "/api/endpoint/getadvancedsearchpaged_api?searchstring=" + - JSON.stringify(searchString) + - "&pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getBasicSearchDetails = async ( - appealTypeName, - caseReference, - primaryIdAttribute, - incidentID -) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getbasicsearchdetails_api?appealTypeName=" + - appealTypeName + - "&primaryIdAttribute=" + - primaryIdAttribute + - "&incidentID=" + - incidentID - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getBasicPartSavedDetails = ( - appealTypeName, - caseReference, - primaryIdAttribute, - incidentID -) => { - //console.log( - // "///////api call: ", - // BASE_URL + - // "/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" + - // appealTypeName + - // "&primaryIdAttribute=" + - // primaryIdAttribute + - // "&incidentID=" + - // incidentID - // ); - return axios - .get( - BASE_URL + - "/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" + - appealTypeName + - "&primaryIdAttribute=" + - primaryIdAttribute + - "&incidentID=" + - incidentID - ) - .then((res) => res.data) - .catch((error) => { - console.log("this error", error); - }); -}; - -export const getBasicSearchDetailsPaged = async ( - appealTypeName, - caseReference, - primaryIdAttribute, - incidentIDs -) => { - if (!incidentIDs || incidentIDs.length === 0) return []; - - console.log("=======", primaryIdAttribute); - // Build OData filter correctly - // const filter = incidentIDs - // .map((id) => `_${primaryIdAttribute}s_value eq ${id}`) - // .join(" or "); - - const filter = incidentIDs - .map((id) => { - const suffix = - primaryIdAttribute === "pinswg_sipscase" - ? `_${primaryIdAttribute}_value` - : `_${primaryIdAttribute}s_value`; - - return `${suffix} eq ${id}`; - }) - .join(" or "); - - const url = `/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent( - filter - )}`; - - console.log( - `Fetching ${incidentIDs.length} incidents for appeal type: ${appealTypeName}` - ); - - try { - const res = await axios.get(url); - return res.data.value || []; // ensure returning an array - } catch (error) { - consoleLogger(error); - return []; - } -}; - -export const getSearchDocumentDetails = (incidentID) => { - return axios - .get( - "/api/endpoint/getsearchdocumentdetails_api?incidentid=" + - incidentID - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - throw error; // Important! - }); -}; - -export const getSearchDocumentTypes = (incidentID) => { - return axios - .get( - "/api/endpoint/getsearchdocumentTypes_api?incidentid=" + incidentID - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getAppealPDFDocs = (incidentID) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getappealpdfdocuments_api?incidentid=" + - incidentID - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getSearchDocumentDetailsPaged = ( - incidentID, - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords, - documentType -) => { - //console.log("to api:", documentType); - return axios - .get( - "/api/endpoint/getsearchdocumentdetailspaged_api?incidentid=" + - incidentID + - "&pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords + - "&documentType=" + - documentType - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getLinkedCases = (parentIncidentid) => { - return axios - .get( - "/api/endpoint/getlinkedcases_api?parentincidentid=" + - parentIncidentid - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getAppealsTypes = () => { - return axios - .get(BASE_URL + "/api/endpoint/getappealtypes_api") - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getProjectTypes = () => { - return axios - .get(BASE_URL + "/api/endpoint/getprojecttypes_api") - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getAppealsTypesForNewAppeal = () => { - return axios - .get(BASE_URL + "/api/endpoint/getappealtypesfornewappeal_api") - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -export const getLPA = () => { - return axios - .get(BASE_URL + "/api/endpoint/getlpa_api") - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - - return ErrResponse; - }); -}; - -// iteration 2 methods - -export const getFormData = (whichForm) => { - return axios - .get(BASE_URL + "/api/endpoint/getformdata_api?whichForm=" + whichForm) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getMandatoryFields = (whichForm) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getmandatoryfields_api?whichForm=" + - whichForm - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getPickLists = (whichForm) => { - return axios - .get(BASE_URL + "/api/endpoint/getpicklists_api?whichForm=" + whichForm) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getPersonalAccount = (contactid) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getpersonalaccount_api?contactid=" + - contactid - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - //console.log("returned:", error); - // let ErrResponse = { - // value: [], - // errorCode: error.response.status, - // errorMsg: error.response.statusText, - // }; - // return ErrResponse; - }); -}; - -export const getAppealID = ( - caseReference, - updateFormCollection, - primaryAttribute -) => { - //console.log( - // "is this the collection?:", - // getFormCollection(updateFormCollection) - // ) - - //let formCollectionName = getFormCollection(updateFormCollection); - //console.log(formCollectionName); - return axios - .get( - "/api/endpoint/getappealid_api?updateFormCollection=" + - updateFormCollection + - "&primaryAttribute=" + - primaryAttribute + - "&caseReference=" + - caseReference - ) - .then((res) => { - const result = Object.entries(res.data.value[0]).filter( - ([key]) => !key.startsWith("_") - )[0][1]; - // console.log("result:", res.data); - var appealID = result; - return appealID; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getLogin = (emailAddress, pwd) => { - return axios - .get( - "/api/endpoint/getlogin_api?emailAddress=" + - emailAddress + - "&pwd=" + - pwd - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getMyCases = (loggedInUserId) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getmycases_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getMyInvolvements = async (loggedInUserId) => { - try { - const res = await axios.get( - BASE_URL + - "/api/endpoint/getmyinvolvements_api?loggedInUserId=" + - loggedInUserId - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getMyLPACases = (lpaid) => { - return axios - .get(BASE_URL + "/api/endpoint/getmylpacases_api?lpaid=" + lpaid) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getMyRepresentations = (loggedInUserId) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getmyrepresentations_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getMyRepresentationsProxy = (loggedInUserId) => { - return axios - .get( - "/api/endpoint/getmyrepresentationsproxy_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getRepresentations = (incidentID) => { - return axios - .get("/api/endpoint/getrepresentations_api?incidentID=" + incidentID) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getRepresentationsProxy = (incidentID) => { - return axios - .get( - "/api/endpoint/getrepresentationsproxy_api?incidentID=" + incidentID - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getWatchedCases = (loggedInUserId) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getwatchedcases_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getWatchedCasesProxy = (loggedInUserId) => { - return axios - .get( - "/api/endpoint/getwatchedcasesproxy_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getAwaitingSubmissionProxy = (loggedInUserId) => { - return axios - .get( - "/api/endpoint/getawaitingsubmissionproxy_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getAwaitingSubmission = (loggedInUserId) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getawaitingsubmission_api?loggedInUserId=" + - loggedInUserId - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getAwaitingSubmissionFromBlob = (containerName) => { - //console.log( - // "///////////////////////\ngetAwaitingSubmissionFromBlob: " + - // containerName, - // BASE_URL + - // "/api/file/getawaitingsubmissionfromblob?container=" + - // containerName + - // hashAPIPath( - // "/api/file/getawaitingsubmissionfromblob?container=" + - // containerName - // ), - // "\n///////////////////////\n" - // ); - return axios - .get( - BASE_URL + - "/api/file/getawaitingsubmissionfromblob?container=" + - containerName + - hashAPIPath( - "/api/file/getawaitingsubmissionfromblob?container=" + - containerName - ) - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getRepsFromBlob = (containerName) => { - //console.log( - // "///////////////////////\ngetRepsFromBlob function: " + - // containerName + - // "\n///////////////////////\n", - // BASE_URL + - // "/api/file/getrepsblob?container=" + - // containerName + - // hashAPIPath("/api/file/getrepsblob?container=" + containerName) - // ); - - return axios - .get( - BASE_URL + - "/api/file/getrepsblob?container=" + - containerName + - hashAPIPath("/api/file/getrepsblob?container=" + containerName) - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - //console.log( - // "///////////////////////\ngetRepsFromBlob error response: " + - // error + - // "\n///////////////////////\n" - // ); - consoleLogger(error); - //console.log("API call error", error); - }); -}; - -export const getRepsFromBlobProxy = async (containerName) => { - //console.log( - // "///////////////////////getRepsFromBlobProxy: " + containerName, - // "/api/file/getawaitingsubmissionfromblobproxy?container=" + - // containerName, - // "\n///////////////////////\n" - // ); - - try { - const res = await axios.get( - // BASE_URL + - "/api/file/getrepsblobproxy?container=" + containerName - // + - // hashAPIPath( - // "/api/file/getawaitingsubmissionfromblob?container=" + - // containerName - // ) - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getAwaitingSubmissionFromBlobProxy = async (containerName) => { - console.log( - "///////////////////////getAwaitingSubmissionFromBlobProxy: " + - containerName, - "/api/file/getawaitingsubmissionfromblobproxy?container=" + - containerName, - "\n///////////////////////\n" - ); - - try { - const res = await axios.get( - BASE_URL + - "/api/file/getawaitingsubmissionfromblobproxy?container=" + - containerName - // + - // hashAPIPath( - // "/api/file/getawaitingsubmissionfromblob?container=" + - // containerName - // ) - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getPortalModuleDetails = async (appealType, caseReference) => { - //console.log( - // BASE_URL + - // "/api/endpoint/getportalmoduledetails_api?appealType=" + - // appealType + - // "&caseReference=" + - // encodeURI(caseReference) - // ); - - // return axios - // .get( - // BASE_URL + - // "/api/endpoint/getportalmoduledetails_api?appealType=" + - // appealType + - // "&caseReference=" + - // encodeURI(caseReference) - // ) - // .then((res) => res.data) - // .catch((error) => { - // console.log("error case ref:", caseReference); - // consoleLogger(error); - // }); - - var config = { - method: "get", - url: - BASE_URL + - "/api/endpoint/getportalmoduledetails_api?appealType=" + - appealType + - "&caseReference=" + - encodeURI(caseReference) - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - console.log("error case ref:", caseReference); - consoleLogger(error); - } -}; - -export const getPortalModuleDetailsProxy = (appealType, caseReference) => { - return axios - .get( - "/api/endpoint/getportalmoduledetailsproxy_api?appealType=" + - appealType + - "&caseReference=" + - caseReference.replace(/\'/g, "''") - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getEmailAccountCheck = (emailAddress) => { - return axios - .get( - "/api/endpoint/getemailaccountcheck_api?emailAddress=" + - emailAddress - ) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - }); -}; - -//uses more than get methods - -export const updatePassword = (contactId, newpassword) => { - var queryUrl = "/api/endpoint/updateaccount_api?contactId=" + contactId; - var data = { "pinswg_custom_password": newpassword }; - var config = { - method: "post", - url: queryUrl, - data: data - }; - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const updateAccount = async (contactId, updateBody, ssr) => { - var queryUrl = - (ssr ? BASE_URL : "") + - "/api/endpoint/updateaccount_api?contactId=" + - contactId; - var data = updateBody; - var config = { - method: "post", - url: queryUrl, - data: data - }; - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - //console.log("this error:", error); - consoleLogger(error); - }); -}; - -export const createWatchedCases = async (formValues) => { - var data = formValues; - var queryUrl = "/api/endpoint/createwatchedcases_api"; - - var config = { - method: "post", - url: queryUrl, - data: data - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const createNewCase = ( - appealTypeId, - lpaID, - contactid, - createBody, - containerName -) => { - appealTypeId = parseInt(appealTypeId); - - var data = createBody; - - var queryUrl = - "/api/endpoint/createcase_api?appealTypeId=" + - appealTypeId + - "&lpaID=" + - lpaID + - "&contactid=" + - contactid + - "&containername=" + - containerName; - - var config = { - method: "post", - url: BASE_URL + queryUrl, - data: data - }; - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const createNewCaseBlob = ( - appealTypeId, - lpaID, - contactid, - createBody, - containerName, - lpaName -) => { - appealTypeId = parseInt(appealTypeId); - - var data = createBody; - - data.pinswg_lpaname = lpaName; - data.createdon = new Date(); - - var queryUrl = - "/api/file/createcase_api?appealTypeId=" + - appealTypeId + - "&lpaID=" + - lpaID + - "&contactid=" + - contactid + - "&containername=" + - containerName; - //+ - // hashAPIPath( - // "/api/file/createcase_api?appealTypeId=" + - // appealTypeId + - // "&lpaID=" + - // lpaID + - // "&contactid=" + - // contactid + - // "&containername=" + - // containerName - // ); - - var config = { - method: "post", - url: queryUrl, - data: data - }; - - //console.log("the query url for crearte csase:", queryUrl); - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const updateCase = async ( - incidentId, - updateBody, - updateFormCollection, - primaryAttribute, - caseReference -) => { - var data = updateBody; - - var appealObj = await getAppealID( - caseReference, - updateFormCollection, - primaryAttribute - ); - - var queryUrl = - "/api/endpoint/updatecase_api?updateFormCollection=" + - updateFormCollection + - "&appealObj=" + - appealObj; - - var config = { - method: "post", - url: queryUrl, - data: updateBody - }; - - //console.log(data); - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const updateCaseBlob = async ( - incidentId, - updateBody, - updateFormCollection, - primaryAttribute, - caseReference -) => { - var data = updateBody; - - var appealObj = await getAppealID( - caseReference, - updateFormCollection, - primaryAttribute - ); - - var queryUrl = - "/api/file/updatecase_api?updateFormCollection=" + - updateFormCollection + - "&appealObj=" + - appealObj; - - var config = { - method: "post", - url: queryUrl, - data: updateBody - }; - - //console.log(data); - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const patchCase = async (incidentid) => { - var queryUrl = "/api/endpoint/patchcase_api?incidentid=" + incidentid; - var config = { - method: "get", - url: queryUrl - }; - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - //console.log("this error:", error); - }); -}; - -export const getCase = (incidentID) => { - //console.log( - // "////////////// ------" + - // BASE_URL + - // "/api/endpoint/getcase_api?incidentID=" + - // incidentID - // ); - return axios - .get(BASE_URL + "/api/endpoint/getcase_api?incidentID=" + incidentID) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getCaseByID = (incidentID) => { - //console.log( - // "////////////// ------" + - // BASE_URL + - // "/api/endpoint/getcase_api?incidentID=" + - // incidentID - // ); - return axios - .get( - BASE_URL + "/api/endpoint/getcasebyid_api?incidentID=" + incidentID - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteMyRepresentations = (myRepresentationsID) => { - var queryUrl = - "/api/endpoint/deletemyrepresentations_api?myRepresentationsID=" + - myRepresentationsID; - - var config = { - method: "delete", - url: queryUrl + hashAPIPath(queryUrl), - headers: { - "OData-MaxVersion": "4.0", - "OData-Version": "4.0", - "Accept": "application/json;odata.metadata=none", - "Prefer": 'odata.include-annotations="*",return=representation', - "Content-Type": "application/json" - } - }; - //console.log(config); - return axios(config) - .then((res) => { - //console.log("deleted ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteAwaitingSubmissions = (incidentID) => { - var queryUrl = - "/api/endpoint/deleteawaitingsubmissions_api?incidentID=" + incidentID; - - var config = { - method: "delete", - url: queryUrl - }; - //console.log(config); - return axios(config) - .then((res) => { - //console.log("deleted ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteAwaitingSubmissionsFromBlob = ( - containerID, - casefolderID -) => { - var queryUrl = - "/api/file/deleteblobcase?container=" + - containerID + - "&casefolderID=" + - casefolderID; - - var config = { - method: "get", - url: queryUrl - }; - //console.log(config); - return axios(config) - .then((res) => { - //console.log("deleted ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteMyRepresentationsFromBlob = ( - containerID, - casefolderID, - repfile -) => { - var queryUrl = - "/api/file/deleteblobrep?container=" + - containerID + - "&casefolderID=" + - casefolderID + - "&repfile=" + - repfile; - - var config = { - method: "get", - url: queryUrl - }; - //console.log(config); - return axios(config) - .then((res) => { - //console.log("deleted ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteWatchedCases = async (watchedCaseID) => { - var queryUrl = - "/api/endpoint/deletewatchedcases_api?watchedCaseID=" + watchedCaseID; - var config = { - method: "delete", - url: queryUrl - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const createAccount = (formValues) => { - var data = formValues; - var queryUrl = "/api/endpoint/createaccount_api"; - var config = { - method: "post", - url: queryUrl, - data: data - }; - - return axios(config) - .then((res) => { - //console.log("posted ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const uploadFiles = async ( - formValues, - filesObj, - containerID, - casefolderID -) => { - let files = filesObj; - - //console.log(formValues); - var formData = new FormData(); - formData.append("appealData", JSON.stringify(formValues)); - formData.append("containerID", containerID); - formData.append("casefolderID", casefolderID); - - // files.forEach((file) => formData.append("files", file)); - - for (let i = 0; i < files.length; i++) { - for (let j = 0; j < files[i].length; j++) { - //console.log("upload files:", files[i][j].name); - formData.append(files[i][j].name, files[i][j]); - } - } - - //console.log(formData); - - var queryUrl = "/api/file/upload"; - - const config = { - method: "post", - url: queryUrl, - data: formData, - headers: { "content-type": "multipart/form-data" } - }; - - //console.log(config); - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const uploadSingleFile = async (filesObj, containerID, casefolderID) => { - let files = filesObj; - - //console.log(formValues); - var formData = new FormData(); - formData.append("containerID", containerID); - formData.append("casefolderID", casefolderID); - - // files.forEach((file) => formData.append("files", file)); - - for (let i = 0; i < files.length; i++) { - console.log(files.length); - // for (let j = 0; j < files[i].length; j++) { - // console.log("upload files:", files[i][j].name); - formData.append(files[i].name, files[i]); - // } - } - - //console.log(formData); - - var queryUrl = "/api/file/uploadsinglefile"; - - const config = { - method: "post", - url: queryUrl, - data: formData, - headers: { "content-type": "multipart/form-data" } - }; - - //console.log(config); - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const uploadRepFiles = async ( - formValues, - filesObj, - containerID, - casefolderID -) => { - let files = filesObj; - - //console.log(formValues); - var formData = new FormData(); - formData.append("appealData", JSON.stringify(formValues)); - formData.append("containerID", containerID); - formData.append("casefolderID", casefolderID); - formData.append("repOrAppeal", true); - - // files.forEach((file) => formData.append("files", file)); - - // for (let i = 0; i < files.length; i++) { - // for (let j = 0; j < files[i].length; j++) { - // //console.log("upload rep files:", files[i][j].name); - // formData.append(files[i][j].name, files[i][j]); - // } - // } - - //console.log(formData); - - var queryUrl = "/api/file/upload"; - - const config = { - method: "post", - url: queryUrl, - data: formData, - headers: { "content-type": "multipart/form-data" } - }; - - //console.log(config); - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const generateRepPDF = async ( - formValues, - containerID, - casefolderID, - options = {} -) => { - //let files = filesObj; - - console.log("generateRepPDF function: " + formValues); - // var formData = new FormData(); - // formValues.append("appealData", JSON.stringify(formValues)); - // formValues.append("containerID", containerID); - // formValues.append("casefolderID", casefolderID); - - // Object.assign(formValues, { - // "containerID": containerID, - // "casefolderID": casefolderID, - // }); - - var queryUrl = - "/api/file/generatepdf" + (options.download ? "?download=true" : ""); - - const config = { - method: "post", - url: queryUrl, - data: formValues, - ...(options.download ? { responseType: "blob" } : {}) - //headers: { "content-type": "multipart/form-data" }, - }; - - //console.log(config); - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const generateAppealPDF = async ( - formValues, - containerID, - casefolderID, - appealType, - fileList -) => { - //let files = filesObj; - - //console.log("generateAppealPDF function: " + formValues); - // var formData = new FormData(); - // formValues.append("appealData", JSON.stringify(formValues)); - // formValues.append("containerID", containerID); - //formValues.append("filesList", fileList); - - Object.assign(formValues, { - "filesList": fileList - }); - - var queryUrl = "/api/file/generateappealpdf?appealType=" + appealType; - - const config = { - method: "post", - url: queryUrl, - data: formValues - //headers: { "content-type": "multipart/form-data" }, - }; - - //console.log(config); - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getFilesFromBlob = (containerName, casefolderID) => { - //console.log( - // " get files from blob", - // BASE_URL + - // "/api/file/getbloblist?container=" + - // containerName + - // "&casefolderID=" + - // casefolderID + - // hashAPIPath( - // "/api/file/getbloblist?container=" + - // containerName + - // "&casefolderID=" + - // casefolderID - // ) - // ); - return axios - .get( - BASE_URL + - "/api/file/getbloblist?container=" + - containerName + - "&casefolderID=" + - casefolderID + - hashAPIPath( - "/api/file/getbloblist?container=" + - containerName + - "&casefolderID=" + - casefolderID - ) - ) - .then((res) => { - //console.log("//////////----", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getFilesFromBlobproxy = (containerName, casefolderID) => { - return axios - .get( - // BASE_URL + - "/api/file/getbloblistproxy?container=" + - containerName + - "&casefolderID=" + - casefolderID - ) - .then((res) => { - //console.log("//////////----", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getFilesFromBlobHashed = ( - containerName, - getblobshash, - casefolderID -) => { - return axios - .get( - "/api/file/getbloblist?container=" + - containerName + - "&casefolderID=" + - casefolderID + - getblobshash - ) - .then((res) => { - //console.log("//////////----", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const deleteBlob = async ( - containerName, - blobName, - deleteblobhash, - casefolderID -) => { - try { - const res = await axios.get( - "/api/file/deleteblob?container=" + - containerName + - "&casefolderID=" + - encodeURIComponent(casefolderID) + - "&blobname=" + - encodeURIComponent(blobName) + - deleteblobhash - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const deleteRepBlob = async ( - containerName, - blobName, - deleteblobhash, - casefolderID, - filenamePrefix -) => { - try { - const res = await axios.get( - "/api/file/deleteblob?container=" + - containerName + - "&casefolderID=" + - encodeURIComponent(casefolderID + "/" + filenamePrefix) + - "&blobname=" + - encodeURIComponent(blobName) + - deleteblobhash - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const downloadBlob = (containerName, blobName) => { - return axios - .get( - BASE_URL + - "/api/file/downloadblob?container=" + - containerName.toLowerCase() + - "&blobname=" + - blobName, - { responseType: "blob" } - ) - .then((response) => { - //console.log("Downloaded blob content:"); - - res.setHeader( - "content-disposition", - "attachment; filename=" + blobName - ); - //console.log("has downloaded"); - - return res.status(200).send(response.data); - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getProgressFromBlob = async (containerName, casereference) => { - //console.log( - // /////////////////\ngetProgressFromBlob", - // BASE_URL + - // "/api/file/getprogressobjblob?container=" + - // containerName + - // "&casefolderID=" + - // casereference + - // hashAPIPath( - // "/api/file/getprogressobjblob?container=" + - // containerName + - // "&casefolderID=" + - // casereference - // ) - // ); - try { - const res = await axios.get( - BASE_URL + - "/api/file/getprogressobjblob?container=" + - encodeURIComponent(containerName) + - "&casefolderID=" + - encodeURIComponent(casereference) + - hashAPIPath( - "/api/file/getprogressobjblob?container=" + - encodeURIComponent(containerName) + - "&casefolderID=" + - encodeURIComponent(casereference) - ) - ); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const sendEmail = async ( - templateId, - emailAddress, - personalisation, - reference -) => { - var mailData = { - "templateId": templateId, - "emailAddress": emailAddress, - "reference": reference, - "personalisation": personalisation - }; - - try { - const response = await axios.post("/api/email/notify", mailData); - return response.data; - } catch (error) { - consoleLogger(error); // Optional custom logging - throw error; - } -}; - -export const getNotice = () => { - return axios - .get(BASE_URL + "/api/notices") - .then((res) => { - //console.log("//////////----", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const getPortalLogin = async (emailAddress) => { - var queryUrl = - "/api/endpoint/getportallogin_api?emailAddress=" + emailAddress; - - return axios - .get(BASE_URL + queryUrl + hashAPIPath(queryUrl)) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - - return JSON.stringify(error); - }); -}; - -export const getPortalLoginProxy = async (emailAddress) => { - var queryUrl = - "/api/endpoint/getportalloginproxy_api?emailAddress=" + emailAddress; - - return axios - .get(queryUrl) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - - return JSON.stringify(error); - }); -}; - -export const createContainerProxy = (containerName) => { - var queryUrl = - "/api/file/setupcontainer?ident=" + - containerName + - hashAPIPath("/api/file/setupcontainer?ident=" + containerName); - - return axios - .get(BASE_URL + queryUrl) - .then((res) => res.data) - .catch((error) => { - consoleLogger(error); - - return JSON.stringify(error); - }); -}; - -export const sendCaseCompleteMessage = async ( - containerID, - caseReference, - inv -) => { - var queryUrl = - "/api/file/createappealcompletemessage_api?container=" + - containerID + - "&tempcaseref=" + - caseReference + - "&inv=" + - inv; - - var config = { - method: "get", - url: queryUrl - }; - - //console.log(data); - - return axios(config) - .then((res) => { - console.log("sendCaseCompleteMessage: ", res.data); - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const sendCaseCompleteMessageProxy = async ( - containerID, - caseReference -) => { - var queryUrl = - "/api/file/createappealcompletemessageproxy_api?container=" + - containerID + - "&tempcaseref=" + - caseReference; - - var config = { - method: "get", - url: queryUrl - }; - - //console.log(data); - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const sendRepCompleteMessage = async ( - containerID, - caseReference, - fileName -) => { - var queryUrl = - "/api/file/createrepcompletemessage_api?container=" + - containerID + - "&tempcaseref=" + - caseReference + - "&repid=" + - fileName; - - var config = { - method: "get", - url: queryUrl - }; - - //console.log(data); - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - }); -}; - -export const setRepInvolvment = async (caseid, contactid) => { - var queryUrl = "/api/file/createrepinvolvement_api"; - - var data = { "incidentid": caseid, "contactid": contactid }; - var config = { - method: "post", - url: queryUrl, - data: data - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const setCaseInvolvment = async (caseid, contactid) => { - var queryUrl = "/api/file/createrepinvolvement_api"; - - var data = { "incidentid": caseid, "contactid": contactid }; - var config = { - method: "post", - url: queryUrl, - data: data - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getAddressSearch = async (searchString) => { - const params = new URLSearchParams(searchString); - const str = params.toString(); - - var queryUrl = - BASE_URL + "/api/endpoint/getbasicsearch_by_address_api?" + str; - - var config = { - method: "get", - url: queryUrl - }; - - return axios(config) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - let ErrResponse = { - value: [], - errorCode: error.response.status, - errorMsg: error.response.statusText - }; - return ErrResponse; - }); -}; - -export const createCRMTask = async (formValues) => { - var queryUrl = "/api/endpoint/createcrmtask_api"; - - var data = formValues; - var config = { - method: "post", - url: queryUrl, - data: data - }; - - try { - const res = await axios(config); - return res.data; - } catch (error) { - consoleLogger(error); - } -}; - -export const getPreferredLanguage = async (email) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getpreferredlanguage_api?emailAddress=" + - email - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getAppealPDFDocument = async (incidentid) => { - return axios - .get( - BASE_URL + - "/api/endpoint/getappealpdfdocuments_api?incidentid=" + - incidentid - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; -export const getNewAppeals = async (searchString) => { - try { - const res = await axios.get(BASE_URL + "/api/admin/getnewappeals_api"); - return res.data; - } catch (error) { - consoleLogger(error); - return error.response; - } -}; - -export const getNewAppealsPage = async ( - searchString, - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords -) => { - return axios - .get( - "/api/admin/getnewappeals_api?searchString=" + - searchString + - "&pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; - -export const getNewDocumentsPaged = async ( - pageNumber, - orderBy, - fieldSort, - showNumberOfRecords, - documentType, - documentOrigin, - selectedWeeks -) => { - console.log( - "/api/admin/getlatestdocuments_api?pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords + - "&documentType=" + - documentType + - "&numberWeeks=" + - selectedWeeks + - "&documentOrigin=" + - documentOrigin - ); - return axios - .get( - "/api/admin/getlatestdocuments_api?pageNumber=" + - pageNumber + - "&orderby=" + - orderBy + - "&fieldSort=" + - fieldSort + - "&showNumberOfRecords=" + - showNumberOfRecords + - "&documentType=" + - documentType + - "&numberWeeks=" + - selectedWeeks + - "&documentOrigin=" + - documentOrigin - ) - .then((res) => { - return res.data; - }) - .catch((error) => { - consoleLogger(error); - return error.response; - }); -}; +export * from "./core/env"; +export * from "./core/logger"; +export * from "./core/hash"; +export * from "./core/token"; +export * from "./core/headers"; +export * from "./core/guards"; + +export * from "./services"; diff --git a/actions/services/accountService.js b/actions/services/accountService.js new file mode 100644 index 00000000..b0287211 --- /dev/null +++ b/actions/services/accountService.js @@ -0,0 +1,23 @@ +import { + getPersonalAccount, + getLogin, + updatePassword, + updateAccount, + createAccount, + getEmailAccountCheck, + getPortalLogin, + getPortalLoginProxy, + getPreferredLanguage +} from "./legacyActionsService"; + +export { + getPersonalAccount, + getLogin, + updatePassword, + updateAccount, + createAccount, + getEmailAccountCheck, + getPortalLogin, + getPortalLoginProxy, + getPreferredLanguage +}; diff --git a/actions/services/adminService.js b/actions/services/adminService.js new file mode 100644 index 00000000..612f4e72 --- /dev/null +++ b/actions/services/adminService.js @@ -0,0 +1,7 @@ +import { + getNewAppeals, + getNewAppealsPage, + getNewDocumentsPaged +} from "./legacyActionsService"; + +export { getNewAppeals, getNewAppealsPage, getNewDocumentsPaged }; diff --git a/actions/services/caseService.js b/actions/services/caseService.js new file mode 100644 index 00000000..a5f682e8 --- /dev/null +++ b/actions/services/caseService.js @@ -0,0 +1,41 @@ +import { + getCaseMessage, + getIncidentbyID, + getSIPSEvents, + getSIPSMedia, + getAppealID, + createNewCase, + createNewCaseBlob, + updateCase, + updateCaseBlob, + patchCase, + getCase, + getCaseByID, + getAppealPDFDocs, + getAppealPDFDocument, + getPartSavedAppeal, + getIsPublishedbyID, + getPortalModuleDetails, + getPortalModuleDetailsProxy +} from "./legacyActionsService"; + +export { + getCaseMessage, + getIncidentbyID, + getSIPSEvents, + getSIPSMedia, + getAppealID, + createNewCase, + createNewCaseBlob, + updateCase, + updateCaseBlob, + patchCase, + getCase, + getCaseByID, + getAppealPDFDocs, + getAppealPDFDocument, + getPartSavedAppeal, + getIsPublishedbyID, + getPortalModuleDetails, + getPortalModuleDetailsProxy +}; diff --git a/actions/services/documentService.js b/actions/services/documentService.js new file mode 100644 index 00000000..4b856086 --- /dev/null +++ b/actions/services/documentService.js @@ -0,0 +1,43 @@ +import { + getAwaitingSubmissionFromBlob, + getRepsFromBlob, + getRepsFromBlobProxy, + getAwaitingSubmissionFromBlobProxy, + deleteAwaitingSubmissionsFromBlob, + deleteMyRepresentationsFromBlob, + uploadFiles, + uploadSingleFile, + uploadRepFiles, + generateRepPDF, + generateAppealPDF, + getFilesFromBlob, + getFilesFromBlobproxy, + getFilesFromBlobHashed, + deleteBlob, + deleteRepBlob, + downloadBlob, + getProgressFromBlob, + createContainerProxy +} from "./legacyActionsService"; + +export { + getAwaitingSubmissionFromBlob, + getRepsFromBlob, + getRepsFromBlobProxy, + getAwaitingSubmissionFromBlobProxy, + deleteAwaitingSubmissionsFromBlob, + deleteMyRepresentationsFromBlob, + uploadFiles, + uploadSingleFile, + uploadRepFiles, + generateRepPDF, + generateAppealPDF, + getFilesFromBlob, + getFilesFromBlobproxy, + getFilesFromBlobHashed, + deleteBlob, + deleteRepBlob, + downloadBlob, + getProgressFromBlob, + createContainerProxy +}; diff --git a/actions/services/index.js b/actions/services/index.js new file mode 100644 index 00000000..cb97084f --- /dev/null +++ b/actions/services/index.js @@ -0,0 +1,9 @@ +export * from "./searchService"; +export * from "./caseService"; +export * from "./accountService"; +export * from "./portalService"; +export * from "./documentService"; +export * from "./referenceDataService"; +export * from "./notifyService"; +export * from "./adminService"; +export * from "./integrationService"; diff --git a/actions/services/integrationService.js b/actions/services/integrationService.js new file mode 100644 index 00000000..fd4f1349 --- /dev/null +++ b/actions/services/integrationService.js @@ -0,0 +1,3 @@ +import { createCRMTask } from "./legacyActionsService"; + +export { createCRMTask }; diff --git a/actions/services/legacyActionsService.js b/actions/services/legacyActionsService.js new file mode 100644 index 00000000..696b7a26 --- /dev/null +++ b/actions/services/legacyActionsService.js @@ -0,0 +1,2114 @@ +import axios from "axios"; +import { BASE_URL } from "../core/env"; +import { consoleLogger } from "../core/logger"; +import { hashAPIPath } from "../core/hash"; + +export const getBasicSearch = (searchString) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getbasicsearch_api?searchString=" + + searchString + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getCaseMessage = (searchString) => { + return axios + .get(BASE_URL + "/api/endpoint/getcasemessage_api?id=" + searchString) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getIncidentbyID = (searchString) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getincidentbyid_api?searchString=" + + searchString + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getIsPublishedbyID = (searchString) => { + return axios + .get( + "/api/endpoint/getispublishedbyid_api?searchString=" + searchString + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getPartSavedAppeal = (searchString) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getpartsavedappeal_api?searchString=" + + searchString + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getBasicDNSURLSearch = (searchString) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getbasicdnsurlsearch_api?searchString=" + + searchString + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getSIPSEvents = async (caseid) => { + return axios + .get(BASE_URL + "/api/endpoint/getsipsevents_api?caseid=" + caseid) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getSIPSMedia = async (caseid) => { + return axios + .get(BASE_URL + "/api/endpoint/getsipsmedia_api?caseid=" + caseid) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getAddressSearchPaged = ( + searchString, + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords +) => { + return axios + .get( + "/api/endpoint/getbasicsearch_by_address_paged_api?searchString=" + + searchString + + "&pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getBasicSearchPaged = ( + searchString, + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords +) => { + return axios + .get( + "/api/endpoint/getbasicsearchpaged_api?searchString=" + + searchString + + "&pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getDNSCoords = () => { + return axios + .get(BASE_URL + "/api/endpoint/getdnscoords_api") + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getDNSList = (searchString) => { + return axios + .get(BASE_URL + "/api/endpoint/getdnslist_api") + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getBasicDNSSearch = (searchString) => { + return axios + .get(BASE_URL + "/api/endpoint/getbasicdnssearch_api") + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getBasicDNSSearchPaged = ( + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords +) => { + return axios + .get( + "/api/endpoint/getbasicdnssearchpaged_api?pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getAdvancedSearch = (searchString) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getadvancedsearch_api?searchstring=" + + JSON.stringify(searchString) + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getAdvancedSearchPaged = ( + searchString, + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords +) => { + return axios + .get( + "/api/endpoint/getadvancedsearchpaged_api?searchstring=" + + JSON.stringify(searchString) + + "&pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getBasicSearchDetails = async ( + appealTypeName, + caseReference, + primaryIdAttribute, + incidentID +) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getbasicsearchdetails_api?appealTypeName=" + + appealTypeName + + "&primaryIdAttribute=" + + primaryIdAttribute + + "&incidentID=" + + incidentID + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getBasicPartSavedDetails = ( + appealTypeName, + caseReference, + primaryIdAttribute, + incidentID +) => { + //console.log( + // "///////api call: ", + // BASE_URL + + // "/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" + + // appealTypeName + + // "&primaryIdAttribute=" + + // primaryIdAttribute + + // "&incidentID=" + + // incidentID + // ); + return axios + .get( + BASE_URL + + "/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" + + appealTypeName + + "&primaryIdAttribute=" + + primaryIdAttribute + + "&incidentID=" + + incidentID + ) + .then((res) => res.data) + .catch((error) => { + console.log("this error", error); + }); +}; + +export const getBasicSearchDetailsPaged = async ( + appealTypeName, + caseReference, + primaryIdAttribute, + incidentIDs +) => { + if (!incidentIDs || incidentIDs.length === 0) return []; + + console.log("=======", primaryIdAttribute); + // Build OData filter correctly + // const filter = incidentIDs + // .map((id) => `_${primaryIdAttribute}s_value eq ${id}`) + // .join(" or "); + + const filter = incidentIDs + .map((id) => { + const suffix = + primaryIdAttribute === "pinswg_sipscase" + ? `_${primaryIdAttribute}_value` + : `_${primaryIdAttribute}s_value`; + + return `${suffix} eq ${id}`; + }) + .join(" or "); + + const url = `/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent( + filter + )}`; + + console.log( + `Fetching ${incidentIDs.length} incidents for appeal type: ${appealTypeName}` + ); + + try { + const res = await axios.get(url); + return res.data.value || []; // ensure returning an array + } catch (error) { + consoleLogger(error); + return []; + } +}; + +export const getSearchDocumentDetails = (incidentID) => { + return axios + .get( + "/api/endpoint/getsearchdocumentdetails_api?incidentid=" + + incidentID + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + throw error; // Important! + }); +}; + +export const getSearchDocumentTypes = (incidentID) => { + return axios + .get( + "/api/endpoint/getsearchdocumentTypes_api?incidentid=" + incidentID + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getAppealPDFDocs = (incidentID) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getappealpdfdocuments_api?incidentid=" + + incidentID + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getSearchDocumentDetailsPaged = ( + incidentID, + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords, + documentType +) => { + //console.log("to api:", documentType); + return axios + .get( + "/api/endpoint/getsearchdocumentdetailspaged_api?incidentid=" + + incidentID + + "&pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + + "&documentType=" + + documentType + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getLinkedCases = (parentIncidentid) => { + return axios + .get( + "/api/endpoint/getlinkedcases_api?parentincidentid=" + + parentIncidentid + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getAppealsTypes = () => { + return axios + .get(BASE_URL + "/api/endpoint/getappealtypes_api") + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getProjectTypes = () => { + return axios + .get(BASE_URL + "/api/endpoint/getprojecttypes_api") + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getAppealsTypesForNewAppeal = () => { + return axios + .get(BASE_URL + "/api/endpoint/getappealtypesfornewappeal_api") + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +export const getLPA = () => { + return axios + .get(BASE_URL + "/api/endpoint/getlpa_api") + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + + return ErrResponse; + }); +}; + +// iteration 2 methods + +export const getFormData = (whichForm) => { + return axios + .get(BASE_URL + "/api/endpoint/getformdata_api?whichForm=" + whichForm) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getMandatoryFields = (whichForm) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getmandatoryfields_api?whichForm=" + + whichForm + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getPickLists = (whichForm) => { + return axios + .get(BASE_URL + "/api/endpoint/getpicklists_api?whichForm=" + whichForm) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getPersonalAccount = (contactid) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getpersonalaccount_api?contactid=" + + contactid + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + //console.log("returned:", error); + // let ErrResponse = { + // value: [], + // errorCode: error.response.status, + // errorMsg: error.response.statusText, + // }; + // return ErrResponse; + }); +}; + +export const getAppealID = ( + caseReference, + updateFormCollection, + primaryAttribute +) => { + //console.log( + // "is this the collection?:", + // getFormCollection(updateFormCollection) + // ) + + //let formCollectionName = getFormCollection(updateFormCollection); + //console.log(formCollectionName); + return axios + .get( + "/api/endpoint/getappealid_api?updateFormCollection=" + + updateFormCollection + + "&primaryAttribute=" + + primaryAttribute + + "&caseReference=" + + caseReference + ) + .then((res) => { + const result = Object.entries(res.data.value[0]).filter( + ([key]) => !key.startsWith("_") + )[0][1]; + // console.log("result:", res.data); + var appealID = result; + return appealID; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getLogin = (emailAddress, pwd) => { + return axios + .get( + "/api/endpoint/getlogin_api?emailAddress=" + + emailAddress + + "&pwd=" + + pwd + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getMyCases = (loggedInUserId) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getmycases_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getMyInvolvements = async (loggedInUserId) => { + try { + const res = await axios.get( + BASE_URL + + "/api/endpoint/getmyinvolvements_api?loggedInUserId=" + + loggedInUserId + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getMyLPACases = (lpaid) => { + return axios + .get(BASE_URL + "/api/endpoint/getmylpacases_api?lpaid=" + lpaid) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getMyRepresentations = (loggedInUserId) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getmyrepresentations_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getMyRepresentationsProxy = (loggedInUserId) => { + return axios + .get( + "/api/endpoint/getmyrepresentationsproxy_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getRepresentations = (incidentID) => { + return axios + .get("/api/endpoint/getrepresentations_api?incidentID=" + incidentID) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getRepresentationsProxy = (incidentID) => { + return axios + .get( + "/api/endpoint/getrepresentationsproxy_api?incidentID=" + incidentID + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getWatchedCases = (loggedInUserId) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getwatchedcases_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getWatchedCasesProxy = (loggedInUserId) => { + return axios + .get( + "/api/endpoint/getwatchedcasesproxy_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getAwaitingSubmissionProxy = (loggedInUserId) => { + return axios + .get( + "/api/endpoint/getawaitingsubmissionproxy_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getAwaitingSubmission = (loggedInUserId) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getawaitingsubmission_api?loggedInUserId=" + + loggedInUserId + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getAwaitingSubmissionFromBlob = (containerName) => { + //console.log( + // "///////////////////////\ngetAwaitingSubmissionFromBlob: " + + // containerName, + // BASE_URL + + // "/api/file/getawaitingsubmissionfromblob?container=" + + // containerName + + // hashAPIPath( + // "/api/file/getawaitingsubmissionfromblob?container=" + + // containerName + // ), + // "\n///////////////////////\n" + // ); + return axios + .get( + BASE_URL + + "/api/file/getawaitingsubmissionfromblob?container=" + + containerName + + hashAPIPath( + "/api/file/getawaitingsubmissionfromblob?container=" + + containerName + ) + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getRepsFromBlob = (containerName) => { + //console.log( + // "///////////////////////\ngetRepsFromBlob function: " + + // containerName + + // "\n///////////////////////\n", + // BASE_URL + + // "/api/file/getrepsblob?container=" + + // containerName + + // hashAPIPath("/api/file/getrepsblob?container=" + containerName) + // ); + + return axios + .get( + BASE_URL + + "/api/file/getrepsblob?container=" + + containerName + + hashAPIPath("/api/file/getrepsblob?container=" + containerName) + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + //console.log( + // "///////////////////////\ngetRepsFromBlob error response: " + + // error + + // "\n///////////////////////\n" + // ); + consoleLogger(error); + //console.log("API call error", error); + }); +}; + +export const getRepsFromBlobProxy = async (containerName) => { + //console.log( + // "///////////////////////getRepsFromBlobProxy: " + containerName, + // "/api/file/getawaitingsubmissionfromblobproxy?container=" + + // containerName, + // "\n///////////////////////\n" + // ); + + try { + const res = await axios.get( + // BASE_URL + + "/api/file/getrepsblobproxy?container=" + containerName + // + + // hashAPIPath( + // "/api/file/getawaitingsubmissionfromblob?container=" + + // containerName + // ) + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getAwaitingSubmissionFromBlobProxy = async (containerName) => { + console.log( + "///////////////////////getAwaitingSubmissionFromBlobProxy: " + + containerName, + "/api/file/getawaitingsubmissionfromblobproxy?container=" + + containerName, + "\n///////////////////////\n" + ); + + try { + const res = await axios.get( + BASE_URL + + "/api/file/getawaitingsubmissionfromblobproxy?container=" + + containerName + // + + // hashAPIPath( + // "/api/file/getawaitingsubmissionfromblob?container=" + + // containerName + // ) + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getPortalModuleDetails = async (appealType, caseReference) => { + //console.log( + // BASE_URL + + // "/api/endpoint/getportalmoduledetails_api?appealType=" + + // appealType + + // "&caseReference=" + + // encodeURI(caseReference) + // ); + + // return axios + // .get( + // BASE_URL + + // "/api/endpoint/getportalmoduledetails_api?appealType=" + + // appealType + + // "&caseReference=" + + // encodeURI(caseReference) + // ) + // .then((res) => res.data) + // .catch((error) => { + // console.log("error case ref:", caseReference); + // consoleLogger(error); + // }); + + var config = { + method: "get", + url: + BASE_URL + + "/api/endpoint/getportalmoduledetails_api?appealType=" + + appealType + + "&caseReference=" + + encodeURI(caseReference) + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + console.log("error case ref:", caseReference); + consoleLogger(error); + } +}; + +export const getPortalModuleDetailsProxy = (appealType, caseReference) => { + return axios + .get( + "/api/endpoint/getportalmoduledetailsproxy_api?appealType=" + + appealType + + "&caseReference=" + + caseReference.replace(/\'/g, "''") + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getEmailAccountCheck = (emailAddress) => { + return axios + .get( + "/api/endpoint/getemailaccountcheck_api?emailAddress=" + + emailAddress + ) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + }); +}; + +//uses more than get methods + +export const updatePassword = (contactId, newpassword) => { + var queryUrl = "/api/endpoint/updateaccount_api?contactId=" + contactId; + var data = { "pinswg_custom_password": newpassword }; + var config = { + method: "post", + url: queryUrl, + data: data + }; + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const updateAccount = async (contactId, updateBody, ssr) => { + var queryUrl = + (ssr ? BASE_URL : "") + + "/api/endpoint/updateaccount_api?contactId=" + + contactId; + var data = updateBody; + var config = { + method: "post", + url: queryUrl, + data: data + }; + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + //console.log("this error:", error); + consoleLogger(error); + }); +}; + +export const createWatchedCases = async (formValues) => { + var data = formValues; + var queryUrl = "/api/endpoint/createwatchedcases_api"; + + var config = { + method: "post", + url: queryUrl, + data: data + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const createNewCase = ( + appealTypeId, + lpaID, + contactid, + createBody, + containerName +) => { + appealTypeId = parseInt(appealTypeId); + + var data = createBody; + + var queryUrl = + "/api/endpoint/createcase_api?appealTypeId=" + + appealTypeId + + "&lpaID=" + + lpaID + + "&contactid=" + + contactid + + "&containername=" + + containerName; + + var config = { + method: "post", + url: BASE_URL + queryUrl, + data: data + }; + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const createNewCaseBlob = ( + appealTypeId, + lpaID, + contactid, + createBody, + containerName, + lpaName +) => { + appealTypeId = parseInt(appealTypeId); + + var data = createBody; + + data.pinswg_lpaname = lpaName; + data.createdon = new Date(); + + var queryUrl = + "/api/file/createcase_api?appealTypeId=" + + appealTypeId + + "&lpaID=" + + lpaID + + "&contactid=" + + contactid + + "&containername=" + + containerName; + //+ + // hashAPIPath( + // "/api/file/createcase_api?appealTypeId=" + + // appealTypeId + + // "&lpaID=" + + // lpaID + + // "&contactid=" + + // contactid + + // "&containername=" + + // containerName + // ); + + var config = { + method: "post", + url: queryUrl, + data: data + }; + + //console.log("the query url for crearte csase:", queryUrl); + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const updateCase = async ( + incidentId, + updateBody, + updateFormCollection, + primaryAttribute, + caseReference +) => { + var data = updateBody; + + var appealObj = await getAppealID( + caseReference, + updateFormCollection, + primaryAttribute + ); + + var queryUrl = + "/api/endpoint/updatecase_api?updateFormCollection=" + + updateFormCollection + + "&appealObj=" + + appealObj; + + var config = { + method: "post", + url: queryUrl, + data: updateBody + }; + + //console.log(data); + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const updateCaseBlob = async ( + incidentId, + updateBody, + updateFormCollection, + primaryAttribute, + caseReference +) => { + var data = updateBody; + + var appealObj = await getAppealID( + caseReference, + updateFormCollection, + primaryAttribute + ); + + var queryUrl = + "/api/file/updatecase_api?updateFormCollection=" + + updateFormCollection + + "&appealObj=" + + appealObj; + + var config = { + method: "post", + url: queryUrl, + data: updateBody + }; + + //console.log(data); + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const patchCase = async (incidentid) => { + var queryUrl = "/api/endpoint/patchcase_api?incidentid=" + incidentid; + var config = { + method: "get", + url: queryUrl + }; + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + //console.log("this error:", error); + }); +}; + +export const getCase = (incidentID) => { + //console.log( + // "////////////// ------" + + // BASE_URL + + // "/api/endpoint/getcase_api?incidentID=" + + // incidentID + // ); + return axios + .get(BASE_URL + "/api/endpoint/getcase_api?incidentID=" + incidentID) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getCaseByID = (incidentID) => { + //console.log( + // "////////////// ------" + + // BASE_URL + + // "/api/endpoint/getcase_api?incidentID=" + + // incidentID + // ); + return axios + .get( + BASE_URL + "/api/endpoint/getcasebyid_api?incidentID=" + incidentID + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteMyRepresentations = (myRepresentationsID) => { + var queryUrl = + "/api/endpoint/deletemyrepresentations_api?myRepresentationsID=" + + myRepresentationsID; + + var config = { + method: "delete", + url: queryUrl + hashAPIPath(queryUrl), + headers: { + "OData-MaxVersion": "4.0", + "OData-Version": "4.0", + "Accept": "application/json;odata.metadata=none", + "Prefer": 'odata.include-annotations="*",return=representation', + "Content-Type": "application/json" + } + }; + //console.log(config); + return axios(config) + .then((res) => { + //console.log("deleted ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteAwaitingSubmissions = (incidentID) => { + var queryUrl = + "/api/endpoint/deleteawaitingsubmissions_api?incidentID=" + incidentID; + + var config = { + method: "delete", + url: queryUrl + }; + //console.log(config); + return axios(config) + .then((res) => { + //console.log("deleted ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteAwaitingSubmissionsFromBlob = ( + containerID, + casefolderID +) => { + var queryUrl = + "/api/file/deleteblobcase?container=" + + containerID + + "&casefolderID=" + + casefolderID; + + var config = { + method: "get", + url: queryUrl + }; + //console.log(config); + return axios(config) + .then((res) => { + //console.log("deleted ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteMyRepresentationsFromBlob = ( + containerID, + casefolderID, + repfile +) => { + var queryUrl = + "/api/file/deleteblobrep?container=" + + containerID + + "&casefolderID=" + + casefolderID + + "&repfile=" + + repfile; + + var config = { + method: "get", + url: queryUrl + }; + //console.log(config); + return axios(config) + .then((res) => { + //console.log("deleted ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteWatchedCases = async (watchedCaseID) => { + var queryUrl = + "/api/endpoint/deletewatchedcases_api?watchedCaseID=" + watchedCaseID; + var config = { + method: "delete", + url: queryUrl + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const createAccount = (formValues) => { + var data = formValues; + var queryUrl = "/api/endpoint/createaccount_api"; + var config = { + method: "post", + url: queryUrl, + data: data + }; + + return axios(config) + .then((res) => { + //console.log("posted ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const uploadFiles = async ( + formValues, + filesObj, + containerID, + casefolderID +) => { + let files = filesObj; + + //console.log(formValues); + var formData = new FormData(); + formData.append("appealData", JSON.stringify(formValues)); + formData.append("containerID", containerID); + formData.append("casefolderID", casefolderID); + + // files.forEach((file) => formData.append("files", file)); + + for (let i = 0; i < files.length; i++) { + for (let j = 0; j < files[i].length; j++) { + //console.log("upload files:", files[i][j].name); + formData.append(files[i][j].name, files[i][j]); + } + } + + //console.log(formData); + + var queryUrl = "/api/file/upload"; + + const config = { + method: "post", + url: queryUrl, + data: formData, + headers: { "content-type": "multipart/form-data" } + }; + + //console.log(config); + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const uploadSingleFile = async (filesObj, containerID, casefolderID) => { + let files = filesObj; + + //console.log(formValues); + var formData = new FormData(); + formData.append("containerID", containerID); + formData.append("casefolderID", casefolderID); + + // files.forEach((file) => formData.append("files", file)); + + for (let i = 0; i < files.length; i++) { + console.log(files.length); + // for (let j = 0; j < files[i].length; j++) { + // console.log("upload files:", files[i][j].name); + formData.append(files[i].name, files[i]); + // } + } + + //console.log(formData); + + var queryUrl = "/api/file/uploadsinglefile"; + + const config = { + method: "post", + url: queryUrl, + data: formData, + headers: { "content-type": "multipart/form-data" } + }; + + //console.log(config); + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const uploadRepFiles = async ( + formValues, + filesObj, + containerID, + casefolderID +) => { + let files = filesObj; + + //console.log(formValues); + var formData = new FormData(); + formData.append("appealData", JSON.stringify(formValues)); + formData.append("containerID", containerID); + formData.append("casefolderID", casefolderID); + formData.append("repOrAppeal", true); + + // files.forEach((file) => formData.append("files", file)); + + // for (let i = 0; i < files.length; i++) { + // for (let j = 0; j < files[i].length; j++) { + // //console.log("upload rep files:", files[i][j].name); + // formData.append(files[i][j].name, files[i][j]); + // } + // } + + //console.log(formData); + + var queryUrl = "/api/file/upload"; + + const config = { + method: "post", + url: queryUrl, + data: formData, + headers: { "content-type": "multipart/form-data" } + }; + + //console.log(config); + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const generateRepPDF = async ( + formValues, + containerID, + casefolderID, + options = {} +) => { + //let files = filesObj; + + console.log("generateRepPDF function: " + formValues); + // var formData = new FormData(); + // formValues.append("appealData", JSON.stringify(formValues)); + // formValues.append("containerID", containerID); + // formValues.append("casefolderID", casefolderID); + + // Object.assign(formValues, { + // "containerID": containerID, + // "casefolderID": casefolderID, + // }); + + var queryUrl = + "/api/file/generatepdf" + (options.download ? "?download=true" : ""); + + const config = { + method: "post", + url: queryUrl, + data: formValues, + ...(options.download ? { responseType: "blob" } : {}) + //headers: { "content-type": "multipart/form-data" }, + }; + + //console.log(config); + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const generateAppealPDF = async ( + formValues, + containerID, + casefolderID, + appealType, + fileList +) => { + //let files = filesObj; + + //console.log("generateAppealPDF function: " + formValues); + // var formData = new FormData(); + // formValues.append("appealData", JSON.stringify(formValues)); + // formValues.append("containerID", containerID); + //formValues.append("filesList", fileList); + + Object.assign(formValues, { + "filesList": fileList + }); + + var queryUrl = "/api/file/generateappealpdf?appealType=" + appealType; + + const config = { + method: "post", + url: queryUrl, + data: formValues + //headers: { "content-type": "multipart/form-data" }, + }; + + //console.log(config); + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getFilesFromBlob = (containerName, casefolderID) => { + //console.log( + // " get files from blob", + // BASE_URL + + // "/api/file/getbloblist?container=" + + // containerName + + // "&casefolderID=" + + // casefolderID + + // hashAPIPath( + // "/api/file/getbloblist?container=" + + // containerName + + // "&casefolderID=" + + // casefolderID + // ) + // ); + return axios + .get( + BASE_URL + + "/api/file/getbloblist?container=" + + containerName + + "&casefolderID=" + + casefolderID + + hashAPIPath( + "/api/file/getbloblist?container=" + + containerName + + "&casefolderID=" + + casefolderID + ) + ) + .then((res) => { + //console.log("//////////----", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getFilesFromBlobproxy = (containerName, casefolderID) => { + return axios + .get( + // BASE_URL + + "/api/file/getbloblistproxy?container=" + + containerName + + "&casefolderID=" + + casefolderID + ) + .then((res) => { + //console.log("//////////----", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getFilesFromBlobHashed = ( + containerName, + getblobshash, + casefolderID +) => { + return axios + .get( + "/api/file/getbloblist?container=" + + containerName + + "&casefolderID=" + + casefolderID + + getblobshash + ) + .then((res) => { + //console.log("//////////----", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const deleteBlob = async ( + containerName, + blobName, + deleteblobhash, + casefolderID +) => { + try { + const res = await axios.get( + "/api/file/deleteblob?container=" + + containerName + + "&casefolderID=" + + encodeURIComponent(casefolderID) + + "&blobname=" + + encodeURIComponent(blobName) + + deleteblobhash + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const deleteRepBlob = async ( + containerName, + blobName, + deleteblobhash, + casefolderID, + filenamePrefix +) => { + try { + const res = await axios.get( + "/api/file/deleteblob?container=" + + containerName + + "&casefolderID=" + + encodeURIComponent(casefolderID + "/" + filenamePrefix) + + "&blobname=" + + encodeURIComponent(blobName) + + deleteblobhash + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const downloadBlob = (containerName, blobName) => { + return axios + .get( + BASE_URL + + "/api/file/downloadblob?container=" + + containerName.toLowerCase() + + "&blobname=" + + blobName, + { responseType: "blob" } + ) + .then((response) => { + //console.log("Downloaded blob content:"); + + res.setHeader( + "content-disposition", + "attachment; filename=" + blobName + ); + //console.log("has downloaded"); + + return res.status(200).send(response.data); + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getProgressFromBlob = async (containerName, casereference) => { + //console.log( + // /////////////////\ngetProgressFromBlob", + // BASE_URL + + // "/api/file/getprogressobjblob?container=" + + // containerName + + // "&casefolderID=" + + // casereference + + // hashAPIPath( + // "/api/file/getprogressobjblob?container=" + + // containerName + + // "&casefolderID=" + + // casereference + // ) + // ); + try { + const res = await axios.get( + BASE_URL + + "/api/file/getprogressobjblob?container=" + + encodeURIComponent(containerName) + + "&casefolderID=" + + encodeURIComponent(casereference) + + hashAPIPath( + "/api/file/getprogressobjblob?container=" + + encodeURIComponent(containerName) + + "&casefolderID=" + + encodeURIComponent(casereference) + ) + ); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const sendEmail = async ( + templateId, + emailAddress, + personalisation, + reference +) => { + var mailData = { + "templateId": templateId, + "emailAddress": emailAddress, + "reference": reference, + "personalisation": personalisation + }; + + try { + const response = await axios.post("/api/email/notify", mailData); + return response.data; + } catch (error) { + consoleLogger(error); // Optional custom logging + throw error; + } +}; + +export const getNotice = () => { + return axios + .get(BASE_URL + "/api/notices") + .then((res) => { + //console.log("//////////----", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const getPortalLogin = async (emailAddress) => { + var queryUrl = + "/api/endpoint/getportallogin_api?emailAddress=" + emailAddress; + + return axios + .get(BASE_URL + queryUrl + hashAPIPath(queryUrl)) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + + return JSON.stringify(error); + }); +}; + +export const getPortalLoginProxy = async (emailAddress) => { + var queryUrl = + "/api/endpoint/getportalloginproxy_api?emailAddress=" + emailAddress; + + return axios + .get(queryUrl) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + + return JSON.stringify(error); + }); +}; + +export const createContainerProxy = (containerName) => { + var queryUrl = + "/api/file/setupcontainer?ident=" + + containerName + + hashAPIPath("/api/file/setupcontainer?ident=" + containerName); + + return axios + .get(BASE_URL + queryUrl) + .then((res) => res.data) + .catch((error) => { + consoleLogger(error); + + return JSON.stringify(error); + }); +}; + +export const sendCaseCompleteMessage = async ( + containerID, + caseReference, + inv +) => { + var queryUrl = + "/api/file/createappealcompletemessage_api?container=" + + containerID + + "&tempcaseref=" + + caseReference + + "&inv=" + + inv; + + var config = { + method: "get", + url: queryUrl + }; + + //console.log(data); + + return axios(config) + .then((res) => { + console.log("sendCaseCompleteMessage: ", res.data); + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const sendCaseCompleteMessageProxy = async ( + containerID, + caseReference +) => { + var queryUrl = + "/api/file/createappealcompletemessageproxy_api?container=" + + containerID + + "&tempcaseref=" + + caseReference; + + var config = { + method: "get", + url: queryUrl + }; + + //console.log(data); + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const sendRepCompleteMessage = async ( + containerID, + caseReference, + fileName +) => { + var queryUrl = + "/api/file/createrepcompletemessage_api?container=" + + containerID + + "&tempcaseref=" + + caseReference + + "&repid=" + + fileName; + + var config = { + method: "get", + url: queryUrl + }; + + //console.log(data); + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + }); +}; + +export const setRepInvolvment = async (caseid, contactid) => { + var queryUrl = "/api/file/createrepinvolvement_api"; + + var data = { "incidentid": caseid, "contactid": contactid }; + var config = { + method: "post", + url: queryUrl, + data: data + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const setCaseInvolvment = async (caseid, contactid) => { + var queryUrl = "/api/file/createrepinvolvement_api"; + + var data = { "incidentid": caseid, "contactid": contactid }; + var config = { + method: "post", + url: queryUrl, + data: data + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getAddressSearch = async (searchString) => { + const params = new URLSearchParams(searchString); + const str = params.toString(); + + var queryUrl = + BASE_URL + "/api/endpoint/getbasicsearch_by_address_api?" + str; + + var config = { + method: "get", + url: queryUrl + }; + + return axios(config) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + let ErrResponse = { + value: [], + errorCode: error.response.status, + errorMsg: error.response.statusText + }; + return ErrResponse; + }); +}; + +export const createCRMTask = async (formValues) => { + var queryUrl = "/api/endpoint/createcrmtask_api"; + + var data = formValues; + var config = { + method: "post", + url: queryUrl, + data: data + }; + + try { + const res = await axios(config); + return res.data; + } catch (error) { + consoleLogger(error); + } +}; + +export const getPreferredLanguage = async (email) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getpreferredlanguage_api?emailAddress=" + + email + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getAppealPDFDocument = async (incidentid) => { + return axios + .get( + BASE_URL + + "/api/endpoint/getappealpdfdocuments_api?incidentid=" + + incidentid + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; +export const getNewAppeals = async (searchString) => { + try { + const res = await axios.get(BASE_URL + "/api/admin/getnewappeals_api"); + return res.data; + } catch (error) { + consoleLogger(error); + return error.response; + } +}; + +export const getNewAppealsPage = async ( + searchString, + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords +) => { + return axios + .get( + "/api/admin/getnewappeals_api?searchString=" + + searchString + + "&pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; + +export const getNewDocumentsPaged = async ( + pageNumber, + orderBy, + fieldSort, + showNumberOfRecords, + documentType, + documentOrigin, + selectedWeeks +) => { + console.log( + "/api/admin/getlatestdocuments_api?pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + + "&documentType=" + + documentType + + "&numberWeeks=" + + selectedWeeks + + "&documentOrigin=" + + documentOrigin + ); + return axios + .get( + "/api/admin/getlatestdocuments_api?pageNumber=" + + pageNumber + + "&orderby=" + + orderBy + + "&fieldSort=" + + fieldSort + + "&showNumberOfRecords=" + + showNumberOfRecords + + "&documentType=" + + documentType + + "&numberWeeks=" + + selectedWeeks + + "&documentOrigin=" + + documentOrigin + ) + .then((res) => { + return res.data; + }) + .catch((error) => { + consoleLogger(error); + return error.response; + }); +}; diff --git a/actions/services/notifyService.js b/actions/services/notifyService.js new file mode 100644 index 00000000..572469cf --- /dev/null +++ b/actions/services/notifyService.js @@ -0,0 +1,3 @@ +import { sendEmail } from "./legacyActionsService"; + +export { sendEmail }; diff --git a/actions/services/portalService.js b/actions/services/portalService.js new file mode 100644 index 00000000..876a7242 --- /dev/null +++ b/actions/services/portalService.js @@ -0,0 +1,45 @@ +import { + getMyCases, + getMyInvolvements, + getMyLPACases, + getMyRepresentations, + getMyRepresentationsProxy, + getRepresentations, + getRepresentationsProxy, + getWatchedCases, + getWatchedCasesProxy, + getAwaitingSubmission, + getAwaitingSubmissionProxy, + createWatchedCases, + deleteWatchedCases, + deleteMyRepresentations, + deleteAwaitingSubmissions, + sendCaseCompleteMessage, + sendCaseCompleteMessageProxy, + sendRepCompleteMessage, + setRepInvolvment, + setCaseInvolvment +} from "./legacyActionsService"; + +export { + getMyCases, + getMyInvolvements, + getMyLPACases, + getMyRepresentations, + getMyRepresentationsProxy, + getRepresentations, + getRepresentationsProxy, + getWatchedCases, + getWatchedCasesProxy, + getAwaitingSubmission, + getAwaitingSubmissionProxy, + createWatchedCases, + deleteWatchedCases, + deleteMyRepresentations, + deleteAwaitingSubmissions, + sendCaseCompleteMessage, + sendCaseCompleteMessageProxy, + sendRepCompleteMessage, + setRepInvolvment, + setCaseInvolvment +}; diff --git a/actions/services/referenceDataService.js b/actions/services/referenceDataService.js new file mode 100644 index 00000000..660ab66b --- /dev/null +++ b/actions/services/referenceDataService.js @@ -0,0 +1,21 @@ +import { + getAppealsTypes, + getProjectTypes, + getAppealsTypesForNewAppeal, + getLPA, + getFormData, + getMandatoryFields, + getPickLists, + getNotice +} from "./legacyActionsService"; + +export { + getAppealsTypes, + getProjectTypes, + getAppealsTypesForNewAppeal, + getLPA, + getFormData, + getMandatoryFields, + getPickLists, + getNotice +}; diff --git a/actions/services/searchService.js b/actions/services/searchService.js new file mode 100644 index 00000000..18b7e7a1 --- /dev/null +++ b/actions/services/searchService.js @@ -0,0 +1,41 @@ +import { + getBasicSearch, + getAddressSearch, + getAddressSearchPaged, + getBasicSearchPaged, + getAdvancedSearch, + getAdvancedSearchPaged, + getBasicDNSURLSearch, + getBasicDNSSearch, + getBasicDNSSearchPaged, + getDNSCoords, + getDNSList, + getBasicSearchDetails, + getBasicSearchDetailsPaged, + getBasicPartSavedDetails, + getSearchDocumentDetails, + getSearchDocumentTypes, + getSearchDocumentDetailsPaged, + getLinkedCases +} from "./legacyActionsService"; + +export { + getBasicSearch, + getAddressSearch, + getAddressSearchPaged, + getBasicSearchPaged, + getAdvancedSearch, + getAdvancedSearchPaged, + getBasicDNSURLSearch, + getBasicDNSSearch, + getBasicDNSSearchPaged, + getDNSCoords, + getDNSList, + getBasicSearchDetails, + getBasicSearchDetailsPaged, + getBasicPartSavedDetails, + getSearchDocumentDetails, + getSearchDocumentTypes, + getSearchDocumentDetailsPaged, + getLinkedCases +}; diff --git a/components/account/changepassword.js b/components/account/changepassword.js index 8b53860e..760be8a8 100644 --- a/components/account/changepassword.js +++ b/components/account/changepassword.js @@ -4,7 +4,7 @@ import { useRouter } from "next/router"; import React, { useState } from "react"; import { connect } from "react-redux"; import { Field, formValueSelector, reduxForm } from "redux-form"; -import { updatePassword } from "../../actions"; +import { updatePassword } from "../../actions/services/accountService"; const RenderTextfield = ({ id, @@ -60,7 +60,7 @@ const ChangePassword = (props) => { handleSubmit, value, setPasswordUpdated, - passwordUpdated, + passwordUpdated } = props; let { t, lang } = useTranslation(); @@ -158,7 +158,7 @@ const mapStateToProps = (state) => { searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails //form: state.form, }; }; @@ -167,7 +167,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentSection: (currentSection) => { dispatch(setCurrentSection(currentSection)); - }, + } }; }; @@ -179,6 +179,6 @@ export default connect( )( reduxForm({ form: "changepasswordForm", - destroyOnUnmount: false, + destroyOnUnmount: false })(ChangePassword) ); diff --git a/components/account/personaldetailsComplete.js b/components/account/personaldetailsComplete.js index 14562320..6a50ef86 100644 --- a/components/account/personaldetailsComplete.js +++ b/components/account/personaldetailsComplete.js @@ -3,7 +3,7 @@ import Link from "next/link"; import { useRouter } from "next/router"; import React, { useEffect } from "react"; import { connect } from "react-redux"; -import { updateAccount } from "../../actions"; +import { updateAccount } from "../../actions/services/accountService"; import { setCookie } from "nookies"; const PersonalDetailsComplete = (props) => { @@ -11,7 +11,7 @@ const PersonalDetailsComplete = (props) => { handleSubmit, value, setRegisterFormComplete, - setAccountCreatedComplete, + setAccountCreatedComplete } = props; let { t, lang } = useTranslation(); @@ -41,7 +41,7 @@ const PersonalDetailsComplete = (props) => { console.log("=============== pref lang", prefLang); setCookie(null, "pedw_locale", userLang, { path: "/", - maxAge: 60 * 60 * 24 * 365, + maxAge: 60 * 60 * 24 * 365 }); console.log("Set cookie to:", userLang); @@ -79,7 +79,7 @@ const mapStateToProps = (state) => { searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails //form: state.form, }; }; @@ -88,7 +88,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentSection: (currentSection) => { dispatch(setCurrentSection(currentSection)); - }, + } }; }; diff --git a/components/account/registerComplete.js b/components/account/registerComplete.js index 8d69ac35..1f9d9eec 100644 --- a/components/account/registerComplete.js +++ b/components/account/registerComplete.js @@ -8,7 +8,10 @@ import { connect } from "react-redux"; import { setAccCr, setLogout } from "../../store/accountDetails/action"; -import { createAccount, getEmailAccountCheck } from "../../actions"; +import { + createAccount, + getEmailAccountCheck +} from "../../actions/services/accountService"; const RegisterComplete = (props) => { const { @@ -18,7 +21,7 @@ const RegisterComplete = (props) => { value, setRegisterFormComplete, setAccountCreatedComplete, - setAccCr, + setAccCr } = props; let { t, lang } = useTranslation(); @@ -34,7 +37,7 @@ const RegisterComplete = (props) => { // was an appellant "pinswg_typeofinvolvement": 846040001, Object.assign(accountBody, { - "pinswg_typeofinvolvement": 846040061, + "pinswg_typeofinvolvement": 846040061 }); accountBody = _.omit(accountBody, ["custom_password_check"]); @@ -105,9 +108,9 @@ const RegisterComplete = (props) => {

{ - setRegisterFormComplete(false), + (setRegisterFormComplete(false), setAccountCreatedComplete(false), - setAccCr(false); + setAccCr(false)); }} className="govuk-link" > @@ -130,7 +133,7 @@ const mapStateToProps = (state) => { searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails //form: state.form, }; }; @@ -142,7 +145,7 @@ const mapDispatchToProps = (dispatch) => { }, setLogout: () => { dispatch(setLogout()); - }, + } }; }; diff --git a/components/admin/tabs/appeals.js b/components/admin/tabs/appeals.js index bfa2115e..58cab489 100644 --- a/components/admin/tabs/appeals.js +++ b/components/admin/tabs/appeals.js @@ -9,14 +9,15 @@ import { connect } from "react-redux"; import { setSearchResults, - setSearchDetails, + setSearchDetails } from "../../../store/searchOutput/action"; import { getDetailsProxy, getSearchDetailsPaged } from "../../utils"; -import { getAdvancedSearchPaged, getNewAppealsPage } from "../../../actions"; +import { getAdvancedSearchPaged } from "../../../actions/services/searchService"; +import { getNewAppealsPage } from "../../../actions/services/adminService"; import { setCurrentPage, - setCurrentReference, + setCurrentReference } from "../../../store/currentView/action"; function AppealsTab(props) { @@ -86,7 +87,7 @@ function AppealsTab(props) { searchString, selectedOption, props.setSearchDetails, - props.setSearchResults, + props.setSearchResults ] ); @@ -105,7 +106,7 @@ function AppealsTab(props) { orderByState, searchLoaded, getSearchPageResults, - router.query, + router.query ]); const ResultsView = (resultsArr) => { @@ -225,7 +226,7 @@ function AppealsTab(props) { item.ticketnumber + '")]', json: searchDetailsObj, - eval: true, + eval: true }); detailsObj = detailsObj[0] || {}; @@ -246,8 +247,8 @@ function AppealsTab(props) { ? "/fymhorth/achos" : "/achos" : myportal == true - ? "/myportal/case" - : "/case") + + ? "/myportal/case" + : "/case") + "/" + item.ticketnumber } @@ -272,10 +273,10 @@ function AppealsTab(props) { ) ? detailsObj.pinswg_speacialistcaseprocess : detailsObj.hasOwnProperty( - "pinswg_specialistcaseprocess" - ) - ? detailsObj.pinswg_specialistcaseprocess - : "", + "pinswg_specialistcaseprocess" + ) + ? detailsObj.pinswg_specialistcaseprocess + : "" }); }} > @@ -314,12 +315,12 @@ function AppealsTab(props) { ) < 0 ? detailsObj.pinswg_projectlocation : router.locale == "cy" - ? detailsObj.pinswg_projectlocation.split( - ";" - )[1] - : detailsObj.pinswg_projectlocation.split( - ";" - )[0] + ? detailsObj.pinswg_projectlocation.split( + ";" + )[1] + : detailsObj.pinswg_projectlocation.split( + ";" + )[0] : "" : ""} {_.has( @@ -396,12 +397,12 @@ function AppealsTab(props) { " " + item.pinswg_appellantlastname : _.has(detailsObj, [ - "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue", - ]) - ? detailsObj[ - "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" - ] - : ""} + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" + ]) + ? detailsObj[ + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" + ] + : ""}

@@ -411,7 +412,7 @@ function AppealsTab(props) { : {_.has(item, [ - "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue", + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" ]) ? router.locale == "cy" ? jsonpath({ @@ -422,7 +423,7 @@ function AppealsTab(props) { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" @@ -445,7 +446,7 @@ function AppealsTab(props) { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item[ "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" @@ -468,7 +469,7 @@ function AppealsTab(props) { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item[ "statuscode@OData.Community.Display.V1.FormattedValue" @@ -555,13 +556,13 @@ const mapDispatchToProps = (dispatch) => { }, setCurrentPage: (currentPage) => { dispatch(setCurrentPage(currentPage)); - }, + } }; }; const mapStateToProps = (state) => { return { - searchResultsObj: state.searchResultsObj, + searchResultsObj: state.searchResultsObj }; }; diff --git a/components/admin/tabs/documents.js b/components/admin/tabs/documents.js index a95e4ab6..ce9cce63 100644 --- a/components/admin/tabs/documents.js +++ b/components/admin/tabs/documents.js @@ -15,177 +15,177 @@ import { sendGAEvent } from "@next/third-parties/google"; import { getSearchDocumentDetails, getSearchDocumentDetailsPaged, - getSearchDocumentTypes, - getNewDocumentsPaged, -} from "../../../actions"; + getSearchDocumentTypes +} from "../../../actions/services/searchService"; +import { getNewDocumentsPaged } from "../../../actions/services/adminService"; import { setCurrentPage } from "../../../store/currentView/action"; import { setDocumentDetails } from "../../../store/searchOutput/action"; const getDocumentTypes = [ { "Value": 846040009, - "Label": "Main Party - Pre-Submission Docs", + "Label": "Main Party - Pre-Submission Docs" }, { "Value": 846040000, - "Label": "Main Party - Submission Document", + "Label": "Main Party - Submission Document" }, { "Value": 846040001, - "Label": "Main Party - Questionnaire", + "Label": "Main Party - Questionnaire" }, { "Value": 846040002, - "Label": "Main Party - Statements", + "Label": "Main Party - Statements" }, { "Value": 846040003, - "Label": "Main Party - Comments", + "Label": "Main Party - Comments" }, { "Value": 846040004, - "Label": "Main Party - Written Statements of Evidence", + "Label": "Main Party - Written Statements of Evidence" }, { "Value": 846040010, - "Label": "Main Party - Environmental Statements", + "Label": "Main Party - Environmental Statements" }, { "Value": 846040005, - "Label": "Interested Party Representations", + "Label": "Interested Party Representations" }, { "Value": 846040006, - "Label": "Correspondence", + "Label": "Correspondence" }, { "Value": 846040008, - "Label": "Inspector Notes", + "Label": "Inspector Notes" }, { "Value": 846040007, - "Label": "Final Decision/Report", + "Label": "Final Decision/Report" }, { "Value": 846040011, - "Label": "Post Decision Correspondence", + "Label": "Post Decision Correspondence" }, { "Value": 846040012, - "Label": "High Court Challenge Correspondence", + "Label": "High Court Challenge Correspondence" }, { "Value": 846040013, - "Label": "Event - Correspondence", + "Label": "Event - Correspondence" }, { "Value": 846040014, - "Label": "Event - Documents", + "Label": "Event - Documents" }, { "Value": 846040015, - "Label": "Pre-Application - General", + "Label": "Pre-Application - General" }, { "Value": 846040016, - "Label": "Pre-Application - EIA Screening", + "Label": "Pre-Application - EIA Screening" }, { "Value": 846040017, - "Label": "Pre-Application - EIA Scoping", + "Label": "Pre-Application - EIA Scoping" }, { "Value": 846040018, - "Label": "EIA Screening", + "Label": "EIA Screening" }, { "Value": 846040019, - "Label": "EIA Scoping", + "Label": "EIA Scoping" }, { "Value": 846040020, - "Label": "Pre-Application Services Documents", + "Label": "Pre-Application Services Documents" }, { "Value": 846040021, - "Label": "Notification", + "Label": "Notification" }, { "Value": 846040022, "Label": - "Submission - Environmental Statement - written statement and NTS", + "Submission - Environmental Statement - written statement and NTS" }, { "Value": 846040023, - "Label": "Submission - Environmental Statement - Appendices", + "Label": "Submission - Environmental Statement - Appendices" }, { "Value": 846040024, - "Label": "Submission - Environmental Statement - Figures", + "Label": "Submission - Environmental Statement - Figures" }, { "Value": 846040025, - "Label": "Submission - Draft Infrastructure Consent Orders", + "Label": "Submission - Draft Infrastructure Consent Orders" }, { "Value": 846040026, - "Label": "Submission - Compulsory Acquisition Information", + "Label": "Submission - Compulsory Acquisition Information" }, { "Value": 846040027, - "Label": "Submission - Application Documents", + "Label": "Submission - Application Documents" }, { "Value": 846040028, - "Label": "Examination Notices", + "Label": "Examination Notices" }, { "Value": 846040029, - "Label": "Local/Marine Impact Reports", + "Label": "Local/Marine Impact Reports" }, { "Value": 846040030, - "Label": "Submission - Further Information", + "Label": "Submission - Further Information" }, { "Value": 846040031, - "Label": "Formal Variation requests", + "Label": "Formal Variation requests" }, { "Value": 846040032, - "Label": "Further Information - Interested Party Representations", + "Label": "Further Information - Interested Party Representations" }, { "Value": 846040033, - "Label": "Hearing Statements", + "Label": "Hearing Statements" }, { "Value": 846040034, - "Label": "Events - Recordings", + "Label": "Events - Recordings" }, { "Value": 846040035, - "Label": "Internal Correspondence", + "Label": "Internal Correspondence" }, { "Value": 846040036, - "Label": "Consultation Response", - }, + "Label": "Consultation Response" + } ]; const getOrigin = [ { "Value": 846040000, - "Label": "MDU", + "Label": "MDU" }, { "Value": 846040001, - "Label": "Portal", + "Label": "Portal" }, { "Value": 846040002, - "Label": "Manual", - }, + "Label": "Manual" + } ]; const DocumentsTab = (props) => { @@ -200,7 +200,7 @@ const DocumentsTab = (props) => { setDocumentDetails, setCurrentPage, docsOffline, - showFilteredDocs, + showFilteredDocs } = props; const router = useRouter(); @@ -236,7 +236,7 @@ const DocumentsTab = (props) => { setCheckedItems((prev) => ({ ...prev, - [name]: checked, + [name]: checked })); setSelectAll(false); }; @@ -246,7 +246,7 @@ const DocumentsTab = (props) => { setCheckedOriginItems((prev) => ({ ...prev, - [name]: checked, + [name]: checked })); setSelectOriginAll(false); }; @@ -404,7 +404,7 @@ const DocumentsTab = (props) => { item.Label + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item.Label || t( @@ -477,7 +477,7 @@ const DocumentsTab = (props) => { item.Label + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item.Label || t( @@ -496,7 +496,7 @@ const DocumentsTab = (props) => { const checkedValues = [ ...document.querySelectorAll( ".govuk-checkboxes__input:checked" - ), + ) ].map((e) => e.value); const origins = checkedValues @@ -697,7 +697,7 @@ const DocumentsTab = (props) => { incidentid + "')]", json: item, - eval: true, + eval: true }); detailsObj = item; return ( @@ -831,7 +831,7 @@ const DocumentsTab = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : detailsObj[ "pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue" @@ -946,7 +946,7 @@ const DocumentsTab = (props) => { selectedDocumentType, selectedWeeks, selectedDocumentOrigin, - props.setDocumentDetails, + props.setDocumentDetails ] ); @@ -1081,7 +1081,7 @@ const DocumentsTab = (props) => { getOrigin, getDocumentResults, lang, - selectedWeeks, + selectedWeeks ]); function countFieldValue(obj, field, targetValue) { @@ -1166,7 +1166,7 @@ const DocumentsTab = (props) => { const mapStateToProps = (state) => { return { - ...state, + ...state }; }; @@ -1177,7 +1177,7 @@ const mapDispatchToProps = (dispatch) => { }, setCurrentPage: (currentPage) => { dispatch(setCurrentPage(currentPage)); - }, + } }; }; diff --git a/components/admin/tabs/storage.js b/components/admin/tabs/storage.js index fcbfb15f..4feb135e 100644 --- a/components/admin/tabs/storage.js +++ b/components/admin/tabs/storage.js @@ -4,9 +4,9 @@ import Link from "next/link"; import { bytesToSize } from "../../../components/utils"; import { deleteMyRepresentationsFromBlob, - deleteAwaitingSubmissionsFromBlob, - sendRepCompleteMessage, -} from "../../../actions"; + deleteAwaitingSubmissionsFromBlob +} from "../../../actions/services/documentService"; +import { sendRepCompleteMessage } from "../../../actions/services/portalService"; import { formatBlobDates } from "../utils/adminHelper"; @@ -74,9 +74,9 @@ export default function StorageTab({ data, repCompleteCount }) { showRepJson && folder.hasRepJson ? { display: "block" } : showTmpFile && - folder.hasTmpFile - ? { display: "block" } - : { display: "none" } + folder.hasTmpFile + ? { display: "block" } + : { display: "none" } } >

{folder.folderPath || "Root"}

@@ -150,7 +150,7 @@ export default function StorageTab({ data, repCompleteCount }) { headers: { "Content-Type": - "application/json", + "application/json" }, body: JSON.stringify( { @@ -159,18 +159,18 @@ export default function StorageTab({ data, repCompleteCount }) { blobName: folder .repJsonBlob - .name, + .name } - ), + ) } ); const result = await response.json(); if (response.ok) { - alert( + (alert( "repComplete removed!" ), - window.location.reload(); + window.location.reload()); // Optionally refresh the page or update UI state here } else { alert( diff --git a/components/admin/utils/serverside.js b/components/admin/utils/serverside.js index 9bb35048..5db3ab4a 100644 --- a/components/admin/utils/serverside.js +++ b/components/admin/utils/serverside.js @@ -67,7 +67,7 @@ export async function fetchAdminStorageData() { const blobWithHash = { ...blob, hashedfilepath, - isTmpFile, + isTmpFile }; let folderGroup = acc.find( @@ -80,7 +80,7 @@ export async function fetchAdminStorageData() { hasRepJson: false, repJsonBlob: null, repComplete: false, - hasTmpFile: false, + hasTmpFile: false }; acc.push(folderGroup); } @@ -137,7 +137,7 @@ export async function fetchAdminStorageData() { ? { id: user.id, email: user.email, - containers: containersWithHashes, + containers: containersWithHashes } : null; }) @@ -150,7 +150,7 @@ export async function fetchAdminStorageData() { .map((user) => ({ id: user.id, email: user.email, - created: user.emailVerified?.toLocaleString("en-GB") || "", + created: user.emailVerified?.toLocaleString("en-GB") || "" })); let repCompleteCount = 0; diff --git a/components/case/documents.js b/components/case/documents.js index 37a12ce5..29325ada 100644 --- a/components/case/documents.js +++ b/components/case/documents.js @@ -12,8 +12,8 @@ import { sendGAEvent } from "@next/third-parties/google"; import { getSearchDocumentDetails, getSearchDocumentDetailsPaged, - getSearchDocumentTypes, -} from "../../actions"; + getSearchDocumentTypes +} from "../../actions/services/searchService"; import { setCurrentPage } from "../../store/currentView/action"; import { setDocumentDetails } from "../../store/searchOutput/action"; @@ -32,7 +32,7 @@ const DocumentDetails = (props) => { setDocumentDetails, setCurrentPage, docsOffline, - showFilteredDocs, + showFilteredDocs } = props; const router = useRouter(); @@ -57,7 +57,7 @@ const DocumentDetails = (props) => { setCheckedItems((prev) => ({ ...prev, - [name]: checked, + [name]: checked })); setSelectAll(false); }; @@ -132,7 +132,7 @@ const DocumentDetails = (props) => { ? jsonpath({ path: '$..[?(@ && @.value=="All")].value_cy', json: transLookup, - eval: true, + eval: true }) : "All"} @@ -151,7 +151,7 @@ const DocumentDetails = (props) => { item.pinswg_isharedocumentlocationsLabel + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item.pinswg_isharedocumentlocationsLabel || t( @@ -298,7 +298,7 @@ const DocumentDetails = (props) => { incidentid + "')]", json: item, - sanbox: {}, + sanbox: {} }); detailsObj = item; return ( @@ -330,7 +330,7 @@ const DocumentDetails = (props) => { } key={key} onClick={() => { - toggleDownLoadLink(key), + (toggleDownLoadLink(key), sendGAEvent( "event", "DownloadedFile", @@ -338,9 +338,9 @@ const DocumentDetails = (props) => { caseReference: props.caseReference, filename: - detailsObj.pinswg_name, + detailsObj.pinswg_name } - ); + )); }} > @@ -388,7 +388,7 @@ const DocumentDetails = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : detailsObj[ "pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue" @@ -554,7 +554,7 @@ const DocumentDetails = (props) => { item.pinswg_isharedocumentlocationsLabel + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item.pinswg_isharedocumentlocationsLabel || t( @@ -574,7 +574,7 @@ const DocumentDetails = (props) => { const data = [ ...document.querySelectorAll( ".govuk-checkboxes__input:checked" - ), + ) ].map((e) => e.value); setSelectedDocumentType(data); setCurrentPage(1); @@ -710,7 +710,7 @@ const DocumentDetails = (props) => { incidentid + "')]", json: item, - eval: true, + eval: true }); detailsObj = item; return ( @@ -827,7 +827,7 @@ const DocumentDetails = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : detailsObj[ "pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue" @@ -905,7 +905,7 @@ const DocumentDetails = (props) => { props.incidentid, selectedOption, selectedDocumentType, - setDocumentDetails, + setDocumentDetails ] ); @@ -1029,7 +1029,7 @@ const DocumentDetails = (props) => { orderByState, getDocumentTypes, getDocumentResults, - lang, + lang ]); return (
@@ -1059,7 +1059,7 @@ const DocumentDetails = (props) => { const mapStateToProps = (state) => { return { - ...state, + ...state }; }; @@ -1070,7 +1070,7 @@ const mapDispatchToProps = (dispatch) => { }, setCurrentPage: (currentPage) => { dispatch(setCurrentPage(currentPage)); - }, + } }; }; diff --git a/components/case/representation/index.js b/components/case/representation/index.js index d35c7d81..e4a94631 100644 --- a/components/case/representation/index.js +++ b/components/case/representation/index.js @@ -6,7 +6,11 @@ import { connect } from "react-redux"; import { reduxForm } from "redux-form"; import { useSession } from "next-auth/react"; -import { generateRepPDF, sendEmail, uploadRepFiles } from "../../../actions"; +import { + generateRepPDF, + uploadRepFiles +} from "../../../actions/services/documentService"; +import { sendEmail } from "../../../actions/services/notifyService"; import { formatDates, updateLinks } from "../../../components/utils"; import { setRepresentationCapacity, diff --git a/components/case/representation/representationComplete.js b/components/case/representation/representationComplete.js index 4e8791c2..d8c38184 100644 --- a/components/case/representation/representationComplete.js +++ b/components/case/representation/representationComplete.js @@ -7,10 +7,10 @@ import { connect } from "react-redux"; import { useDropzone } from "react-dropzone"; import { createWatchedCases, - sendEmail, sendRepCompleteMessage, - setRepInvolvment, -} from "../../../actions"; + setRepInvolvment +} from "../../../actions/services/portalService"; +import { sendEmail } from "../../../actions/services/notifyService"; import { setRepresentationReset } from "../../../store/currentView/action"; const RepComplete = (props) => { @@ -27,7 +27,7 @@ const RepComplete = (props) => { setSubmitBack, setRepresentationSubmitConfirmation, setRepresentationMessageSent, - repFormData, + repFormData } = props; const { acceptedFiles, getRootProps, getInputProps } = useDropzone(); const files = acceptedFiles.map((file) => ( @@ -55,10 +55,10 @@ const RepComplete = (props) => { "emailAddress": props.props.props.props.accountDetails.accountDetails .emailaddress1, - "linkExpiry": 10 * 60, + "linkExpiry": 10 * 60 }; - props.props.currentView.representationMessageSent != true && + (props.props.currentView.representationMessageSent != true && (setRepInvolvment( props.props.currentView.caseReference.incidentid, props.props.props.props.accountDetails.accountDetails.contactid @@ -89,10 +89,10 @@ const RepComplete = (props) => { ? props.props.currentView.caseReference.repDetails .representationType : props.props.currentView.caseReference - .representationType, + .representationType }), setRepresentationMessageSent(true)), - window.scrollTo({ top: 0, behavior: "smooth" }); + window.scrollTo({ top: 0, behavior: "smooth" })); }); return (
@@ -130,7 +130,7 @@ const mapStateToProps = (state) => { currentView: state.currentView, myRepresentations: state.myRepresentations, initialValues: state.currentView.caseReference.repDetails, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails //form: state.form, }; }; diff --git a/components/case/representation/representationCompleteSubmit.js b/components/case/representation/representationCompleteSubmit.js index 7a572ca4..bb69ed02 100644 --- a/components/case/representation/representationCompleteSubmit.js +++ b/components/case/representation/representationCompleteSubmit.js @@ -4,7 +4,7 @@ import { useRouter } from "next/router"; import { useState } from "react"; import { useDropzone } from "react-dropzone"; import { connect } from "react-redux"; -import { generateRepPDF } from "../../../actions"; +import { generateRepPDF } from "../../../actions/services/documentService"; import RepComplete from "./representationComplete"; import RepLPAQuestionnaireCheck_enforcement from "./representationQuestionnairesCheck/representationLPAQuestionnaireCheck_enforcement"; import RepLPAQuestionnaireCheck_s78 from "./representationQuestionnairesCheck/representationLPAQuestionnaireCheck_s78"; diff --git a/components/case/representation/representationElements.js b/components/case/representation/representationElements.js index 3ab97732..b1c6deaf 100644 --- a/components/case/representation/representationElements.js +++ b/components/case/representation/representationElements.js @@ -14,7 +14,7 @@ import { deleteRepBlob, getFilesFromBlobHashed, getFilesFromBlobproxy -} from "../../../actions"; +} from "../../../actions/services/documentService"; const LoadingMessage = () =>
Loading the editor...
; diff --git a/components/case/representationList.js b/components/case/representationList.js index 13f81d5f..14518414 100644 --- a/components/case/representationList.js +++ b/components/case/representationList.js @@ -6,7 +6,7 @@ import { useEffect, useState } from "react"; import { connect } from "react-redux"; import transLookup from "../../data/lookuptranslations.json"; -import { getRepresentations } from "../../actions"; +import { getRepresentations } from "../../actions/services/portalService"; import { setRepresentations } from "../../store/searchOutput/action"; import { formatDates } from "../utils"; @@ -63,7 +63,7 @@ const RepresentationList = (props) => { incidentid + "')]", json: item, - eval: true, + eval: true }); detailsObj = item; @@ -97,7 +97,7 @@ const RepresentationList = (props) => { ] + '")].value_cy', json: transLookup, - sanbox: {}, + sanbox: {} }) : detailsObj[ "pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue" @@ -216,7 +216,7 @@ const RepresentationList = (props) => { const mapStateToProps = (state) => { return { - ...state, + ...state }; }; @@ -224,7 +224,7 @@ const mapDispatchToProps = (dispatch) => { return { setRepresentations: (representationObj) => { dispatch(setRepresentations(representationObj)); - }, + } }; }; diff --git a/components/case/summary.js b/components/case/summary.js index 49494e8a..bd3caa24 100644 --- a/components/case/summary.js +++ b/components/case/summary.js @@ -13,11 +13,11 @@ import MediaDetails from "./media"; import { createWatchedCases, deleteWatchedCases, - getLinkedCases, - getPortalModuleDetailsProxy, getWatchedCasesProxy, setCaseInvolvment -} from "../../actions"; +} from "../../actions/services/portalService"; +import { getLinkedCases } from "../../actions/services/searchService"; +import { getPortalModuleDetailsProxy } from "../../actions/services/caseService"; import { setCurrentLinkedCases, setCurrentReference, diff --git a/components/elements/index.js b/components/elements/index.js index 3c6d9ba1..5e5d10ad 100644 --- a/components/elements/index.js +++ b/components/elements/index.js @@ -15,7 +15,7 @@ import { getFilesFromBlobHashed, uploadSingleFile, getFilesFromBlobproxy -} from "../../actions"; +} from "../../actions/services/documentService"; import fieldLookup from "../../data/crmfieldlookuptranslations.json"; import pickListLookup from "../../data/picklistLookups.json"; diff --git a/components/myportal/awaitingsubmissionfromblob.js b/components/myportal/awaitingsubmissionfromblob.js index 21b50bc9..4fbadb85 100644 --- a/components/myportal/awaitingsubmissionfromblob.js +++ b/components/myportal/awaitingsubmissionfromblob.js @@ -7,7 +7,7 @@ import { connect } from "react-redux"; import { deleteAwaitingSubmissionsFromBlob, getAwaitingSubmissionFromBlobProxy -} from "../../actions"; +} from "../../actions/services/documentService"; import { getFormCollectionByID } from "../../components/utils"; import transLookup from "../../data/lookuptranslations.json"; import { diff --git a/components/myportal/topthree.js b/components/myportal/topthree.js index e98027e0..5b176723 100644 --- a/components/myportal/topthree.js +++ b/components/myportal/topthree.js @@ -10,22 +10,22 @@ import { deleteWatchedCases, getAwaitingSubmissionProxy, getPortalModuleDetailsProxy, - getWatchedCasesProxy, -} from "../../actions"; + getWatchedCasesProxy +} from "../../actions/services/portalService"; import { getFormCollectionByID, getDetailsProxy } from "../../components/utils"; import transLookup from "../../data/lookuptranslations.json"; import { setAwaitingSubmission, - setAwaitingSubmissionDetails, + setAwaitingSubmissionDetails } from "../../store/awaitingSubmission/action"; import { setCurrentReference } from "../../store/currentView/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { planningappeals78_pdf } from "../../components/pdftemplates/planningappeals78_pdf"; @@ -47,7 +47,7 @@ const TopThree = (props) => { setAwaitingSubmissionDetails, setSearchResults, setSearchDetails, - showLoginCheck, + showLoginCheck } = props; const router = useRouter(); @@ -132,19 +132,19 @@ const TopThree = (props) => { let newObj = {}; return Object.assign(newObj, { "@odata.count": required.length, - "value": required, + "value": required }); }; let filteredWatchedCases = showWatchedCases(data); - setWatchedCases(filteredWatchedCases), + (setWatchedCases(filteredWatchedCases), getDetailsProxy( filteredWatchedCases, "myWatchedCases" ).then((data) => { setWatchedCasesDetails(data); - }); + })); }); }); @@ -156,7 +156,7 @@ const TopThree = (props) => { .then(() => { getAwaitingSubmissionProxy(cookies.pinsUser).then( (data) => { - setAwaitingSubmission(data), + (setAwaitingSubmission(data), getDetailsProxy( data, "awaitingSubmission" @@ -166,7 +166,7 @@ const TopThree = (props) => { // data // ); setAwaitingSubmissionDetails(data); - }); + })); } ); }); @@ -196,7 +196,7 @@ const TopThree = (props) => { const res = await fetch("/api/file/generateappealpdfcopy", { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ docProps }), + body: JSON.stringify({ docProps }) }); if (!res.ok) throw new Error("PDF generation failed"); @@ -287,25 +287,25 @@ const TopThree = (props) => { "&inid=" + showTopThreeArr[key].incidentid : router.locale == "cy" - ? "/fymhorth/achos/" + - showTopThreeArr[key].ticketnumber + - "?key=" + - topThreeType + - "&appealType=" + - showTopThreeArr[key] - .pinswg_appealcasetype - : "/myportal/case/" + - showTopThreeArr[key].ticketnumber + - "?key=" + - topThreeType + - "&appealType=" + - showTopThreeArr[key] - .pinswg_appealcasetype + ? "/fymhorth/achos/" + + showTopThreeArr[key].ticketnumber + + "?key=" + + topThreeType + + "&appealType=" + + showTopThreeArr[key] + .pinswg_appealcasetype + : "/myportal/case/" + + showTopThreeArr[key].ticketnumber + + "?key=" + + topThreeType + + "&appealType=" + + showTopThreeArr[key] + .pinswg_appealcasetype } className="govuk-link--no-underline" data-id={index} onClick={() => { - setSearchResults( + (setSearchResults( props.props[topThreeType][topThreeType] ), setSearchDetails( @@ -337,8 +337,8 @@ const TopThree = (props) => { "appealType": showTopThreeArr[key] - .pinswg_appealcasetype, - }); + .pinswg_appealcasetype + })); }} > {showTopThreeArr[key].pinswg_title} @@ -423,7 +423,7 @@ const TopThree = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : showTopThreeArr[key][ "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" @@ -436,26 +436,32 @@ const TopThree = (props) => { {_.isEmpty(showTopThreeArr[key]) ? t("myportal:case-address-not-entered") : _.isEmpty(showTopThreeArr[key]) - ? t("myportal:case-address-not-entered") - : _.isEmpty(showTopThreeArr[key]) - ? t("myportal:case-address-not-entered") - : _.isEmpty( - showTopThreeArr[key].pinswg_siteaddressline1 - ) - ? t("myportal:case-address-not-entered") - : showTopThreeArr[key].pinswg_siteaddressline1 + - (!_.isEmpty( - showTopThreeArr[key].pinswg_siteaddressline2 - ) - ? ", " + - showTopThreeArr[key].pinswg_siteaddressline2 - : "") + - (!_.isEmpty( - showTopThreeArr[key].pinswg_siteaddresstown - ) - ? ", " + - showTopThreeArr[key].pinswg_siteaddresstown - : "")} + ? t("myportal:case-address-not-entered") + : _.isEmpty(showTopThreeArr[key]) + ? t("myportal:case-address-not-entered") + : _.isEmpty( + showTopThreeArr[key] + .pinswg_siteaddressline1 + ) + ? t("myportal:case-address-not-entered") + : showTopThreeArr[key] + .pinswg_siteaddressline1 + + (!_.isEmpty( + showTopThreeArr[key] + .pinswg_siteaddressline2 + ) + ? ", " + + showTopThreeArr[key] + .pinswg_siteaddressline2 + : "") + + (!_.isEmpty( + showTopThreeArr[key] + .pinswg_siteaddresstown + ) + ? ", " + + showTopThreeArr[key] + .pinswg_siteaddresstown + : "")}
{showTopThreeArr[key].pinswg_appellantagent != null && (
@@ -495,7 +501,7 @@ const TopThree = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : showTopThreeArr[key][ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" @@ -591,7 +597,7 @@ const mapDispatchToProps = (dispatch) => { }, setSearchDetails: (searchDetails) => { dispatch(setSearchDetails(searchDetails)); - }, + } }; }; diff --git a/components/myportal/topthree_reps.js b/components/myportal/topthree_reps.js index e048770b..ea1a2169 100644 --- a/components/myportal/topthree_reps.js +++ b/components/myportal/topthree_reps.js @@ -6,30 +6,32 @@ import { parseCookies } from "nookies"; import { connect } from "react-redux"; import { deleteAwaitingSubmissions, - deleteMyRepresentationsFromBlob, deleteWatchedCases, getAwaitingSubmissionProxy, - getPortalModuleDetailsProxy, - getRepsFromBlobProxy, - getWatchedCasesProxy, -} from "../../actions"; + getWatchedCasesProxy +} from "../../actions/services/portalService"; +import { + deleteMyRepresentationsFromBlob, + getRepsFromBlobProxy +} from "../../actions/services/documentService"; +import { consoleLogger } from "../../actions/core/logger"; import transLookup from "../../data/lookuptranslations.json"; import { setAwaitingSubmission, - setAwaitingSubmissionDetails, + setAwaitingSubmissionDetails } from "../../store/awaitingSubmission/action"; import { setCurrentReference, setCurrentView, - setRepresentationCapacity, + setRepresentationCapacity } from "../../store/currentView/action"; import { setMyRepresentations, - setMyRepresentationsDetails, + setMyRepresentationsDetails } from "../../store/myRepresentations/action"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { getFormCollectionByID, getDetailsProxy } from "../utils"; @@ -46,7 +48,7 @@ const TopThree = (props) => { setAwaitingSubmissionDetails, setMyRepresentations, setMyRepresentationsDetails, - setRepresentationCapacity, + setRepresentationCapacity } = props; const router = useRouter(); @@ -80,12 +82,12 @@ const TopThree = (props) => { .then((data) => data) .then(() => { getWatchedCasesProxy(cookies.pinsUser).then((data) => { - setWatchedCases(data), + (setWatchedCases(data), getDetailsProxy(data, "myWatchedCases").then( (data) => { setWatchedCasesDetails(data); } - ); + )); }); }); @@ -97,7 +99,7 @@ const TopThree = (props) => { .then(() => { getAwaitingSubmissionProxy(cookies.pinsUser).then( (data) => { - setAwaitingSubmission(data), + (setAwaitingSubmission(data), getDetailsProxy( data, "awaitingSubmission" @@ -107,7 +109,7 @@ const TopThree = (props) => { // data // ); setAwaitingSubmissionDetails(data); - }); + })); } ); }); @@ -136,12 +138,12 @@ const TopThree = (props) => { }) .catch((error) => { consoleLogger(error); - res.status(400).json(error); + return null; }) .then(() => { setCurrentView({ "viewName": "My Representations", - "viewKey": "myRepresentations", + "viewKey": "myRepresentations" }); }); }); @@ -211,7 +213,7 @@ const TopThree = (props) => { style={{ color: "#0360a6", cursor: "pointer", - fontWeight: "bold", + fontWeight: "bold" }} data-id={index} onClick={() => { @@ -225,7 +227,7 @@ const TopThree = (props) => { showTopThreeArr[key].incidentID, "appealType": showTopThreeArr[key].appealType, - "repDetails": showTopThreeArr[key], + "repDetails": showTopThreeArr[key] }); isLPA && setRepresentationCapacity("LPA"); router.push({ @@ -239,8 +241,8 @@ const TopThree = (props) => { state: "edit", created: showTopThreeArr[key] - .repfile_name, - }, + .repfile_name + } }); }} > @@ -294,7 +296,7 @@ const TopThree = (props) => { showTopThreeArr[key].representationType + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : showTopThreeArr[key].representationType || ""}
@@ -312,27 +314,27 @@ const TopThree = (props) => { .representationCapacity + '" )].value_cy', json: transLookup, - eval: true, + eval: true }) : jsonpath({ - path: - '$..[?(@ && @.value_cy=="' + - showTopThreeArr[key] - .representationCapacity + - '")].value', - json: transLookup, - eval: true, - }).length > 0 - ? jsonpath({ - path: - '$..[?(@ && @.value_cy=="' + - showTopThreeArr[key] - .representationCapacity + - '")].value', - json: transLookup, - eval: true, - }) - : showTopThreeArr[key].representationCapacity} + path: + '$..[?(@ && @.value_cy=="' + + showTopThreeArr[key] + .representationCapacity + + '")].value', + json: transLookup, + eval: true + }).length > 0 + ? jsonpath({ + path: + '$..[?(@ && @.value_cy=="' + + showTopThreeArr[key] + .representationCapacity + + '")].value', + json: transLookup, + eval: true + }) + : showTopThreeArr[key].representationCapacity}
{t("myportal:date-raised")}: @@ -352,7 +354,7 @@ const TopThree = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : showTopThreeArr[key][ "_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue" @@ -400,7 +402,7 @@ const TopThree = (props) => { const mapStateToProps = (state) => { return { // currentView: state.currentView, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails // search: state.search, // searchResultsObj: state.searchResultsObj, }; @@ -431,7 +433,7 @@ const mapDispatchToProps = (dispatch) => { }, setRepresentationCapacity: (representationCapacity) => { dispatch(setRepresentationCapacity(representationCapacity)); - }, + } }; }; diff --git a/components/myportal/uploadFile.js b/components/myportal/uploadFile.js index 492c8b84..db7fff76 100644 --- a/components/myportal/uploadFile.js +++ b/components/myportal/uploadFile.js @@ -4,7 +4,7 @@ import { useMemo, useState } from "react"; import Dropzone from "react-dropzone"; import { connect } from "react-redux"; import { Field, reduxForm } from "redux-form"; -import { uploadFiles } from "../../actions"; +import { uploadFiles } from "../../actions/services/documentService"; import { bytesToSize } from "../utils"; const required = (errorMsg) => (value) => @@ -79,25 +79,25 @@ const baseStyle = { color: "#bdbdbd", transition: "border .3s ease-in-out", width: "80%", - margin: "20px auto 30px", + margin: "20px auto 30px" }; const activeStyle = { - borderColor: "#2196f3", + borderColor: "#2196f3" }; const acceptStyle = { - borderColor: "#00e676", + borderColor: "#00e676" }; const rejectStyle = { - borderColor: "#ff1744", + borderColor: "#ff1744" }; const RenderFileUpload = (field) => { const files = field.input.value; const style = useMemo( () => ({ - ...baseStyle, + ...baseStyle // ...(isDragActive ? activeStyle : {}), // ...(isDragAccept ? acceptStyle : {}), // ...(isDragReject ? rejectStyle : {}), @@ -220,7 +220,7 @@ const RenderFileUpload = (field) => { field.documentTypeCode )}_${file.name}`, { - type: file.type, + type: file.type } ) ); @@ -323,7 +323,7 @@ let UploadFile = (props) => { t( "myportal:searchcases-validation-minlength" ) - ), + ) ]} className="govuk-input" component={RenderTextfield} @@ -428,11 +428,11 @@ const mapStateToProps = (state) => { "pinswg_developmentdescription": "something to go here", "pinswg_agriculturalholding": 846040000, "_pinswg_planningappeals78ids_value": - "50b533aa-43f1-ec11-aade-00224800be9c", + "50b533aa-43f1-ec11-aade-00224800be9c" }, initialValues: { - caseReference: "CAS-00764-L0Q9W2", - }, + caseReference: "CAS-00764-L0Q9W2" + } }; }; @@ -447,6 +447,6 @@ export default connect( reduxForm({ form: "uploadFileForm", destroyOnUnmount: false, - enableReinitialize: true, // this is needed!! + enableReinitialize: true // this is needed!! })(UploadFile) ); diff --git a/components/myportal/viewall.js b/components/myportal/viewall.js index 3299fe46..1885c7ea 100644 --- a/components/myportal/viewall.js +++ b/components/myportal/viewall.js @@ -9,13 +9,16 @@ import { connect } from "react-redux"; import { deleteAwaitingSubmissionsFromBlob, deleteMyRepresentationsFromBlob, - deleteWatchedCases, getAwaitingSubmissionFromBlobProxy, - getRepsFromBlobProxy, - getWatchedCasesProxy, + getRepsFromBlobProxy +} from "../../actions/services/documentService"; +import { + createWatchedCases, + deleteWatchedCases, getWatchedCases, - createWatchedCases -} from "../../actions"; + getWatchedCasesProxy +} from "../../actions/services/portalService"; +import { consoleLogger } from "../../actions/core/logger"; import { getDetailsProxy, getFormCollectionByID } from "../../components/utils"; import transLookup from "../../data/lookuptranslations.json"; import { setAwaitingSubmissionFromBlob } from "../../store/awaitingSubmission/action"; diff --git a/components/newappeal/buildchecksection.js b/components/newappeal/buildchecksection.js index 6f18f630..a3a6b5e5 100644 --- a/components/newappeal/buildchecksection.js +++ b/components/newappeal/buildchecksection.js @@ -9,16 +9,17 @@ import xpath from "xpath"; import fieldLookup from "../../data/crmfieldlookuptranslations.json"; import { setCurrentSection, - setFormComplete, + setFormComplete } from "../../store/appealType/action"; import BuildCheckRow from "./buildcheckrow"; -import { generateAppealPDF, sendCaseCompleteMessage } from "../../actions"; +import { generateAppealPDF } from "../../actions/services/documentService"; +import { sendCaseCompleteMessage } from "../../actions/services/portalService"; import { bytesToSize, getThumbnailIconByExtension, updateLinks, - getDocLink, + getDocLink } from "../utils"; let BuildCheckSection = (props) => { @@ -40,7 +41,7 @@ let BuildCheckSection = (props) => { setCurrentSection, updateCurrentSection, mandatoryFieldsData, - docsOffline, + docsOffline } = props; const parser = new DOMParser(); @@ -118,7 +119,7 @@ let BuildCheckSection = (props) => { Object.assign(pdfObj, { "filesList": buildAppealFilesArray, "containerID": props.props.accountDetails.containerID, - "casefolderID": props.appealType.caseReference.ticketnumber, + "casefolderID": props.appealType.caseReference.ticketnumber }); const [confirmSections, setConfirmSections] = useState(false); @@ -132,7 +133,7 @@ let BuildCheckSection = (props) => { let formObj = jsonpath({ path: "$['" + appealtypes + "']", json: fieldLookup, - eval: true, + eval: true }); let labelTrans = @@ -140,7 +141,7 @@ let BuildCheckSection = (props) => { ? jsonpath({ path: '$..[?(@ && @.value=="' + label + '")].value_cy', json: formObj, - eval: true, + eval: true }) : label; return labelTrans; @@ -393,7 +394,7 @@ const mapStateToProps = (state) => { searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, - form: state.form, + form: state.form }; }; @@ -405,7 +406,7 @@ const mapDispatchToProps = (dispatch) => { updateCurrentSection: (whichSection) => { dispatch(setCurrentSection(whichSection)); dispatch(setFormComplete("true")); - }, + } }; }; @@ -424,6 +425,6 @@ export default connect( reduxForm({ form: "appealForm", destroyOnUnmount: false, - enableReinitialize: true, // this is needed!! + enableReinitialize: true // this is needed!! })(BuildCheckSection) ); diff --git a/components/newappeal/buildsection.js b/components/newappeal/buildsection.js index 7825cd50..fd374474 100644 --- a/components/newappeal/buildsection.js +++ b/components/newappeal/buildsection.js @@ -5,13 +5,14 @@ import { useState } from "react"; import { connect } from "react-redux"; import { formValueSelector, reduxForm } from "redux-form"; import xpath from "xpath"; -import { sendEmail, uploadFiles } from "../../actions"; +import { uploadFiles } from "../../actions/services/documentService"; +import { sendEmail } from "../../actions/services/notifyService"; import { setCurrentSection, setDocumentsList, setFilesForAppeal, setNewAppealProgress, - setFileCount, + setFileCount } from "../../store/appealType/action"; import { getFormCollectionByID, getProgressObj, updateLinks } from "../utils"; import BuildRow from "./buildrow"; @@ -48,7 +49,7 @@ let BuildSection = (props) => { setCurrentSection, refno, gotoSection, - mandatoryFieldsData, + mandatoryFieldsData } = props; const documentListObj = props.appealType.documentList; @@ -159,7 +160,7 @@ let BuildSection = (props) => { typeof filesUploadObj[key][j].name != "undefined" && buildAppealFilesArray.push({ "name": filesUploadObj[key][j].name, - "size": filesUploadObj[key][j].size, + "size": filesUploadObj[key][j].size }); } } @@ -220,7 +221,7 @@ let BuildSection = (props) => { "/contacts(" + props.props.accountDetails.loggedinUserId + ")", "pinswg_name": props.appealType.caseReference.ticketnumber, [updateBindAppealTypeToIncident + "@odata.bind"]: - "/incidents(" + incidentId + ")", + "/incidents(" + incidentId + ")" }); updateBody = JSON.stringify(updateBody); @@ -261,7 +262,7 @@ let BuildSection = (props) => { props.appealType.caseReference.ticketnumber + "&inid=" + props.appealType.caseReference.incidentid, - "linkExpiry": 10 * 60, + "linkExpiry": 10 * 60 }; // console.log( @@ -316,7 +317,7 @@ let BuildSection = (props) => { for (let j in filesUploadObj[key]) { buildAppealFilesArray.push({ "name": filesUploadObj[key][j].name, - "size": filesUploadObj[key][j].size, + "size": filesUploadObj[key][j].size }); } } @@ -665,14 +666,14 @@ const mapStateToProps = (state, ownProps) => { formData: state.formData, appealType: state.appealType, initialValues: state.appealType.caseReference.caseDetails, - currentView: state.currentView, + currentView: state.currentView } : { search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, appealType: state.appealType, - currentView: state.currentView, + currentView: state.currentView //form: state.form, }; }; @@ -696,7 +697,7 @@ const mapDispatchToProps = (dispatch) => { }, setFileCount: (fileCount) => { dispatch(setFileCount(fileCount)); - }, + } }; }; @@ -758,6 +759,6 @@ export default connect( form: "appealForm", destroyOnUnmount: false, enableReinitialize: true, // this is needed!! - validate, + validate })(BuildSection) ); diff --git a/components/newappeal/complete.js b/components/newappeal/complete.js index 648980c2..96c6eddc 100644 --- a/components/newappeal/complete.js +++ b/components/newappeal/complete.js @@ -4,7 +4,7 @@ import { useRouter } from "next/router"; import { useEffect } from "react"; import { connect } from "react-redux"; import { formValueSelector } from "redux-form"; -import { sendEmail } from "../../actions"; +import { sendEmail } from "../../actions/services/notifyService"; import { setCurrentSection } from "../../store/appealType/action"; import { getFormCollectionByID } from "../utils"; @@ -28,7 +28,7 @@ let CompleteAppeal = (props) => { "/accounts(" + props.appealType.appealLPA + ")", "pinswg_name": props.appealType.caseReference.ticketnumber, [updateBindAppealTypeToIncident + "@odata.bind"]: - "/incidents(" + incidentId + ")", + "/incidents(" + incidentId + ")" }); updateBody = JSON.stringify(updateBody); @@ -53,7 +53,7 @@ let CompleteAppeal = (props) => { const personalisation = { "caseReference": props.appealType.caseReference.ticketnumber, "emailAddress": props.props.accountDetails.loggedinUserEmail, - "linkExpiry": 10 * 60, + "linkExpiry": 10 * 60 }; sendEmail(templateId, emailAddress, personalisation, reference); @@ -73,7 +73,7 @@ let CompleteAppeal = (props) => { props.props.accountDetails.loggedinUserId, props.appealType.appealTypeID, props.props.accountDetails.loggedinUserEmail, - props.props.accountDetails.containerID, + props.props.accountDetails.containerID ]); let { t } = useTranslation(); @@ -87,7 +87,7 @@ let CompleteAppeal = (props) => { onSubmit, handleSubmit, formTitle, - setCurrentSection, + setCurrentSection } = props; const currentSection = props.appealType.currentSection; @@ -157,7 +157,7 @@ const mapStateToProps = (state) => { search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, - appealType: state.appealType, + appealType: state.appealType //form: state.form, }; }; @@ -166,7 +166,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentSection: (currentSection) => { dispatch(setCurrentSection(currentSection)); - }, + } }; }; diff --git a/components/newappeal/createCase.js b/components/newappeal/createCase.js index 8162e03b..c9dba63a 100644 --- a/components/newappeal/createCase.js +++ b/components/newappeal/createCase.js @@ -5,12 +5,13 @@ import { useState } from "react"; import { connect } from "react-redux"; import { Field, formValueSelector, reduxForm } from "redux-form"; -import { consoleLogger, createNewCaseBlob } from "../../actions"; +import { consoleLogger } from "../../actions/core/logger"; +import { createNewCaseBlob } from "../../actions/services/caseService"; import transLookup from "../../data/lookuptranslations.json"; import { setAppealLPA, setAppealTypeID, - setAppealTypeTitle, + setAppealTypeTitle } from "../../store/appealType/action"; import { getFormCollectionByID } from "../utils"; import Aboutyou from "./aboutyou"; @@ -21,7 +22,7 @@ const RenderLPAList = ({ optionsObj, meta: { touched, error }, label, - errorMsg, + errorMsg }) => { let { t } = useTranslation(); const router = useRouter(); @@ -71,7 +72,7 @@ const RenderLPAList = ({ optionsObj[key].name + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : optionsObj[key].name} @@ -90,7 +91,7 @@ const RenderAppealTypeList = ({ optionsObj, meta: { touched, error }, label, - errorMsg, + errorMsg }) => { let { t } = useTranslation(); const router = useRouter(); @@ -133,31 +134,35 @@ const RenderAppealTypeList = ({ _.isEmpty(optionsObj[key]) ? "" : _.isEmpty(optionsObj[key]) - ? "" - : _.isEmpty( - optionsObj[key].value - ) - ? "" - : optionsObj[key] - .attributevalue + ? "" + : _.isEmpty( + optionsObj[key] + .value + ) + ? "" + : optionsObj[key] + .attributevalue } > {_.isEmpty(optionsObj[key]) ? "" : _.isEmpty(optionsObj[key]) - ? "" - : _.isEmpty(optionsObj[key].value) - ? "" - : router.locale == "cy" - ? jsonpath({ - path: - '$..[?(@ && @.value=="' + - optionsObj[key].value + - '")].value_cy', - json: transLookup, - eval: true, - }) - : optionsObj[key].value} + ? "" + : _.isEmpty( + optionsObj[key].value + ) + ? "" + : router.locale == "cy" + ? jsonpath({ + path: + '$..[?(@ && @.value=="' + + optionsObj[key] + .value + + '")].value_cy', + json: transLookup, + eval: true + }) + : optionsObj[key].value} ); })} @@ -255,7 +260,7 @@ const RenderRadio = ({ { ["documentCheckList_" + id]: - custom.requiredDocumentLabel, + custom.requiredDocumentLabel } )) : delete docListObj[ @@ -289,7 +294,7 @@ function Radiofield(props) { form, formProps, parentFieldShowOnValue, - validation, + validation } = props; let { t } = useTranslation(); const router = useRouter(); @@ -401,9 +406,9 @@ let CreateCase = (props) => { values.appealTypes == "846040004" && values.confirmHASCAS == "true" ? "846040004" : values.appealTypes == "846040004" && - values.confirmHASCAS == "false" - ? "846040000" - : values.appealTypes; + values.confirmHASCAS == "false" + ? "846040000" + : values.appealTypes; var whichAppealType = whichAppealType; @@ -570,7 +575,7 @@ const mapStateToProps = (state) => { search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, - appealType: state.appealType, + appealType: state.appealType //form: state.form, }; }; @@ -587,7 +592,7 @@ const mapDispatchToProps = (dispatch) => { }, onChangeSelectLPA: (lpaId) => { dispatch(setAppealLPA(lpaId)); - }, + } }; }; @@ -599,6 +604,6 @@ export default connect( )( reduxForm({ form: "caseForm", - destroyOnUnmount: false, + destroyOnUnmount: false })(CreateCase) ); diff --git a/components/search/addresssearchresults.js b/components/search/addresssearchresults.js index 5e7c1327..bf3b05bb 100644 --- a/components/search/addresssearchresults.js +++ b/components/search/addresssearchresults.js @@ -28,7 +28,7 @@ import { createWatchedCases, deleteWatchedCases, getWatchedCasesProxy -} from "../../actions"; +} from "../../actions/services/portalService"; import RepsOnResults from "./repsonresults"; const escapeRegExp = (string) => string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); diff --git a/components/search/dnssearchresults.js b/components/search/dnssearchresults.js index 7a920e78..2ea31c88 100644 --- a/components/search/dnssearchresults.js +++ b/components/search/dnssearchresults.js @@ -9,7 +9,10 @@ import transLookup from "../../data/lookuptranslations.json"; import PaginationControl from "./pagination"; import RepsOnResults from "./repsonresults"; -import { getBasicDNSSearchPaged, getDNSCoords } from "../../actions"; +import { + getBasicDNSSearchPaged, + getDNSCoords +} from "../../actions/services/searchService"; import GoogleMapReact from "google-map-react"; import { parseCookies } from "nookies"; @@ -17,19 +20,19 @@ import OSPoint from "ospoint"; import { createWatchedCases, deleteWatchedCases, - getWatchedCasesProxy, -} from "../../actions"; + getWatchedCasesProxy +} from "../../actions/services/portalService"; import { setCurrentPage, - setCurrentReference, + setCurrentReference } from "../../store/currentView/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { getDetailsProxy, getSearchDetailsPaged } from "../utils"; import { signIn, useSession } from "next-auth/react"; @@ -49,7 +52,7 @@ const DNSSearchResults = (props) => { setWatchedCases, setWatchedCasesDetails, showMap, - showLoginCheck, + showLoginCheck } = props; let { t } = useTranslation(); @@ -159,17 +162,17 @@ const DNSSearchResults = (props) => { let updateBody = { "pinswg_WatchedCase@odata.bind": "/incidents(" + incidentID + ")", "pinswg_Contact@odata.bind": "/contacts(" + loggedInUser + ")", - "pinswg_appealcasetype": +appealType, + "pinswg_appealcasetype": +appealType }; createWatchedCases(updateBody) .then((data) => data) .then(() => { getWatchedCasesProxy(cookies.pinsUser).then((data) => { - setWatchedCases(data), + (setWatchedCases(data), getDetailsProxy(data, "myWatchedCases").then((data) => { setWatchedCasesDetails(data); - }); + })); }); }); }; @@ -184,7 +187,7 @@ const DNSSearchResults = (props) => { "pinswg_WatchedCase@odata.bind": "/incidents(" + incidentID + ")", "pinswg_Contact@odata.bind": "/contacts(" + loggedInUser + ")", "pinswg_appealcasetype": +appealType, - "pinswg_emailnotifications": true, + "pinswg_emailnotifications": true }; console.log("Email signed up"); @@ -193,12 +196,12 @@ const DNSSearchResults = (props) => { .then(() => { getWatchedCasesProxy(props.accountDetails.loggedinUserId).then( (data) => { - setWatchedCases(data), + (setWatchedCases(data), getDetailsProxy(data, "myWatchedCases").then( (data) => { setWatchedCasesDetails(data); } - ); + )); } ); }); @@ -211,7 +214,7 @@ const DNSSearchResults = (props) => { whichIncident + "')]", json: watchedCases, - eval: true, + eval: true }); return isWatched; @@ -225,7 +228,7 @@ const DNSSearchResults = (props) => { "' && @.pinswg_emailnotifications==true)]", json: watchedCases, - eval: true, + eval: true }); return isEmail; }; @@ -247,7 +250,7 @@ const DNSSearchResults = (props) => { let newObj = {}; return Object.assign(newObj, { "@odata.count": required.length, - "value": required, + "value": required }); }; @@ -258,12 +261,12 @@ const DNSSearchResults = (props) => { var dateB = new Date(b.createdon); return dateB - dateA; }); - setWatchedCases(data), + (setWatchedCases(data), getDetailsProxy(data, "myWatchedCases").then( (data) => { setWatchedCasesDetails(data); } - ); + )); }); }); }; @@ -385,7 +388,7 @@ const DNSSearchResults = (props) => { item.ticketnumber + '")]', json: searchDetailsObj, - eval: true, + eval: true }); detailsObj = detailsObj[0]; @@ -399,7 +402,7 @@ const DNSSearchResults = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item[ "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" @@ -427,10 +430,10 @@ const DNSSearchResults = (props) => { : "/dns/" + item.ticketnumber : myportal == true - ? "/myportal/dns/" + - item.ticketnumber - : "/dns/" + - item.ticketnumber + ? "/myportal/dns/" + + item.ticketnumber + : "/dns/" + + item.ticketnumber } className="govuk-link--no-underline" onClick={() => { @@ -447,7 +450,7 @@ const DNSSearchResults = (props) => { item.pinswg_appealcasetype, "showMap": showMap, "showLoginCheck": - props.showLoginCheck, + props.showLoginCheck }); }} > @@ -484,32 +487,33 @@ const DNSSearchResults = (props) => { ) < 0 ? detailsObj.pinswg_projectlocation : router.locale == "cy" - ? detailsObj.pinswg_projectlocation.split( - ";" - )[1] - : detailsObj.pinswg_projectlocation.split( - ";" - )[0] + ? detailsObj.pinswg_projectlocation.split( + ";" + )[1] + : detailsObj.pinswg_projectlocation.split( + ";" + )[0] : "" : hasValidKey( - item, - "pinswg_caseaddress" - ) - ? item.pinswg_caseaddress != - null - ? item.pinswg_caseaddress.indexOf( - ";" - ) < 0 - ? item.pinswg_caseaddress - : router.locale == "cy" - ? item.pinswg_caseaddress.split( - ";" - )[1] - : item.pinswg_caseaddress.split( - ";" - )[0] - : "" - : ""} + item, + "pinswg_caseaddress" + ) + ? item.pinswg_caseaddress != + null + ? item.pinswg_caseaddress.indexOf( + ";" + ) < 0 + ? item.pinswg_caseaddress + : router.locale == + "cy" + ? item.pinswg_caseaddress.split( + ";" + )[1] + : item.pinswg_caseaddress.split( + ";" + )[0] + : "" + : ""} {_.has( detailsObj, @@ -574,7 +578,7 @@ const DNSSearchResults = (props) => { : {_.has(detailsObj, [ - "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue", + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" ]) ? detailsObj[ "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" @@ -589,7 +593,7 @@ const DNSSearchResults = (props) => { : {_.has(detailsObj, [ - "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue", + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" ]) ? router.locale == "cy" ? jsonpath({ @@ -600,7 +604,7 @@ const DNSSearchResults = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : detailsObj[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" @@ -623,7 +627,7 @@ const DNSSearchResults = (props) => { ] + '")].value_cy', json: transLookup, - eval: true, + eval: true }) : item[ "statuscode@OData.Community.Display.V1.FormattedValue" @@ -782,7 +786,7 @@ const DNSSearchResults = (props) => { "&toWatch=" + item.incidentid + "_" + - item.pinswg_appealcasetype, + item.pinswg_appealcasetype } ); }} @@ -886,7 +890,7 @@ const DNSSearchResults = (props) => { fieldSortState, orderByState, searchLoaded, - getSearchPageResults, + getSearchPageResults ]); return ( <> @@ -1058,14 +1062,14 @@ const mapDispatchToProps = (dispatch) => { }, setCurrentPage: (currentPage) => { dispatch(setCurrentPage(currentPage)); - }, + } }; }; const mapStateToProps = (state) => { return { // currentView: state.currentView, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails // search: state.search, // searchResultsObj: state.searchResultsObj, }; diff --git a/components/search/searchresults.js b/components/search/searchresults.js index b2e72d4c..fdb13543 100644 --- a/components/search/searchresults.js +++ b/components/search/searchresults.js @@ -5,7 +5,10 @@ import Link from "next/link"; import { useRouter } from "next/router"; import { useCallback, useState } from "react"; import { connect } from "react-redux"; -import { getAdvancedSearchPaged, getBasicSearchPaged } from "../../actions"; +import { + getAdvancedSearchPaged, + getBasicSearchPaged +} from "../../actions/services/searchService"; import transLookup from "../../data/lookuptranslations.json"; import { setCurrentPage, @@ -32,7 +35,7 @@ import { createWatchedCases, deleteWatchedCases, getWatchedCasesProxy -} from "../../actions"; +} from "../../actions/services/portalService"; import { sendGAEvent } from "@next/third-parties/google"; import RepsOnResults from "./repsonresults"; diff --git a/components/utils/index.js b/components/utils/index.js index 4e3f6462..151c97ba 100644 --- a/components/utils/index.js +++ b/components/utils/index.js @@ -3,10 +3,12 @@ import { v4 as uuidv4 } from "uuid"; import { getBasicPartSavedDetails, getBasicSearchDetails, - getBasicSearchDetailsPaged, + getBasicSearchDetailsPaged +} from "../../actions/services/searchService"; +import { getPortalModuleDetailsProxy, getPortalModuleDetails -} from "../../actions"; +} from "../../actions/services/caseService"; import data from "../../data/collections.json"; import { useRouter } from "next/router"; diff --git a/lib/myportal/loadMyPortalAppealPage.js b/lib/myportal/loadMyPortalAppealPage.js index a1d321c8..f9810fc6 100644 --- a/lib/myportal/loadMyPortalAppealPage.js +++ b/lib/myportal/loadMyPortalAppealPage.js @@ -2,14 +2,16 @@ import { getSession } from "next-auth/react"; import { getAppealsTypesForNewAppeal, + getMandatoryFields, + getPickLists +} from "../../actions/services/referenceDataService"; +import { getAwaitingSubmissionFromBlob, getFilesFromBlob, - getIP, - getMandatoryFields, - getPickLists, - getProgressFromBlob, - getPersonalAccount, -} from "../../actions"; + getProgressFromBlob +} from "../../actions/services/documentService"; +import { getPersonalAccount } from "../../actions/services/accountService"; +import { getIP } from "../../actions/core/logger"; import { readFormXml } from "../forms/readFormXml"; import { requireQueryParams } from "../routing/requireQueryParams"; @@ -27,7 +29,7 @@ export async function loadMyPortalAppealPage(ctx) { const required = requireQueryParams(query, [ "appealtypes", "apt", - "casereference", + "casereference" ]); if (!required.ok) { return { redirect: required.redirect }; @@ -38,8 +40,8 @@ export async function loadMyPortalAppealPage(ctx) { return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } @@ -56,7 +58,7 @@ export async function loadMyPortalAppealPage(ctx) { getAppealsTypesForNewAppeal(), getMandatoryFields(query.appealtypes), getPickLists(query.appealtypes), - getFilesFromBlob(loggedInUserIdent, query.casereference), + getFilesFromBlob(loggedInUserIdent, query.casereference) ]); const blobProgress = await getProgressFromBlob( @@ -86,6 +88,6 @@ export async function loadMyPortalAppealPage(ctx) { blobProgress, accountDetails, awaitingSubmissionFromBlob, - xmlStr, + xmlStr }; } diff --git a/lib/newappeal/loadNewAppealPage.js b/lib/newappeal/loadNewAppealPage.js index 786e7c43..eeb48242 100644 --- a/lib/newappeal/loadNewAppealPage.js +++ b/lib/newappeal/loadNewAppealPage.js @@ -2,12 +2,12 @@ import { getSession } from "next-auth/react"; import { getAppealsTypesForNewAppeal, - getIP, getMandatoryFields, - getPickLists, - getProgressFromBlob, - getPersonalAccount, -} from "../../actions"; + getPickLists +} from "../../actions/services/referenceDataService"; +import { getProgressFromBlob } from "../../actions/services/documentService"; +import { getPersonalAccount } from "../../actions/services/accountService"; +import { getIP } from "../../actions/core/logger"; import { readFormXml } from "../forms/readFormXml"; import { requireQueryParams } from "../routing/requireQueryParams"; @@ -32,8 +32,8 @@ export async function loadNewAppealPage(ctx) { return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } @@ -46,7 +46,7 @@ export async function loadNewAppealPage(ctx) { await Promise.all([ getAppealsTypesForNewAppeal(), getMandatoryFields(query.appealtypes), - getPickLists(query.appealtypes), + getPickLists(query.appealtypes) ]); const blobProgress = await getProgressFromBlob(loggedInUserIdent, query.id); @@ -64,6 +64,6 @@ export async function loadNewAppealPage(ctx) { pickListData, blobProgress, accountDetails, - xmlStr, + xmlStr }; } diff --git a/pages/account/changepassword.js b/pages/account/changepassword.js index 0fe8c7a0..92b19237 100644 --- a/pages/account/changepassword.js +++ b/pages/account/changepassword.js @@ -23,9 +23,12 @@ import { setAppealTypeTitle, setAppealTypeID, setAppealLPA, - getAppealTypeObj, + getAppealTypeObj } from "../../store/appealType/action"; -import { getAppealsTypes, getLPA } from "../../actions"; +import { + getAppealsTypes, + getLPA +} from "../../actions/services/referenceDataService"; import { setLPA } from "../../store/lpa/action"; import { getSession, useSession } from "next-auth/react"; @@ -110,7 +113,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, form: state.form, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/account/personaldetails.js b/pages/account/personaldetails.js index 8ff9c011..f185dee0 100644 --- a/pages/account/personaldetails.js +++ b/pages/account/personaldetails.js @@ -19,7 +19,7 @@ import { reduxForm, formValueSelector } from "redux-form"; import PersonalDetails from "../../components/account/personaldetails"; import { setAccountDetails } from "../../store/accountDetails/action"; -import { getPersonalAccount } from "../../actions"; +import { getPersonalAccount } from "../../actions/services/accountService"; import { setCookie } from "nookies"; import { getSession, useSession } from "next-auth/react"; import NoSessionWarning from "../../components/nosession"; @@ -36,8 +36,8 @@ const Home = (props) => { useState(false); const [accountUpdatedComplete, setAccountUpdatedComplete] = useState(false); - setCookie(null, "pinsUser", props.accountDetails.loggedinUserId), - { path: "/" }; + (setCookie(null, "pinsUser", props.accountDetails.loggedinUserId), + { path: "/" }); const { data: session, status } = useSession(); @@ -133,7 +133,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, form: state.form, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/account/register.js b/pages/account/register.js index 74470b6c..7b67e274 100644 --- a/pages/account/register.js +++ b/pages/account/register.js @@ -17,7 +17,8 @@ import { JSONPath as jsonpath } from "jsonpath-plus"; import { reduxForm, formValueSelector } from "redux-form"; import RegisterForm from "../../components/account/registerform"; -import { dehashString, hashAPIPath, getIP } from "../../actions"; +import { dehashString, hashAPIPath } from "../../actions/core/hash"; +import { getIP } from "../../actions/core/logger"; import { getSession, useSession, signIn, signOut } from "next-auth/react"; const Home = (props) => { diff --git a/pages/addresssearchresults.js b/pages/addresssearchresults.js index f3542535..247d9c80 100644 --- a/pages/addresssearchresults.js +++ b/pages/addresssearchresults.js @@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getAddressSearch } from "../actions"; +import { getAddressSearch } from "../actions/services/searchService"; import SearchResults from "../components/addresssearchresults"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; @@ -125,11 +125,11 @@ export const getServerSideProps = wrapper.getServerSideProps( props: { searchResultsObj: { searchResultsObj: searchResultsObj, - searchDetailsObj: searchDetailsObj, + searchDetailsObj: searchDetailsObj }, currentType: "directResultsObj", - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -145,7 +145,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/admin/index.js b/pages/admin/index.js index 86ce577a..90896292 100644 --- a/pages/admin/index.js +++ b/pages/admin/index.js @@ -13,13 +13,13 @@ import AppealsTab from "../../components/admin/tabs/appeals"; import DocumentsTab from "../../components/admin/tabs/documents"; import { fetchAdminStorageData } from "../../components/admin/utils/serverside"; -import { getNewAppeals } from "../../actions"; +import { getNewAppeals } from "../../actions/services/adminService"; import { getSearchDetails } from "../../components/utils"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setCurrentPage } from "../../store/currentView/action"; @@ -30,7 +30,7 @@ const StoragePage = (props) => { repCompleteCount, searchResultsObj, docsOffline, - showFilteredDocs, + showFilteredDocs } = props; const [whichTab, setWhichTab] = useState("documents"); @@ -57,7 +57,7 @@ const StoragePage = (props) => { "documents", "appeals", "storage", - "accounts", + "accounts" ].map((tab) => (
  • { return { setCurrentPage: (currentPage) => { dispatch(setCurrentPage(currentPage)); - }, + } }; }; const mapStateToProps = (state) => { console.log("===============================\n state:", state); return { - searchResultsObj: state.searchResultsObj, + searchResultsObj: state.searchResultsObj }; }; diff --git a/pages/advancedsearch.js b/pages/advancedsearch.js index 04bfa3e2..0a65cac9 100644 --- a/pages/advancedsearch.js +++ b/pages/advancedsearch.js @@ -3,7 +3,11 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getAppealsTypes, getProjectTypes, getLPA } from "../actions"; +import { + getAppealsTypes, + getProjectTypes, + getLPA +} from "../actions/services/referenceDataService"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import CRMError from "../components/crmError"; @@ -126,7 +130,7 @@ export const getServerSideProps = wrapper.getServerSideProps( let [appealTypeData, projectTypeData, lpaData] = await Promise.all([ await getAppealsTypes(), await getProjectTypes(), - await getLPA(), + await getLPA() ]); //const lpaData = require("../data/lpa.json"); @@ -146,7 +150,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, //form: state.form, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/advancedsearchresults.js b/pages/advancedsearchresults.js index f2135ea9..4b483412 100644 --- a/pages/advancedsearchresults.js +++ b/pages/advancedsearchresults.js @@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getAdvancedSearch } from "../actions"; +import { getAdvancedSearch } from "../actions/services/searchService"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; @@ -13,7 +13,7 @@ import { setShowReps } from "../store/currentView/action"; import { setSearch } from "../store/search/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../store/searchOutput/action"; import ServiceBanner from "../components/servicebanner"; import { wrapper } from "../store/store"; @@ -140,8 +140,8 @@ export const getServerSideProps = wrapper.getServerSideProps( store.dispatch(setSearch(Object.entries(query))); return { props: { - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -157,7 +157,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/api/admin/getlatestdocuments_api.js b/pages/api/admin/getlatestdocuments_api.js index 36b7117c..f2b758ea 100644 --- a/pages/api/admin/getlatestdocuments_api.js +++ b/pages/api/admin/getlatestdocuments_api.js @@ -18,11 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - azureHeadersPagedCustom, - consoleLogger, - getToken, -} from "../../../actions"; +import { azureHeadersPagedCustom } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { number } from "prop-types"; const WORDKEY = process.env.HASHKEY; @@ -154,7 +152,7 @@ export default async function ApiProxy(req, res) { let flattened = data.value.map((r) => ({ ...r, ticketnumber: r.pinswg_DocumentIds?.ticketnumber || null, - publishtoweb: r.pinswg_DocumentIds?.pinswg_publishtoweb || null, + publishtoweb: r.pinswg_DocumentIds?.pinswg_publishtoweb || null })); data.value = flattened; diff --git a/pages/api/admin/getnewappeals_api.js b/pages/api/admin/getnewappeals_api.js index daa69cb0..d6669c3d 100644 --- a/pages/api/admin/getnewappeals_api.js +++ b/pages/api/admin/getnewappeals_api.js @@ -18,11 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - azureHeadersPagedCustom, - consoleLogger, - getToken, -} from "../../../actions"; +import { azureHeadersPagedCustom } from "../../../actions/core/headers"; +import { getToken } from "../../../actions/core/token"; +import { consoleLogger } from "../../../actions/core/logger"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/auth/[...nextauth].js b/pages/api/auth/[...nextauth].js index 11a76b83..dfd544c0 100644 --- a/pages/api/auth/[...nextauth].js +++ b/pages/api/auth/[...nextauth].js @@ -14,7 +14,8 @@ import { PrismaAdapter } from "@next-auth/prisma-adapter"; import { PrismaClient } from "@prisma/client"; import NextAuth from "next-auth"; import EmailProvider from "next-auth/providers/email"; -import { consoleLogger, getPreferredLanguage } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getPreferredLanguage } from "../../../actions/services/accountService"; const prisma = new PrismaClient(); @@ -43,7 +44,7 @@ const parseUrl = (url) => { host: _url.host, path, base, - toString: () => base, + toString: () => base }; }; @@ -127,7 +128,7 @@ const authOptions = (locale, req, res) => { return res .writeHead(200, { "Content-Type": "application/json" }) .json({ url: formURL }); - }, + } }, EmailProvider({ maxAge: 2 * 60 * 60, //10 * 60, // Magic links are valid for 10 min only @@ -191,7 +192,7 @@ const authOptions = (locale, req, res) => { // url.split("&token")[1] // : url, - "linkExpiry": 2 * 60 * 60, + "linkExpiry": 2 * 60 * 60 }; const reference = "PEDW-SIGNIN"; @@ -208,14 +209,14 @@ const authOptions = (locale, req, res) => { emailAddress, { personalisation: personalisation, - reference: reference, + reference: reference // emailReplyToId: emailReplyToId, } ) //.then((response) => console.log(response)) .catch((error) => consoleLogger(error)); - }, - }), + } + }) ], adapter: PrismaAdapter(prisma), secret: process.env.NEXTAUTH_SECRET, @@ -226,7 +227,7 @@ const authOptions = (locale, req, res) => { theme: "dark", debug: true, maxAge: 30 * 60, - updateAge: 5 * 60, // 24 hours + updateAge: 5 * 60 // 24 hours }, cookies: { callbackUrl: { @@ -234,16 +235,16 @@ const authOptions = (locale, req, res) => { options: { sameSite: "lax", path: "/", - secure: true, - }, - }, + secure: true + } + } }, pages: { signIn: (locale == "cy" ? "/cy" : "") + "/auth/signin", error: (locale == "cy" ? "/cy" : "") + "/auth/error", // Error code passed in query string as ?error= verifyRequest: (locale == "cy" ? "/cy" : "") + "/auth/verify-request", // (used for check email message) - newUser: (locale == "cy" ? "/cy" : "") + "/account/register", // New users will be directed here on first sign in (leave the property out if not of interest) + newUser: (locale == "cy" ? "/cy" : "") + "/account/register" // New users will be directed here on first sign in (leave the property out if not of interest) }, callbacks: { session: async (session, user) => { @@ -275,8 +276,8 @@ const authOptions = (locale, req, res) => { console.log("the url:", updatedUrl); return updatedUrl; - }, - }, + } + } }; }; diff --git a/pages/api/documents/download/[id].js b/pages/api/documents/download/[id].js index cbc8db9c..aab6804b 100644 --- a/pages/api/documents/download/[id].js +++ b/pages/api/documents/download/[id].js @@ -23,7 +23,6 @@ // import axios from "axios"; // import CryptoJS from "crypto-js"; -// import { getToken, consoleLogger } from "../../../../actions"; // const WORDKEY = process.env.HASHKEY; // const accessTokenEndpoint = process.env.ACCESS_TOKEN_ENDPOINT; @@ -110,7 +109,8 @@ // } import axios from "axios"; -import { getToken, consoleLogger } from "../../../../actions"; +import { getToken } from "../../../../actions/core/token"; +import { consoleLogger } from "../../../../actions/core/logger"; const WEBAPI_URL = process.env.RELAY_ROOT || @@ -149,9 +149,9 @@ const ApiProxy = async (req, res) => { "Prefer": 'odata.include-annotations="*",return=representation', "Content-Type": "application/json", - "Authorization": "Bearer " + token.access_token, + "Authorization": "Bearer " + token.access_token }, - responseType: "stream", + responseType: "stream" }); }; @@ -196,8 +196,8 @@ const ApiProxy = async (req, res) => { export const config = { api: { - responseLimit: false, - }, + responseLimit: false + } }; export default ApiProxy; diff --git a/pages/api/email/getall.js b/pages/api/email/getall.js index e5ebdbc9..088145d6 100644 --- a/pages/api/email/getall.js +++ b/pages/api/email/getall.js @@ -1,13 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - getToken, - azureHeaders, - azureHeadersPaged, - consoleLogger, - sendEmail, -} from "../../../actions"; +import { azureHeaders, azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { formatDates } from "../../../components/utils"; var NotifyClient = require("notifications-node-client").NotifyClient; @@ -79,14 +75,14 @@ const buildNotifyPayloads = (watchlistByEmail) => { noRef: "No Ref", untitled: "Untitled", noDate: "No Date", - link: "Link", + link: "Link" }, cy: { noRef: "Dim Cyfeirnod", untitled: "Heb Deitl", noDate: "Dim Dyddiad", - link: "Dolen", - }, + link: "Dolen" + } }; const t = labels[language] || labels.en; @@ -114,13 +110,13 @@ const buildNotifyPayloads = (watchlistByEmail) => { en: { unnamed: "Unnamed Event", noDate: "No Date", - on: "on", + on: "on" }, cy: { unnamed: "Digwyddiad Heb Enw", noDate: "Dim Dyddiad", - on: "ar", - }, + on: "ar" + } }; const t = labels[language] || labels.en; @@ -144,14 +140,14 @@ const buildNotifyPayloads = (watchlistByEmail) => { open: "Open", to: "to", close: "Close", - na: "N/A", + na: "N/A" }, cy: { open: "Agor", to: "i", close: "Cau", - na: "Dim ar gael", - }, + na: "Dim ar gael" + } }; const t = labels[language] || labels.en; @@ -234,7 +230,7 @@ const buildNotifyPayloads = (watchlistByEmail) => { docSection, sipSection, repsSection, - caseUnsubscribelink, + caseUnsubscribelink ] .filter(Boolean) .join("\n")}`; @@ -242,7 +238,7 @@ const buildNotifyPayloads = (watchlistByEmail) => { .join("\n\n"), unsubscribeLink: `Unsubscribe by selecting this link if you no longer want to receive any updates ${ process.env.NEXTAUTH_URL + "/unsubscribeall/" + contactId - }`, + }` }; const personalisationCY = { @@ -281,7 +277,7 @@ const buildNotifyPayloads = (watchlistByEmail) => { docSection, sipSection, repsSection, - caseUnsubscribelink, + caseUnsubscribelink ] .filter(Boolean) .join("\n")}`; @@ -289,7 +285,7 @@ const buildNotifyPayloads = (watchlistByEmail) => { .join("\n\n"), unsubscribeLink: `Dad-danysgrifiwch drwy ddewis y ddolen hon os nad ydych chi eisiau derbyn unrhyw ddiweddariadau mwyach ${ process.env.NEXTAUTH_URL + "/unsubscribeall/" + contactId - }`, + }` }; return { @@ -305,7 +301,7 @@ const buildNotifyPayloads = (watchlistByEmail) => { process.env.NEXTAUTH_URL + (prefLanguage == 846040001 ? "en" : "cy") + "/unsubscribeall/" + - contactId, + contactId }; }) .filter(Boolean); // Remove any nulls from filtered-out users @@ -348,7 +344,7 @@ export default async function CombinedApiProxy(req, res) { ...doc, pinswg_hashlink: encryptDocReference( doc.pinswg_isharedocumentreference - ), + ) })); } catch (err) { consoleLogger( @@ -401,7 +397,7 @@ export default async function CombinedApiProxy(req, res) { ...entry, repsPeriods, documents, - sipEvents, + sipEvents }; }) ); @@ -428,7 +424,7 @@ export default async function CombinedApiProxy(req, res) { reference: payload.reference, template_id: payload.template_id, language: - payload.pinswg_preferredlanguage == 846040001 ? "en" : "cy", + payload.pinswg_preferredlanguage == 846040001 ? "en" : "cy" }; try { @@ -437,7 +433,7 @@ export default async function CombinedApiProxy(req, res) { payload.email_address, { personalisation: payload.personalisation, - reference: payload.reference, + reference: payload.reference } ); result.status = "success"; @@ -455,7 +451,7 @@ export default async function CombinedApiProxy(req, res) { consoleLogger(error); res.status(500).json({ error: "An error occurred while retrieving combined data.", - details: error.message || error.toString(), + details: error.message || error.toString() }); } } diff --git a/pages/api/email/getcaseref.js b/pages/api/email/getcaseref.js index 98d7afc9..53f23f50 100644 --- a/pages/api/email/getcaseref.js +++ b/pages/api/email/getcaseref.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeaders, consoleLogger } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/email/getdocuments.js b/pages/api/email/getdocuments.js index b9574c24..7201195c 100644 --- a/pages/api/email/getdocuments.js +++ b/pages/api/email/getdocuments.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; const WEBAPI_URL = @@ -84,7 +86,7 @@ export default async function ApiProxy(req, res) { ...doc, pinswg_hashlink: encryptDocReference( doc.pinswg_isharedocumentreference - ), + ) })); res.status(200).json({ ...data, value: resultsWithLinks }); @@ -92,7 +94,7 @@ export default async function ApiProxy(req, res) { consoleLogger(error); res.status(500).json({ error: "Failed to fetch document details.", - details: error.message || error.toString(), + details: error.message || error.toString() }); } } diff --git a/pages/api/email/getevents.js b/pages/api/email/getevents.js index 06eaf19f..b66456ea 100644 --- a/pages/api/email/getevents.js +++ b/pages/api/email/getevents.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeaders, consoleLogger } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; const WEBAPI_URL = @@ -67,7 +69,7 @@ export default async function ApiProxy(req, res) { consoleLogger(error); res.status(500).json({ error: "An error occurred while retrieving data.", - details: error.message || error.toString(), + details: error.message || error.toString() }); } } diff --git a/pages/api/email/getmailinglist.js b/pages/api/email/getmailinglist.js index a4a056e9..14a6ecda 100644 --- a/pages/api/email/getmailinglist.js +++ b/pages/api/email/getmailinglist.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeaders, consoleLogger } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/email/notify.js b/pages/api/email/notify.js index 299e93b5..c74edcc4 100644 --- a/pages/api/email/notify.js +++ b/pages/api/email/notify.js @@ -25,10 +25,19 @@ * description: Failed */ -import { consoleLogger, getPreferredLanguage } from "../../../actions"; +import { consoleLogger, redactSensitive } from "../../../actions/core/logger"; +import { isNonEmptyString, sanitizeString } from "../../../actions/core/guards"; +import { getPreferredLanguage } from "../../../actions/services/accountService"; export default async function ApiProxy(req, res) { var data = req.body; + const emailAddress = sanitizeString(data?.emailAddress); + + if (!isNonEmptyString(emailAddress)) { + return res.status(400).json({ error: "emailAddress is required" }); + } + + data.emailAddress = emailAddress; if (data?.reference === "PEDW-NEW-CASEREF") { try { @@ -49,7 +58,10 @@ export default async function ApiProxy(req, res) { const notifyClient = new NotifyClient(process.env.NOTIFY_API_KEY); //const emailReplyToId = process.env.EMAIL_REPLY_TO_ID; - console.log("///////////////\n Sending email \ns//////////////", data); + console.log( + "///////////////\n Sending email \ns//////////////", + redactSensitive(data) + ); notifyClient .sendEmail(data.templateId, data.emailAddress, { diff --git a/pages/api/endpoint/createaccount_api.js b/pages/api/endpoint/createaccount_api.js index ed5e44b2..d2aa587d 100644 --- a/pages/api/endpoint/createaccount_api.js +++ b/pages/api/endpoint/createaccount_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -46,9 +47,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; return axios(config) diff --git a/pages/api/endpoint/createcase_api.js b/pages/api/endpoint/createcase_api.js index 122783e6..ee4ba35f 100644 --- a/pages/api/endpoint/createcase_api.js +++ b/pages/api/endpoint/createcase_api.js @@ -44,7 +44,7 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken } from "../../../actions"; +import { getToken } from "../../../actions/core/token"; import { getCaseBlob } from "../../../actions/azurestorage"; const WORDKEY = process.env.HASHKEY; @@ -79,7 +79,7 @@ export default async function ApiProxy(req, res) { "servicestage": 1, "customerid_contact@odata.bind": "/contacts(" + contactid + ")", "pinswg_appealcasetype": appealTypeId, - "pinswg_AssociatedLPA@odata.bind": "/accounts(" + lpaID + ")", + "pinswg_AssociatedLPA@odata.bind": "/accounts(" + lpaID + ")" }; var newData = Object.assign(data, createCaseBody); @@ -97,9 +97,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: JSON.stringify(newData), + data: JSON.stringify(newData) }; var apiResponse = _.isEmpty(req.query) ? res.status(400).json() diff --git a/pages/api/endpoint/createcrmtask_api.js b/pages/api/endpoint/createcrmtask_api.js index a8155446..72f7efb5 100644 --- a/pages/api/endpoint/createcrmtask_api.js +++ b/pages/api/endpoint/createcrmtask_api.js @@ -44,7 +44,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken } from "../../../actions"; +import { isNonEmptyString, sanitizeString } from "../../../actions/core/guards"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getCaseBlob } from "../../../actions/azurestorage"; const WORDKEY = process.env.HASHKEY; @@ -66,6 +68,17 @@ const hashAPIPath = (queryPath) => { export default async function ApiProxy(req, res) { var createTaskBody = req.body; + + const contactEmail = sanitizeString(createTaskBody?.contactEmail); + const contactSubject = sanitizeString(createTaskBody?.contactSubject); + const contactBody = sanitizeString(createTaskBody?.contactbody); + + if (!isNonEmptyString(contactEmail) || !isNonEmptyString(contactSubject)) { + return res.status(400).json({ + error: "contactEmail and contactSubject are required" + }); + } + var queryUrl = "tasks"; var token = await getToken(); @@ -81,19 +94,19 @@ export default async function ApiProxy(req, res) { ceq: "4fddd7e8-7d26-ec11-a97f-00224800e98c", // Inspector Scheduling other: "8ffabad9-7c26-ec11-a97f-00224800e98c", // Casework postdec: "1357e457-7e26-ec11-a97f-00224800e98c", // SLT Team - comp: "1357e457-7e26-ec11-a97f-00224800e98c", // SLT Team + comp: "1357e457-7e26-ec11-a97f-00224800e98c" // SLT Team }; let teamId = teamMap[contactValue]; const payload = { - "subject": `Contact Us Enquiry - ${createTaskBody.contactSubject}`, - "description": `From: ${createTaskBody.contactEmail}\n\n${createTaskBody.contactbody}`, + "subject": `Contact Us Enquiry - ${contactSubject}`, + "description": `From: ${contactEmail}\n\n${contactBody}`, "scheduledstart": new Date().toISOString(), "scheduledend": new Date( new Date().getTime() + 60 * 60000 * 24 ).toISOString(), // 30 mins - ...(teamId && { "ownerid@odata.bind": `/teams(${teamId})` }), + ...(teamId && { "ownerid@odata.bind": `/teams(${teamId})` }) }; //console.log("/////Create Task:\n", payload, "\n//////////////"); @@ -107,9 +120,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: JSON.stringify(payload), + data: JSON.stringify(payload) }; //console.log("/////Create Task config:\n", config, "\n//////////////"); @@ -118,10 +131,7 @@ export default async function ApiProxy(req, res) { const { data } = await axios(config); return res.status(200).json(data); } catch (error) { - console.error( - "CRM Task Creation Error:", - error.response?.data || error - ); + consoleLogger(error); return res .status(400) .json({ error: "Failed to create CRM task", details: error }); diff --git a/pages/api/endpoint/createwatchedcases_api.js b/pages/api/endpoint/createwatchedcases_api.js index 4368899a..56f05b14 100644 --- a/pages/api/endpoint/createwatchedcases_api.js +++ b/pages/api/endpoint/createwatchedcases_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -70,8 +71,8 @@ const recordExists = async (incidentId, contactId, token) => { const res = await axios.get(url, { headers: { Authorization: "Bearer " + token.access_token, - Accept: "application/json", - }, + Accept: "application/json" + } }); if (res.data.value && res.data.value.length > 0) { @@ -113,9 +114,9 @@ export default async function ApiProxy(req, res) { Accept: "application/json", Prefer: 'odata.include-annotations="*",return=representation', Authorization: "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: JSON.stringify(data), + data: JSON.stringify(data) }; return axios(config) diff --git a/pages/api/endpoint/deleteawaitingsubmissions_api.js b/pages/api/endpoint/deleteawaitingsubmissions_api.js index fb878202..23189625 100644 --- a/pages/api/endpoint/deleteawaitingsubmissions_api.js +++ b/pages/api/endpoint/deleteawaitingsubmissions_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -46,8 +47,8 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", - }, + "Content-Type": "application/json" + } }; return axios(config) diff --git a/pages/api/endpoint/deletemyrepresentations_api.js b/pages/api/endpoint/deletemyrepresentations_api.js index 78843c7b..b0c6fadf 100644 --- a/pages/api/endpoint/deletemyrepresentations_api.js +++ b/pages/api/endpoint/deletemyrepresentations_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -46,8 +47,8 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", - }, + "Content-Type": "application/json" + } }; return axios(config) diff --git a/pages/api/endpoint/deletewatchedcases_api.js b/pages/api/endpoint/deletewatchedcases_api.js index 99b55d63..e569e72a 100644 --- a/pages/api/endpoint/deletewatchedcases_api.js +++ b/pages/api/endpoint/deletewatchedcases_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -48,8 +49,8 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", - }, + "Content-Type": "application/json" + } }; return axios(config) diff --git a/pages/api/endpoint/deletewatchedcasesproxy_api.js b/pages/api/endpoint/deletewatchedcasesproxy_api.js index e62bb1eb..72142710 100644 --- a/pages/api/endpoint/deletewatchedcasesproxy_api.js +++ b/pages/api/endpoint/deletewatchedcasesproxy_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getaccounts_api.js b/pages/api/endpoint/getaccounts_api.js new file mode 100644 index 00000000..d960601a --- /dev/null +++ b/pages/api/endpoint/getaccounts_api.js @@ -0,0 +1,70 @@ +/** + * @swagger + * /api/endpoint/getemailaccountcheck_api: + * get: + * tags: [Login] + * description: Returns portal login + * summary: Phase 2 + * parameters: + * - name: emailAddress + * in: query + * required: true + * schema: + * type: string + * responses: + * 200: + * description: hello world + */ +import axios from "axios"; +import CryptoJS from "crypto-js"; +import _ from "lodash"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; + +const WORDKEY = process.env.HASHKEY; + +const WEBAPI_URL = + process.env.RELAY_ROOT || + "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; + +const hashAPIPath = (queryPath) => { + var hashlink = CryptoJS.HmacSHA256( + queryPath, + CryptoJS.enc.Hex.parse(WORDKEY) + ); + hashlink = hashlink.toString(CryptoJS.enc.Hex); + return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; +}; + +export default async function ApiProxy(req, res) { + var emailAddress = req.query.emailAddress; + var token = await getToken(); + + var queryUrl = + "contacts?$filter=emailaddress1 eq '" + + emailAddress + + "'&$count=true&$select=emailaddress1, contactid"; + + console.log(queryUrl); + // var queryUrl = "contacts/?$count=true&$select=emailaddress1, contactid"; + + var apiResponse = _.isEmpty(req.query) + ? res.status(400).json() + : typeof emailAddress != "undefined" && emailAddress.length > 0 + ? axios + .get( + WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), + azureHeaders(token.access_token) + ) + .then(({ data }) => { + res.status(200).json(data); + }) + .catch((error) => { + consoleLogger(error); + res.status(400).json(error); + }) + : res.status(400).json(); + + return apiResponse; +} diff --git a/pages/api/endpoint/getadvancedsearch_api.js b/pages/api/endpoint/getadvancedsearch_api.js index 4d855f53..f0f3a5c8 100644 --- a/pages/api/endpoint/getadvancedsearch_api.js +++ b/pages/api/endpoint/getadvancedsearch_api.js @@ -24,7 +24,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getadvancedsearchpaged_api.js b/pages/api/endpoint/getadvancedsearchpaged_api.js index 48b72d9d..424047ba 100644 --- a/pages/api/endpoint/getadvancedsearchpaged_api.js +++ b/pages/api/endpoint/getadvancedsearchpaged_api.js @@ -53,10 +53,10 @@ import _ from "lodash"; import { azureHeadersPagedCustom, azureHeadersPaged, - azureHeaders, - consoleLogger, - getToken, -} from "../../../actions"; + azureHeaders +} from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getappealid_api.js b/pages/api/endpoint/getappealid_api.js index 7b6e516d..b43217a2 100644 --- a/pages/api/endpoint/getappealid_api.js +++ b/pages/api/endpoint/getappealid_api.js @@ -30,7 +30,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getappealpdfdocuments_api.js b/pages/api/endpoint/getappealpdfdocuments_api.js index 7f74b9bb..2da5265d 100644 --- a/pages/api/endpoint/getappealpdfdocuments_api.js +++ b/pages/api/endpoint/getappealpdfdocuments_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getappealtypes_api.js b/pages/api/endpoint/getappealtypes_api.js index 596defca..24a81c7d 100644 --- a/pages/api/endpoint/getappealtypes_api.js +++ b/pages/api/endpoint/getappealtypes_api.js @@ -11,7 +11,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getawaitingsubmission_api.js b/pages/api/endpoint/getawaitingsubmission_api.js index 8d90d318..110952aa 100644 --- a/pages/api/endpoint/getawaitingsubmission_api.js +++ b/pages/api/endpoint/getawaitingsubmission_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getawaitingsubmissionproxy_api.js b/pages/api/endpoint/getawaitingsubmissionproxy_api.js index 4d706378..02ff305d 100644 --- a/pages/api/endpoint/getawaitingsubmissionproxy_api.js +++ b/pages/api/endpoint/getawaitingsubmissionproxy_api.js @@ -12,7 +12,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicdnssearch_api.js b/pages/api/endpoint/getbasicdnssearch_api.js index 4ac00f1c..f947ebf7 100644 --- a/pages/api/endpoint/getbasicdnssearch_api.js +++ b/pages/api/endpoint/getbasicdnssearch_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicdnssearchdetails_api.js b/pages/api/endpoint/getbasicdnssearchdetails_api.js index 204cc609..3c9876c4 100644 --- a/pages/api/endpoint/getbasicdnssearchdetails_api.js +++ b/pages/api/endpoint/getbasicdnssearchdetails_api.js @@ -13,7 +13,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicdnssearchdetailspaged_api.js b/pages/api/endpoint/getbasicdnssearchdetailspaged_api.js index 04f4cd88..982d4036 100644 --- a/pages/api/endpoint/getbasicdnssearchdetailspaged_api.js +++ b/pages/api/endpoint/getbasicdnssearchdetailspaged_api.js @@ -12,7 +12,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicdnssearchpaged_api.js b/pages/api/endpoint/getbasicdnssearchpaged_api.js index 8fb39537..dceb0c23 100644 --- a/pages/api/endpoint/getbasicdnssearchpaged_api.js +++ b/pages/api/endpoint/getbasicdnssearchpaged_api.js @@ -43,32 +43,16 @@ */ import axios from "axios"; -import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - azureHeadersPagedCustom, - getToken, - consoleLogger, -} from "../../../actions"; - -const WORDKEY = process.env.HASHKEY; +import { azureHeadersPagedCustom } from "../../../actions/core/headers"; +import { getToken } from "../../../actions/core/token"; +import { consoleLogger } from "../../../actions/core/logger"; +import { hashAPIPath } from "../../../actions/core/hash"; const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; -const hashAPIPath = (queryPath) => { - var hashlink = CryptoJS.HmacSHA256( - queryPath, - CryptoJS.enc.Hex.parse(WORDKEY) - ); - hashlink = hashlink.toString(CryptoJS.enc.Hex); - - //return "&hash=" + hashlink; - //console.log(hashlink); - return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; -}; - export default async function ApiProxy(req, res) { var pageNumber = req.query.pageNumber; var token = await getToken(); diff --git a/pages/api/endpoint/getbasicdnsurlsearch_api.js b/pages/api/endpoint/getbasicdnsurlsearch_api.js index 22c0f48b..1e0e2383 100644 --- a/pages/api/endpoint/getbasicdnsurlsearch_api.js +++ b/pages/api/endpoint/getbasicdnsurlsearch_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicpartsaveddetails_api.js b/pages/api/endpoint/getbasicpartsaveddetails_api.js index e094e21b..ad2bf99e 100644 --- a/pages/api/endpoint/getbasicpartsaveddetails_api.js +++ b/pages/api/endpoint/getbasicpartsaveddetails_api.js @@ -1,6 +1,7 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeadersNoOdata, getToken } from "../../../actions"; +import { azureHeadersNoOdata } from "../../../actions/core/headers"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearch_api.js b/pages/api/endpoint/getbasicsearch_api.js index 306098f3..9a0d788a 100644 --- a/pages/api/endpoint/getbasicsearch_api.js +++ b/pages/api/endpoint/getbasicsearch_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearch_by_address_api.js b/pages/api/endpoint/getbasicsearch_by_address_api.js index e4126d98..6a77711d 100644 --- a/pages/api/endpoint/getbasicsearch_by_address_api.js +++ b/pages/api/endpoint/getbasicsearch_by_address_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import { JSONPath as jsonpath } from "jsonpath-plus"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearch_by_lparref_api.js b/pages/api/endpoint/getbasicsearch_by_lparref_api.js index 8d465f34..f225562b 100644 --- a/pages/api/endpoint/getbasicsearch_by_lparref_api.js +++ b/pages/api/endpoint/getbasicsearch_by_lparref_api.js @@ -1,6 +1,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearchdetails_api.js b/pages/api/endpoint/getbasicsearchdetails_api.js index 16556c05..2b754be5 100644 --- a/pages/api/endpoint/getbasicsearchdetails_api.js +++ b/pages/api/endpoint/getbasicsearchdetails_api.js @@ -31,7 +31,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getNavigationPropertyByPrimaryAttribute } from "../../../components/utils"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearchdetailspaged_api.js b/pages/api/endpoint/getbasicsearchdetailspaged_api.js index 9bc01067..22023e32 100644 --- a/pages/api/endpoint/getbasicsearchdetailspaged_api.js +++ b/pages/api/endpoint/getbasicsearchdetailspaged_api.js @@ -32,7 +32,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getNavigationPropertyByPrimaryAttribute } from "../../../components/utils"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getbasicsearchpaged_api.js b/pages/api/endpoint/getbasicsearchpaged_api.js index 3488889d..4835d506 100644 --- a/pages/api/endpoint/getbasicsearchpaged_api.js +++ b/pages/api/endpoint/getbasicsearchpaged_api.js @@ -43,30 +43,16 @@ */ import axios from "axios"; -import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - azureHeadersPagedCustom, - consoleLogger, - getToken, -} from "../../../actions"; - -const WORDKEY = process.env.HASHKEY; +import { azureHeadersPagedCustom } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; +import { hashAPIPath } from "../../../actions/core/hash"; const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; -const hashAPIPath = (queryPath) => { - var hashlink = CryptoJS.HmacSHA256( - queryPath, - CryptoJS.enc.Hex.parse(WORDKEY) - ); - hashlink = hashlink.toString(CryptoJS.enc.Hex); - - return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; -}; - export default async function ApiProxy(req, res) { var searchString = req.query.searchString; var pageNumber = req.query.pageNumber; diff --git a/pages/api/endpoint/getcase_api.js b/pages/api/endpoint/getcase_api.js index ac0d245e..29b65e44 100644 --- a/pages/api/endpoint/getcase_api.js +++ b/pages/api/endpoint/getcase_api.js @@ -13,7 +13,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeaders, consoleLogger } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getcasebyid_api.js b/pages/api/endpoint/getcasebyid_api.js index 59537847..756b5367 100644 --- a/pages/api/endpoint/getcasebyid_api.js +++ b/pages/api/endpoint/getcasebyid_api.js @@ -13,7 +13,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeaders, consoleLogger } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getcasemessage_api.js b/pages/api/endpoint/getcasemessage_api.js index 6f96f4fb..ba78f65a 100644 --- a/pages/api/endpoint/getcasemessage_api.js +++ b/pages/api/endpoint/getcasemessage_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getdnscoords_api.js b/pages/api/endpoint/getdnscoords_api.js index 8b09582b..7c304a39 100644 --- a/pages/api/endpoint/getdnscoords_api.js +++ b/pages/api/endpoint/getdnscoords_api.js @@ -1,6 +1,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import OSPoint from "ospoint"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getdnslist_api.js b/pages/api/endpoint/getdnslist_api.js index 3e4e7e84..b9735928 100644 --- a/pages/api/endpoint/getdnslist_api.js +++ b/pages/api/endpoint/getdnslist_api.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getemailaccountcheck_api.js b/pages/api/endpoint/getemailaccountcheck_api.js index 9a48e204..70974af4 100644 --- a/pages/api/endpoint/getemailaccountcheck_api.js +++ b/pages/api/endpoint/getemailaccountcheck_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getformdata_api.js b/pages/api/endpoint/getformdata_api.js index 3c962c40..6a7d5206 100644 --- a/pages/api/endpoint/getformdata_api.js +++ b/pages/api/endpoint/getformdata_api.js @@ -1,6 +1,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getincidentbyid_api.js b/pages/api/endpoint/getincidentbyid_api.js index a8160ba4..70952d1f 100644 --- a/pages/api/endpoint/getincidentbyid_api.js +++ b/pages/api/endpoint/getincidentbyid_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getispublishedbyid_api.js b/pages/api/endpoint/getispublishedbyid_api.js index 58432d03..6ac0c646 100644 --- a/pages/api/endpoint/getispublishedbyid_api.js +++ b/pages/api/endpoint/getispublishedbyid_api.js @@ -17,7 +17,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getlinkedcases_api.js b/pages/api/endpoint/getlinkedcases_api.js index 3aa7008b..ebb6e944 100644 --- a/pages/api/endpoint/getlinkedcases_api.js +++ b/pages/api/endpoint/getlinkedcases_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getlogin_api.js b/pages/api/endpoint/getlogin_api.js index 1f0f4559..08a738c0 100644 --- a/pages/api/endpoint/getlogin_api.js +++ b/pages/api/endpoint/getlogin_api.js @@ -24,7 +24,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -58,23 +60,23 @@ export default async function ApiProxy(req, res) { var apiResponse = _.isEmpty(req.query) ? res.status(400).json() : typeof emailAddress != "undefined" && - emailAddress.length > 0 && - typeof pwd != "undefined" && - pwd.length > 0 - ? axios - .get( - WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), - azureHeadersPaged(token.access_token) - ) - .then(({ data }) => { - console.log(data); - res.status(200).json(data); - }) - .catch((error) => { - consoleLogger(error); - res.status(400).json(error); - }) - : res.status(400).json(); + emailAddress.length > 0 && + typeof pwd != "undefined" && + pwd.length > 0 + ? axios + .get( + WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), + azureHeadersPaged(token.access_token) + ) + .then(({ data }) => { + console.log(data); + res.status(200).json(data); + }) + .catch((error) => { + consoleLogger(error); + res.status(400).json(error); + }) + : res.status(400).json(); return apiResponse; } diff --git a/pages/api/endpoint/getlpa_api.js b/pages/api/endpoint/getlpa_api.js index 18bc780a..29a2ceef 100644 --- a/pages/api/endpoint/getlpa_api.js +++ b/pages/api/endpoint/getlpa_api.js @@ -14,7 +14,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getmycases_api.js b/pages/api/endpoint/getmycases_api.js index 11870581..013c9b74 100644 --- a/pages/api/endpoint/getmycases_api.js +++ b/pages/api/endpoint/getmycases_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getmylpacases_api.js b/pages/api/endpoint/getmylpacases_api.js index 32bca1ad..d39dc467 100644 --- a/pages/api/endpoint/getmylpacases_api.js +++ b/pages/api/endpoint/getmylpacases_api.js @@ -18,30 +18,17 @@ */ import axios from "axios"; -import CryptoJS from "crypto-js"; import { JSONPath as jsonpath } from "jsonpath-plus"; -import { - azureHeaders, - consoleLogger, - getLPA, - getToken, -} from "../../../actions"; - -const WORDKEY = process.env.HASHKEY; +import { getLPA } from "../../../actions/services/referenceDataService"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; +import { hashAPIPath } from "../../../actions/core/hash"; const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; -const hashAPIPath = (queryPath) => { - var hashlink = CryptoJS.HmacSHA256( - queryPath, - CryptoJS.enc.Hex.parse(WORDKEY) - ); - hashlink = hashlink.toString(CryptoJS.enc.Hex); - return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; -}; - export default async function ApiProxy(req, res) { var lpaid = req.query.lpaid; var token = await getToken(); @@ -51,7 +38,7 @@ export default async function ApiProxy(req, res) { const lpaGUID = jsonpath({ path: '$..[?(@ && @.name=="' + lpaid + '")]', json: lpaList, - eval: true, + eval: true }); //console.log( diff --git a/pages/api/endpoint/getmyrepresentations_api.js b/pages/api/endpoint/getmyrepresentations_api.js index 7a16e600..837b551e 100644 --- a/pages/api/endpoint/getmyrepresentations_api.js +++ b/pages/api/endpoint/getmyrepresentations_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getmyrepresentationsproxy_api.js b/pages/api/endpoint/getmyrepresentationsproxy_api.js index ef8206c8..d13def37 100644 --- a/pages/api/endpoint/getmyrepresentationsproxy_api.js +++ b/pages/api/endpoint/getmyrepresentationsproxy_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getpartsavedappeal_api.js b/pages/api/endpoint/getpartsavedappeal_api.js index d7e9edb0..afa86f93 100644 --- a/pages/api/endpoint/getpartsavedappeal_api.js +++ b/pages/api/endpoint/getpartsavedappeal_api.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getpersonalaccount_api.js b/pages/api/endpoint/getpersonalaccount_api.js index d7151bc1..9bf7fc5c 100644 --- a/pages/api/endpoint/getpersonalaccount_api.js +++ b/pages/api/endpoint/getpersonalaccount_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getportallogin_api.js b/pages/api/endpoint/getportallogin_api.js index 8b2e68d3..02d06cb9 100644 --- a/pages/api/endpoint/getportallogin_api.js +++ b/pages/api/endpoint/getportallogin_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getportalloginproxy_api.js b/pages/api/endpoint/getportalloginproxy_api.js index 3a1e9344..2ff1643a 100644 --- a/pages/api/endpoint/getportalloginproxy_api.js +++ b/pages/api/endpoint/getportalloginproxy_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getportalmoduledetails_api.js b/pages/api/endpoint/getportalmoduledetails_api.js index 7fd9d94f..df09cecc 100644 --- a/pages/api/endpoint/getportalmoduledetails_api.js +++ b/pages/api/endpoint/getportalmoduledetails_api.js @@ -25,7 +25,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getportalmoduledetailsproxy_api.js b/pages/api/endpoint/getportalmoduledetailsproxy_api.js index adb9c17d..708d10b4 100644 --- a/pages/api/endpoint/getportalmoduledetailsproxy_api.js +++ b/pages/api/endpoint/getportalmoduledetailsproxy_api.js @@ -25,7 +25,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getSelectQuery } from "../../../actions/selectQueryTypes"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getpreferredlanguage_api.js b/pages/api/endpoint/getpreferredlanguage_api.js index 5744db1e..14289afa 100644 --- a/pages/api/endpoint/getpreferredlanguage_api.js +++ b/pages/api/endpoint/getpreferredlanguage_api.js @@ -18,12 +18,14 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; +import { azureHeaders } from "../../../actions/core/headers"; import { - azureHeaders, - consoleLogger, - getToken, - getPreferredLanguage, -} from "../../../actions"; + escapeODataString, + isNonEmptyString, + sanitizeString +} from "../../../actions/core/guards"; +import { consoleLogger, redactSensitive } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -41,33 +43,37 @@ const hashAPIPath = (queryPath) => { }; export default async function ApiProxy(req, res) { - var emailAddress = req.query.emailAddress; + var emailAddress = sanitizeString(req.query.emailAddress); var token = await getToken(); + if (!isNonEmptyString(emailAddress)) { + return res.status(400).json({ error: "emailAddress is required" }); + } + var queryUrl = "contacts?$filter=emailaddress1 eq '" + - emailAddress + + escapeODataString(emailAddress) + "'&$count=true&$select=pinswg_preferredlanguage,contactid"; - console.log(queryUrl); + console.log(redactSensitive(queryUrl)); // var queryUrl = "contacts/?$count=true&$select=emailaddress1, contactid"; var apiResponse = _.isEmpty(req.query) ? res.status(400).json() : typeof emailAddress != "undefined" && emailAddress.length > 0 - ? axios - .get( - WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), - azureHeaders(token.access_token) - ) - .then(({ data }) => { - res.status(200).json(data); - }) - .catch((error) => { - consoleLogger(error); - res.status(400).json(error); - }) - : res.status(400).json(); + ? axios + .get( + WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), + azureHeaders(token.access_token) + ) + .then(({ data }) => { + res.status(200).json(data); + }) + .catch((error) => { + consoleLogger(error); + res.status(400).json(error); + }) + : res.status(400).json(); return apiResponse; } diff --git a/pages/api/endpoint/getprojecttypes_api.js b/pages/api/endpoint/getprojecttypes_api.js index f5923fc1..cdcee2e4 100644 --- a/pages/api/endpoint/getprojecttypes_api.js +++ b/pages/api/endpoint/getprojecttypes_api.js @@ -11,7 +11,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getrepresentations_api.js b/pages/api/endpoint/getrepresentations_api.js index c59249c4..1b037140 100644 --- a/pages/api/endpoint/getrepresentations_api.js +++ b/pages/api/endpoint/getrepresentations_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getrepresentationsproxy_api.js b/pages/api/endpoint/getrepresentationsproxy_api.js index 4c535208..eec1ab40 100644 --- a/pages/api/endpoint/getrepresentationsproxy_api.js +++ b/pages/api/endpoint/getrepresentationsproxy_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsearchdocumentTypes_api.js b/pages/api/endpoint/getsearchdocumentTypes_api.js index 26b154ad..5d3efa7d 100644 --- a/pages/api/endpoint/getsearchdocumentTypes_api.js +++ b/pages/api/endpoint/getsearchdocumentTypes_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsearchdocumentdetails_api.js b/pages/api/endpoint/getsearchdocumentdetails_api.js index acd87d61..10de003d 100644 --- a/pages/api/endpoint/getsearchdocumentdetails_api.js +++ b/pages/api/endpoint/getsearchdocumentdetails_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsearchdocumentdetailspaged_api.js b/pages/api/endpoint/getsearchdocumentdetailspaged_api.js index 867b006d..677e405c 100644 --- a/pages/api/endpoint/getsearchdocumentdetailspaged_api.js +++ b/pages/api/endpoint/getsearchdocumentdetailspaged_api.js @@ -45,11 +45,10 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { - azureHeadersPagedCustom, - consoleLogger, - getToken, -} from "../../../actions"; +import { azureHeadersPagedCustom } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; +import { hashAPIPath } from "../../../actions/core/hash"; const WORDKEY = process.env.HASHKEY; @@ -57,18 +56,6 @@ const WEBAPI_URL = process.env.RELAY_ROOT || "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; -const hashAPIPath = (queryPath) => { - var hashlink = CryptoJS.HmacSHA256( - queryPath, - CryptoJS.enc.Hex.parse(WORDKEY) - ); - hashlink = hashlink.toString(CryptoJS.enc.Hex); - - //return "&hash=" + hashlink; - - return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink; -}; - const encryptDocReference = (documentRef) => { var hashlink = CryptoJS.HmacSHA256( "documents/download/" + documentRef, @@ -158,7 +145,7 @@ export default async function ApiProxy(req, res) { "pinswg_documentpublisheddate": element.pinswg_documentpublisheddate != null ? element.pinswg_documentpublisheddate - : element.pinswg_latestpublisheddate, + : element.pinswg_latestpublisheddate }); element.pinswg_hashlink = encryptDocReference( element.pinswg_isharedocumentreference diff --git a/pages/api/endpoint/getsearchdocumenthistory_api.js b/pages/api/endpoint/getsearchdocumenthistory_api.js index 6e67cb80..a8d63f2b 100644 --- a/pages/api/endpoint/getsearchdocumenthistory_api.js +++ b/pages/api/endpoint/getsearchdocumenthistory_api.js @@ -18,7 +18,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsearchdocumenthistorypaged_api.js b/pages/api/endpoint/getsearchdocumenthistorypaged_api.js index 2deee33a..49546990 100644 --- a/pages/api/endpoint/getsearchdocumenthistorypaged_api.js +++ b/pages/api/endpoint/getsearchdocumenthistorypaged_api.js @@ -44,7 +44,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeadersPaged, consoleLogger, getToken } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsipsevents_api.js b/pages/api/endpoint/getsipsevents_api.js index 5311aa6e..db483781 100644 --- a/pages/api/endpoint/getsipsevents_api.js +++ b/pages/api/endpoint/getsipsevents_api.js @@ -1,6 +1,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getsipsmedia_api.js b/pages/api/endpoint/getsipsmedia_api.js index 37b119cd..b1baa6c6 100644 --- a/pages/api/endpoint/getsipsmedia_api.js +++ b/pages/api/endpoint/getsipsmedia_api.js @@ -1,6 +1,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -11,7 +13,7 @@ const WEBAPI_URL = const hashAPIPath = (queryPath) => { var hashlink = CryptoJS.HmacSHA256( queryPath, - CryptoJS.enc.Hex.parse(WORDKEY), + CryptoJS.enc.Hex.parse(WORDKEY) ); hashlink = hashlink.toString(CryptoJS.enc.Hex); @@ -70,7 +72,7 @@ export default function ApiProx(req, res) { "pinswg_mediaLinkEN": "https://www.youtube.com/watch?v=H7S6CfF_7PI", "pinswg_mediaLinkCY": - "https://www.youtube.com/watch?v=H7S6CfF_7PI", + "https://www.youtube.com/watch?v=H7S6CfF_7PI" }, { "pinswg_publishtoweb@OData.Community.Display.V1.FormattedValue": @@ -93,7 +95,7 @@ export default function ApiProx(req, res) { "pinswg_mediaLinkEN": "https://www.youtube.com/watch?v=OhxeLV_jPyE", "pinswg_mediaLinkCY": - "https://www.youtube.com/watch?v=OhxeLV_jPyE", + "https://www.youtube.com/watch?v=OhxeLV_jPyE" }, { "pinswg_publishtoweb@OData.Community.Display.V1.FormattedValue": @@ -117,7 +119,7 @@ export default function ApiProx(req, res) { "pinswg_mediaLinkEN": "https://www.youtube.com/watch?v=9nsmadjgW94", "pinswg_mediaLinkCY": - "https://www.youtube.com/watch?v=9nsmadjgW94", + "https://www.youtube.com/watch?v=9nsmadjgW94" }, { "pinswg_publishtoweb@OData.Community.Display.V1.FormattedValue": @@ -141,9 +143,9 @@ export default function ApiProx(req, res) { "pinswg_mediaLinkEN": "https://www.youtube.com/watch?v=tRW3tm2Mby8", "pinswg_mediaLinkCY": - "https://www.youtube.com/watch?v=tRW3tm2Mby8", - }, - ], + "https://www.youtube.com/watch?v=tRW3tm2Mby8" + } + ] }; return res.status(200).json(data); } diff --git a/pages/api/endpoint/getwatchedcases_api.js b/pages/api/endpoint/getwatchedcases_api.js index eb8db3a1..8481af78 100644 --- a/pages/api/endpoint/getwatchedcases_api.js +++ b/pages/api/endpoint/getwatchedcases_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/getwatchedcasesproxy_api.js b/pages/api/endpoint/getwatchedcasesproxy_api.js index 073c18c6..8f81ef0c 100644 --- a/pages/api/endpoint/getwatchedcasesproxy_api.js +++ b/pages/api/endpoint/getwatchedcasesproxy_api.js @@ -19,7 +19,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { azureHeaders, consoleLogger, getToken } from "../../../actions"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; diff --git a/pages/api/endpoint/patchcase_api.js b/pages/api/endpoint/patchcase_api.js index c61f8c6c..72be4972 100644 --- a/pages/api/endpoint/patchcase_api.js +++ b/pages/api/endpoint/patchcase_api.js @@ -13,7 +13,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -39,7 +40,7 @@ export default async function ApiProxy(req, res) { var token = await getToken(); var data = JSON.stringify({ - "servicestage": 0, + "servicestage": 0 }); //console.log(data, WEBAPI_URL + queryUrl); @@ -53,9 +54,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; var apiResponse = _.isEmpty(req.query) diff --git a/pages/api/endpoint/updateaccount_api.js b/pages/api/endpoint/updateaccount_api.js index 02aa56a3..f48cf834 100644 --- a/pages/api/endpoint/updateaccount_api.js +++ b/pages/api/endpoint/updateaccount_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -47,9 +48,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; console.log(config); diff --git a/pages/api/endpoint/updatecase_api.js b/pages/api/endpoint/updatecase_api.js index 11d9e08d..aa2dc39d 100644 --- a/pages/api/endpoint/updatecase_api.js +++ b/pages/api/endpoint/updatecase_api.js @@ -12,7 +12,7 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { getToken } from "../../../actions"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -51,9 +51,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; //console.log("update case:", data); diff --git a/pages/api/endpoint/updatepassword_api.js b/pages/api/endpoint/updatepassword_api.js index ceed6018..e8c66a47 100644 --- a/pages/api/endpoint/updatepassword_api.js +++ b/pages/api/endpoint/updatepassword_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -47,9 +48,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; return axios(config) diff --git a/pages/api/file/createappealcompletemessage_api.js b/pages/api/file/createappealcompletemessage_api.js index 9be37320..2cbdbc7e 100644 --- a/pages/api/file/createappealcompletemessage_api.js +++ b/pages/api/file/createappealcompletemessage_api.js @@ -1,10 +1,10 @@ -import { hashAPIPath, updateAccount } from "../../../actions"; +import { updateAccount } from "../../../actions/services/accountService"; import { createCaseCompleteMessage, getProgressBlobs, downloadProgressFile, createBlob, - getCaseBlob, + getCaseBlob } from "../../../actions/azurestorage"; import _ from "lodash"; @@ -44,7 +44,7 @@ ApiProxy.get(async (req, res) => { ); Object.assign(blobProgress, { - "appealComplete": tempCaseRef, + "appealComplete": tempCaseRef }); delete blobProgress["pinswg_name"]; @@ -75,7 +75,7 @@ ApiProxy.get(async (req, res) => { "pinswg_lpareference": blobProgress.pinswg_lpaapplicationreference, "description": blobProgress.pinswg_developmentdescription, - "pinswg_caseaddress": combinedAddress, + "pinswg_caseaddress": combinedAddress }); //send update case.json and then create queue message @@ -87,7 +87,7 @@ ApiProxy.get(async (req, res) => { updateAccount( contactId[1], { - "pinswg_typeofinvolvement": 846040001, + "pinswg_typeofinvolvement": 846040001 }, true ).then((data) => { @@ -104,7 +104,7 @@ ApiProxy.get(async (req, res) => { createCaseCompleteMessage(containerName, tempCaseRef); return res.status(200).json({ - status: "success", + status: "success" }); }); }) @@ -136,8 +136,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/createappealcompletemessageproxy_api.js b/pages/api/file/createappealcompletemessageproxy_api.js index 29406af3..81f5bf4b 100644 --- a/pages/api/file/createappealcompletemessageproxy_api.js +++ b/pages/api/file/createappealcompletemessageproxy_api.js @@ -1,12 +1,10 @@ -import { - hashAPIPath, - getToken, - azureHeaders, - consoleLogger, -} from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; +import { getToken } from "../../../actions/core/token"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; import { getBlobs, - createCaseCompleteMessage, + createCaseCompleteMessage } from "../../../actions/azurestorage"; import axios from "axios"; @@ -35,7 +33,7 @@ ApiProxy.get(async (req, res) => { var config = { method: "get", - url: WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), + url: WEBAPI_URL + queryUrl + hashAPIPath(queryUrl) }; return axios(config) @@ -53,8 +51,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/createcase_api.js b/pages/api/file/createcase_api.js index 1f057e59..7c972240 100644 --- a/pages/api/file/createcase_api.js +++ b/pages/api/file/createcase_api.js @@ -1,7 +1,9 @@ import axios from "axios"; import CryptoJS from "crypto-js"; import _ from "lodash"; -import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions"; +import { azureHeadersPaged } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; import { getCaseBlob, createBlob } from "../../../actions/azurestorage"; import { getTempCaseRef } from "../../../components/utils"; import { v4 as uuidv4 } from "uuid"; @@ -44,7 +46,7 @@ export default async function ApiProxy(req, res) { "servicestage": 1, "customerid_contact@odata.bind": "/contacts(" + contactid + ")", "pinswg_appealcasetype": appealTypeId, - "pinswg_AssociatedLPA@odata.bind": "/accounts(" + lpaID + ")", + "pinswg_AssociatedLPA@odata.bind": "/accounts(" + lpaID + ")" }; var newData = Object.assign(data, createCaseBody); @@ -56,7 +58,7 @@ export default async function ApiProxy(req, res) { var newAppealObj = { "pinswg_name": tempCaseRef, "pinswg_appealcasetype": appealTypeId, - "_pinswg_associatedlpa_value": lpaID, + "_pinswg_associatedlpa_value": lpaID }; // var config = { diff --git a/pages/api/file/createcaseinvolvement_api.js b/pages/api/file/createcaseinvolvement_api.js index 545f34ea..2fcc597b 100644 --- a/pages/api/file/createcaseinvolvement_api.js +++ b/pages/api/file/createcaseinvolvement_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -45,7 +46,7 @@ export default async function ApiProxy(req, res) { var crmUrl = "https://" + process.env.CRMURL; var data = { - "@odata.id": crmUrl + "/api/data/v8.2/contacts(" + contactid + ")", + "@odata.id": crmUrl + "/api/data/v8.2/contacts(" + contactid + ")" }; var config = { @@ -58,9 +59,9 @@ export default async function ApiProxy(req, res) { "If-None-Match": "null", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; return axios(config) diff --git a/pages/api/file/createrepcompletemessage_api.js b/pages/api/file/createrepcompletemessage_api.js index 4febc9b6..e55ac766 100644 --- a/pages/api/file/createrepcompletemessage_api.js +++ b/pages/api/file/createrepcompletemessage_api.js @@ -1,7 +1,6 @@ -import { hashAPIPath } from "../../../actions"; import { getBlobs, - createRepCompleteMessage, + createRepCompleteMessage } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -38,8 +37,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/createrepinvolvement_api.js b/pages/api/file/createrepinvolvement_api.js index cd059683..3fe378d9 100644 --- a/pages/api/file/createrepinvolvement_api.js +++ b/pages/api/file/createrepinvolvement_api.js @@ -12,7 +12,8 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { consoleLogger, getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -47,7 +48,7 @@ export default async function ApiProxy(req, res) { var data = { "@odata.id": - crmUrl + "/api/data/" + crmVersion + "/contacts(" + contactid + ")", + crmUrl + "/api/data/" + crmVersion + "/contacts(" + contactid + ")" }; var config = { @@ -60,9 +61,9 @@ export default async function ApiProxy(req, res) { "If-None-Match": "null", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; return axios(config) diff --git a/pages/api/file/deleteawaitingsubmissionfromblob.js b/pages/api/file/deleteawaitingsubmissionfromblob.js index 64ca4d30..dd459590 100644 --- a/pages/api/file/deleteawaitingsubmissionfromblob.js +++ b/pages/api/file/deleteawaitingsubmissionfromblob.js @@ -1,4 +1,4 @@ -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import { deleteBlob } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -38,8 +38,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/deleteblob.js b/pages/api/file/deleteblob.js index 465dc167..2a57c3b6 100644 --- a/pages/api/file/deleteblob.js +++ b/pages/api/file/deleteblob.js @@ -1,4 +1,4 @@ -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import { deleteBlob } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -35,8 +35,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/deleteblobcase.js b/pages/api/file/deleteblobcase.js index 2bfd453d..c849ef80 100644 --- a/pages/api/file/deleteblobcase.js +++ b/pages/api/file/deleteblobcase.js @@ -1,4 +1,4 @@ -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import { deleteBlobCase } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -33,8 +33,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/deleteblobrep.js b/pages/api/file/deleteblobrep.js index 50f77135..2c3e55c2 100644 --- a/pages/api/file/deleteblobrep.js +++ b/pages/api/file/deleteblobrep.js @@ -1,4 +1,4 @@ -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import { deleteBlobCase, deleteBlobRep } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -38,8 +38,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/downloadblob.js b/pages/api/file/downloadblob.js index 4b8d6cb0..fe2ab520 100644 --- a/pages/api/file/downloadblob.js +++ b/pages/api/file/downloadblob.js @@ -1,7 +1,7 @@ import { downloadFile } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import middleware from "../middleware/middleware"; const WORDKEY = process.env.HASHKEY; @@ -58,8 +58,8 @@ async function streamToBuffer(readableStream) { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/generateappealpdf.js b/pages/api/file/generateappealpdf.js index dddb8dd2..783c3db4 100644 --- a/pages/api/file/generateappealpdf.js +++ b/pages/api/file/generateappealpdf.js @@ -82,9 +82,9 @@ import { downloadProgressFile, getProgressBlobs, getTempCaseBlob, - createAppealPDFBlob, + createAppealPDFBlob } from "../../../actions/azurestorage"; -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import ReactPDF, { Document, @@ -92,13 +92,13 @@ import ReactPDF, { Text, View, StyleSheet, - PDFViewer, + PDFViewer } from "@react-pdf/renderer"; import middleware from "../middleware/middleware"; import nextConnect from "next-connect"; import fs from "fs"; import path from "path"; -import { getPickLists } from "../../../actions"; +import { getPickLists } from "../../../actions/services/referenceDataService"; import { planningappeals78_pdf } from "../../../components/pdftemplates/planningappeals78_pdf"; import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_pdf"; import { statement_pdf } from "../../../components/pdftemplates/statement_pdf"; @@ -165,7 +165,7 @@ export default async function handler(req, res) { Object.assign(blobProgress, { "filesList": uniqueArray, - "caseObj": tempCaseBlob, + "caseObj": tempCaseBlob }); const pickListData = await getPickLists(appealType); @@ -208,7 +208,7 @@ export default async function handler(req, res) { return res.status(200).json({ status: "success", data: data, - path: `/files/${pdfFileName}.pdf`, + path: `/files/${pdfFileName}.pdf` }); }); } diff --git a/pages/api/file/generateappealpdfcopy.js b/pages/api/file/generateappealpdfcopy.js index 9f23bc92..4a1b7778 100644 --- a/pages/api/file/generateappealpdfcopy.js +++ b/pages/api/file/generateappealpdfcopy.js @@ -8,15 +8,13 @@ import { downloadProgressFile, getProgressBlobs, getTempCaseBlob, - createAppealPDFBlob, + createAppealPDFBlob } from "../../../actions/azurestorage"; import { - hashAPIPath, - getSearchDocumentDetails, getCaseByID, getPortalModuleDetails, - getAppealPDFDocs, -} from "../../../actions"; + getAppealPDFDocs +} from "../../../actions/services/caseService"; import { getFormCollectionByID } from "../../../components/utils"; import ReactPDF, { Document, @@ -25,14 +23,14 @@ import ReactPDF, { View, StyleSheet, PDFViewer, - pdf, + pdf } from "@react-pdf/renderer"; import middleware from "../middleware/middleware"; import nextConnect from "next-connect"; import fs from "fs"; import path from "path"; -import { getPickLists } from "../../../actions"; +import { getPickLists } from "../../../actions/services/referenceDataService"; import { planningappeals78_pdf } from "../../../components/pdftemplates/planningappeals78_pdf"; import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_pdf"; import { statement_pdf } from "../../../components/pdftemplates/statement_pdf"; @@ -89,7 +87,7 @@ export default async function handler(req, res) { const appealTypeMap = { 846040000: planningappeals78_pdf, - 846040004: planningappeals78_pdf, + 846040004: planningappeals78_pdf }; //console.log(caseDetailsObj[0].value[0]); @@ -102,7 +100,7 @@ export default async function handler(req, res) { const pdfComponent = MyDocument({ docProps: caseDetailsObj[0].value[0], - pickListData, + pickListData }); const pdfBuffer = await pdf(pdfComponent).toBuffer(); diff --git a/pages/api/file/generatepdf.js b/pages/api/file/generatepdf.js index d67b197f..9962d06b 100644 --- a/pages/api/file/generatepdf.js +++ b/pages/api/file/generatepdf.js @@ -81,7 +81,7 @@ import { uploadPDFRepFiles, createRepPDFBlob } from "../../../actions/azurestorage"; -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import ReactPDF, { Document, @@ -100,7 +100,7 @@ import { finalComments_pdf } from "../../../components/pdftemplates/finalComment import { statement_pdf } from "../../../components/pdftemplates/statement_pdf"; import { writtenStatement_pdf } from "../../../components/pdftemplates/writtenStatement_pdf"; import { other_pdf } from "../../../components/pdftemplates/other_pdf"; -import { consoleLogger } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; //const ApiProxy = nextConnect(); // ApiProxy.use(middleware); diff --git a/pages/api/file/getawaitingsubmissionfromblob.js b/pages/api/file/getawaitingsubmissionfromblob.js index ce3efa45..86f0a0f0 100644 --- a/pages/api/file/getawaitingsubmissionfromblob.js +++ b/pages/api/file/getawaitingsubmissionfromblob.js @@ -5,7 +5,7 @@ import { import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); diff --git a/pages/api/file/getawaitingsubmissionfromblobproxy.js b/pages/api/file/getawaitingsubmissionfromblobproxy.js index 1299773c..f7f1b2f8 100644 --- a/pages/api/file/getawaitingsubmissionfromblobproxy.js +++ b/pages/api/file/getawaitingsubmissionfromblobproxy.js @@ -1,16 +1,14 @@ import { downloadAllProgressFiles, - getAllProgressBlobs, + getAllProgressBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { - getToken, - azureHeaders, - consoleLogger, - hashAPIPath, -} from "../../../actions"; +import { getToken } from "../../../actions/core/token"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { hashAPIPath } from "../../../actions/core/hash"; import axios from "axios"; import CryptoJS from "crypto-js"; diff --git a/pages/api/file/getbloblist.js b/pages/api/file/getbloblist.js index ae972fc5..0154b8fa 100644 --- a/pages/api/file/getbloblist.js +++ b/pages/api/file/getbloblist.js @@ -29,7 +29,7 @@ * description: Success */ -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; import { getBlobs, getRepsFilesBlobs } from "../../../actions/azurestorage"; import nextConnect from "next-connect"; @@ -75,8 +75,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/getbloblistproxy.js b/pages/api/file/getbloblistproxy.js index 65e8d007..5e9f66e3 100644 --- a/pages/api/file/getbloblistproxy.js +++ b/pages/api/file/getbloblistproxy.js @@ -1,16 +1,14 @@ import { downloadAllProgressFiles, - getAllProgressBlobs, + getAllProgressBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { - getToken, - azureHeaders, - consoleLogger, - hashAPIPath, -} from "../../../actions"; +import { getToken } from "../../../actions/core/token"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { hashAPIPath } from "../../../actions/core/hash"; import axios from "axios"; import CryptoJS from "crypto-js"; diff --git a/pages/api/file/getprogressobjblob.js b/pages/api/file/getprogressobjblob.js index 07b7e39f..aac8bfd5 100644 --- a/pages/api/file/getprogressobjblob.js +++ b/pages/api/file/getprogressobjblob.js @@ -1,11 +1,11 @@ import { downloadProgressFile, - getProgressBlobs, + getProgressBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); @@ -48,8 +48,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/getrepsblob.js b/pages/api/file/getrepsblob.js index 9cad4147..51bf1df3 100644 --- a/pages/api/file/getrepsblob.js +++ b/pages/api/file/getrepsblob.js @@ -31,12 +31,13 @@ import { downloadAllRepsFiles, - getRepsBlobs, + getRepsBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { consoleLogger, hashAPIPath } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; +import { consoleLogger } from "../../../actions/core/logger"; const ApiProxy = nextConnect(); ApiProxy.use(middleware); diff --git a/pages/api/file/getrepsblobproxy.js b/pages/api/file/getrepsblobproxy.js index 58c282f1..0b199f1b 100644 --- a/pages/api/file/getrepsblobproxy.js +++ b/pages/api/file/getrepsblobproxy.js @@ -1,16 +1,14 @@ import { downloadAllProgressFiles, - getAllProgressBlobs, + getAllProgressBlobs } from "../../../actions/azurestorage"; import _ from "lodash"; import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { - getToken, - azureHeaders, - consoleLogger, - hashAPIPath, -} from "../../../actions"; +import { getToken } from "../../../actions/core/token"; +import { azureHeaders } from "../../../actions/core/headers"; +import { consoleLogger } from "../../../actions/core/logger"; +import { hashAPIPath } from "../../../actions/core/hash"; import axios from "axios"; import CryptoJS from "crypto-js"; diff --git a/pages/api/file/setupcontainer.js b/pages/api/file/setupcontainer.js index 4225185a..86aa9bf0 100644 --- a/pages/api/file/setupcontainer.js +++ b/pages/api/file/setupcontainer.js @@ -3,9 +3,10 @@ import { createContainerSas, getContainers, getBlobs, - uploadFile, + uploadFile } from "../../../actions/azurestorage"; -import { hashAPIPath, consoleLogger } from "../../../actions"; +import { hashAPIPath } from "../../../actions/core/hash"; +import { consoleLogger } from "../../../actions/core/logger"; import middleware from "../middleware/middleware"; import nextConnect from "next-connect"; @@ -34,7 +35,7 @@ ApiProxy.get(async (req, res) => { consoleLogger({ name: "setupcontainer", code: "bad hash", - query: JSON.stringify(req.query), + query: JSON.stringify(req.query) }); return res.status(400).json(); } @@ -42,8 +43,8 @@ ApiProxy.get(async (req, res) => { export const config = { api: { - bodyParser: false, - }, + bodyParser: false + } }; export default ApiProxy; diff --git a/pages/api/file/updatecase_api.js b/pages/api/file/updatecase_api.js index cc1aab45..754dc1d0 100644 --- a/pages/api/file/updatecase_api.js +++ b/pages/api/file/updatecase_api.js @@ -1,6 +1,7 @@ import axios from "axios"; import CryptoJS from "crypto-js"; -import { getToken } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; +import { getToken } from "../../../actions/core/token"; const WORDKEY = process.env.HASHKEY; @@ -39,9 +40,9 @@ export default async function ApiProxy(req, res) { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", + "Content-Type": "application/json" }, - data: data, + data: data }; //console.log("update case:", data); diff --git a/pages/api/file/uploadsinglefile.js b/pages/api/file/uploadsinglefile.js index 67d7e4d1..cd8e45ff 100644 --- a/pages/api/file/uploadsinglefile.js +++ b/pages/api/file/uploadsinglefile.js @@ -6,7 +6,7 @@ import { import nextConnect from "next-connect"; import middleware from "../middleware/middleware"; -import { consoleLogger } from "../../../actions"; +import { consoleLogger } from "../../../actions/core/logger"; import { fileTypeFromBuffer } from "file-type"; import fs from "fs"; import path from "path"; diff --git a/pages/auth/signin.js b/pages/auth/signin.js index 3e50fab2..941e2775 100644 --- a/pages/auth/signin.js +++ b/pages/auth/signin.js @@ -7,7 +7,7 @@ import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; import ServiceBanner from "../../components/servicebanner"; -import { getPreferredLanguage } from "../../actions"; +import { getPreferredLanguage } from "../../actions/services/accountService"; import { setCookie } from "nookies"; const SignIn = (props) => { @@ -47,7 +47,7 @@ const SignIn = (props) => { setCookie(null, "pedw_locale", userLang, { path: "/", - maxAge: 60 * 60 * 24 * 365, + maxAge: 60 * 60 * 24 * 365 }); event.target.callbackUrl.value = url.toString(); @@ -85,7 +85,7 @@ const SignIn = (props) => {

    {t( - "auth:auth-page-title", + "auth:auth-page-title" )}{" "}

    @@ -124,7 +124,7 @@ const SignIn = (props) => { htmlFor="email" > {t( - "auth:auth-email-label", + "auth:auth-email-label" )} @@ -144,7 +144,7 @@ const SignIn = (props) => { } > {t( - "auth:auth-signin-button-label", + "auth:auth-signin-button-label" )}
  • @@ -169,8 +169,8 @@ export async function getServerSideProps(context) { return { redirect: { destination: "/status", - permanent: false, - }, + permanent: false + } }; } @@ -179,7 +179,7 @@ export async function getServerSideProps(context) { "\n//////////////////////\n", "Sign in callbackurl: " + context.query.callbackUrl, context.locale, - "\n//////////////////////\n", + "\n//////////////////////\n" ); let formURL = context.req.headers.host; //console.log("formUrl:", formURL); @@ -209,7 +209,7 @@ export async function getServerSideProps(context) { // Append the query parameters to the new URL params.forEach((value, key) => - toUrlObj.searchParams.append(key, value), + toUrlObj.searchParams.append(key, value) ); return toUrlObj.toString(); // Return the full new URL as a string @@ -218,7 +218,7 @@ export async function getServerSideProps(context) { typeof context.query.callbackUrl != "undefined" && (formURL = appendParamsAndPathToNewUrl( context.query.callbackUrl, - formURL, + formURL )); //formURL = appendParamsAndPathToNewUrl(context.query.callbackUrl, formURL); @@ -233,7 +233,7 @@ export async function getServerSideProps(context) { console.log("========== callback: ", url.toString()); return { - props: { csrfToken: csrfToken, callbackUrl: url.toString() }, + props: { csrfToken: csrfToken, callbackUrl: url.toString() } }; } diff --git a/pages/case/[ticketnumber].js b/pages/case/[ticketnumber].js index e34f30f2..45bc2072 100644 --- a/pages/case/[ticketnumber].js +++ b/pages/case/[ticketnumber].js @@ -3,15 +3,17 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; import { - getBasicSearch, - getCaseMessage, - getIP, getPersonalAccount, - getPortalLogin, + getPortalLogin +} from "../../actions/services/accountService"; +import { + getCaseMessage, getSIPSEvents, - getSIPSMedia, -} from "../../actions"; + getSIPSMedia +} from "../../actions/services/caseService"; +import { getBasicSearch } from "../../actions/services/searchService"; import Breadcrumbs from "../../components/breadcrumbs"; import Case from "../../components/case"; import CookieBanner from "../../components/cookieBanner"; @@ -25,7 +27,7 @@ import { setEventDetails, setSearchDetails, setSearchResults, - setMediaDetails, + setMediaDetails } from "../../store/searchOutput/action"; import { wrapper } from "../../store/store"; import ServiceBanner from "../../components/servicebanner"; @@ -35,7 +37,7 @@ const CaseHome = (props) => { pages, setSearchResults, setSearchDetails, - searchResultsObj, + searchResultsObj } = props; let { t, lang } = useTranslation(); @@ -140,7 +142,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); loggedInUser = loggedInUser.value[0].contactid; @@ -164,14 +166,14 @@ export const getServerSideProps = wrapper.getServerSideProps( if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { eventsObj = await getSIPSEvents( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setEventDetails(eventsObj)); } if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { mediaObj = await getSIPSMedia( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setMediaDetails(mediaObj)); } @@ -191,15 +193,15 @@ export const getServerSideProps = wrapper.getServerSideProps( console.log( searchResultsObj["@odata.count"] > 1 || - searchResultsObj["@odata.count"] < 1, + searchResultsObj["@odata.count"] < 1 ); if (searchResultsObj["@odata.count"] < 1) { return { redirect: { destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { if (searchResultsObj["@odata.count"] > 1) { @@ -207,8 +209,8 @@ export const getServerSideProps = wrapper.getServerSideProps( redirect: { //destination: "/dns-not-found", destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { store.dispatch(setSearchResults(searchResultsObj)); @@ -231,8 +233,8 @@ export const getServerSideProps = wrapper.getServerSideProps( .pinswg_speacialistcaseprocess || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess - : "", - }), + : "" + }) ); } } @@ -243,19 +245,19 @@ export const getServerSideProps = wrapper.getServerSideProps( searchResultsObj: searchResultsObj, searchDetailsObj: searchDetailsObj, eventsObj: eventsObj, - mediaObj: mediaObj, + mediaObj: mediaObj }, currentType: "directResultsObj", docsOffline: process.env.DOCAPI_OFFLINE || false, messagesObj: await getCaseMessage( - searchResultsObj.value[0].incidentid, + searchResultsObj.value[0].incidentid ), showFilteredDocs: process.env.SHOWFILTERDOCS || false, showMaps: process.env.SHOWMAPS, - showLoginCheck: process.env.SHOWLOGIN || false, - }, + showLoginCheck: process.env.SHOWLOGIN || false + } }; - }, + } ); const mapStateToProps = (state) => { @@ -271,7 +273,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; @@ -279,7 +281,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentReference: (currentReference) => { dispatch(setCurrentReference(refno)); - }, + } // setSearchResults: (searchResults) => { // dispatch(setSearchResults(searchResults)); // }, diff --git a/pages/case/id/[incident].js b/pages/case/id/[incident].js index 95ba6d39..44deaf88 100644 --- a/pages/case/id/[incident].js +++ b/pages/case/id/[incident].js @@ -3,12 +3,12 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../../actions/core/logger"; import { - getIP, - getIncidentbyID, getPersonalAccount, - getPortalLogin, -} from "../../../actions"; + getPortalLogin +} from "../../../actions/services/accountService"; +import { getIncidentbyID } from "../../../actions/services/caseService"; import Breadcrumbs from "../../../components/breadcrumbs"; import Case from "../../../components/case"; import CookieBanner from "../../../components/cookieBanner"; @@ -16,7 +16,7 @@ import Footer from "../../../components/footer"; import Header from "../../../components/header"; import { getFormCollectionByID, - getSearchDetails, + getSearchDetails } from "../../../components/utils"; import { setAccountDetails } from "../../../store/accountDetails/action"; import { setCurrentReference } from "../../../store/currentView/action"; @@ -113,7 +113,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); loggedInUser = loggedInUser.value[0].contactid; @@ -147,20 +147,20 @@ export const getServerSideProps = wrapper.getServerSideProps( whichAppeal == "pinswg_harbourrevisionorders" ? "pinswg_postcode" : whichAppeal == "pinswg_transportandworkacts" || - whichAppeal == "pinswg_electricityacts" || - whichAppeal == "pinswg_dnses" - ? "pinswg_postcode" - : "pinswg_siteaddresspostcode"; + whichAppeal == "pinswg_electricityacts" || + whichAppeal == "pinswg_dnses" + ? "pinswg_postcode" + : "pinswg_siteaddresspostcode"; var defaultFirstLineAddress = whichAppeal == "pinswg_ldps" || whichAppeal == "pinswg_harbourrevisionorders" ? "pinswg_postcode" : whichAppeal == "pinswg_transportandworkacts" || - whichAppeal == "pinswg_electricityacts" || - whichAppeal == "pinswg_dnses" - ? "pinswg_addressline1" - : "pinswg_siteaddressline1"; + whichAppeal == "pinswg_electricityacts" || + whichAppeal == "pinswg_dnses" + ? "pinswg_addressline1" + : "pinswg_siteaddressline1"; store.dispatch( req.headers.hasOwnProperty("referer") @@ -190,8 +190,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { store.dispatch( @@ -201,7 +201,7 @@ export const getServerSideProps = wrapper.getServerSideProps( "currentType": "searchResultsObj", "incidentid": searchResultsObj.value[0].incidentid, "appealType": - searchResultsObj.value[0].pinswg_appealcasetype, + searchResultsObj.value[0].pinswg_appealcasetype }) ); } @@ -209,11 +209,11 @@ export const getServerSideProps = wrapper.getServerSideProps( props: { searchResultsObj: { searchResultsObj: searchResultsObj, - searchDetailsObj: searchDetailsObj, + searchDetailsObj: searchDetailsObj }, currentType: "directResultsObj", - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } ); @@ -231,7 +231,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; @@ -239,7 +239,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentReference: (currentReference) => { dispatch(setCurrentReference(refno)); - }, + } }; }; diff --git a/pages/contactus.js b/pages/contactus.js index 25c8f333..27ad44e4 100644 --- a/pages/contactus.js +++ b/pages/contactus.js @@ -13,10 +13,11 @@ import { formValueSelector, reduxForm, touch, - SubmissionError, + SubmissionError } from "redux-form"; import { connect } from "react-redux"; -import { createCRMTask, sendEmail } from "../actions"; +import { createCRMTask } from "../actions/services/integrationService"; +import { sendEmail } from "../actions/services/notifyService"; import { useState } from "react"; @@ -28,7 +29,7 @@ const RenderPickList = ({ label, input, errorMsg, - meta: { touched, error }, + meta: { touched, error } }) => { let { t } = useTranslation(); @@ -318,7 +319,7 @@ let ContactUs = (props) => { const sendContactEmail = async (formValues) => { Object.assign(formValues, { "contactSubject": contactPurpose(formValues.typeOfContact).props - .children, + .children }); const reference = "PEDW-CONTACT-US"; @@ -340,7 +341,7 @@ let ContactUs = (props) => { alert("Something went wrong. Please try again later."); // Required: inform redux-form this is a submit error throw new SubmissionError({ - _error: "Failed to send email. Please try again later.", + _error: "Failed to send email. Please try again later." }); } }; @@ -367,7 +368,7 @@ let ContactUs = (props) => { alert("Something went wrong. Please try again later."); // Required: inform redux-form this is a submit error throw new SubmissionError({ - _error: "Failed to send email. Please try again later.", + _error: "Failed to send email. Please try again later." }); } }; @@ -513,7 +514,7 @@ const mapStateToProps = (state) => { return { typeOfContactValue, initialValues: email ? { contactEmail: email } : {}, - petEmail: process.env.NEXT_PUBLIC_PETEMAIL, + petEmail: process.env.NEXT_PUBLIC_PETEMAIL }; }; @@ -544,7 +545,7 @@ export default connect( ) { errorElement.scrollIntoView({ behavior: "smooth", - block: "center", + block: "center" }); errorElement.focus({ preventScroll: true }); } else { @@ -556,6 +557,6 @@ export default connect( } console.log("Redux Form onSubmitFail:", submitError); - }, + } })(ContactUs) ); diff --git a/pages/dbcheck.js b/pages/dbcheck.js index 0ad0dd2d..6eca3136 100644 --- a/pages/dbcheck.js +++ b/pages/dbcheck.js @@ -4,12 +4,12 @@ import { v4 as uuidv4 } from "uuid"; import { createContainerSas, listContainers, - listBlobHierarchical, + listBlobHierarchical } from "../actions/azurestorage"; import { PrismaClient } from "@prisma/client"; -import { consoleLogger, getIP } from "../actions"; +import { consoleLogger, getIP } from "../actions/core/logger"; const ShowStorage = (props) => { const { container } = props; diff --git a/pages/dns/[developmentName].js b/pages/dns/[developmentName].js index 52ec357f..7a116566 100644 --- a/pages/dns/[developmentName].js +++ b/pages/dns/[developmentName].js @@ -3,15 +3,17 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; import { - getBasicDNSURLSearch, - getCaseMessage, - getIP, getPersonalAccount, - getPortalLogin, + getPortalLogin +} from "../../actions/services/accountService"; +import { + getCaseMessage, getSIPSEvents, - getSIPSMedia, -} from "../../actions"; + getSIPSMedia +} from "../../actions/services/caseService"; +import { getBasicDNSURLSearch } from "../../actions/services/searchService"; import Breadcrumbs from "../../components/breadcrumbs"; import Case from "../../components/case"; import CookieBanner from "../../components/cookieBanner"; @@ -25,7 +27,7 @@ import { setEventDetails, setSearchDetails, setSearchResults, - setMediaDetails, + setMediaDetails } from "../../store/searchOutput/action"; import { wrapper } from "../../store/store"; import ServiceBanner from "../../components/servicebanner"; @@ -35,7 +37,7 @@ const CaseHome = (props) => { pages, setSearchResults, setSearchDetails, - searchResultsObj, + searchResultsObj } = props; let { t, lang } = useTranslation(); @@ -143,7 +145,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); loggedInUser = loggedInUser.value[0].contactid; @@ -168,7 +170,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { eventsObj = await getSIPSEvents( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setEventDetails(eventsObj)); @@ -176,7 +178,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { mediaObj = await getSIPSMedia( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setMediaDetails(mediaObj)); } @@ -202,15 +204,15 @@ export const getServerSideProps = wrapper.getServerSideProps( // }); console.log( searchResultsObj["@odata.count"] > 1 || - searchResultsObj["@odata.count"] < 1, + searchResultsObj["@odata.count"] < 1 ); if (searchResultsObj["@odata.count"] < 1) { return { redirect: { destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { if (searchResultsObj["@odata.count"] > 1) { @@ -218,8 +220,8 @@ export const getServerSideProps = wrapper.getServerSideProps( redirect: { //destination: "/dns-not-found", destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { // store.dispatch(setSearchResults(searchResultsObj)); @@ -242,13 +244,13 @@ export const getServerSideProps = wrapper.getServerSideProps( .pinswg_speacialistcaseprocess || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess - : "", - }), + : "" + }) ); } } let messagesObj = await getCaseMessage( - searchResultsObj.value[0].incidentid, + searchResultsObj.value[0].incidentid ); console.log(messagesObj); @@ -259,16 +261,16 @@ export const getServerSideProps = wrapper.getServerSideProps( searchResultsObj: searchResultsObj, searchDetailsObj: searchDetailsObj, eventsObj: eventsObj, - mediaObj: mediaObj, + mediaObj: mediaObj }, currentType: "directResultsObj", docsOffline: process.env.DOCAPI_OFFLINE || false, messagesObj: messagesObj, showFilteredDocs: process.env.SHOWFILTERDOCS || false, - showMaps: process.env.SHOWMAPS, - }, + showMaps: process.env.SHOWMAPS + } }; - }, + } ); const mapStateToProps = (state) => { @@ -284,7 +286,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; @@ -298,7 +300,7 @@ const mapDispatchToProps = (dispatch) => { }, setSearchDetails: (searchDetailsObj) => { dispatch(setSearchDetails(searchDetailsObj)); - }, + } }; }; diff --git a/pages/dns/index.js b/pages/dns/index.js index 0bd340aa..202362a0 100644 --- a/pages/dns/index.js +++ b/pages/dns/index.js @@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getDNSList } from "../../actions"; +import { getDNSList } from "../../actions/services/searchService"; import CookieBanner from "../../components/cookieBanner"; import Main from "../../components/dns//main"; import Footer from "../../components/footer"; @@ -15,7 +15,7 @@ import { getSearchDetails } from "../../components/utils"; import { setSearch } from "../../store/search/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; const Home = (props) => { @@ -64,8 +64,8 @@ export const getServerSideProps = wrapper.getServerSideProps( redirect: { //destination: "/dns-not-found", destination: "/error", - permanent: false, - }, + permanent: false + } }; } else { searchResultsObj = @@ -73,21 +73,19 @@ export const getServerSideProps = wrapper.getServerSideProps( ? { value: [], errorCode: searchResultsObj.status, - errorMsg: searchResultsObj.statusText, + errorMsg: searchResultsObj.statusText } : searchResultsObj; - const searchDetailsObj = await getSearchDetails( - searchResultsObj - ); + const searchDetailsObj = + await getSearchDetails(searchResultsObj); store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch(setSearch("DNS")); } } else { - const searchDetailsObj = await getSearchDetails( - searchResultsObj - ); + const searchDetailsObj = + await getSearchDetails(searchResultsObj); store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch(setSearch("DNS")); @@ -95,9 +93,9 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { searchResultsObj: { - searchResultsObj: searchResultsObj, - }, - }, + searchResultsObj: searchResultsObj + } + } }; } ); @@ -113,7 +111,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/dnsapplications.js b/pages/dnsapplications.js index a1315141..538c0d03 100644 --- a/pages/dnsapplications.js +++ b/pages/dnsapplications.js @@ -3,7 +3,10 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getBasicDNSSearch, getDNSCoords } from "../actions"; +import { + getBasicDNSSearch, + getDNSCoords +} from "../actions/services/searchService"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import DNSSearchResults from "../components/dnssearchresults"; @@ -14,7 +17,7 @@ import { setSearch } from "../store/search/action"; import { setSearchDetails, setSearchResults, - setDNSCoords, + setDNSCoords } from "../store/searchOutput/action"; import { wrapper } from "../store/store"; import ServiceBanner from "../components/servicebanner"; @@ -163,8 +166,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { showMap: showMapCheck, - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -180,7 +183,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/index.js b/pages/index.js index ad1ba3f9..ef0a423d 100644 --- a/pages/index.js +++ b/pages/index.js @@ -5,7 +5,10 @@ import Head from "next/head"; import { useRouter } from "next/router"; import { setCookie } from "nookies"; import { connect } from "react-redux"; -import { getIP, getPortalLogin, getToken, hashString } from "../actions"; +import { hashString } from "../actions/core/hash"; +import { getIP } from "../actions/core/logger"; +import { getToken } from "../actions/core/token"; +import { getPortalLogin } from "../actions/services/accountService"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; import Header from "../components/header"; @@ -25,7 +28,7 @@ const Home = (props) => { loginEmailStr, loggedInUserEmail, hasLoginCode, - siteurl, + siteurl } = props; let { t, lang } = useTranslation(); @@ -46,24 +49,29 @@ const Home = (props) => { hasLoginCode == false ? "" //console.log("no session") : _.has(loggedInUserId, "value") - ? _.isEmpty(loggedInUserId.value) - ? router.replace({ - pathname: - router.locale == "cy" - ? "/account/register" - : "/account/register", - query: { - id: encodeURI(loggedInUserEmail), - }, - }) - : (setCookie(null, "pinsUser", loggedInUserId.value[0].contactid, { - path: "/", - }), - router.replace({ - pathname: - router.locale == "cy" ? "/cy/fymhorth" : "/myportal", - })) - : console.log("no value in user id"); + ? _.isEmpty(loggedInUserId.value) + ? router.replace({ + pathname: + router.locale == "cy" + ? "/account/register" + : "/account/register", + query: { + id: encodeURI(loggedInUserEmail) + } + }) + : (setCookie( + null, + "pinsUser", + loggedInUserId.value[0].contactid, + { + path: "/" + } + ), + router.replace({ + pathname: + router.locale == "cy" ? "/cy/fymhorth" : "/myportal" + })) + : console.log("no value in user id"); return (
    @@ -194,8 +202,8 @@ export const getServerSideProps = wrapper.getServerSideProps( loggedInUserId: portalUserObj, loggedInUserEmail: loginEmailStr, hasLoginCode: hasLoginCode, - siteurl: process.env.API_ROOT, - }, + siteurl: process.env.API_ROOT + } }; } ); @@ -211,7 +219,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; export default connect(mapStateToProps)(Home); diff --git a/pages/myportal/[appealtypes].js b/pages/myportal/[appealtypes].js index 62f3631d..9e1db738 100644 --- a/pages/myportal/[appealtypes].js +++ b/pages/myportal/[appealtypes].js @@ -6,16 +6,6 @@ // import { useEffect } from "react"; // import { connect } from "react-redux"; // import xpath from "xpath"; -// import { -// getAppealsTypesForNewAppeal, -// getAwaitingSubmissionFromBlob, -// getFilesFromBlob, -// getIP, -// getMandatoryFields, -// getPickLists, -// getProgressFromBlob, -// getPersonalAccount, -// } from "../../actions"; // import Breadcrumbs from "../../components/breadcrumbs"; // import CookieBanner from "../../components/cookieBanner"; // import Footer from "../../components/footer"; @@ -414,7 +404,7 @@ let Home = (props) => { const selectedObj = jsonpath({ path: "$..[?(@ && @.attributevalue=='" + apt + "')]", json: optionsStr, - eval: true, + eval: true }); return selectedObj?.[0]?.value || "New appeal"; @@ -458,8 +448,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { url: process.env.NEXTAUTH_URL, - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } ); @@ -474,7 +464,7 @@ const mapStateToProps = (state) => { accountDetails: state.accountDetails, awaitingSubmission: state.awaitingSubmission, currentView: state.currentView, - initialValues: state.appealType.caseReference?.caseDetails, + initialValues: state.appealType.caseReference?.caseDetails }; }; diff --git a/pages/myportal/addresssearchresults.js b/pages/myportal/addresssearchresults.js index 6a95c69b..ed58f06b 100644 --- a/pages/myportal/addresssearchresults.js +++ b/pages/myportal/addresssearchresults.js @@ -3,14 +3,14 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; +import { getPersonalAccount } from "../../actions/services/accountService"; +import { getPortalModuleDetails } from "../../actions/services/caseService"; import { getAddressSearch, - getAdvancedSearch, - getIP, - getPersonalAccount, - getPortalModuleDetails, - getWatchedCases, -} from "../../actions"; + getAdvancedSearch +} from "../../actions/services/searchService"; +import { getWatchedCases } from "../../actions/services/portalService"; import SearchResults from "../../components/addresssearchresults"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -18,22 +18,22 @@ import Footer from "../../components/footer"; import Header from "../../components/header"; import { getFormCollectionByID, - getSearchDetails, + getSearchDetails } from "../../components/utils"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { setShowReps } from "../../store/currentView/action"; import { setSearch } from "../../store/search/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { wrapper } from "../../store/store"; @@ -159,8 +159,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { thisSession != false && @@ -170,12 +170,12 @@ export const getServerSideProps = wrapper.getServerSideProps( await Promise.all([ await getPersonalAccount(loggedInUser), await getAdvancedSearch(query), - await getWatchedCases(loggedInUser), + await getWatchedCases(loggedInUser) ]); const [searchDetailsObj, watchedCasesDetails] = await Promise.all([ await getSearchDetails(searchResultsObj), - await getDetails(watchedCases, "myWatchedCases"), + await getDetails(watchedCases, "myWatchedCases") ]); store.dispatch(setAccountDetails(accountDetails)); @@ -191,11 +191,11 @@ export const getServerSideProps = wrapper.getServerSideProps( props: { searchResultsObj: { searchResultsObj: searchResultsObj, - searchDetailsObj: searchDetailsObj, + searchDetailsObj: searchDetailsObj }, currentType: "directResultsObj", - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -241,7 +241,7 @@ const mapStateToProps = (state) => { watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, awaitingSubmission: state.awaitingSubmission, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/myportal/advancedsearch.js b/pages/myportal/advancedsearch.js index bced25e7..773034c1 100644 --- a/pages/myportal/advancedsearch.js +++ b/pages/myportal/advancedsearch.js @@ -4,13 +4,13 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; +import { getPersonalAccount } from "../../actions/services/accountService"; import { getAppealsTypes, - getIP, getLPA, - getPersonalAccount, - getProjectTypes, -} from "../../actions"; + getProjectTypes +} from "../../actions/services/referenceDataService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import CRMError from "../../components/crmError"; @@ -21,7 +21,7 @@ import TimeOut from "../../components/timeout"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { setAppealType, setProjectType } from "../../store/appealType/action"; import { setLPA } from "../../store/lpa/action"; @@ -91,8 +91,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { const [accountDetails, appealTypeData, lpaData, projectTypeData] = @@ -100,7 +100,7 @@ export const getServerSideProps = wrapper.getServerSideProps( await getPersonalAccount(loggedInUser), await getAppealsTypes(), await getLPA(), - await getProjectTypes(), + await getProjectTypes() ]); //const lpaData = require("../../data/lpa.json"); @@ -117,8 +117,8 @@ export const getServerSideProps = wrapper.getServerSideProps( } return { props: { - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -132,7 +132,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, form: state.form, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/myportal/advancedsearchresults.js b/pages/myportal/advancedsearchresults.js index 3884a1fb..baf46c20 100644 --- a/pages/myportal/advancedsearchresults.js +++ b/pages/myportal/advancedsearchresults.js @@ -2,14 +2,14 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; import { - getAdvancedSearch, - getIP, getPersonalAccount, - getPortalLogin, - getPortalModuleDetails, - getWatchedCases, -} from "../../actions"; + getPortalLogin +} from "../../actions/services/accountService"; +import { getPortalModuleDetails } from "../../actions/services/caseService"; +import { getAdvancedSearch } from "../../actions/services/searchService"; +import { getWatchedCases } from "../../actions/services/portalService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; @@ -17,17 +17,17 @@ import Header from "../../components/header"; import SearchResults from "../../components/searchresults"; import { getFormCollectionByID, - getSearchDetails, + getSearchDetails } from "../../components/utils"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { setShowReps } from "../../store/currentView/action"; import { setSearch } from "../../store/search/action"; @@ -37,7 +37,7 @@ import TimeOut from "../../components/timeout"; import { wrapper } from "../../store/store"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import ServiceBanner from "../../components/myportal/servicebanner"; @@ -96,8 +96,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { thisSession != false && @@ -109,13 +109,13 @@ export const getServerSideProps = wrapper.getServerSideProps( const [accountDetails, watchedCases] = await Promise.all([ await getPersonalAccount(loggedInUser), - await getWatchedCases(loggedInUser), + await getWatchedCases(loggedInUser) ]); console.log(accountDetails); const [watchedCasesDetails] = await Promise.all([ - await getDetails(watchedCases, "myWatchedCases"), + await getDetails(watchedCases, "myWatchedCases") ]); const showLoginCheck = process.env.SHOWLOGIN || false; @@ -130,8 +130,8 @@ export const getServerSideProps = wrapper.getServerSideProps( } return { props: { - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -177,7 +177,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/myportal/case/[ticketnumber].js b/pages/myportal/case/[ticketnumber].js index 10bd3dd4..3bd5d254 100644 --- a/pages/myportal/case/[ticketnumber].js +++ b/pages/myportal/case/[ticketnumber].js @@ -2,19 +2,24 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../../actions/core/logger"; import { - getBasicSearch, - getCaseMessage, - getIP, - getMyCases, - getMyLPACases, getPersonalAccount, - getPortalLogin, + getPortalLogin +} from "../../../actions/services/accountService"; +import { + getCaseMessage, getPortalModuleDetails, - getWatchedCases, getSIPSEvents, getSIPSMedia -} from "../../../actions"; +} from "../../../actions/services/caseService"; +import { getRepsFromBlob } from "../../../actions/services/documentService"; +import { + getMyCases, + getMyLPACases, + getWatchedCases +} from "../../../actions/services/portalService"; +import { getBasicSearch } from "../../../actions/services/searchService"; import { getFormCollectionByID } from "../../../components/utils"; import { getSession } from "next-auth/react"; diff --git a/pages/myportal/case/id/[incident].js b/pages/myportal/case/id/[incident].js index 4511c288..231fa344 100644 --- a/pages/myportal/case/id/[incident].js +++ b/pages/myportal/case/id/[incident].js @@ -3,12 +3,12 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../../../actions/core/logger"; import { - getIP, - getIncidentbyID, getPersonalAccount, - getPortalLogin, -} from "../../../../actions"; + getPortalLogin +} from "../../../../actions/services/accountService"; +import { getIncidentbyID } from "../../../../actions/services/caseService"; import Breadcrumbs from "../../../../components/breadcrumbs"; import Case from "../../../../components/case"; import CookieBanner from "../../../../components/cookieBanner"; @@ -112,7 +112,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); loggedInUser = loggedInUser.value[0].contactid; @@ -143,8 +143,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { if (searchResultsObj["@odata.count"] > 1) { @@ -152,8 +152,8 @@ export const getServerSideProps = wrapper.getServerSideProps( redirect: { //destination: "/dns-not-found", destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { store.dispatch( @@ -163,7 +163,7 @@ export const getServerSideProps = wrapper.getServerSideProps( "currentType": "searchResultsObj", "incidentid": searchResultsObj.value[0].incidentid, "appealType": - searchResultsObj.value[0].pinswg_appealcasetype, + searchResultsObj.value[0].pinswg_appealcasetype }) ); } @@ -172,11 +172,11 @@ export const getServerSideProps = wrapper.getServerSideProps( props: { searchResultsObj: { searchResultsObj: searchResultsObj, - searchDetailsObj: searchDetailsObj, + searchDetailsObj: searchDetailsObj }, currentType: "directResultsObj", - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } ); @@ -194,7 +194,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; @@ -202,7 +202,7 @@ const mapDispatchToProps = (dispatch) => { return { setCurrentReference: (currentReference) => { dispatch(setCurrentReference(refno)); - }, + } }; }; diff --git a/pages/myportal/contactus.js b/pages/myportal/contactus.js index b503ac2d..fcefae19 100644 --- a/pages/myportal/contactus.js +++ b/pages/myportal/contactus.js @@ -13,10 +13,11 @@ import { formValueSelector, reduxForm, touch, - SubmissionError, + SubmissionError } from "redux-form"; import { connect } from "react-redux"; -import { createCRMTask, sendEmail } from "../../actions"; +import { createCRMTask } from "../../actions/services/integrationService"; +import { sendEmail } from "../../actions/services/notifyService"; import { useState } from "react"; @@ -28,7 +29,7 @@ const RenderPickList = ({ label, input, errorMsg, - meta: { touched, error }, + meta: { touched, error } }) => { let { t } = useTranslation(); @@ -318,7 +319,7 @@ let ContactUs = (props) => { const sendContactEmail = async (formValues) => { Object.assign(formValues, { "contactSubject": contactPurpose(formValues.typeOfContact).props - .children, + .children }); const reference = "PEDW-CONTACT-US"; @@ -340,7 +341,7 @@ let ContactUs = (props) => { alert("Something went wrong. Please try again later."); // Required: inform redux-form this is a submit error throw new SubmissionError({ - _error: "Failed to send email. Please try again later.", + _error: "Failed to send email. Please try again later." }); } }; @@ -367,7 +368,7 @@ let ContactUs = (props) => { alert("Something went wrong. Please try again later."); // Required: inform redux-form this is a submit error throw new SubmissionError({ - _error: "Failed to send email. Please try again later.", + _error: "Failed to send email. Please try again later." }); } }; @@ -514,7 +515,7 @@ const mapStateToProps = (state) => { accountDetails: state.accountDetails, typeOfContactValue, initialValues: email ? { contactEmail: email } : {}, - petEmail: process.env.NEXT_PUBLIC_PETEMAIL, + petEmail: process.env.NEXT_PUBLIC_PETEMAIL }; }; @@ -545,7 +546,7 @@ export default connect( ) { errorElement.scrollIntoView({ behavior: "smooth", - block: "center", + block: "center" }); errorElement.focus({ preventScroll: true }); } else { @@ -557,6 +558,6 @@ export default connect( } console.log("Redux Form onSubmitFail:", submitError); - }, + } })(ContactUs) ); diff --git a/pages/myportal/dns/[developmentName].js b/pages/myportal/dns/[developmentName].js index fd47da22..8a673651 100644 --- a/pages/myportal/dns/[developmentName].js +++ b/pages/myportal/dns/[developmentName].js @@ -3,15 +3,17 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../../actions/core/logger"; import { - getBasicDNSURLSearch, - getCaseMessage, - getIP, getPersonalAccount, - getPortalLogin, + getPortalLogin +} from "../../../actions/services/accountService"; +import { + getCaseMessage, getSIPSEvents, - getSIPSMedia, -} from "../../../actions"; + getSIPSMedia +} from "../../../actions/services/caseService"; +import { getBasicDNSURLSearch } from "../../../actions/services/searchService"; import Breadcrumbs from "../../../components/breadcrumbs"; import Case from "../../../components/case"; import CookieBanner from "../../../components/cookieBanner"; @@ -25,7 +27,7 @@ import { setEventDetails, setSearchDetails, setSearchResults, - setMediaDetails, + setMediaDetails } from "../../../store/searchOutput/action"; import { wrapper } from "../../../store/store"; import ServiceBanner from "../../../components/servicebanner"; @@ -35,7 +37,7 @@ const CaseHome = (props) => { pages, setSearchResults, setSearchDetails, - searchResultsObj, + searchResultsObj } = props; let { t, lang } = useTranslation(); @@ -140,7 +142,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); loggedInUser = loggedInUser.value[0].contactid; @@ -165,14 +167,14 @@ export const getServerSideProps = wrapper.getServerSideProps( if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { eventsObj = await getSIPSEvents( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setEventDetails(eventsObj)); } if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { mediaObj = await getSIPSMedia( - searchDetailsObj[0].value[0].pinswg_sipsid, + searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setMediaDetails(mediaObj)); } @@ -197,15 +199,15 @@ export const getServerSideProps = wrapper.getServerSideProps( // }); console.log( searchResultsObj["@odata.count"] > 1 || - searchResultsObj["@odata.count"] < 1, + searchResultsObj["@odata.count"] < 1 ); if (searchResultsObj["@odata.count"] < 1) { return { redirect: { destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { if (searchResultsObj["@odata.count"] > 1) { @@ -213,8 +215,8 @@ export const getServerSideProps = wrapper.getServerSideProps( redirect: { //destination: "/dns-not-found", destination: "/404", - permanent: false, - }, + permanent: false + } }; } else { // store.dispatch(setSearchResults(searchResultsObj)); @@ -237,13 +239,13 @@ export const getServerSideProps = wrapper.getServerSideProps( .pinswg_speacialistcaseprocess || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess - : "", - }), + : "" + }) ); } } let messagesObj = await getCaseMessage( - searchResultsObj.value[0].incidentid, + searchResultsObj.value[0].incidentid ); console.log(messagesObj); @@ -254,16 +256,16 @@ export const getServerSideProps = wrapper.getServerSideProps( searchResultsObj: searchResultsObj, searchDetailsObj: searchDetailsObj, eventsObj: eventsObj, - mediaObj: mediaObj, + mediaObj: mediaObj }, currentType: "directResultsObj", docsOffline: process.env.DOCAPI_OFFLINE || false, messagesObj: messagesObj, showFilteredDocs: process.env.SHOWFILTERDOCS || false, - showMaps: process.env.SHOWMAPS, - }, + showMaps: process.env.SHOWMAPS + } }; - }, + } ); const mapStateToProps = (state) => { @@ -279,7 +281,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; @@ -293,7 +295,7 @@ const mapDispatchToProps = (dispatch) => { }, setSearchDetails: (searchDetailsObj) => { dispatch(setSearchDetails(searchDetailsObj)); - }, + } }; }; diff --git a/pages/myportal/dnsapplications.js b/pages/myportal/dnsapplications.js index 8f0741ad..9903f7d4 100644 --- a/pages/myportal/dnsapplications.js +++ b/pages/myportal/dnsapplications.js @@ -2,14 +2,14 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; +import { getPersonalAccount } from "../../actions/services/accountService"; +import { getPortalModuleDetails } from "../../actions/services/caseService"; import { getBasicDNSSearch, - getDNSCoords, - getIP, - getPortalModuleDetails, - getWatchedCases, - getPersonalAccount, -} from "../../actions"; + getDNSCoords +} from "../../actions/services/searchService"; +import { getWatchedCases } from "../../actions/services/portalService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -18,22 +18,22 @@ import Footer from "../../components/footer"; import Header from "../../components/header"; import { getFormCollectionByID, - getSearchDetails, + getSearchDetails } from "../../components/utils"; import { setLoggedInUserId, - setAccountDetails, + setAccountDetails } from "../../store/accountDetails/action"; import { setSearch } from "../../store/search/action"; import { setDNSCoords, setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { wrapper } from "../../store/store"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { getSession } from "next-auth/react"; @@ -158,13 +158,13 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { let [accountDetails, watchedCases] = await Promise.all([ await getPersonalAccount(loggedInUser), - await getWatchedCases(loggedInUser), + await getWatchedCases(loggedInUser) ]); // searchResultsObj = @@ -179,7 +179,7 @@ export const getServerSideProps = wrapper.getServerSideProps( const showMapCheck = process.env.SHOWMAPS || false; const [watchedCasesDetails] = await Promise.all([ - await getDetails(watchedCases, "myWatchedCases"), + await getDetails(watchedCases, "myWatchedCases") ]); const dnsCoords = await getDNSCoords(); // store.dispatch(setSearchResults(searchResultsObj)); @@ -192,7 +192,7 @@ export const getServerSideProps = wrapper.getServerSideProps( store.dispatch(setAccountDetails(accountDetails)); return { - props: { showMap: showMapCheck }, + props: { showMap: showMapCheck } }; } } @@ -239,7 +239,7 @@ const mapStateToProps = (state) => { watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, awaitingSubmission: state.awaitingSubmission, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/myportal/index.js b/pages/myportal/index.js index 9bfd8b69..4f61761b 100644 --- a/pages/myportal/index.js +++ b/pages/myportal/index.js @@ -5,19 +5,25 @@ import { useRouter } from "next/router"; import { connect } from "react-redux"; import pLimit from "p-limit"; +import { getIP } from "../../actions/core/logger"; +import { + getPersonalAccount, + getPortalLogin +} from "../../actions/services/accountService"; +import { + getCase, + getPortalModuleDetails +} from "../../actions/services/caseService"; import { createContainerProxy, getAwaitingSubmissionFromBlob, - getCase, - getIP, + getRepsFromBlob +} from "../../actions/services/documentService"; +import { getMyCases, getMyLPACases, - getPersonalAccount, - getPortalLogin, - getPortalModuleDetails, - getRepsFromBlob, - getWatchedCases, -} from "../../actions"; + getWatchedCases +} from "../../actions/services/portalService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -29,12 +35,12 @@ import { getFormCollectionByID } from "../../components/utils"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { setAwaitingSubmissionDetails, - setAwaitingSubmissionFromBlob, + setAwaitingSubmissionFromBlob } from "../../store/awaitingSubmission/action"; import { setShowReps, setLocale } from "../../store/currentView/action"; @@ -45,14 +51,14 @@ import { setMyRepresentations, setMyRepresentationsDetails, setMySubmittedReps, - setMySubmittedRepsDetails, + setMySubmittedRepsDetails } from "../../store/myRepresentations/action"; import { wrapper } from "../../store/store"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; const Home = (props) => { @@ -67,7 +73,7 @@ const Home = (props) => { showLoginCheck, currentView, mySubmittedReps, - docsOffline, + docsOffline } = props; const { t } = useTranslation(); @@ -179,7 +185,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (!thisSession) { return { - redirect: { destination: "/auth/signin", permanent: false }, + redirect: { destination: "/auth/signin", permanent: false } }; } @@ -195,8 +201,8 @@ export const getServerSideProps = wrapper.getServerSideProps( locale === "cy" ? "/cy/manylionpellach" : "/furtherdetails", - permanent: false, - }, + permanent: false + } }; } @@ -207,7 +213,7 @@ export const getServerSideProps = wrapper.getServerSideProps( if (accountDetails?.errorCode) { return { - redirect: { destination: "/myportal/error", permanent: false }, + redirect: { destination: "/myportal/error", permanent: false } }; } @@ -222,12 +228,12 @@ export const getServerSideProps = wrapper.getServerSideProps( myCases, myRepresentations, watchedCases, - awaitingSubmissionFromBlob, + awaitingSubmissionFromBlob ] = await Promise.all([ isLPA ? getMyLPACases(lpaId) : getMyCases(loggedInUser), getRepsFromBlob(thisSession.user.id), getWatchedCases(loggedInUser), - getAwaitingSubmissionFromBlob(thisSession.user.id), + getAwaitingSubmissionFromBlob(thisSession.user.id) ]); // put current locale into store (this is the URL locale) @@ -260,7 +266,7 @@ export const getServerSideProps = wrapper.getServerSideProps( ).length, value: watchedCases.value.filter( (c) => c.pinswg_representationsubmitted == null - ), + ) }; // submitted reps derived from watched cases @@ -334,12 +340,12 @@ export const getServerSideProps = wrapper.getServerSideProps( myCasesDetails, watchedCasesDetails, mySubmittedRepsDetails, - myRepresentationsDetails, + myRepresentationsDetails ] = await Promise.all([ getDetails(myCases, "myCases"), getDetails(filteredWatchedCases, "myWatchedCases"), getDetails(mySubmittedReps, "mySubmittedReps"), - getDetails(myRepresentations, "myRepresentations"), + getDetails(myRepresentations, "myRepresentations") ]); store.dispatch(setAccountDetails(accountDetails)); @@ -365,8 +371,8 @@ export const getServerSideProps = wrapper.getServerSideProps( showFileUpload: Boolean(process.env.SHOWFILEUPLOAD), containerID: thisSession.user.id, showLoginCheck, - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } ); @@ -383,7 +389,7 @@ const mapStateToProps = (state) => ({ watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, mySubmittedReps: state.myRepresentations.mySubmittedReps, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }); export default connect(mapStateToProps)(Home); diff --git a/pages/myportal/representation.js b/pages/myportal/representation.js index d344e0a8..d7a6fabc 100644 --- a/pages/myportal/representation.js +++ b/pages/myportal/representation.js @@ -7,14 +7,18 @@ import { useRouter } from "next/router"; import { connect, useDispatch } from "react-redux"; import { getPersonalAccount, - getPortalLoginProxy, getPortalLogin, - getRepsFromBlob, + getPortalLoginProxy +} from "../../actions/services/accountService"; +import { getCase, - getPortalModuleDetails, - getBasicSearch, + getPortalModuleDetails +} from "../../actions/services/caseService"; +import { getFilesFromBlob, -} from "../../actions"; + getRepsFromBlob +} from "../../actions/services/documentService"; +import { getBasicSearch } from "../../actions/services/searchService"; import { getFormCollectionByID } from "../../components/utils"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -24,7 +28,7 @@ import Case from "../../components/representation"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { wrapper } from "../../store/store"; import { getSearchDetails } from "../../components/utils"; @@ -33,11 +37,11 @@ import { setCurrentReference, setCurrentView, setFilesForRepresentations, - setRepresentationCapacity, + setRepresentationCapacity } from "../../store/currentView/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { setSearch } from "../../store/search/action"; @@ -49,7 +53,7 @@ import { setMyRepresentations, setMyRepresentationsDetails, setMySubmittedReps, - setMySubmittedRepsDetails, + setMySubmittedRepsDetails } from "../../store/myRepresentations/action"; import { getRepsFilesBlobs } from "../../actions/azurestorage"; @@ -236,12 +240,12 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); console.log( @@ -255,7 +259,7 @@ export const getServerSideProps = wrapper.getServerSideProps( const [accountDetails, myRepresentations] = await Promise.all([ await getPersonalAccount(loggedInUser), - await getRepsFromBlob(thisSession.user.id), + await getRepsFromBlob(thisSession.user.id) ]); const myRepresentationsDetails = await getDetails( @@ -304,7 +308,7 @@ export const getServerSideProps = wrapper.getServerSideProps( "incidentid": result.incidentID, "appealType": result.appealType, "repDetails": result, - "filesList": result.filesList, + "filesList": result.filesList }) ); @@ -329,8 +333,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { containerID: thisSession.user.id, - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } else { const searchResultsObj = await getBasicSearch(query.case); @@ -343,7 +347,7 @@ export const getServerSideProps = wrapper.getServerSideProps( store.dispatch( setCurrentView({ "viewName": "My Representations", - "viewKey": "myRepresentations", + "viewKey": "myRepresentations" }) ); @@ -376,7 +380,7 @@ export const getServerSideProps = wrapper.getServerSideProps( .pinswg_speacialistcaseprocess || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess - : "", + : "" }) ); @@ -385,8 +389,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { containerID: thisSession.user.id, - docsOffline: process.env.DOCAPI_OFFLINE || false, - }, + docsOffline: process.env.DOCAPI_OFFLINE || false + } }; } } @@ -498,7 +502,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/myportal/searchresults.js b/pages/myportal/searchresults.js index f263d7dd..ca538e79 100644 --- a/pages/myportal/searchresults.js +++ b/pages/myportal/searchresults.js @@ -2,14 +2,14 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; +import { getIP } from "../../actions/core/logger"; import { - getBasicSearch, - getIP, getPersonalAccount, - getPortalLogin, - getPortalModuleDetails, - getWatchedCases, -} from "../../actions"; + getPortalLogin +} from "../../actions/services/accountService"; +import { getPortalModuleDetails } from "../../actions/services/caseService"; +import { getBasicSearch } from "../../actions/services/searchService"; +import { getWatchedCases } from "../../actions/services/portalService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; @@ -17,18 +17,18 @@ import Header from "../../components/header"; import SearchResults from "../../components/searchresults"; import { getFormCollectionByID, - getSearchDetails, + getSearchDetails } from "../../components/utils"; import { setShowReps } from "../../store/currentView/action"; import { setSearch } from "../../store/search/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../../store/searchOutput/action"; import { wrapper } from "../../store/store"; import { setWatchedCases, - setWatchedCasesDetails, + setWatchedCasesDetails } from "../../store/watchedCases/action"; import { getSession } from "next-auth/react"; @@ -36,7 +36,7 @@ import TimeOut from "../../components/timeout"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import ServiceBanner from "../../components/myportal/servicebanner"; @@ -96,12 +96,12 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { let [loggedInUser] = await Promise.all([ - await getPortalLogin(thisSession.user.email), + await getPortalLogin(thisSession.user.email) ]); //console.log("sssss", searchResultsObj); @@ -114,7 +114,7 @@ export const getServerSideProps = wrapper.getServerSideProps( const [accountDetails, watchedCasesDetails] = await Promise.all([ await getPersonalAccount(loggedInUser), - await getDetails(watchedCases, "myWatchedCases"), + await getDetails(watchedCases, "myWatchedCases") ]); store.dispatch(setAccountDetails(accountDetails)); store.dispatch(setSearch(query.q)); @@ -127,8 +127,8 @@ export const getServerSideProps = wrapper.getServerSideProps( } return { props: { - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } ); @@ -174,7 +174,7 @@ const mapStateToProps = (state) => { watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, awaitingSubmission: state.awaitingSubmission, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/newappeal/[appealtypes].js b/pages/newappeal/[appealtypes].js index 695dea76..23d364cd 100644 --- a/pages/newappeal/[appealtypes].js +++ b/pages/newappeal/[appealtypes].js @@ -6,14 +6,6 @@ // import { useEffect } from "react"; // import { connect } from "react-redux"; // import xpath from "xpath"; -// import { -// getAppealsTypesForNewAppeal, -// getIP, -// getMandatoryFields, -// getPickLists, -// getProgressFromBlob, -// getPersonalAccount, -// } from "../../actions"; // import Breadcrumbs from "../../components/breadcrumbs"; // import CookieBanner from "../../components/cookieBanner"; // import Footer from "../../components/footer"; diff --git a/pages/newappeal/index.js b/pages/newappeal/index.js index 834788d3..bd256ded 100644 --- a/pages/newappeal/index.js +++ b/pages/newappeal/index.js @@ -7,9 +7,9 @@ import { useRouter } from "next/router"; import { connect } from "react-redux"; import { getAppealsTypesForNewAppeal, - getLPA, - getPersonalAccount, -} from "../../actions"; + getLPA +} from "../../actions/services/referenceDataService"; +import { getPersonalAccount } from "../../actions/services/accountService"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; @@ -18,7 +18,7 @@ import CreateCase from "../../components/newappeal/createCase"; import { setAccountDetails, setContainerID, - setLoggedInUserId, + setLoggedInUserId } from "../../store/accountDetails/action"; import { setAppealType } from "../../store/appealType/action"; import { setLPA } from "../../store/lpa/action"; @@ -162,8 +162,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { redirect: { destination: "/auth/signin", - permanent: false, - }, + permanent: false + } }; } else { let loggedInUserIdent = thisSession.user.id; @@ -175,7 +175,7 @@ export const getServerSideProps = wrapper.getServerSideProps( [ await getAppealsTypesForNewAppeal(), await getLPA(), - await getPersonalAccount(loggedInUser), + await getPersonalAccount(loggedInUser) ] ); @@ -195,7 +195,7 @@ export const getServerSideProps = wrapper.getServerSideProps( store.dispatch(setContainerID(thisSession.user.id)); return { - props: { loggedInUserIdent: loggedInUserIdent }, + props: { loggedInUserIdent: loggedInUserIdent } }; } } @@ -209,7 +209,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, form: state.form, - accountDetails: state.accountDetails, + accountDetails: state.accountDetails }; }; diff --git a/pages/searchresults.js b/pages/searchresults.js index 417c4ba3..82a10fd2 100644 --- a/pages/searchresults.js +++ b/pages/searchresults.js @@ -3,7 +3,8 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getBasicSearch, getIP } from "../actions"; +import { getIP } from "../actions/core/logger"; +import { getBasicSearch } from "../actions/services/searchService"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; @@ -14,7 +15,7 @@ import { setShowReps } from "../store/currentView/action"; import { setSearch } from "../store/search/action"; import { setSearchDetails, - setSearchResults, + setSearchResults } from "../store/searchOutput/action"; import { wrapper } from "../store/store"; import ServiceBanner from "../components/servicebanner"; @@ -163,8 +164,8 @@ export const getServerSideProps = wrapper.getServerSideProps( return { props: { isLinkedCase: isLinked, - showLoginCheck: showLoginCheck, - }, + showLoginCheck: showLoginCheck + } }; } // } @@ -182,7 +183,7 @@ const mapStateToProps = (state) => { myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, - awaitingSubmission: state.awaitingSubmission, + awaitingSubmission: state.awaitingSubmission }; }; diff --git a/pages/unsubscribe/[watchlistid].js b/pages/unsubscribe/[watchlistid].js index 490331de..dc6c5f43 100644 --- a/pages/unsubscribe/[watchlistid].js +++ b/pages/unsubscribe/[watchlistid].js @@ -6,12 +6,10 @@ import Link from "next/link"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; -import { - hashAPIPath, - getToken, - azureHeaders, - consoleLogger, -} from "../../actions"; +import { hashAPIPath } from "../../actions/core/hash"; +import { getToken } from "../../actions/core/token"; +import { azureHeaders } from "../../actions/core/headers"; +import { consoleLogger } from "../../actions/core/logger"; import axios from "axios"; const UnsubscribeCase = (props) => { @@ -97,8 +95,8 @@ const deleteWatchedCases = async (watchedCaseID) => { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", - }, + "Content-Type": "application/json" + } }; return axios(config) @@ -143,8 +141,8 @@ export const getServerSideProps = wrapper.getServerSideProps( ? caseObj[ "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" ] - : null, - }, + : null + } }; } ); diff --git a/pages/unsubscribeall/[watchlistid].js b/pages/unsubscribeall/[watchlistid].js index e5b7f505..6f67aa83 100644 --- a/pages/unsubscribeall/[watchlistid].js +++ b/pages/unsubscribeall/[watchlistid].js @@ -6,12 +6,10 @@ import Link from "next/link"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; -import { - hashAPIPath, - getToken, - azureHeaders, - consoleLogger, -} from "../../actions"; +import { hashAPIPath } from "../../actions/core/hash"; +import { getToken } from "../../actions/core/token"; +import { azureHeaders } from "../../actions/core/headers"; +import { consoleLogger } from "../../actions/core/logger"; import axios from "axios"; const UnsubscribeCase = (props) => { @@ -118,8 +116,8 @@ const deleteWatchedCases = async (watchedCaseID) => { "Accept": "application/json", "Prefer": 'odata.include-annotations="*",return=representation', "Authorization": "Bearer " + token.access_token, - "Content-Type": "application/json", - }, + "Content-Type": "application/json" + } }; return axios(config) @@ -170,8 +168,8 @@ export const getServerSideProps = wrapper.getServerSideProps( //console.log(deleteCase); return { props: { - caseRef: hasUnsubscribed ? searchResultsObj.value : null, - }, + caseRef: hasUnsubscribed ? searchResultsObj.value : null + } }; } ); diff --git a/pages/viewall.js b/pages/viewall.js index 1ce4f903..0c7c24b2 100644 --- a/pages/viewall.js +++ b/pages/viewall.js @@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getBasicSearch } from "../actions"; +import { getBasicSearch } from "../actions/services/searchService"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; @@ -119,7 +119,7 @@ const mapStateToProps = (state) => { search: state.search, searchResultsObj: state.searchResultsObj, form: state.form, - currentView: state.currentView, + currentView: state.currentView }; };