import { getSession } from "next-auth/react"; import useTranslation from "next-translate/useTranslation"; import Head from "next/head"; import { useRouter } from "next/router"; import { connect } from "react-redux"; import { getBasicSearch, getCaseMessage, getIP, getPersonalAccount, getPortalLogin, getSIPSEvents, } from "../../actions"; import Breadcrumbs from "../../components/breadcrumbs"; import Case from "../../components/case"; import CookieBanner from "../../components/cookieBanner"; import Footer from "../../components/footer"; import Header from "../../components/header"; import { getSearchDetails } from "../../components/utils"; import { setAccountDetails } from "../../store/accountDetails/action"; import { setCurrentReference } from "../../store/currentView/action"; import { setSearch } from "../../store/search/action"; import { setEventDetails, setSearchDetails, setSearchResults, } from "../../store/searchOutput/action"; import { wrapper } from "../../store/store"; import ServiceBanner from "../../components/servicebanner"; const CaseHome = (props) => { const { footerLinks, pages, setSearchResults, setSearchDetails, searchResultsObj, } = props; let { t, lang } = useTranslation(); const router = useRouter(); const { locale } = router; const { ticketnumber } = router.query; return (
Reference:{" "} {props.searchResultsObj.searchResultsObj.value[0] .ticketnumber || props.currentView.caseReference.currentReference}{" "}
); }; export const getServerSideProps = wrapper.getServerSideProps( (store) => async (ctx) => { const { query, req, res } = ctx; getIP(req); const { cookies } = req; console.log(cookies); console.log("the query :", query.ticketnumber); let thisSession = await getSession(ctx); let loggedInUser = {}; if (thisSession) { console.log(" has sesssion......."); [loggedInUser] = await Promise.all([ await getPortalLogin(thisSession.user.email), ]); loggedInUser = loggedInUser.value[0].contactid; const accountDetails = await getPersonalAccount(loggedInUser); store.dispatch(setAccountDetails(accountDetails)); } else { console.log("not has sesssion......."); } let developmentQuery = query.ticketnumber.indexOf("CAS-") == 0 ? query.ticketnumber : query.ticketnumber.split("-").join(" "); const searchResultsObj = await getBasicSearch(developmentQuery); const searchDetailsObj = await getSearchDetails(searchResultsObj); var eventsObj = {}; if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { eventsObj = await getSIPSEvents( searchDetailsObj[0].value[0].pinswg_sipsid ); store.dispatch(setEventDetails(eventsObj)); } //console.log( // "\n======================================\n", // searchResultsObj, // "\n======================================\n" // ); //console.log( // "\n======================================\n", // searchDetailsObj[0], // "\n======================================\n" // ); store.dispatch(setSearch(developmentQuery)); console.log( searchResultsObj["@odata.count"] > 1 || searchResultsObj["@odata.count"] < 1 ); if (searchResultsObj["@odata.count"] < 1) { return { redirect: { destination: "/404", permanent: false, }, }; } else { if (searchResultsObj["@odata.count"] > 1) { return { redirect: { //destination: "/dns-not-found", destination: "/404", permanent: false, }, }; } else { store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch( setCurrentReference({ "ticketnumber": searchResultsObj.value[0].ticketnumber, "currentReference": searchResultsObj.value[0].title, "currentType": "searchResultsObj", "incidentid": searchResultsObj.value[0].incidentid, "appealType": searchResultsObj.value[0].pinswg_appealcasetype, "showLoginCheck": true, "specialistProcess": searchDetailsObj[0].value[0] .pinswg_speacialistcaseprocess != null || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess != null ? searchDetailsObj[0].value[0] .pinswg_speacialistcaseprocess || searchDetailsObj[0].value[0] .pinswg_specialistcaseprocess : "", }) ); } } //console.log(searchResultsObj); return { props: { searchResultsObj: { searchResultsObj: searchResultsObj, searchDetailsObj: searchDetailsObj, eventsObj: eventsObj, }, currentType: "directResultsObj", docsOffline: process.env.DOCAPI_OFFLINE || false, messagesObj: await getCaseMessage( searchResultsObj.value[0].incidentid ), showFilteredDocs: process.env.SHOWFILTERDOCS || false, showMaps: process.env.SHOWMAPS, }, }; } ); const mapStateToProps = (state) => { return { accountDetails: state.accountDetails, currentView: state.currentView, search: state.search, //searchResultsObj: state.searchResultsObj, documentDetailsObj: state.searchResultsObj.documentDetailsObj, formData: state.formData, appealType: state.appealType, form: state.form, myCases: state.myCases, watchedCases: state.watchedCases, myRepresentations: state.myRepresentations, awaitingSubmission: state.awaitingSubmission, }; }; const mapDispatchToProps = (dispatch) => { return { setCurrentReference: (currentReference) => { dispatch(setCurrentReference(refno)); }, // setSearchResults: (searchResults) => { // dispatch(setSearchResults(searchResults)); // }, // setSearchDetails: (searchDetails) => { // dispatch(setSearchDetails(searchDetails)); // }, }; }; export default connect(mapStateToProps, mapDispatchToProps)(CaseHome);