error handling logging and debug to server console

This commit is contained in:
2022-07-19 11:51:16 +01:00
parent be9f86b6b2
commit 31738d38fa
61 changed files with 372 additions and 155 deletions
+4 -2
View File
@@ -1,5 +1,5 @@
import axios from "axios"; import axios from "axios";
import { hashAPIPath } from "./"; import { hashAPIPath, consoleLogger } from "./";
const configEndpoint = process.env.GG_PROVIDER_CONFIG_ENDPOINT; const configEndpoint = process.env.GG_PROVIDER_CONFIG_ENDPOINT;
const ggClientID = process.env.GG_CLIENT_ID; const ggClientID = process.env.GG_CLIENT_ID;
@@ -87,7 +87,9 @@ export const getPortalLogin = (emailAddress, token) => {
.get(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeaders(token)) .get(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeaders(token))
.then((res) => res.data) .then((res) => res.data)
.catch((error) => { .catch((error) => {
console.log("thiserror", error); console.log(consoleLogger(error));
//console.log("thiserror", error);
return JSON.stringify(error);
}); });
}; };
+14 -2
View File
@@ -24,6 +24,18 @@ const WEBAPI_URL =
process.env.RELAY_ROOT || process.env.RELAY_ROOT ||
"https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/"; "https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/";
export const consoleLogger = (err) => {
var errStr =
"///////\nServer Error " +
"\n" +
err.response.status +
" : " +
err.response.statusText +
"\n///////";
return errStr;
};
export const getToken = () => { export const getToken = () => {
return axios return axios
.post( .post(
@@ -1027,7 +1039,7 @@ export const createAccount = (formValues) => {
export const uploadFiles = async (formValues, filesObj, uploadhash) => { export const uploadFiles = async (formValues, filesObj, uploadhash) => {
let files = filesObj; let files = filesObj;
console.log(formValues); //console.log(formValues);
var formData = new FormData(); var formData = new FormData();
formData.append("appealData", JSON.stringify(formValues)); formData.append("appealData", JSON.stringify(formValues));
@@ -1040,7 +1052,7 @@ export const uploadFiles = async (formValues, filesObj, uploadhash) => {
} }
} }
console.log(formData); //console.log(formData);
var queryUrl = "/api/file/upload"; var queryUrl = "/api/file/upload";
+1 -1
View File
@@ -21,7 +21,7 @@ const MyPortal = (props) => {
const { locale } = router; const { locale } = router;
const handleLogout = () => { const handleLogout = () => {
console.log("////////////", "\n", "logout", "\n", "//////////"); console.log("////////////\n" + "logout" + "\n////////////");
destroyCookie({}, "pinsUser"), destroyCookie({}, "pinsUser"),
window.localStorage.clear(), window.localStorage.clear(),
//router.replace(props.ggLogout); //router.replace(props.ggLogout);
+2 -1
View File
@@ -81,7 +81,8 @@ export default async function ApiProxy(req, res) {
return "downloadComplete"; return "downloadComplete";
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -43,7 +43,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -65,7 +65,8 @@ export default async function ApiProxy(req, res) {
console.log(data); console.log(data);
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -43,7 +43,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -43,7 +43,8 @@ export default async function ApiProxy(req, res) {
//console.log("deleted awaitingsubmission case - " + incidentID); //console.log("deleted awaitingsubmission case - " + incidentID);
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -42,7 +42,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -43,7 +43,8 @@ export default async function ApiProxy(req, res) {
//console.log("deleted watched case - " + watchedCaseID); //console.log("deleted watched case - " + watchedCaseID);
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -75,7 +75,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
@@ -93,7 +93,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -39,7 +39,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+8 -2
View File
@@ -1,6 +1,11 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged, azureHeaders } from "../../../actions"; import {
getToken,
azureHeadersPaged,
azureHeaders,
consoleLogger,
} from "../../../actions";
/** /**
* @swagger * @swagger
* /api/endpoint/getappealtypes_api: * /api/endpoint/getappealtypes_api:
@@ -47,7 +52,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -38,7 +38,8 @@ export default async function ApiProxy(req, res) {
}); });
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -38,7 +38,8 @@ export default async function ApiProxy(req, res) {
//console.log(data); //console.log(data);
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+8 -2
View File
@@ -1,7 +1,12 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeaders, azureHeadersPaged } from "../../../actions"; import {
getToken,
azureHeaders,
azureHeadersPaged,
consoleLogger,
} from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -41,7 +46,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -44,7 +44,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -48,7 +48,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
return res.status(200).json(data); return res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
@@ -51,7 +51,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
return res.status(200).json(data); return res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -49,7 +49,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
@@ -44,7 +44,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -49,7 +49,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -44,7 +44,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -52,7 +52,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
return res.status(200).json(data); return res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -62,7 +62,8 @@ export default async function ApiProxy(req, res) {
dataStr.split("/v8.2/")[1])); dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -38,7 +38,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+8 -2
View File
@@ -1,6 +1,11 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged, azureHeaders } from "../../../actions"; import {
getToken,
azureHeadersPaged,
azureHeaders,
consoleLogger,
} from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -36,7 +41,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -41,7 +41,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -38,7 +38,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
+8 -2
View File
@@ -1,6 +1,11 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged, azureHeaders } from "../../../actions"; import {
getToken,
azureHeadersPaged,
azureHeaders,
consoleLogger,
} from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -37,7 +42,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -37,7 +37,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+4 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -44,9 +44,11 @@ export default async function ApiProxy(req, res) {
azureHeadersPaged(token.access_token) azureHeadersPaged(token.access_token)
) )
.then(({ data }) => { .then(({ data }) => {
console.log(data);
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
+8 -3
View File
@@ -1,6 +1,11 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged, azureHeaders } from "../../../actions"; import {
getToken,
azureHeadersPaged,
azureHeaders,
consoleLogger,
} from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -35,8 +40,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(err); console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+6 -1
View File
@@ -1,6 +1,11 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged, azureHeaders } from "../../../actions"; import {
getToken,
azureHeadersPaged,
azureHeaders,
consoleLogger,
} from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -39,7 +39,8 @@ export default async function ApiProxy(req, res) {
}); });
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -54,7 +54,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -36,7 +36,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}) })
: res.status(400).json(); : res.status(400).json();
+1 -1
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -43,7 +43,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
import { getSelectQuery } from "../../../actions/selectQueryTypes"; import { getSelectQuery } from "../../../actions/selectQueryTypes";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -39,7 +39,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -74,7 +74,8 @@ export default async function ApiProxy(req, res) {
// (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); // (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(dataArr); res.status(200).json(dataArr);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -62,7 +62,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -82,7 +82,8 @@ export default async function ApiProxy(req, res) {
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1])); (data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
return res.status(200).json(data); return res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -36,7 +36,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -41,7 +41,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -1,6 +1,6 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import { getToken, azureHeaders } from "../../../actions"; import { getToken, azureHeaders, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+2 -1
View File
@@ -63,7 +63,8 @@ export default async function ApiProxy(req, res) {
}); });
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
@@ -34,7 +34,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+3 -2
View File
@@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
import _ from "lodash"; import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions"; import { getToken, azureHeadersPaged, consoleLogger } from "../../../actions";
const WORDKEY = process.env.HASHKEY; const WORDKEY = process.env.HASHKEY;
@@ -52,7 +52,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
+2 -1
View File
@@ -44,7 +44,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+2 -1
View File
@@ -44,7 +44,8 @@ export default async function ApiProxy(req, res) {
.then(({ data }) => { .then(({ data }) => {
res.status(200).json(data); res.status(200).json(data);
}) })
.catch(({ err }) => { .catch((err) => {
console.log(consoleLogger(err));
res.status(400).json(err); res.status(400).json(err);
}); });
} }
+27 -13
View File
@@ -15,7 +15,7 @@ import {
setSearchDetails, setSearchDetails,
setSearchResults, setSearchResults,
} from "../../store/searchOutput/action"; } from "../../store/searchOutput/action";
import _ from "lodash";
import Breadcrumbs from "../../components/breadcrumbs"; import Breadcrumbs from "../../components/breadcrumbs";
const Home = (props) => { const Home = (props) => {
@@ -58,19 +58,33 @@ export const getServerSideProps = wrapper.getServerSideProps(
); );
let searchResultsObj = await getDNSList(); let searchResultsObj = await getDNSList();
searchResultsObj = if (_.has(searchResultsObj, "status") != false) {
searchResultsObj.status == 502 if (searchResultsObj.status == 400) {
? { return {
value: [], redirect: {
errorCode: searchResultsObj.status, //destination: "/dns-not-found",
errorMsg: searchResultsObj.statusText, destination: "/error",
} permanent: false,
: searchResultsObj; },
};
} else {
searchResultsObj =
searchResultsObj.status == 502
? {
value: [],
errorCode: searchResultsObj.status,
errorMsg: searchResultsObj.statusText,
}
: searchResultsObj;
const searchDetailsObj = await getSearchDetails(searchResultsObj); const searchDetailsObj = await getSearchDetails(
store.dispatch(setSearchResults(searchResultsObj)); searchResultsObj
store.dispatch(setSearchDetails(searchDetailsObj)); );
store.dispatch(setSearch("DNS")); store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setSearchDetails(searchDetailsObj));
store.dispatch(setSearch("DNS"));
}
}
} }
); );
+33 -18
View File
@@ -1,3 +1,4 @@
import _ from "lodash";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import Head from "next/head"; import Head from "next/head";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
@@ -121,26 +122,40 @@ export const getServerSideProps = wrapper.getServerSideProps(
); );
let searchResultsObj = await getBasicDNSSearch(); let searchResultsObj = await getBasicDNSSearch();
searchResultsObj = if (_.has(searchResultsObj, "status") != false) {
searchResultsObj.status == 502 if (searchResultsObj.status == 400) {
? { return {
value: [], redirect: {
errorCode: searchResultsObj.status, //destination: "/dns-not-found",
errorMsg: searchResultsObj.statusText, destination: "/error",
} permanent: false,
: searchResultsObj; },
};
} else {
searchResultsObj =
searchResultsObj.status == 502
? {
value: [],
errorCode: searchResultsObj.status,
errorMsg: searchResultsObj.statusText,
}
: searchResultsObj;
const showMapCheck = process.env.SHOWMAPS || false; const showMapCheck = process.env.SHOWMAPS || false;
const searchDetailsObj = await getSearchDetails(searchResultsObj); const searchDetailsObj = await getSearchDetails(
const dnsCoords = await getDNSCoords(); searchResultsObj
store.dispatch(setSearchResults(searchResultsObj)); );
store.dispatch(setSearchDetails(searchDetailsObj)); const dnsCoords = await getDNSCoords();
store.dispatch(setSearch("DNS")); store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setDNSCoords(dnsCoords)); store.dispatch(setSearchDetails(searchDetailsObj));
return { store.dispatch(setSearch("DNS"));
props: { showMap: showMapCheck }, store.dispatch(setDNSCoords(dnsCoords));
}; return {
props: { showMap: showMapCheck },
};
}
}
} }
); );
+65
View File
@@ -0,0 +1,65 @@
import useTranslation from "next-translate/useTranslation";
import Head from "next/head";
import Link from "next/link";
import CookieBanner from "../components/cookieBanner";
import Footer from "../components/footer";
import Header from "../components/header";
import { parseCookies, setCookie, destroyCookie } from "nookies";
import { useSession, signIn, signOut } from "next-auth/react";
function Error({ statusCode }, props) {
let { t, lang } = useTranslation();
const { footerLinks, pages } = props;
return (
<div>
<Head>
<title>
{t("case:page-title")} - {t("common:service-name")}
</title>
</Head>
<div id="page_wrapper">
<CookieBanner />
<Header courseName={t("common:service-name")} />
<div className="govuk-width-container govuk-!-padding-bottom-9">
<main className="govuk-main-wrapper govuk-!-padding-top-9 govuk-!-padding-bottom-9">
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds ">
<h1>{t("common:error-page-title")}</h1>
<p className="govuk-body">
{statusCode
? `An error ${statusCode} occurred on server`
: `An error occured`}
</p>
<a
href="/"
className="govuk-link"
onClick={() => {
destroyCookie({}, "pinsUser"),
window.localStorage.clear(),
signOut({
callbackUrl: "/",
});
}}
>
{" "}
Go back home
</a>
</div>
</div>
</main>
</div>
<Footer footerLinks={footerLinks} />
</div>
</div>
);
}
Error.getInitialProps = ({ res, err }) => {
const statusCode = res ? res.statusCode : err ? err.statusCode : 404;
console.log(res, err);
return { statusCode };
};
export default Error;
+21 -8
View File
@@ -187,15 +187,28 @@ export const getServerSideProps = wrapper.getServerSideProps(
let loginEmailStr = ""; let loginEmailStr = "";
if (hasLoginCode == true) { if (hasLoginCode == true) {
(loginEmailStr = hashString(thisSession.user.email)), loginEmailStr = hashString(thisSession.user.email);
(portalUserObj = await getPortalLogin( portalUserObj = await getPortalLogin(
thisSession.user.email, thisSession.user.email,
relayToken relayToken
)), );
console.log("loggin user stuff: ", portalUserObj),
store.dispatch(setAccountDetails(portalUserObj)); if (_.has(portalUserObj, "status") != false) {
if (portalUserObj.status == 400) {
return {
redirect: {
//destination: "/dns-not-found",
destination: "/error",
permanent: false,
},
};
} else {
console.log("loggin user stuff: ", portalUserObj);
store.dispatch(setAccountDetails(portalUserObj));
}
}
} else { } else {
console.log("no session"); console.log("empty session");
} }
if (ggToken.status == 400) { if (ggToken.status == 400) {
+31 -16
View File
@@ -15,6 +15,7 @@ import {
setSearchResults, setSearchResults,
} from "../store/searchOutput/action"; } from "../store/searchOutput/action";
import { wrapper } from "../store/store"; import { wrapper } from "../store/store";
import _ from "lodash";
const Home = (props) => { const Home = (props) => {
const { footerLinks, pages, isLinkedCase } = props; const { footerLinks, pages, isLinkedCase } = props;
@@ -127,26 +128,40 @@ export const getServerSideProps = wrapper.getServerSideProps(
let searchResultsObj = await getBasicSearch(query.q); let searchResultsObj = await getBasicSearch(query.q);
searchResultsObj = if (_.has(searchResultsObj, "status") != false) {
searchResultsObj.status == 502 if (searchResultsObj.status == 400) {
? { return {
value: [], redirect: {
errorCode: searchResultsObj.status, //destination: "/dns-not-found",
errorMsg: searchResultsObj.statusText, destination: "/error",
} permanent: false,
: searchResultsObj; },
};
} else {
searchResultsObj =
searchResultsObj.status == 502
? {
value: [],
errorCode: searchResultsObj.status,
errorMsg: searchResultsObj.statusText,
}
: searchResultsObj;
//console.log("sssss", searchResultsObj); //console.log("sssss", searchResultsObj);
const searchDetailsObj = await getSearchDetails(searchResultsObj); const searchDetailsObj = await getSearchDetails(
searchResultsObj
);
store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch(setSearchDetails(searchDetailsObj));
store.dispatch(setSearch(query.q)); store.dispatch(setSearch(query.q));
return { return {
props: { isLinkedCase: isLinked }, props: { isLinkedCase: isLinked },
}; };
}
}
} }
); );