my cases portal module by loggedin user

This commit is contained in:
robert.bond@test.gov.wales
2021-09-17 16:37:06 +01:00
parent 219e6a4744
commit c96a72f124
26 changed files with 673 additions and 107 deletions
+89 -12
View File
@@ -1,4 +1,6 @@
import _ from "lodash";
import Cookies from "cookies";
import jsonpath from "jsonpath";
import Head from "next/head";
import Header from "../../components/header";
import Banner from "../../components/banner";
@@ -10,18 +12,32 @@ import Errorpage from "../../components/errorpage";
import styles from "../../styles/Home.module.css";
import { useSelector, shallowEqual, connect } from "react-redux";
import { wrapper } from "../../store/store";
import Cookies from "cookies";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { setMyCases } from "../../store/myCases/action";
import { setMyRepresentations } from "../../store/myRepresentations/action";
import { setWatchedCases } from "../../store/watchedCases/action";
import { setAwaitingSubmission } from "../../store/awaitingSubmission/action";
import data from "../../data/collections.json";
import {
setLoggedInUserId,
setAccountDetails,
} from "../../store/accountDetails/action";
import { setMyCases, setMyCasesDetails } from "../../store/myCases/action";
import {
setMyRepresentations,
setMyRepresentationsDetails,
} from "../../store/myRepresentations/action";
import {
setWatchedCases,
setWatchedCasesDetails,
} from "../../store/watchedCases/action";
import {
setAwaitingSubmission,
setAwaitingSubmissionDetails,
} from "../../store/awaitingSubmission/action";
import {
getMyCases,
getMyRepresentations,
getWatchedCases,
getAwaitingSubmission,
getPortalModuelDetails,
} from "../../actions";
const Home = (props) => {
@@ -69,35 +85,96 @@ export const getServerSideProps = wrapper.getServerSideProps(
(store) =>
async ({ query, req, res }) => {
//console.log("the query", query);
res.setHeader(
"Cache-Control",
"public, s-maxage=604800, stale-while-revalidate"
);
const [
myCases,
myRepresentations,
watchedCases,
awaitingSubmission,
] = await Promise.all([
await getMyCases(),
await getMyCases("f8b454ed-eded-eb11-aac7-00224800be9c"),
await getMyRepresentations(),
await getWatchedCases(),
await getAwaitingSubmission(),
]);
const cookies = new Cookies(req, res);
cookies.set("pinsUser", "f8b454ed-eded-eb11-aac7-00224800be9c", {
httpOnly: true, // true by default
});
const [
myCasesDetails,
// myRepresentationsDetails,
// watchedCasesDetails,
// awaitingSubmissionDetails,
] = await Promise.all([
await getDetails(myCases),
// await getDetails(myRepresentations),
// await getDetails(watchedCases),
// await getDetails(awaitingSubmission),
]);
store.dispatch(
setLoggedInUserId("f8b454ed-eded-eb11-aac7-00224800be9c")
);
store.dispatch(setMyCases(myCases));
store.dispatch(setMyCasesDetails(myCasesDetails));
store.dispatch(setMyRepresentations(myRepresentations));
// store.dispatch(
// setMyRepresentationsDetails(myRepresentationsDetails)
// );
store.dispatch(setWatchedCases(watchedCases));
//store.dispatch(setWatchedCasesDetails(watchedCasesDetails));
store.dispatch(setAwaitingSubmission(awaitingSubmission));
// store.dispatch(
// setAwaitingSubmissionDetails(awaitingSubmissionDetails)
// );
}
);
const getFormCollection = (formtype) => {
const collectionName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')].LogicalCollectionName"
);
//console.log(collectionName[0]);
return collectionName[0];
};
const getDetails = (resultsObj) => {
// console.log(resultsObj);
let detailsArr = [];
resultsObj = resultsObj.value;
const detailsObj = resultsObj.map((searchDetail, index) => {
if (searchDetail.pinswg_appealcasetype == null) {
console.log(searchDetail.ticketnumber);
} else {
detailsArr.push(
getPortalModuelDetails(
getFormCollection(
"pinswg_" +
searchDetail[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
]
.replace(/[\s\-\+\(\)\,\&\.]/g, "")
.toLowerCase()
),
searchDetail.ticketnumber
)
);
}
});
//console.log(detailsArr);
return Promise.all(detailsArr);
};
const mapStateToProps = (state) => {
//console.log(state);
return {
accountDetails: state.accountDetails,
currentView: state.currentView,
search: state.search,
searchResultsObj: state.searchResultsObj,
+1
View File
@@ -72,6 +72,7 @@ const Home = (props) => {
const mapStateToProps = (state) => {
return {
accountDetails: state.accountDetails,
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,