@rh-support/troubleshoot 0.2.115 → 0.2.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  2. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +6 -4
  3. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  4. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +114 -52
  5. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +1 -1
  6. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +27 -44
  8. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +14 -2
  11. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
  12. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +10 -11
  13. package/lib/esm/components/CaseManagement/OpenShiftClusterId.d.ts.map +1 -1
  14. package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +38 -52
  15. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts +2 -2
  16. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  17. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +122 -84
  18. package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts +1 -0
  19. package/lib/esm/components/Recommendations/AlertToastWrapper.d.ts.map +1 -1
  20. package/lib/esm/components/Recommendations/AlertToastWrapper.js +4 -2
  21. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts +9 -0
  22. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts.map +1 -0
  23. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +43 -0
  24. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  25. package/lib/esm/components/SessionRestore/SessionRestore.js +11 -5
  26. package/lib/esm/components/SubmitCase/ResubmitToast.d.ts +7 -0
  27. package/lib/esm/components/SubmitCase/ResubmitToast.d.ts.map +1 -0
  28. package/lib/esm/components/SubmitCase/ResubmitToast.js +25 -0
  29. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  30. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +4 -1
  31. package/lib/esm/components/wizardLayout/WizardAside.d.ts +1 -0
  32. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  33. package/lib/esm/components/wizardLayout/WizardAside.js +1 -1
  34. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  35. package/lib/esm/components/wizardLayout/WizardLayout.js +6 -5
  36. package/lib/esm/reducers/CaseConstNTypes.d.ts +4 -1
  37. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  38. package/lib/esm/reducers/CaseConstNTypes.js +4 -0
  39. package/lib/esm/reducers/CaseReducer.d.ts +12 -0
  40. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  41. package/lib/esm/reducers/CaseReducer.js +35 -1
  42. package/lib/esm/reducers/ClusterRecommendationsReducer.d.ts +5 -2
  43. package/lib/esm/reducers/ClusterRecommendationsReducer.d.ts.map +1 -1
  44. package/lib/esm/reducers/ClusterRecommendationsReducer.js +19 -6
  45. package/lib/esm/reducers/SessionRestoreReducer.d.ts +5 -2
  46. package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
  47. package/lib/esm/reducers/SessionRestoreReducer.js +24 -1
  48. package/lib/esm/scss/_pf4-overrides.scss +1 -1
  49. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts +4 -2
  50. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts.map +1 -1
  51. package/lib/esm/utils/caseOpenshiftClusterIdUtils.js +1 -9
  52. package/package.json +9 -9
