diff --git a/.env.local b/.env.local index 779fe91d..c7577d60 100644 --- a/.env.local +++ b/.env.local @@ -13,11 +13,11 @@ RELAYPATH = "dev-pedw-hc" //Test Oauth ESNR -//CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1 -//CLIENT_SECRET = IXI8Q~D5oqsC-nrtayHHc~tUAfjQFzNiKVQ~fc2S -//RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/ -//RELAYURI = "test-pedw-ns.servicebus.windows.net" -//RELAYPATH = "test-pedw-hc" +CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1 +CLIENT_SECRET = IXI8Q~D5oqsC-nrtayHHc~tUAfjQFzNiKVQ~fc2S +RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/ +RELAYURI = "test-pedw-ns.servicebus.windows.net" +RELAYPATH = "test-pedw-hc" //Preprod Oauth WGO @@ -69,9 +69,9 @@ AZURE_STORAGE_ACCOUNT_KEY = JS3ZIXianhYhB1lZrHB+bXbdzaLlON0alCyKrFAb+jVEwr9iqo2d AZURE_PEDW_STORAGE_ENDPOINT = https://pedwdev.blob.core.windows.net // test key -//AZURE_STORAGE_ACCOUNT_NAME= "pedwtest" -//AZURE_STORAGE_ACCOUNT_KEY = Dl8qUVEnR2mglklQorttMurmjUpe2lI3oMWl9V245U6BOLutXDwmpU36afeTrGLK+zfzNVLErsWM+AStiYsimw== -//AZURE_PEDW_STORAGE_ENDPOINT = https://pedwtest.blob.core.windows.net +AZURE_STORAGE_ACCOUNT_NAME= "pedwtest" +AZURE_STORAGE_ACCOUNT_KEY = Dl8qUVEnR2mglklQorttMurmjUpe2lI3oMWl9V245U6BOLutXDwmpU36afeTrGLK+zfzNVLErsWM+AStiYsimw== +AZURE_PEDW_STORAGE_ENDPOINT = https://pedwtest.blob.core.windows.net AZURE_PEDW_CONTAINER = "pedwapplications" diff --git a/actions/azurestorage.js b/actions/azurestorage.js index c431c948..51d98afc 100644 --- a/actions/azurestorage.js +++ b/actions/azurestorage.js @@ -505,7 +505,7 @@ export const uploadPDFAppealFiles = async ( // console.log(`files[${prop}] = ${files[prop][0].size}`); console.log(foldername + "/files/" + formContent.split("tmp/")[1]); - const blobName = foldername + "/" + formContent.split("tmp/")[1]; + const blobName = foldername + "/files/" + formContent.split("tmp/")[1]; console.log(blobName); const blockBlobClient = containerClient.getBlockBlobClient(blobName); @@ -546,7 +546,7 @@ export const uploadPDFCaseFiles = async ( foldername ); - const blobName = foldername + "/" + formContent.split("tmp/")[1]; + const blobName = foldername + "/files/" + formContent.split("tmp/")[1]; const blockBlobClient = containerClient.getBlockBlobClient(blobName); const uploadBlobResponse = await blockBlobClient.uploadFile(formContent); @@ -756,7 +756,7 @@ export const getCaseBlob = async ( formContent ) => { const content = JSON.stringify(formContent); - const blobName = caseReference + "/case/" + caseReference + "_case.json"; + const blobName = caseReference + "/" + caseReference + "_case.json"; const containerBlobToken = await createBlobSas(containerName, blobName); @@ -783,7 +783,7 @@ export const getCaseBlob = async ( }; export const getTempCaseBlob = async (containerName, caseReference) => { - const blobName = caseReference + "/case/" + caseReference + "_case.json"; + const blobName = caseReference + "/" + caseReference + "_case.json"; const containerToken = await createContainerSas(containerName); const sasUrl = `${STORAGE_PATH}/${containerName}?${containerToken}`; const containerClient = new ContainerClient(sasUrl); @@ -823,7 +823,7 @@ export const getProgressBlobs = async (containerName, caseReference) => { "name": blob.name.split("/")[1], "path": blob.name, "versionId": blob.versionId, - "caseObj": caseReference + "/case/" + caseReference + "_case.json", + "caseObj": caseReference + "/" + caseReference + "_case.json", "isCurrentVersion": blob.isCurrentVersion, "contentLength": blob.properties.contentLength, "contentType": blob.contentType, @@ -883,7 +883,7 @@ export const getAllProgressBlobs = async (containerName) => { //"versionId": blob.versionId, "caseObj": blob.name.split("/")[0] + - "/case/" + + "/" + blob.name.split("/")[0] + "_case.json", // "isCurrentVersion": blob.isCurrentVersion, @@ -1012,7 +1012,7 @@ export const createCaseCompleteMessage = async ( const message = { containerName: containerName, - casepath: + appealpath: endpointURL + "/" + containerName + @@ -1021,8 +1021,15 @@ export const createCaseCompleteMessage = async ( "/" + caseReference + "_appeal.json", - casecontentpath: - endpointURL + "/" + containerName + "/" + caseReference + "/case", + casepath: + endpointURL + + "/" + + containerName + + "/" + + caseReference + + "/" + + caseReference + + "_case.json", filespath: endpointURL + "/" + containerName + "/" + caseReference + "/files", diff --git a/actions/index.js b/actions/index.js index 1c18626e..1a043c14 100644 --- a/actions/index.js +++ b/actions/index.js @@ -23,6 +23,20 @@ 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.log( + "\n====================\n Client IP address: " + ip, + "\n=====================\n" + ); +}; + export const consoleLogger = (err) => { var errStr = "\n\n/////////////////////////////////////////////////\nServer Error " + @@ -31,6 +45,8 @@ export const consoleLogger = (err) => { ? err.response.status + " : " + err.response.statusText + + "\nRequest IP: " + + err.response.request.socket.remoteAddress + "\nRequest URL: " + err.response.config.url + "\nRequest Time: " + @@ -503,7 +519,8 @@ export const getAppealsTypes = () => { .get(BASE_URL + "/api/endpoint/getappealtypes_api") .then((res) => res.data) .catch((error) => { - //console.log(error); + consoleLogger(error); + let ErrResponse = { value: [], errorCode: error.response.status, diff --git a/i18n.js b/i18n.js index 1a95fa43..79293dfd 100644 --- a/i18n.js +++ b/i18n.js @@ -30,6 +30,8 @@ module.exports = { "/searchresults": ["search", "case"], "/viewall": ["search"], "/case": ["case"], + "/case/*": ["case"], + "/case/[ticketnumber]": ["case"], "/myportal/representation": ["case", "myrepresentations", "common"], "/myportal/error": ["myportal", "common"], "/newappeal": ["newappeal"], diff --git a/pages/account/register.js b/pages/account/register.js index 08944d35..ff40550b 100644 --- a/pages/account/register.js +++ b/pages/account/register.js @@ -17,7 +17,7 @@ import { JSONPath as jsonpath } from "jsonpath-plus"; import { reduxForm, formValueSelector } from "redux-form"; import RegisterForm from "../../components/account/registerform"; -import { dehashString, hashAPIPath } from "../../actions"; +import { dehashString, hashAPIPath, getIP } from "../../actions"; import { getSession, useSession, signIn, signOut } from "next-auth/react"; const Home = (props) => { @@ -159,6 +159,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); let thisSession = await getSession(ctx); diff --git a/pages/api/endpoint/getbasicsearch_api.js b/pages/api/endpoint/getbasicsearch_api.js index 65a25c00..26bc43ce 100644 --- a/pages/api/endpoint/getbasicsearch_api.js +++ b/pages/api/endpoint/getbasicsearch_api.js @@ -52,9 +52,14 @@ export default async function ApiProxy(req, res) { "')) and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true"; console.log( - "basic search ", - queryUrl, - WEBAPI_URL + queryUrl + hashAPIPath(queryUrl) + "\n==========================================\n", + "basic search: " + queryUrl, + "\n\n", + "basic search relay link: " + + WEBAPI_URL + + queryUrl + + hashAPIPath(queryUrl), + "\n==========================================\n" ); var apiResponse = _.isEmpty(req.query) diff --git a/pages/api/endpoint/getbasicsearchdetails_api.js b/pages/api/endpoint/getbasicsearchdetails_api.js index 0567fafa..9f04e387 100644 --- a/pages/api/endpoint/getbasicsearchdetails_api.js +++ b/pages/api/endpoint/getbasicsearchdetails_api.js @@ -65,7 +65,14 @@ export default async function ApiProxy(req, res) { queryUrl = queryUrl + getSelectQuery(appealTypeName); - console.log("///////////\nquery: ", queryUrl, "<<< { - console.log(consoleLogger(err)); + consoleLogger(err); res.status(400).json(err); }); } diff --git a/pages/dns/[developmentName].js b/pages/dns/[developmentName].js index f96337a8..b3a46f66 100644 --- a/pages/dns/[developmentName].js +++ b/pages/dns/[developmentName].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 { getBasicDNSURLSearch } from "../../actions"; +import { getBasicDNSURLSearch, getIP } from "../../actions"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; @@ -88,6 +88,7 @@ const CaseHome = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); const { cookies } = req; console.log(cookies); diff --git a/pages/index.js b/pages/index.js index 3be2c566..fc534479 100644 --- a/pages/index.js +++ b/pages/index.js @@ -4,7 +4,7 @@ import Head from "next/head"; import { useRouter } from "next/router"; import { setCookie } from "nookies"; import { connect } from "react-redux"; -import { getToken, hashString, getPortalLogin } from "../actions"; +import { getToken, hashString, getPortalLogin, getIP } from "../actions"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; import Header from "../components/header"; @@ -151,6 +151,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); let thisSession = await getSession(ctx); diff --git a/pages/myportal/[appealtypes].js b/pages/myportal/[appealtypes].js index 4fe7ff53..fb3d63f6 100644 --- a/pages/myportal/[appealtypes].js +++ b/pages/myportal/[appealtypes].js @@ -13,6 +13,7 @@ import { getPartSavedAppeal, getFilesFromBlob, getProgressFromBlob, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -212,6 +213,7 @@ let Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); const { cookies } = req; //console.log(cookies); diff --git a/pages/myportal/advancedsearch.js b/pages/myportal/advancedsearch.js index db3e0677..c1f2e8f8 100644 --- a/pages/myportal/advancedsearch.js +++ b/pages/myportal/advancedsearch.js @@ -3,7 +3,12 @@ import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; -import { getAppealsTypes, getLPA, getPersonalAccount } from "../../actions"; +import { + getAppealsTypes, + getLPA, + getPersonalAccount, + getIP, +} from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; import CRMError from "../../components/crmError"; @@ -67,6 +72,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("query-", query); const { cookies } = req; diff --git a/pages/myportal/advancedsearchresults.js b/pages/myportal/advancedsearchresults.js index 5831b2fe..ca9112a0 100644 --- a/pages/myportal/advancedsearchresults.js +++ b/pages/myportal/advancedsearchresults.js @@ -7,6 +7,7 @@ import { getPortalModuleDetails, getWatchedCases, getPersonalAccount, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -74,6 +75,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("query-", query); //console.log("search array:", Object.entries(query)); const { cookies } = req; diff --git a/pages/myportal/dnsapplications.js b/pages/myportal/dnsapplications.js index 9a7d139a..7c6080d1 100644 --- a/pages/myportal/dnsapplications.js +++ b/pages/myportal/dnsapplications.js @@ -7,6 +7,7 @@ import { getDNSCoords, getPortalModuleDetails, getWatchedCases, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; @@ -130,6 +131,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("query-", query); const { cookies } = req; diff --git a/pages/myportal/index.js b/pages/myportal/index.js index 3ee09214..1faa6898 100644 --- a/pages/myportal/index.js +++ b/pages/myportal/index.js @@ -18,6 +18,7 @@ import { getCase, getPortalLogin, createContainerProxy, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -162,6 +163,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("The query", query); const { cookies } = req; diff --git a/pages/myportal/searchresults.js b/pages/myportal/searchresults.js index 74a8254f..93859b75 100644 --- a/pages/myportal/searchresults.js +++ b/pages/myportal/searchresults.js @@ -9,6 +9,7 @@ import { getWatchedCases, consoleLogger, getPortalLogin, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -76,6 +77,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("query-", query); const { cookies } = req; diff --git a/pages/newappeal/[appealtypes].js b/pages/newappeal/[appealtypes].js index 2683d221..d43ca21d 100644 --- a/pages/newappeal/[appealtypes].js +++ b/pages/newappeal/[appealtypes].js @@ -14,6 +14,7 @@ import { getPickLists, getFilesFromBlob, getProgressFromBlob, + getIP, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import CookieBanner from "../../components/cookieBanner"; @@ -213,6 +214,7 @@ let Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); const { cookies } = req; console.log(cookies); diff --git a/pages/searchresults.js b/pages/searchresults.js index e1948052..f1293a89 100644 --- a/pages/searchresults.js +++ b/pages/searchresults.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, getIP } from "../actions"; import Breadcrumbs from "../components/breadcrumbs"; import CookieBanner from "../components/cookieBanner"; import Footer from "../components/footer"; @@ -119,6 +119,7 @@ const Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log("query-", query); let isLinked = diff --git a/pages/storage.js b/pages/storage.js index b2e3c96b..7d7eb94a 100644 --- a/pages/storage.js +++ b/pages/storage.js @@ -9,6 +9,7 @@ import { import { wrapper } from "../store/store"; import Head from "next/head"; +import { getIP } from "../actions"; const ShowStorage = (props) => { const { container } = props; @@ -25,6 +26,7 @@ const ShowStorage = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; + getIP(req); console.log( "have therese?:",