@@ -0,0 +1,43 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Button, Modal, ModalVariant } from '@patternfly/react-core';
11
+ import { isEqual } from 'lodash';
12
+ import React from 'react';
13
+ import { Trans, useTranslation } from 'react-i18next';
14
+ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
15
+ import { updateCaseCreationErrorStatus } from '../../reducers/CaseReducer';
16
+ export const RestoreLastSessionModal = ({ onRestore, errorSession }) => {
17
+ const { t } = useTranslation();
18
+ const { caseCreation500ErrorStatus, caseCreationError } = useCaseSelector((state) => ({
19
+ caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
20
+ caseCreationError: state.caseCreationError,
21
+ }), isEqual);
22
+ const caseDispatch = useCaseDispatch();
23
+ /**
24
+ * On Restore
25
+ */
26
+ const onRestoreClick = () => __awaiter(void 0, void 0, void 0, function* () {
27
+ yield onRestore(errorSession);
28
+ updateCaseCreationErrorStatus(caseDispatch, false);
29
+ });
30
+ /**
31
+ * On Open a new case close the modal by setting `caseCreationError` false
32
+ */
33
+ const onOpenNewCase = () => {
34
+ updateCaseCreationErrorStatus(caseDispatch, false);
35
+ };
36
+ return (React.createElement(Modal, { "data-tracking-id": "restore-session-modal", variant: ModalVariant.small, title: t('Restore last session?'), isOpen: !caseCreationError && caseCreation500ErrorStatus, onClose: onOpenNewCase, actions: [
37
+ React.createElement(Button, { key: "restore", variant: "primary", onClick: onRestoreClick, "data-tracking-id": "restore-session-button" },
38
+ React.createElement(Trans, null, " Restore")),
39
+ React.createElement(Button, { key: "openANewCase", variant: "secondary", onClick: onOpenNewCase, "data-tracking-id": "restore-session-open-case-button" },
40
+ React.createElement(Trans, null, "Open a new case")),
41
+ ] },
42
+ React.createElement(Trans, null, "It looks like an error prevented your last case from being submitted. Would you like to restore the last session or open a new case?")));
43
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAGH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAgBzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,eAmU3C"}
1
+ {"version":3,"file":"SessionRestore.d.ts","sourceRoot":"","sources":["../../../../src/components/SessionRestore/SessionRestore.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAGH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAiBzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,eA4U3C"}
@@ -29,17 +29,19 @@ import RouteUtils from '../../utils/routeUtils';
29
29
  import { resetAttachment } from '../shared/fileUpload';
30
30
  import { restoreFilesFromSession } from '../shared/fileUpload/reducer/AttachmentHelper';
31
31
  import { AttachmentDispatchContext } from '../shared/fileUpload/reducer/AttachmentReducerContext';
32
+ import { RestoreLastSessionModal } from './RestoreLastSessionModal';
32
33
  import { SessionRestoreCard } from './SessionRestoreCard';
33
34
  export function SessionRestore(props) {
34
35
  const sessionRestoreDispatch = useContext(SessionRestoreDispatchContext);
35
36
  const dispatchToAttachmentReducer = useContext(AttachmentDispatchContext);
36
37
  const dispatchToRouteReducer = useRouteDispatchContext();
37
38
  const { sessionRestore } = useContext(SessionRestoreStateContext);
38
- const { selectedNotificationContacts, cepDetails, caseDetails } = useCaseSelector((state) => ({
39
+ const { selectedNotificationContacts, cepDetails, caseDetails, caseCreation500ErrorStatus } = useCaseSelector((state) => ({
39
40
  openshiftClusterID: state.caseDetails.openshiftClusterID,
40
41
  cepDetails: state.cepDetails,
41
42
  selectedNotificationContacts: state.selectedNotificationContacts,
42
43
  caseDetails: state.caseDetails,
44
+ caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
43
45
  }), isEqual);
44
46
  const caseDispatch = useCaseDispatch();
45
47
  const { globalMetadataState: { loggedInUsersAccount, loggedInUserRights, referrerUrl }, } = useContext(GlobalMetadataStateContext);
@@ -54,8 +56,8 @@ export function SessionRestore(props) {
54
56
  * Fetching previous sessions on load
55
57
  */
56
58
  useEffect(() => {
57
- loadPreviousSessions(sessionRestoreDispatch);
58
- }, [sessionRestoreDispatch]);
59
+ loadPreviousSessions(sessionRestoreDispatch, caseDispatch);
60
+ }, [sessionRestoreDispatch, caseDispatch]);
59
61
  /**
60
62
  * Creating/use existing session new session if one doesn't exist when:
61
63
  * 1. hasFetchedPreviousSessions
@@ -129,7 +131,7 @@ export function SessionRestore(props) {
129
131
  : !isEmpty(existingUserAgent) && existingUserAgent !== userAgent
130
132
  ? existingUserAgent
131
133
  : userAgent;
132
- let session = { userAgent, originatingSystem };
134
+ let session = { userAgent, originatingSystem, caseCreationError: caseCreation500ErrorStatus };
133
135
  if (!isEmpty(caseDetails.caseNumber)) {
134
136
  session = Object.assign(Object.assign({}, session), { isActive: false, isResolved: true, caseNumber: caseDetails.caseNumber });
135
137
  }
@@ -141,6 +143,7 @@ export function SessionRestore(props) {
141
143
  sessionRestore.activeSessionId,
142
144
  sessionRestore.hasFetchedPreviousSessions,
143
145
  sessionRestoreDispatch,
146
+ caseCreation500ErrorStatus,
144
147
  ], 500);
145
148
  /**
146
149
  * Patch CEP Details
@@ -279,5 +282,8 @@ export function SessionRestore(props) {
279
282
  ], 1000);
280
283
  if (!sessionRestoreCardSections.includes(activeSection))
281
284
  return React.createElement(React.Fragment, null);
282
- return (React.createElement(SessionRestoreCard, { onRestore: restoreSession, previousSessions: previousSessions, onCardDismiss: onSessionRestoreCardDismiss }));
285
+ return (React.createElement(React.Fragment, null,
286
+ ' ',
287
+ React.createElement(SessionRestoreCard, { onRestore: restoreSession, previousSessions: previousSessions, onCardDismiss: onSessionRestoreCardDismiss }),
288
+ React.createElement(RestoreLastSessionModal, { onRestore: restoreSession, errorSession: sessionRestore.sessionOfCaseCreationError })));
283
289
  }
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ interface IProps {
3
+ submitCaseAndNavigate: (isReSubmitting: boolean) => void;
4
+ }
5
+ export declare const ResubmitToast: FC<IProps>;
6
+ export {};
7
+ //# sourceMappingURL=ResubmitToast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResubmitToast.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/ResubmitToast.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMlC,UAAU,MAAM;IACZ,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,MAAM,CAuCpC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Alert, AlertActionCloseButton, AlertActionLink, AlertVariant } from '@patternfly/react-core';
2
+ import { isEqual } from 'lodash';
3
+ import React from 'react';
4
+ import { Trans, useTranslation } from 'react-i18next';
5
+ import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
6
+ import { updateCaseCreationErrorStatus } from '../../reducers/CaseReducer';
7
+ export const ResubmitToast = ({ submitCaseAndNavigate }) => {
8
+ const { t } = useTranslation();
9
+ const { caseCreation500ErrorStatus, caseCreationError } = useCaseSelector((state) => ({
10
+ caseCreation500ErrorStatus: state.caseCreation500ErrorStatus,
11
+ caseCreationError: state.caseCreationError,
12
+ }), isEqual);
13
+ const caseDispatch = useCaseDispatch();
14
+ const onResubmit = () => {
15
+ updateCaseCreationErrorStatus(caseDispatch, false); // Hide the resubmit toast
16
+ submitCaseAndNavigate(true);
17
+ };
18
+ const onReturnToCase = () => {
19
+ updateCaseCreationErrorStatus(caseDispatch, false);
20
+ };
21
+ return caseCreationError && caseCreation500ErrorStatus ? (React.createElement(Alert, { "data-tracking-id": "resubmit-case-toast", variant: AlertVariant.danger, title: t('Case was not submitted due to an internal error'), actionClose: React.createElement(AlertActionCloseButton, { onClose: onReturnToCase }), actionLinks: React.createElement(React.Fragment, null,
22
+ React.createElement(AlertActionLink, { onClick: onResubmit }, t('Resubmit')),
23
+ React.createElement(AlertActionLink, { onClick: onReturnToCase }, t('Return to cases'))) },
24
+ React.createElement(Trans, null, "Don\u2019t panic\u2014we\u2019ve saved this case for you! You can try to submit again or restore your session at a later time."))) : null;
25
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,eAqXtD"}
1
+ {"version":3,"file":"GlobalTroubleshootEffects.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/GlobalTroubleshootEffects.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOrF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,eA0XtD"}
@@ -293,7 +293,10 @@ export function GlobalTroubleshootEffects(props) {
293
293
  const previousActiveSessionId = usePrevious(activeSessionId);
294
294
  useEffect(() => {
295
295
  var _a;
296
- if (isEmpty(product) || isEmpty(version) || activeSessionId !== previousActiveSessionId)
296
+ if (isEmpty(product) ||
297
+ isEmpty(version) ||
298
+ activeSessionId !== previousActiveSessionId ||
299
+ isEmpty(previousVersion))
297
300
  return;
298
301
  // we need to reset openshift cluster states only when major version is different
299
302
  const oldMajorVersion = previousVersion && getVersion(previousVersion).major;
@@ -3,6 +3,7 @@ import { IRouteUrlParams } from '../../reducers/RouteConstNTypes';
3
3
  interface IProps {
4
4
  routeProps: RouteComponentProps<IRouteUrlParams>;
5
5
  isAttachmentUploadModalOpen: boolean;
6
+ submitCaseAndNavigate: (isReSubmitting: boolean) => void;
6
7
  }
7
8
  declare function WizardAside(props: IProps): JSX.Element;
8
9
  declare namespace WizardAside {
@@ -1 +1 @@
1
- {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAEH,eAAe,EAGlB,MAAM,iCAAiC,CAAC;AASzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;CACxC;AAGD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,eA8CjC;kBA9CQ,WAAW;;;AAgDpB,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"WizardAside.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardAside.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAEH,eAAe,EAGlB,MAAM,iCAAiC,CAAC;AASzC,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,2BAA2B,EAAE,OAAO,CAAC;IACrC,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAGD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,eA8CjC;kBA9CQ,WAAW;;;AAgDpB,eAAe,WAAW,CAAC"}
@@ -42,7 +42,7 @@ function WizardAside(props) {
42
42
  canUseSessionManagement && React.createElement(SessionRestore, { routeProps: props.routeProps }),
43
43
  React.createElement(AsideResults, null),
44
44
  canShowFileUploadWidget() && React.createElement(FileDiag, null),
45
- React.createElement(AlertToastWrapper, null))));
45
+ React.createElement(AlertToastWrapper, { submitCaseAndNavigate: props.submitCaseAndNavigate }))));
46
46
  }
47
47
  WizardAside.defaultProps = defaultProps;
48
48
  export default WizardAside;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eAqJzC"}
1
+ {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,eAsJzC"}
@@ -62,7 +62,7 @@ export function WizardLayout(props) {
62
62
  }
63
63
  return isModalPresent;
64
64
  };
65
- const submitCaseAndNavigate = () => {
65
+ const submitCaseAndNavigate = (isReSubmitting) => {
66
66
  confirmationModalType && setConfirmationModalType(null);
67
67
  // if a confirmation modal exists, show it and don't submit the case as
68
68
  // it will be handled by the confirmation modal itself
@@ -77,12 +77,13 @@ export function WizardLayout(props) {
77
77
  submitCase(caseDispatch, caseState, sessionItem, isCaseCreate, errorMessageCaseSubmit500);
78
78
  // reset viewedModals on case submit
79
79
  viewedConfirmationModalsList.current = [];
80
- RouteUtils.navigateToSection(props.routeProps, appRouteConfugurations[activeSection].nextSection, appRouteSectionsSequence, isCaseCreate, isSearchIntent, false);
80
+ !isReSubmitting &&
81
+ RouteUtils.navigateToSection(props.routeProps, appRouteConfugurations[activeSection].nextSection, appRouteSectionsSequence, isCaseCreate, isSearchIntent, false);
81
82
  };
82
83
  const onNext = (e) => {
83
84
  var _a;
84
85
  if (appRouteConfugurations[activeSection].nextSection === AppRouteSections.SUBMIT_CASE) {
85
- submitCaseAndNavigate();
86
+ submitCaseAndNavigate(false);
86
87
  return;
87
88
  }
88
89
  // confirmed state side support show modal logic
@@ -114,9 +115,9 @@ export function WizardLayout(props) {
114
115
  setConfirmationModalType(null);
115
116
  };
116
117
  return (React.createElement(React.Fragment, null,
117
- React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: submitCaseAndNavigate }),
118
+ React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: () => submitCaseAndNavigate(caseState.caseCreationError) }),
118
119
  React.createElement(WizardProgress, { routeProps: props.routeProps, onNext: onNext }),
119
120
  React.createElement(WizardMain, { routeProps: props.routeProps }),
120
121
  React.createElement(WizardNavigation, { routeProps: props.routeProps, onNext: onNext }),
121
- React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps })));
122
+ React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate })));
122
123
  }
@@ -144,7 +144,8 @@ export declare enum CaseReducerConstants {
144
144
  setSelectedCaseGroupUsers = "setSelectedCaseGroupUsers",
145
145
  getCustomEmail = "getCustomEmail",
146
146
  updateEmailList = "updateEmailList",
147
- getVersionDetails = "getVersionDetails"
147
+ getVersionDetails = "getVersionDetails",
148
+ caseCreation500ErrorStatus = "caseCreation500ErrorStatus"
148
149
  }
149
150
  export declare const initialCaseState: ICaseState;
150
151
  export interface ICaseState {
@@ -186,6 +187,8 @@ export interface ICaseState {
186
187
  isFetchingSelectedNotificationContacts: boolean;
187
188
  versionsDetails: IApiResponseDetails<IVersionsDetails[]>;
188
189
  v3ClusterName?: string;
190
+ caseCreation500ErrorStatus: boolean;
191
+ openshiftDisplayName?: string;
189
192
  }
190
193
  export interface ICreateCasePayloadType extends ICaseState {
191
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseConstNTypes.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,7 @@ export var CaseReducerConstants;
93
93
  CaseReducerConstants["getCustomEmail"] = "getCustomEmail";
94
94
  CaseReducerConstants["updateEmailList"] = "updateEmailList";
95
95
  CaseReducerConstants["getVersionDetails"] = "getVersionDetails";
96
+ CaseReducerConstants["caseCreation500ErrorStatus"] = "caseCreation500ErrorStatus";
96
97
  })(CaseReducerConstants || (CaseReducerConstants = {}));
97
98
  export const initialCaseState = {
98
99
  isCreatingCase: false,
@@ -136,6 +137,7 @@ export const initialCaseState = {
136
137
  notes: '',
137
138
  noClusterIdReason: '',
138
139
  noClusterIdReasonExplanation: '',
140
+ openshiftClusterVersion: '',
139
141
  },
140
142
  customerEscalation: false,
141
143
  isClosed: false,
@@ -172,6 +174,8 @@ export const initialCaseState = {
172
174
  isFetchingSelectedNotificationContacts: true,
173
175
  versionsDetails: getApiResourceObject([]),
174
176
  v3ClusterName: '',
177
+ caseCreation500ErrorStatus: false,
178
+ openshiftDisplayName: '',
175
179
  };
176
180
  export const ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967811';
177
181
  export const NON_ORG_ADMIN_SEND_NOTIFCATION_KBASE_LINK = 'https://access.redhat.com/articles/5967831';
@@ -12,6 +12,18 @@ export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseSta
12
12
  export declare const setCaseState: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseState>) => void;
13
13
  export declare const setNotifiedUser: (dispatch: CaseReducerDispatchType, selectedNotificationContacts: IContact[]) => void;
14
14
  export declare const submitCase: (dispatch: CaseReducerDispatchType, caseDetails: ICaseState, sessionItem: ISessionItem, isCaseCreate: boolean, errorMessage500: string | JSX.Element) => Promise<void>;
15
+ /**
16
+ * Update case details if there is HTTP 500 error while submitting case
17
+ * @param dispatch CaseReducerDispatchType
18
+ * @param error Error
19
+ */
20
+ export declare const updateCaseCreationErrorStatusOnError: (dispatch: CaseReducerDispatchType, error: any) => void;
21
+ /**
22
+ * Update `caseCreation500ErrorStatus` status
23
+ * @param dispatch CaseReducerDispatchType
24
+ * @param errorStatus Boolean
25
+ */
26
+ export declare const updateCaseCreationErrorStatus: (dispatch: CaseReducerDispatchType, errorStatus: boolean) => void;
15
27
  export declare const postCaseCreationProcessing: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: ICaseState) => Promise<void>;
16
28
  export declare const postCepDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, cepDetails: ICepDetails) => Promise<void>;
17
29
  export declare const setCaseRecommendations: (dispatch: CaseReducerDispatchType, docs: ISolrRecommendation[], oldRecommendations: ICaseResourceLink[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseReducer.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export const caseReducer = (pState, action) => {
54
54
  return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), { caseNumber: null }), isCreatingCase: true, caseCreationError: false, caseCreationErrorMessage: '' });
55
55
  }
56
56
  case CaseReducerConstants.caseCreated: {
57
- return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCreatingCase: false, caseCreationError: false, caseCreationErrorMessage: '' });
57
+ return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCreatingCase: false, caseCreationError: false, caseCreationErrorMessage: '', caseCreation500ErrorStatus: false });
58
58
  }
59
59
  case CaseReducerConstants.setCaseCreationError: {
60
60
  return Object.assign(Object.assign({}, pState), { isCreatingCase: false, caseCreationError: true, caseCreationErrorMessage: action.payload.caseCreationErrorMessage });
@@ -127,6 +127,9 @@ export const caseReducer = (pState, action) => {
127
127
  case CaseReducerConstants.getVersionDetails: {
128
128
  return Object.assign(Object.assign({}, pState), { versionsDetails: action.payload.versionsDetails });
129
129
  }
130
+ case CaseReducerConstants.caseCreation500ErrorStatus: {
131
+ return Object.assign(Object.assign({}, pState), { caseCreation500ErrorStatus: action.payload.caseCreation500ErrorStatus });
132
+ }
130
133
  default: {
131
134
  return pState;
132
135
  }
@@ -155,12 +158,43 @@ export const submitCase = (dispatch, caseDetails, sessionItem, isCaseCreate, err
155
158
  }
156
159
  catch (error) {
157
160
  const errorMessage = formattedApiErrorMessage(error, { '500': { message: errorMessage500 } });
161
+ // Set `caseCreationError` as true if there is HTTP 500 error
162
+ updateCaseCreationErrorStatusOnError(dispatch, error);
158
163
  dispatch({
159
164
  type: CaseReducerConstants.setCaseCreationError,
160
165
  payload: { caseCreationErrorMessage: errorMessage },
161
166
  });
162
167
  }
163
168
  });
169
+ /**
170
+ * Update case details if there is HTTP 500 error while submitting case
171
+ * @param dispatch CaseReducerDispatchType
172
+ * @param error Error
173
+ */
174
+ export const updateCaseCreationErrorStatusOnError = (dispatch, error) => {
175
+ const errorCode = parseInt((error === null || error === void 0 ? void 0 : error.code) || (error === null || error === void 0 ? void 0 : error.status)) || '';
176
+ if (errorCode === 500) {
177
+ dispatch({
178
+ type: CaseReducerConstants.caseCreation500ErrorStatus,
179
+ payload: {
180
+ caseCreation500ErrorStatus: true,
181
+ },
182
+ });
183
+ }
184
+ };
185
+ /**
186
+ * Update `caseCreation500ErrorStatus` status
187
+ * @param dispatch CaseReducerDispatchType
188
+ * @param errorStatus Boolean
189
+ */
190
+ export const updateCaseCreationErrorStatus = (dispatch, errorStatus) => {
191
+ dispatch({
192
+ type: CaseReducerConstants.caseCreation500ErrorStatus,
193
+ payload: {
194
+ caseCreation500ErrorStatus: errorStatus,
195
+ },
196
+ });
197
+ };
164
198
  export const postCaseCreationProcessing = (dispatch, caseNumber, caseDetails) => __awaiter(void 0, void 0, void 0, function* () {
165
199
  caseDetails.caseDetails.cep === true && postCepDetails(dispatch, caseNumber, caseDetails.cepDetails);
166
200
  });
@@ -1,4 +1,4 @@
1
- import { IClusterRecommendation } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics';
1
+ import { IClusterRecommendation, IClusterRecommendationsResult } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics';
2
2
  import { IAction, IApiResponseDetails } from '@rh-support/types/shared';
3
3
  export declare enum RulesReducerConstants {
4
4
  requestClusterRecommendations = "requestClusterRecommendations",
@@ -11,11 +11,14 @@ export declare const initialClusterRecommendations: IApiResponseDetails<ICluster
11
11
  export interface IInitialClusterRecommendationsStateType {
12
12
  clusterRecommendations: IApiResponseDetails<IClusterRecommendation[]>;
13
13
  isClusterRecommendationsModalOpen: boolean;
14
+ clusterRecommendationsCache: {
15
+ [key: string]: IClusterRecommendationsResult;
16
+ };
14
17
  }
15
18
  export declare const initialState: IInitialClusterRecommendationsStateType;
16
19
  export declare const clusterRecommendationsReducer: (state: IInitialClusterRecommendationsStateType, action: IActionType) => IInitialClusterRecommendationsStateType;
17
20
  export declare const resetClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType) => void;
18
- export declare const fetchClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType, clusterId: string) => Promise<void>;
21
+ export declare const fetchClusterRecommendations: (dispatch: ClusterRecommendationsDispatchType, clusterId: string, clusterRecommendationsCache: any) => Promise<void>;
19
22
  export declare const toggleClusterRecommendationModal: (dispatch: ClusterRecommendationsDispatchType, newModalVisibilityValue: boolean) => void;
20
23
  export {};
21
24
  //# sourceMappingURL=ClusterRecommendationsReducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterRecommendationsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ClusterRecommendationsReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EAEzB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,oBAAY,qBAAqB;IAC7B,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;CACxE;AAED,aAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAC;AAC3F,oBAAY,kCAAkC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE9E,eAAO,MAAM,6BAA6B,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAA4B,CAAC;AAErH,MAAM,WAAW,uCAAuC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACtE,iCAAiC,EAAE,OAAO,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,EAAE,uCAG1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAC/B,uCAAuC,0BAE/C,uCAgBF,CAAC;AAGF,eAAO,MAAM,2BAA2B,aAAc,kCAAkC,SAEvF,CAAC;AACF,eAAO,MAAM,2BAA2B,aAAoB,kCAAkC,aAAa,MAAM,kBAyBhH,CAAC;AACF,eAAO,MAAM,gCAAgC,aAC/B,kCAAkC,2BACnB,OAAO,SAMnC,CAAC"}
1
+ {"version":3,"file":"ClusterRecommendationsReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/ClusterRecommendationsReducer.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EACtB,6BAA6B,EAChC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,oBAAY,qBAAqB;IAC7B,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;CACxE;AAED,aAAK,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,uCAAuC,CAAC,CAAC;AAC3F,oBAAY,kCAAkC,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE9E,eAAO,MAAM,6BAA6B,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAA4B,CAAC;AAErH,MAAM,WAAW,uCAAuC;IACpD,sBAAsB,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACtE,iCAAiC,EAAE,OAAO,CAAC;IAC3C,2BAA2B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,EAAE,uCAI1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAC/B,uCAAuC,0BAE/C,uCAmBF,CAAC;AAGF,eAAO,MAAM,2BAA2B,aAAc,kCAAkC,SAEvF,CAAC;AACF,eAAO,MAAM,2BAA2B,aAC1B,kCAAkC,aACjC,MAAM,oDAqCpB,CAAC;AACF,eAAO,MAAM,gCAAgC,aAC/B,kCAAkC,2BACnB,OAAO,SAMnC,CAAC"}
@@ -19,18 +19,19 @@ export const initialClusterRecommendations = getApiResourceObject([]);
19
19
  export const initialState = {
20
20
  clusterRecommendations: initialClusterRecommendations,
21
21
  isClusterRecommendationsModalOpen: false,
22
+ clusterRecommendationsCache: {},
22
23
  };
23
24
  export const clusterRecommendationsReducer = (state, action) => {
24
25
  switch (action.type) {
25
26
  case RulesReducerConstants.requestClusterRecommendations: {
26
- return Object.assign(Object.assign({}, state), { clusterRecommendations: action.payload.clusterRecommendations });
27
+ return Object.assign(Object.assign({}, state), action.payload);
27
28
  }
28
29
  // used for reseting the rules when reseting on a new troubleshoot issue.
29
30
  case RulesReducerConstants.resetClusterRecommendations: {
30
31
  return Object.assign(Object.assign({}, state), { clusterRecommendations: initialClusterRecommendations });
31
32
  }
32
33
  case RulesReducerConstants.toggleClusterRecommendationModal: {
33
- return Object.assign(Object.assign({}, state), { isClusterRecommendationsModalOpen: action.payload.isClusterRecommendationsModalOpen });
34
+ return Object.assign(Object.assign({}, state), action.payload);
34
35
  }
35
36
  default: {
36
37
  return state;
@@ -41,27 +42,39 @@ export const clusterRecommendationsReducer = (state, action) => {
41
42
  export const resetClusterRecommendations = (dispatch) => {
42
43
  dispatch({ type: RulesReducerConstants.resetClusterRecommendations });
43
44
  };
44
- export const fetchClusterRecommendations = (dispatch, clusterId) => __awaiter(void 0, void 0, void 0, function* () {
45
+ export const fetchClusterRecommendations = (dispatch, clusterId, clusterRecommendationsCache) => __awaiter(void 0, void 0, void 0, function* () {
45
46
  var _a;
46
47
  dispatch({
47
48
  type: RulesReducerConstants.requestClusterRecommendations,
48
49
  payload: {
49
50
  clusterRecommendations: getApiResourceObject([], true),
51
+ clusterRecommendationsCache,
50
52
  },
51
53
  });
52
54
  try {
53
- const clusterInsight = yield pcm.preCase.diag.getClusterRecommendations(clusterId);
55
+ let clusterInsight;
56
+ if (clusterRecommendationsCache[clusterId]) {
57
+ clusterInsight = clusterRecommendationsCache[clusterId];
58
+ }
59
+ else {
60
+ clusterInsight = yield pcm.preCase.diag.getClusterRecommendations(clusterId);
61
+ clusterRecommendationsCache[clusterId] = clusterInsight;
62
+ }
54
63
  const rules = ((_a = clusterInsight === null || clusterInsight === void 0 ? void 0 : clusterInsight.report) === null || _a === void 0 ? void 0 : _a.data) || [];
55
64
  dispatch({
56
65
  type: RulesReducerConstants.requestClusterRecommendations,
57
- payload: { clusterRecommendations: getApiResourceObject(rules) },
66
+ payload: { clusterRecommendations: getApiResourceObject(rules), clusterRecommendationsCache },
58
67
  });
59
68
  }
60
69
  catch (e) {
61
70
  console.log(e.message);
71
+ clusterRecommendationsCache[clusterId] = {};
62
72
  dispatch({
63
73
  type: RulesReducerConstants.requestClusterRecommendations,
64
- payload: { clusterRecommendations: getApiResourceObject([], false, true, e.message) },
74
+ payload: {
75
+ clusterRecommendations: getApiResourceObject([], false, true, e.message),
76
+ clusterRecommendationsCache,
77
+ },
65
78
  });
66
79
  }
67
80
  });
@@ -3,6 +3,7 @@ import { ICasePayload } from '@cee-eng/hydrajs/@types/api/public/case';
3
3
  import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr';
4
4
  import { ITopContent, ITopContentList } from '@cee-eng/hydrajs/@types/models/topContent/topContentModel';
5
5
  import { IAction, IApiCreateState, IApiResponseDetails, IApiUpdateState } from '@rh-support/types/shared';
6
+ import { CaseReducerDispatchType } from './CaseConstNTypes';
6
7
  export interface IPrevSessions {
7
8
  [sessionId: string]: ISessionItem;
8
9
  }
@@ -26,6 +27,7 @@ export interface ISessionRestoreState {
26
27
  sessionUpdationStatus: IApiUpdateState;
27
28
  sessionResourceTracking: ISessionResourcesTracking;
28
29
  referrerUrl: string;
30
+ sessionOfCaseCreationError: ISessionItem | null;
29
31
  }
30
32
  export interface ISessionRestorePayloadType extends ISessionRestoreState {
31
33
  sessionItem: ISessionItem;
@@ -46,12 +48,13 @@ export declare enum SessionRestoreConstants {
46
48
  setSessionCreationState = "setSessionCreationState",
47
49
  setSessionUpdationState = "setSessionUpdationState",
48
50
  updateSessionResourceTracking = "updateSessionResourceTracking",
49
- updatePreviousSessions = "updatePreviousSessions"
51
+ updatePreviousSessions = "updatePreviousSessions",
52
+ updateSessionOfCaseCreationError = "updateSessionOfCaseCreationError"
50
53
  }
51
54
  export declare const initialSessionRestoreState: ISessionRestoreState;
52
55
  export declare type SessionRestoreDispatchType = (value: IActionType) => void;
53
56
  export declare const sessionRestoreReducer: (state: ISessionRestoreState, action: IActionType) => ISessionRestoreState;
54
- export declare const loadPreviousSessions: (dispatch: SessionReducerDispatchType) => Promise<void>;
57
+ export declare const loadPreviousSessions: (dispatch: SessionReducerDispatchType, caseDispatch: CaseReducerDispatchType) => Promise<void>;
55
58
  export declare const createSession: (dispatch: SessionReducerDispatchType, sessionDetails: ISessionDetails, session: ISession) => Promise<void>;
56
59
  export declare const updateSession: (dispatch: SessionReducerDispatchType, sessionId: string, sessionDetails?: ISessionDetails, session?: ISession) => Promise<void>;
57
60
  export declare const updateActiveSessionId: (dispatch: SessionReducerDispatchType, activeSessionId: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRestoreReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/SessionRestoreReducer.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import forEach from 'lodash/forEach';
17
17
  import isEmpty from 'lodash/isEmpty';
18
18
  import map from 'lodash/map';
19
19
  import uniqBy from 'lodash/uniqBy';
20
+ import { CaseReducerConstants } from './CaseConstNTypes';
20
21
  const { getSessions, patchSession, createNewSession, createSessionResources, updateSessionResources, createSessionCepDetails, SessionResourceVisibility, } = pcm.preCase.session;
21
22
  // Constants
22
23
  export var SessionRestoreConstants;
@@ -29,6 +30,7 @@ export var SessionRestoreConstants;
29
30
  SessionRestoreConstants["setSessionUpdationState"] = "setSessionUpdationState";
30
31
  SessionRestoreConstants["updateSessionResourceTracking"] = "updateSessionResourceTracking";
31
32
  SessionRestoreConstants["updatePreviousSessions"] = "updatePreviousSessions";
33
+ SessionRestoreConstants["updateSessionOfCaseCreationError"] = "updateSessionOfCaseCreationError";
32
34
  })(SessionRestoreConstants || (SessionRestoreConstants = {}));
33
35
  export const initialSessionRestoreState = {
34
36
  previousSessions: getApiResourceObject({}),
@@ -38,6 +40,7 @@ export const initialSessionRestoreState = {
38
40
  sessionUpdationStatus: getApiUpdationStatus(),
39
41
  sessionResourceTracking: {},
40
42
  referrerUrl: null,
43
+ sessionOfCaseCreationError: null,
41
44
  };
42
45
  // Reducers
43
46
  export const sessionRestoreReducer = (state, action) => {
@@ -101,13 +104,16 @@ export const sessionRestoreReducer = (state, action) => {
101
104
  newState.previousSessions.data = Object.assign(Object.assign({}, newState.previousSessions.data), action.payload.previousSessions.data);
102
105
  return newState;
103
106
  }
107
+ case SessionRestoreConstants.updateSessionOfCaseCreationError: {
108
+ return Object.assign(Object.assign({}, state), { sessionOfCaseCreationError: action.payload.sessionOfCaseCreationError });
109
+ }
104
110
  default: {
105
111
  return state;
106
112
  }
107
113
  }
108
114
  };
109
115
  // Function to Load Previous Session
110
- export const loadPreviousSessions = (dispatch) => __awaiter(void 0, void 0, void 0, function* () {
116
+ export const loadPreviousSessions = (dispatch, caseDispatch) => __awaiter(void 0, void 0, void 0, function* () {
111
117
  dispatch({
112
118
  type: SessionRestoreConstants.getSessions,
113
119
  payload: { previousSessions: getApiResourceObject({}, true), hasFetchedPreviousSessions: false },
@@ -119,9 +125,26 @@ export const loadPreviousSessions = (dispatch) => __awaiter(void 0, void 0, void
119
125
  modifiedAfter: getPastUTCDateFromNow(30),
120
126
  });
121
127
  const prevSessions = {};
128
+ let foundSessionWithCaseCreationError = {};
122
129
  for (const s of sessions) {
123
130
  prevSessions[s.session.id] = s;
131
+ s.session.caseCreationError && (foundSessionWithCaseCreationError = s);
124
132
  }
133
+ // If session is having `caseCreationError` true then update case details store.
134
+ !isEmpty(foundSessionWithCaseCreationError) &&
135
+ caseDispatch({
136
+ type: CaseReducerConstants.caseCreation500ErrorStatus,
137
+ payload: {
138
+ caseCreation500ErrorStatus: true,
139
+ },
140
+ });
141
+ !isEmpty(foundSessionWithCaseCreationError) &&
142
+ dispatch({
143
+ type: SessionRestoreConstants.updateSessionOfCaseCreationError,
144
+ payload: {
145
+ sessionOfCaseCreationError: foundSessionWithCaseCreationError,
146
+ },
147
+ });
125
148
  dispatch({
126
149
  type: SessionRestoreConstants.getSessions,
127
150
  payload: { previousSessions: getApiResourceObject(prevSessions), hasFetchedPreviousSessions: true },