@rh-support/troubleshoot 2.6.353 → 2.6.357

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 (339) hide show
  1. package/lib/esm/components/AccountInfo/AccountSelector.d.ts.map +1 -1
  2. package/lib/esm/components/AccountInfo/AccountSelector.js +19 -29
  3. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  4. package/lib/esm/components/AccountInfo/OwnerSelector.js +91 -16
  5. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +6 -2
  7. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +61 -32
  9. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts +8 -0
  10. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts.map +1 -0
  11. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.js +18 -0
  12. package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
  13. package/lib/esm/components/CaseEditView/Case.js +60 -33
  14. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  15. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +19 -9
  16. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.d.ts.map +1 -1
  17. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.js +15 -4
  18. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  19. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +82 -55
  20. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts +2 -0
  21. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +3 -3
  23. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts +1 -2
  24. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts.map +1 -1
  25. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +8 -6
  26. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  27. package/lib/esm/components/CaseEditView/CaseOverview/index.js +76 -45
  28. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  29. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +203 -109
  30. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts +0 -1
  31. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
  32. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +5 -5
  33. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts +1 -3
  34. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  35. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +5 -9
  36. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +1 -1
  37. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +18 -17
  38. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  39. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +51 -47
  40. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  41. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +49 -44
  42. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts +4 -0
  43. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts.map +1 -0
  44. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.js +23 -0
  45. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  46. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +51 -45
  47. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  48. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +23 -10
  49. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +1 -1
  50. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.d.ts.map +1 -1
  51. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.js +0 -2
  52. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.d.ts.map +1 -1
  53. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +3 -2
  54. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
  55. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +132 -57
  56. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.d.ts.map +1 -1
  57. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +10 -5
  58. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
  59. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +110 -65
  60. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
  61. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +16 -9
  62. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
  63. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +40 -26
  64. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts +2 -4
  65. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  66. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +122 -148
  67. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts +4 -2
  68. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  69. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +76 -145
  70. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
  71. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +22 -9
  72. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.d.ts.map +1 -1
  73. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.js +9 -2
  74. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.d.ts.map +1 -1
  75. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.js +8 -1
  76. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts +29 -0
  77. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts.map +1 -0
  78. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.js +29 -0
  79. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts +17 -0
  80. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts.map +1 -0
  81. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.js +60 -0
  82. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts +1 -2
  83. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts.map +1 -1
  84. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.js +13 -8
  85. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts +9 -3
  86. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  87. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +217 -271
  88. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  89. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +6 -4
  90. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.d.ts.map +1 -1
  91. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.js +3 -1
  92. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +4 -4
  93. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts +35 -3
  94. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
  95. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +63 -224
  96. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts +4 -5
  97. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
  98. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +18 -5
  99. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.d.ts.map +1 -1
  100. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.js +7 -2
  101. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
  102. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +38 -52
  103. package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
  104. package/lib/esm/components/CaseInformation/CaseGroup.js +168 -61
  105. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  106. package/lib/esm/components/CaseInformation/CaseInformation.js +10 -9
  107. package/lib/esm/components/CaseInformation/CaseLabels.d.ts +3 -0
  108. package/lib/esm/components/CaseInformation/CaseLabels.d.ts.map +1 -0
  109. package/lib/esm/components/CaseInformation/CaseLabels.js +103 -0
  110. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  111. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +108 -31
  112. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +2 -2
  113. package/lib/esm/components/CaseInformation/Description.js +1 -1
  114. package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
  115. package/lib/esm/components/CaseInformation/FileDiag.js +2 -5
  116. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  117. package/lib/esm/components/CaseInformation/Fts.js +31 -17
  118. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  119. package/lib/esm/components/CaseInformation/Severity.js +21 -13
  120. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  121. package/lib/esm/components/CaseInformation/SupportLevel.js +36 -55
  122. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts +4 -0
  123. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts.map +1 -0
  124. package/lib/esm/components/CaseManagement/CaseLabelsCreate.js +110 -0
  125. package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
  126. package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +2 -8
  127. package/lib/esm/components/CaseManagement/CaseManagement.d.ts.map +1 -1
  128. package/lib/esm/components/CaseManagement/CaseManagement.js +13 -10
  129. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  130. package/lib/esm/components/CaseManagement/Cep.js +11 -9
  131. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts +2 -1
  132. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts.map +1 -1
  133. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +22 -3
  134. package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +6 -6
  135. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  136. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +15 -22
  137. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  138. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +34 -40
  139. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.d.ts.map +1 -1
  140. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.js +5 -4
  141. package/lib/esm/components/EditDescription/EditDescription.js +1 -1
  142. package/lib/esm/components/IdeaInformation/IdeaInformation.d.ts.map +1 -1
  143. package/lib/esm/components/IdeaInformation/IdeaInformation.js +16 -18
  144. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
  145. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +4 -2
  146. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts +0 -1
  147. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  148. package/lib/esm/components/ProductSelector/AllProductsSelector.js +3 -15
  149. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  150. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +13 -37
  151. package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
  152. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +37 -50
  153. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts +3 -0
  154. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts.map +1 -0
  155. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.js +9 -0
  156. package/lib/esm/components/ProductSelector/ProductSelector.d.ts.map +1 -1
  157. package/lib/esm/components/ProductSelector/ProductSelector.js +1 -3
  158. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
  159. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +9 -1
  160. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  161. package/lib/esm/components/Recommendations/AsideResults.js +5 -5
  162. package/lib/esm/components/Recommendations/ClusterRecommendationToast.d.ts.map +1 -1
  163. package/lib/esm/components/Recommendations/ClusterRecommendationToast.js +1 -4
  164. package/lib/esm/components/Recommendations/ClusterRecommendations.d.ts.map +1 -1
  165. package/lib/esm/components/Recommendations/ClusterRecommendations.js +1 -4
  166. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
  167. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +10 -8
  168. package/lib/esm/components/Review/Review.d.ts.map +1 -1
  169. package/lib/esm/components/Review/Review.js +25 -19
  170. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  171. package/lib/esm/components/SessionRestore/SessionRestore.js +3 -1
  172. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  173. package/lib/esm/components/SubmitCase/SubmitCase.js +1 -1
  174. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.d.ts.map +1 -1
  175. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +104 -62
  176. package/lib/esm/components/shared/Constants.d.ts +1 -0
  177. package/lib/esm/components/shared/Constants.d.ts.map +1 -1
  178. package/lib/esm/components/shared/Constants.js +1 -0
  179. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  180. package/lib/esm/components/shared/fileUpload/FileLister.js +3 -3
  181. package/lib/esm/components/shared/fileUpload/FileUpload.js +2 -3
  182. package/lib/esm/components/shared/fileUpload/FileUploader.d.ts.map +1 -1
  183. package/lib/esm/components/shared/fileUpload/FileUploader.js +3 -1
  184. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts +1 -0
  185. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  186. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +4 -3
  187. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts +1 -1
  188. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts.map +1 -1
  189. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts +21 -5
  190. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts.map +1 -1
  191. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +207 -34
  192. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts +5 -1
  193. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts.map +1 -1
  194. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.js +36 -1
  195. package/lib/esm/components/shared/fileUpload/types/index.d.ts +5 -1
  196. package/lib/esm/components/shared/fileUpload/types/index.d.ts.map +1 -1
  197. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts +2 -2
  198. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts.map +1 -1
  199. package/lib/esm/components/shared/fileUpload/useFileUploader.js +116 -47
  200. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  201. package/lib/esm/components/shared/useIsSectionValid.js +22 -57
  202. package/lib/esm/components/shared/usePostComment.d.ts.map +1 -1
  203. package/lib/esm/components/shared/usePostComment.js +16 -28
  204. package/lib/esm/components/shared/utils.d.ts +1 -0
  205. package/lib/esm/components/shared/utils.d.ts.map +1 -1
  206. package/lib/esm/components/shared/utils.js +9 -3
  207. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  208. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +178 -38
  209. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  210. package/lib/esm/components/wizardLayout/WizardAside.js +2 -4
  211. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  212. package/lib/esm/components/wizardLayout/WizardLayout.js +9 -13
  213. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  214. package/lib/esm/components/wizardLayout/WizardMain.js +7 -0
  215. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  216. package/lib/esm/components/wizardLayout/WizardNavigation.js +13 -10
  217. package/lib/esm/constants/caseDetailsConstants.d.ts +5 -0
  218. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  219. package/lib/esm/constants/caseDetailsConstants.js +5 -0
  220. package/lib/esm/context/CaseContext.d.ts.map +1 -1
  221. package/lib/esm/css/app.css +28 -0
  222. package/lib/esm/css/case.css +60 -209
  223. package/lib/esm/graphql/index.d.ts +4 -0
  224. package/lib/esm/graphql/index.d.ts.map +1 -0
  225. package/lib/esm/graphql/index.js +3 -0
  226. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts +2 -0
  227. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts.map +1 -0
  228. package/lib/esm/graphql/mutations/createRMECaseEscalation.js +24 -0
  229. package/lib/esm/graphql/mutations/index.d.ts +2 -0
  230. package/lib/esm/graphql/mutations/index.d.ts.map +1 -0
  231. package/lib/esm/graphql/mutations/index.js +1 -0
  232. package/lib/esm/graphql/queries/getEscalationDetails.d.ts +2 -0
  233. package/lib/esm/graphql/queries/getEscalationDetails.d.ts.map +1 -0
  234. package/lib/esm/graphql/queries/getEscalationDetails.js +31 -0
  235. package/lib/esm/graphql/queries/index.d.ts +2 -0
  236. package/lib/esm/graphql/queries/index.d.ts.map +1 -0
  237. package/lib/esm/graphql/queries/index.js +1 -0
  238. package/lib/esm/graphql/schemas/escalation.d.ts +66 -0
  239. package/lib/esm/graphql/schemas/escalation.d.ts.map +1 -0
  240. package/lib/esm/graphql/schemas/escalation.js +1 -0
  241. package/lib/esm/graphql/schemas/index.d.ts +2 -0
  242. package/lib/esm/graphql/schemas/index.d.ts.map +1 -0
  243. package/lib/esm/graphql/schemas/index.js +1 -0
  244. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts +4 -0
  245. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts.map +1 -0
  246. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.js +52 -0
  247. package/lib/esm/hooks/useCaseComments/index.d.ts +7 -0
  248. package/lib/esm/hooks/useCaseComments/index.d.ts.map +1 -0
  249. package/lib/esm/hooks/useCaseComments/index.js +5 -0
  250. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts +25 -0
  251. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts.map +1 -0
  252. package/lib/esm/hooks/useCaseComments/mapCaseComment.js +75 -0
  253. package/lib/esm/hooks/useCaseComments/types.d.ts +85 -0
  254. package/lib/esm/hooks/useCaseComments/types.d.ts.map +1 -0
  255. package/lib/esm/hooks/useCaseComments/types.js +1 -0
  256. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts +17 -0
  257. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts.map +1 -0
  258. package/lib/esm/hooks/useCaseComments/useCaseComments.js +38 -0
  259. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts +19 -0
  260. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts.map +1 -0
  261. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.js +33 -0
  262. package/lib/esm/hooks/useCaseGroupUiState.d.ts +3 -0
  263. package/lib/esm/hooks/useCaseGroupUiState.d.ts.map +1 -0
  264. package/lib/esm/hooks/useCaseGroupUiState.js +10 -0
  265. package/lib/esm/hooks/useCaseHistory.d.ts +26 -0
  266. package/lib/esm/hooks/useCaseHistory.d.ts.map +1 -0
  267. package/lib/esm/hooks/useCaseHistory.js +98 -0
  268. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts +21 -0
  269. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts.map +1 -0
  270. package/lib/esm/hooks/useCaseLabelLinkMutations.js +91 -0
  271. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts +1 -1
  272. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts.map +1 -1
  273. package/lib/esm/hooks/useCaseUpdateErrorMessage.js +21 -11
  274. package/lib/esm/hooks/useResetCaseCreate.d.ts.map +1 -1
  275. package/lib/esm/hooks/useResetCaseCreate.js +18 -11
  276. package/lib/esm/hooks/useS3Upload.d.ts +5 -4
  277. package/lib/esm/hooks/useS3Upload.d.ts.map +1 -1
  278. package/lib/esm/hooks/useS3Upload.js +28 -30
  279. package/lib/esm/i18n/template-de.d.ts +2 -2
  280. package/lib/esm/i18n/template-de.js +2 -2
  281. package/lib/esm/i18n/template-es.d.ts +2 -2
  282. package/lib/esm/i18n/template-es.js +2 -2
  283. package/lib/esm/i18n/template-fr.d.ts +2 -2
  284. package/lib/esm/i18n/template-fr.js +2 -2
  285. package/lib/esm/i18n/template-it.d.ts +2 -2
  286. package/lib/esm/i18n/template-it.js +2 -2
  287. package/lib/esm/i18n/template-jp.d.ts +2 -2
  288. package/lib/esm/i18n/template-jp.js +2 -2
  289. package/lib/esm/i18n/template-ko.d.ts +2 -2
  290. package/lib/esm/i18n/template-ko.js +2 -2
  291. package/lib/esm/i18n/template-pt.d.ts +2 -2
  292. package/lib/esm/i18n/template-pt.js +2 -2
  293. package/lib/esm/i18n/template-ru.d.ts +2 -2
  294. package/lib/esm/i18n/template-ru.js +2 -2
  295. package/lib/esm/i18n/template-zh.d.ts +2 -2
  296. package/lib/esm/i18n/template-zh.js +2 -2
  297. package/lib/esm/index.js +1 -0
  298. package/lib/esm/models/cache.d.ts +0 -2
  299. package/lib/esm/models/cache.d.ts.map +1 -1
  300. package/lib/esm/models/caseHistory.d.ts +80 -0
  301. package/lib/esm/models/caseHistory.d.ts.map +1 -0
  302. package/lib/esm/models/caseHistory.js +1 -0
  303. package/lib/esm/reducers/CaseConstNTypes.d.ts +123 -9
  304. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  305. package/lib/esm/reducers/CaseConstNTypes.js +31 -7
  306. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts +7 -5
  307. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts.map +1 -1
  308. package/lib/esm/reducers/CaseDetailsPageReducer.js +58 -26
  309. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts +11 -12
  310. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts.map +1 -1
  311. package/lib/esm/reducers/CaseDiscussionTabReducer.js +63 -70
  312. package/lib/esm/reducers/CaseHelpers.d.ts +11 -1
  313. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  314. package/lib/esm/reducers/CaseHelpers.js +117 -17
  315. package/lib/esm/reducers/CaseOverviewReducer.d.ts +3 -1
  316. package/lib/esm/reducers/CaseOverviewReducer.d.ts.map +1 -1
  317. package/lib/esm/reducers/CaseOverviewReducer.js +7 -5
  318. package/lib/esm/reducers/CaseReducer.d.ts +56 -11
  319. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  320. package/lib/esm/reducers/CaseReducer.js +279 -99
  321. package/lib/esm/reducers/RecommendationsReducer.d.ts.map +1 -1
  322. package/lib/esm/reducers/RecommendationsReducer.js +16 -19
  323. package/lib/esm/scss/_main.scss +9 -0
  324. package/lib/esm/utils/TimelineUtils.d.ts +41 -0
  325. package/lib/esm/utils/TimelineUtils.d.ts.map +1 -0
  326. package/lib/esm/utils/TimelineUtils.js +135 -0
  327. package/lib/esm/utils/caseHistoryUtils.d.ts +66 -0
  328. package/lib/esm/utils/caseHistoryUtils.d.ts.map +1 -0
  329. package/lib/esm/utils/caseHistoryUtils.js +165 -0
  330. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts +1 -2
  331. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts.map +1 -1
  332. package/lib/esm/utils/caseOpenshiftClusterIdUtils.js +4 -4
  333. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts +6 -0
  334. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts.map +1 -0
  335. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.js +26 -0
  336. package/package.json +9 -8
  337. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts +0 -25
  338. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts.map +0 -1
  339. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.js +0 -88
@@ -7,13 +7,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { kase, publicApi } from '@cee-eng/hydrajs';
11
- import { getApiResourceObject } from '@rh-support/utils';
10
+ import { fetchCaseAttachmentsViaGraphQLWithRetry, fetchCaseDetailsByCaseNumber, getApiResourceObject, mergeAttachmentsByUuid, } from '@rh-support/utils';
12
11
  import filter from 'lodash/filter';
13
12
  import findIndex from 'lodash/findIndex';
14
13
  import isEqual from 'lodash/isEqual';
15
14
  import orderBy from 'lodash/orderBy';
16
- import { CaseReducerConstants } from './CaseConstNTypes';
17
15
  import { CaseDetailsConstants } from './CaseDetailsPageReducer';
18
16
  export var DiscussionType;
19
17
  (function (DiscussionType) {
@@ -62,20 +60,22 @@ export const initDiscussionFiltersListState = [
62
60
  isSelected: true,
63
61
  canSee: false,
64
62
  },
65
- {
66
- filterLabel: 'External Tracker',
67
- value: DiscussionType.EXTERNAL_TRACKER,
68
- isDisabled: false,
69
- isSelected: true,
70
- canSee: false,
71
- },
63
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
64
+ // {
65
+ // filterLabel: 'External Tracker',
66
+ // value: DiscussionType.EXTERNAL_TRACKER,
67
+ // isDisabled: false,
68
+ // isSelected: true,
69
+ // canSee: false,
70
+ // },
72
71
  ];
73
72
  export const initialDiscussionState = {
74
73
  sort: discussionSortOrderConst[0],
75
74
  allDiscussions: [],
76
- replyCommentText: '',
77
- replyCommentCreator: '',
78
75
  discussionFiltersListState: initDiscussionFiltersListState,
76
+ replyingToAuthor: null,
77
+ replyingToCommentId: null,
78
+ replyingToTimestamp: null,
79
79
  };
80
80
  export var DiscussionsConstants;
81
81
  (function (DiscussionsConstants) {
@@ -98,6 +98,18 @@ export const setSort = (dispatch, sort, allDiscussions) => {
98
98
  payload: { sort, allDiscussions: sortedDiscussions },
99
99
  });
100
100
  };
101
+ export const setReplyingTo = (dispatch, author, commentId, timestamp) => {
102
+ dispatch({
103
+ type: DiscussionsConstants.updateDiscussionState,
104
+ payload: { replyingToAuthor: author, replyingToCommentId: commentId, replyingToTimestamp: timestamp },
105
+ });
106
+ };
107
+ export const clearReplyingTo = (dispatch) => {
108
+ dispatch({
109
+ type: DiscussionsConstants.updateDiscussionState,
110
+ payload: { replyingToAuthor: null, replyingToCommentId: null, replyingToTimestamp: null },
111
+ });
112
+ };
101
113
  export const setFilter = (dispatch, selected, discussionFiltersListState) => {
102
114
  const prevSelectedListLength = discussionFiltersListState.filter((filter) => filter.isSelected).length;
103
115
  if (selected.length > prevSelectedListLength &&
@@ -117,11 +129,13 @@ const commputeFeedback = (commentId, feedbacks) => {
117
129
  const feedback = feedbacks.filter((feedback) => feedback.commentId === commentId);
118
130
  return feedback.length === 0 ? undefined : parseInt(feedback[0].feedback);
119
131
  };
120
- const computeFeedbackReason = (commentId, feedbacks) => {
121
- const feedback = (feedbacks || []).find((item) => item.commentId === commentId);
122
- return feedback === null || feedback === void 0 ? void 0 : feedback.feedbackReason;
123
- };
124
- export const setDiscussions = (dispatch, comments, chats, attachments, feedbacks, trackerUpdates, discussionFiltersListState, canSeeExternalTracker, canSeeChat, canSeeAttachments) => {
132
+ export const setDiscussions = (dispatch, comments, chats, attachments, feedbacks,
133
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
134
+ // trackerUpdates: Partial<IExternalTrackerUpdate[]>,
135
+ trackerUpdates, discussionFiltersListState,
136
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
137
+ // canSeeExternalTracker: boolean,
138
+ canSeeExternalTracker, canSeeChat, canSeeAttachments) => {
125
139
  // set all discussions state
126
140
  // we need to transform discussions item because:
127
141
  // - last_modified_date is needed for sort and field name is different in different discussion types
@@ -138,19 +152,25 @@ export const setDiscussions = (dispatch, comments, chats, attachments, feedbacks
138
152
  discussionType: DiscussionType.COMMENT,
139
153
  last_modified_date: comment.lastModifiedDate || comment.createdDate,
140
154
  feedback: commputeFeedback(comment.id, feedbacks),
141
- feedbackReason: computeFeedbackReason(comment.id, feedbacks),
142
- }));
143
- const allExternalTrackers = (trackerUpdates || []).map((externalUpdate) => ({
144
- item: Object.assign(Object.assign({}, externalUpdate), { originating_system_last_updated_at: externalUpdate.originatingSystemLastUpdatedAt || externalUpdate.createdDate }),
145
- last_modified_date: externalUpdate.originatingSystemLastUpdatedAt || externalUpdate.createdDate,
146
- discussionType: DiscussionType.EXTERNAL_TRACKER,
147
155
  }));
156
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
157
+ // const allExternalTrackers: IDiscussion[] = (trackerUpdates || []).map((externalUpdate) => ({
158
+ // item: {
159
+ // ...externalUpdate,
160
+ // originating_system_last_updated_at:
161
+ // externalUpdate.originatingSystemLastUpdatedAt || externalUpdate.createdDate,
162
+ // },
163
+ // last_modified_date: externalUpdate.originatingSystemLastUpdatedAt || externalUpdate.createdDate,
164
+ // discussionType: DiscussionType.EXTERNAL_TRACKER,
165
+ // }));
148
166
  const allAttachments = attachments.map((attachment) => ({
149
167
  item: Object.assign(Object.assign({}, attachment), { lastModifiedDate: attachment.lastModifiedDate || attachment.createdDate }),
150
168
  last_modified_date: attachment.lastModifiedDate || attachment.createdDate,
151
169
  discussionType: DiscussionType.ATTACHMENT,
152
170
  }));
153
- const allDiscussions = [...allComments, ...allChats, ...allAttachments, ...allExternalTrackers];
171
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
172
+ // const allDiscussions: IDiscussion[] = [...allComments, ...allChats, ...allAttachments, ...allExternalTrackers];
173
+ const allDiscussions = [...allComments, ...allChats, ...allAttachments];
154
174
  const sortedAllDiscussions = orderBy(allDiscussions, 'last_modified_date', 'desc');
155
175
  //set filter dropdown state
156
176
  // when we don't have any result for a discussion type, in filter options dropdown list, we make that type disable
@@ -162,10 +182,10 @@ export const setDiscussions = (dispatch, comments, chats, attachments, feedbacks
162
182
  else if (filter.value === DiscussionType.CHAT) {
163
183
  filter.isDisabled = allChats.length === 0 ? true : false;
164
184
  filter.canSee = canSeeChat;
165
- }
166
- else if (filter.value === DiscussionType.EXTERNAL_TRACKER) {
167
- filter.isDisabled = allExternalTrackers.length === 0 ? true : false;
168
- filter.canSee = canSeeExternalTracker;
185
+ // TODO: Uncomment when External Trackers has a functioning GraphQL endpoint
186
+ // } else if (filter.value === DiscussionType.EXTERNAL_TRACKER) {
187
+ // filter.isDisabled = allExternalTrackers.length === 0 ? true : false;
188
+ // filter.canSee = canSeeExternalTracker;
169
189
  }
170
190
  else if (filter.value === DiscussionType.COMMENT) {
171
191
  filter.isDisabled = allComments.length === 0 ? true : false;
@@ -198,13 +218,10 @@ export const updateAttacmentsAfterRemoval = (dispatch, uuid_removed, allDiscussi
198
218
  dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { discussionFiltersListState } });
199
219
  dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { allDiscussions } });
200
220
  };
201
- export const updateCommentStateFeedback = (dispatch, comment_id, newFeedback, allDiscussions, feedbackReason) => __awaiter(void 0, void 0, void 0, function* () {
221
+ export const updateCommentStateFeedback = (dispatch, comment_id, newFeedback, allDiscussions) => __awaiter(void 0, void 0, void 0, function* () {
202
222
  const updateDiscussions = allDiscussions.map((discussion) => {
203
223
  if (discussion.discussionType === DiscussionType.COMMENT && discussion.item.id === comment_id) {
204
224
  discussion.feedback = newFeedback;
205
- if (feedbackReason !== undefined) {
206
- discussion.feedbackReason = feedbackReason;
207
- }
208
225
  }
209
226
  return discussion;
210
227
  });
@@ -219,36 +236,21 @@ export const updateAttachment = (dispatch, uuid, newAttachment, allDiscussions)
219
236
  });
220
237
  dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { allDiscussions: updatedDiscussions } });
221
238
  };
222
- export const updateDiscussionStateComments = (dispatch, caseDispatch, caseNumber, allDiscussions, sort, feedbacks, discussionFiltersListState) => __awaiter(void 0, void 0, void 0, function* () {
239
+ export const updateDiscussionStateAttachments = (dispatch_1, caseNumber_1, allDiscussions_1, sort_1, discussionFiltersListState_1, dispatchCaseDetailsHydraAttachments_1, apolloClient_1, caseSalesforceId_1, ...args_1) => __awaiter(void 0, [dispatch_1, caseNumber_1, allDiscussions_1, sort_1, discussionFiltersListState_1, dispatchCaseDetailsHydraAttachments_1, apolloClient_1, caseSalesforceId_1, ...args_1], void 0, function* (dispatch, caseNumber, allDiscussions, sort, discussionFiltersListState, dispatchCaseDetailsHydraAttachments, apolloClient, caseSalesforceId, includeSecureSupport = false) {
223
240
  try {
224
- const comments = yield publicApi.kase.getComments(caseNumber);
225
- const allComments = (comments || [])
226
- .filter((comment) => comment.isDraft === false)
227
- .map((comment) => ({
228
- item: Object.assign(Object.assign({}, comment), { isPublic: comment.isPublic === undefined ? true : comment.isPublic, last_modified_date: comment.lastModifiedDate || comment.createdDate }),
229
- discussionType: DiscussionType.COMMENT,
230
- last_modified_date: comment.lastModifiedDate || comment.createdDate,
231
- feedback: commputeFeedback(comment.id, feedbacks),
232
- feedbackReason: computeFeedbackReason(comment.id, feedbacks),
233
- }));
234
- const filteredDiscussion = filter([...allDiscussions], (o) => o.discussionType !== DiscussionType.COMMENT);
235
- const updatedDiscussions = orderBy([...filteredDiscussion, ...allComments], 'last_modified_date', sort.sortOrder);
236
- discussionFiltersListState.forEach((filter) => {
237
- if (filter.value === DiscussionType.COMMENT) {
238
- filter.isDisabled = false;
239
- }
240
- });
241
- dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { discussionFiltersListState } });
242
- dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { allDiscussions: updatedDiscussions } });
243
- caseDispatch({ type: CaseReducerConstants.updateComments, payload: { caseDetails: { comments } } });
244
- }
245
- catch (e) {
246
- console.log(e);
247
- }
248
- });
249
- export const updateDiscussionStateAttachments = (dispatch, caseNumber, allDiscussions, sort, isSecureSupport, discussionFiltersListState, dispatchCaseDetailsHydraAttachments) => __awaiter(void 0, void 0, void 0, function* () {
250
- try {
251
- const attachments = yield kase.getAttachments(caseNumber, false, isSecureSupport);
241
+ let resolvedCaseSalesforceId = caseSalesforceId;
242
+ if (!resolvedCaseSalesforceId) {
243
+ const caseDetails = yield fetchCaseDetailsByCaseNumber(apolloClient, caseNumber, includeSecureSupport);
244
+ resolvedCaseSalesforceId = caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.id;
245
+ }
246
+ if (!resolvedCaseSalesforceId) {
247
+ throw new Error('Missing Salesforce case id');
248
+ }
249
+ const existingAttachments = filter(allDiscussions, (o) => o.discussionType === DiscussionType.ATTACHMENT).map((discussion) => discussion.item);
250
+ const fetchedAttachments = yield fetchCaseAttachmentsViaGraphQLWithRetry(apolloClient, caseNumber, resolvedCaseSalesforceId,
251
+ // After a successful upload batch we expect at least one new attachment beyond what discussion already shows
252
+ { minExpectedCount: existingAttachments.length + 1 });
253
+ const attachments = mergeAttachmentsByUuid(existingAttachments, fetchedAttachments);
252
254
  const allAttachments = attachments.map((attachment) => ({
253
255
  item: Object.assign(Object.assign({}, attachment), { lastModifiedDate: attachment.lastModifiedDate || attachment.createdDate }),
254
256
  last_modified_date: attachment.lastModifiedDate || attachment.createdDate,
@@ -272,12 +274,3 @@ export const updateDiscussionStateAttachments = (dispatch, caseNumber, allDiscus
272
274
  console.log(e);
273
275
  }
274
276
  });
275
- export const setCommentText = (dispatch, replyCommentText, replyCommentCreator) => {
276
- dispatch({ type: DiscussionsConstants.updateDiscussionState, payload: { replyCommentText, replyCommentCreator } });
277
- };
278
- export const clearReplyComment = (dispatch) => {
279
- dispatch({
280
- type: DiscussionsConstants.updateDiscussionState,
281
- payload: { replyCommentText: '', replyCommentCreator: '' },
282
- });
283
- };
@@ -6,7 +6,7 @@ import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr';
6
6
  import { IApiResponseDetails } from '@rh-support/types/shared';
7
7
  import { UserAuth } from '@rh-support/user-permissions';
8
8
  import React from 'react';
9
- import { ICaseState } from './CaseConstNTypes';
9
+ import { ICaseState, IGraphQLCasePayload } from './CaseConstNTypes';
10
10
  export declare const getCaseRecommendations: (docs: ISolrRecommendation[], oldDocs: any) => any[];
11
11
  export declare const getCepCommentFromCepDetails: (cepDetails: ICepDetails) => string;
12
12
  export declare const getRecommendationObject: (doc: ISolrRecommendation, index: number) => ICaseResourceLink;
@@ -17,10 +17,20 @@ export declare const getNewSeverityStringDef: (severity: string) => string | Rea
17
17
  export declare const getOrtForSLAAndSeverity: (slaProcessId: string, severity: string) => string;
18
18
  export declare const getSeverityDescription: (severity: string) => string;
19
19
  export declare const isClusterIDValid: (caseState: any, allProducts: any) => boolean;
20
+ export interface ICaseGroupUiState {
21
+ groupsLoaded: boolean;
22
+ hasGroups: boolean;
23
+ isGroupMandatory: boolean;
24
+ shouldHideSelector: boolean;
25
+ isNoGroupsBlockedState: boolean;
26
+ }
27
+ export declare const getCaseGroupUiState: (caseState: ICaseState) => ICaseGroupUiState;
28
+ export declare const isCaseGroupSelectionValid: (caseState: ICaseState) => boolean;
20
29
  export declare const isCaseStateValid: (caseState: ICaseState, loggedInUserRights: IApiResponseDetails<UserAuth>) => boolean;
21
30
  export declare const isIdeaCaseStateValid: (caseState: ICaseState, loggedInUserRights: IApiResponseDetails<UserAuth>) => boolean;
22
31
  export declare const isCaseManagementStateValid: (caseState: ICaseState, loggedInUserRights: IApiResponseDetails<UserAuth>) => boolean;
23
32
  export declare const isCaseInformationSectionValid: (caseState: ICaseState, loggedInUserRights: IApiResponseDetails<UserAuth>) => boolean;
33
+ export declare const createCasePayloadGraphQL: (caseState: ICaseState, sessionItem?: ISessionItem, isCaseCreate?: boolean, traditionalSupportAgreed?: boolean) => IGraphQLCasePayload;
24
34
  export declare const createCasePayload: (caseState: ICaseState, sessionItem?: ISessionItem, isCaseCreate?: boolean) => Partial<ICasePayload>;
25
35
  export declare const getProcessedEntitlements: (caseEntitlements: IEntitlement[]) => IEntitlement[];
26
36
  export declare const getHasInvalidEntitlements: (caseEntitlements: IEntitlement[]) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAexD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAOH,UAAU,EAkBb,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,GAAI,MAAM,mBAAmB,EAAE,EAAE,YAAO,UAM1E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,YAAY,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,mBAAmB,EAAE,OAAO,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAC9B,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,qBAAqB,MAAM,EAC3B,uBAAuB,MAAM,EAC7B,gBAAgB,MAAM,EACtB,UAAU,MAAM,EAChB,UAAU,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAC7B,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,qBAAqB,MAAM,EAC3B,uBAAuB,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,cAAc,MAAM,EAAE,UAAU,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAiB7E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,cAAc,MAAM,EAAE,UAAU,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,cAAS,EAAE,gBAAW,YAsCtD,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,WAAW,UAAU,EAAE,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAAG,OA6B3G,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OA0BF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACnC,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OAYF,CAAC;AAIF,eAAO,MAAM,6BAA6B,GACtC,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OAkBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,UAAU,EACrB,cAAc,YAAY,EAC1B,eAAc,OAAe,KAC9B,OAAO,CAAC,YAAY,CA6EtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,kBAAkB,YAAY,EAAE,KAAG,YAAY,EAEvF,CAAC;AACF,eAAO,MAAM,yBAAyB,GAAI,kBAAkB,YAAY,EAAE,KAAG,OAE5E,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,aAAa,YAAY,EACzB,2BAA2B,MAAM,EACjC,iBAAiB,MAAM,KACxB,OAAO,CAAC,YAAY,CAiCtB,CAAC;AACF,eAAO,MAAM,yBAAyB,GAClC,aAAa,OAAO,CAAC,YAAY,CAAC,EAClC,8BAA8B,QAAQ,EAAE,KACzC,eAiDF,CAAC"}
1
+ {"version":3,"file":"CaseHelpers.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAqBxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAOH,UAAU,EAEV,mBAAmB,EAkBtB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,GAAI,MAAM,mBAAmB,EAAE,EAAE,YAAO,UAM1E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,YAAY,WAAW,KAAG,MAOrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,mBAAmB,EAAE,OAAO,MAAM,sBAyB9E,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAC9B,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,qBAAqB,MAAM,EAC3B,uBAAuB,MAAM,EAC7B,gBAAgB,MAAM,EACtB,UAAU,MAAM,EAChB,UAAU,MAAM,KACjB,MAyBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAC7B,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,qBAAqB,MAAM,EAC3B,uBAAuB,MAAM,KAC9B,MAQF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,cAAc,MAAM,EAAE,UAAU,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAiB7E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,cAAc,MAAM,EAAE,UAAU,MAAM,KAAG,MAQhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MAKzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,cAAS,EAAE,gBAAW,YAqCtD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB,GAAI,WAAW,UAAU,KAAG,iBAc3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW,UAAU,KAAG,OAYjE,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,WAAW,UAAU,EAAE,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAAG,OA2B3G,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OAwBF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACnC,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OAUF,CAAC;AAIF,eAAO,MAAM,6BAA6B,GACtC,WAAW,UAAU,EACrB,oBAAoB,mBAAmB,CAAC,QAAQ,CAAC,KAClD,OAkBF,CAAC;AA0EF,eAAO,MAAM,wBAAwB,GACjC,WAAW,UAAU,EACrB,cAAc,YAAY,EAC1B,eAAc,OAAe,EAC7B,kCAAgC,KACjC,mBAyBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,UAAU,EACrB,cAAc,YAAY,EAC1B,eAAc,OAAe,KAC9B,OAAO,CAAC,YAAY,CAkFtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,kBAAkB,YAAY,EAAE,KAAG,YAAY,EAEvF,CAAC;AACF,eAAO,MAAM,yBAAyB,GAAI,kBAAkB,YAAY,EAAE,KAAG,OAE5E,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,aAAa,YAAY,EACzB,2BAA2B,MAAM,EACjC,iBAAiB,MAAM,KACxB,OAAO,CAAC,YAAY,CAiCtB,CAAC;AACF,eAAO,MAAM,yBAAyB,GAClC,aAAa,OAAO,CAAC,YAAY,CAAC,EAClC,8BAA8B,QAAQ,EAAE,KACzC,eAiDF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getAppVersion, getUserAgentForCaseMode, getVersion, isPremiumEntitlement, showFtsOnCreateCasePage, } from '@rh-support/utils';
1
+ import { getAppVersion, getTechnicalSupportRecordTypeId, getUserAgentForCaseMode, getVersion, isPremiumEntitlement, resolveAccessRestrictionForCaseCreate, resolveNoClusterIdFieldsForCaseCreate, serializeNoClusterIdFieldsToAdditionalCaseInformation, showFtsOnCreateCasePage, stripNoClusterIdFieldsFromDescription, } from '@rh-support/utils';
2
2
  import filter from 'lodash/filter';
3
3
  import forEach from 'lodash/forEach';
4
4
  import isEmpty from 'lodash/isEmpty';
@@ -9,7 +9,7 @@ import uniqBy from 'lodash/uniqBy';
9
9
  import React from 'react';
10
10
  import { isPhoneValid, trimAndReplacePlus } from '../components/shared/utils';
11
11
  import { getIsClusterIdInvalid, isClusterIdEnabledForProduct } from '../utils/caseOpenshiftClusterIdUtils';
12
- import { CASE_DETAILS_ISSUE_LIMIT, CASE_REFERENCE_NUMBER_LIMIT, CLUSTER_ID_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, IDEA_SECOND_KTQUESTION_MAX_LIMIT, ITRForSLASeverity, KTQUESTION_MAX_LIMIT, KtQuestionConstant, SESSION_ENVIRONMENT_LIMIT, SESSION_ISSUE_LIMIT, SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT, SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT, SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT, SESSION_NOTIFIED_USERS_INTERNAL_LIMIT, SESSION_PERIODICITY_OF_ISSUE_LIMIT, SESSION_PHONE_LENGTH_LIMIT, SESSION_TIME_FRAMES_URGENCY_LIMIT, SeverityDescription, SeverityDescriptionDetails, TITLE_SUMMARY_LENGTH_LIMIT, } from './CaseConstNTypes';
12
+ import { CASE_DETAILS_ISSUE_LIMIT, CASE_REFERENCE_NUMBER_LIMIT, CLUSTER_ID_LIMIT, CONTACT_INFO_24X7_LIMIT, DESCRIPTION_LENGTH_LIMIT, HOSTNAME_LENGTH_LIMIT, IDEA_SECOND_KTQUESTION_MAX_LIMIT, ITRForSLASeverity, KTQUESTION_MAX_LIMIT, KtQuestionConstant, LANGUAGE_MAP, SESSION_ENVIRONMENT_LIMIT, SESSION_ISSUE_LIMIT, SESSION_NO_CLUSTER_REASON_EXPLANATION_LENGTH_LIMIT, SESSION_NO_CLUSTER_REASON_LENGTH_LIMIT, SESSION_NOTIFIED_USERS_EXTERNAL_LIMIT, SESSION_NOTIFIED_USERS_INTERNAL_LIMIT, SESSION_PERIODICITY_OF_ISSUE_LIMIT, SESSION_PHONE_LENGTH_LIMIT, SESSION_TIME_FRAMES_URGENCY_LIMIT, SeverityDescription, SeverityDescriptionDetails, TITLE_SUMMARY_LENGTH_LIMIT, } from './CaseConstNTypes';
13
13
  export const getCaseRecommendations = (docs, oldDocs) => {
14
14
  const recs = [];
15
15
  docs.forEach((doc, i) => {
@@ -119,8 +119,7 @@ export const getSeverityDescription = (severity) => {
119
119
  };
120
120
  export const isClusterIDValid = (caseState, allProducts) => {
121
121
  const case_details = caseState.caseDetails;
122
- const productHasClusterID = isClusterIdEnabledForProduct(case_details.product, allProducts);
123
- //if product doesn't have clusterId we don't need to validate value
122
+ const productHasClusterID = isClusterIdEnabledForProduct(case_details.product);
124
123
  if (!productHasClusterID)
125
124
  return true;
126
125
  const majorVersion = (case_details.version && getVersion(case_details.version).major) || '';
@@ -146,6 +145,31 @@ export const isClusterIDValid = (caseState, allProducts) => {
146
145
  (case_details.noClusterIdReasonExplanation === 'v3-cluster' || isOpenShiftV3);
147
146
  return hasValidClusterId() || hasValidReason() || hasValidReasonExplanation() || hasValidV3ClusterName();
148
147
  };
148
+ export const getCaseGroupUiState = (caseState) => {
149
+ var _a, _b;
150
+ const { ownersCaseGroups, selectedAccountDetails, caseDetails } = caseState;
151
+ const isGroupMandatory = !!selectedAccountDetails.data.requireCGroupOnCreate;
152
+ const groupsLoaded = !ownersCaseGroups.isFetching && !ownersCaseGroups.isError;
153
+ const hasGroups = ((_b = (_a = ownersCaseGroups.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
154
+ const isExistingCaseWithGroup = !isEmpty(caseDetails.caseNumber) && !isEmpty(caseDetails.groupNumber);
155
+ return {
156
+ groupsLoaded,
157
+ hasGroups,
158
+ isGroupMandatory,
159
+ shouldHideSelector: groupsLoaded && !hasGroups && !isGroupMandatory && !isExistingCaseWithGroup,
160
+ isNoGroupsBlockedState: groupsLoaded && !hasGroups && isGroupMandatory,
161
+ };
162
+ };
163
+ export const isCaseGroupSelectionValid = (caseState) => {
164
+ const { isGroupMandatory, groupsLoaded, hasGroups } = getCaseGroupUiState(caseState);
165
+ if (!isGroupMandatory) {
166
+ return true;
167
+ }
168
+ if (!groupsLoaded || !hasGroups) {
169
+ return false;
170
+ }
171
+ return !!caseState.caseDetails.groupNumber;
172
+ };
149
173
  // Add a !isEmpty to to make any KTQuestion Mandatory in isCaseStateValid
150
174
  export const isCaseStateValid = (caseState, loggedInUserRights) => {
151
175
  const case_details = caseState.caseDetails;
@@ -169,9 +193,7 @@ export const isCaseStateValid = (caseState, loggedInUserRights) => {
169
193
  !isEmpty(case_details.accountNumberRef) &&
170
194
  !isEmpty(case_details.contactSSOName) &&
171
195
  isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
172
- (caseState.selectedAccountDetails.data.requireCGroupOnCreate
173
- ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
174
- : true) &&
196
+ isCaseGroupSelectionValid(caseState) &&
175
197
  loggedInUserRights.data.canManageCases());
176
198
  };
177
199
  export const isIdeaCaseStateValid = (caseState, loggedInUserRights) => {
@@ -193,18 +215,14 @@ export const isIdeaCaseStateValid = (caseState, loggedInUserRights) => {
193
215
  !isEmpty(case_details.accountNumberRef) &&
194
216
  !isEmpty(case_details.contactSSOName) &&
195
217
  isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
196
- (caseState.selectedAccountDetails.data.requireCGroupOnCreate
197
- ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
198
- : true) &&
218
+ isCaseGroupSelectionValid(caseState) &&
199
219
  loggedInUserRights.data.canManageCases());
200
220
  };
201
221
  export const isCaseManagementStateValid = (caseState, loggedInUserRights) => {
202
222
  const case_details = caseState.caseDetails;
203
223
  return (isEmpty(case_details.caseNumber) &&
204
224
  !isEmpty(case_details.severity) &&
205
- (caseState.selectedAccountDetails.data.requireCGroupOnCreate
206
- ? !isEmpty(case_details.groupNumber) && case_details.groupNumber !== '-1'
207
- : true) &&
225
+ isCaseGroupSelectionValid(caseState) &&
208
226
  isPhoneValid(case_details.phoneCountryCode, case_details.phoneAreaCodePrefixLineNumber) &&
209
227
  loggedInUserRights.data.canManageCases());
210
228
  };
@@ -225,8 +243,87 @@ export const isCaseInformationSectionValid = (caseState, loggedInUserRights) =>
225
243
  !isEmpty(case_details.accountNumberRef) &&
226
244
  loggedInUserRights.data.canManageCases());
227
245
  };
246
+ const assignDescriptionFields = (casePayload, case_details, v3ClusterName) => {
247
+ const noClusterFields = resolveNoClusterIdFieldsForCaseCreate(case_details);
248
+ if (!isEmpty(case_details.description)) {
249
+ casePayload.Description = stripNoClusterIdFieldsFromDescription(case_details.description);
250
+ }
251
+ if (noClusterFields.noClusterIdReason || noClusterFields.noClusterIdReasonExplanation) {
252
+ casePayload.AdditionalCaseInformation__c = serializeNoClusterIdFieldsToAdditionalCaseInformation(noClusterFields, case_details.additionalCaseInformation);
253
+ }
254
+ if (!isEmpty(case_details.environment) || !isEmpty(v3ClusterName)) {
255
+ const clusterPrefix = v3ClusterName ? `OpenShift Cluster Name: ${v3ClusterName}\n` : '';
256
+ casePayload.EnvironmentInWhichItOccurs__c = `${clusterPrefix} ${case_details.environment}`;
257
+ }
258
+ if (!isEmpty(case_details.periodicityOfIssue)) {
259
+ casePayload.FrequencyOfIssueOccurrence__c = case_details.periodicityOfIssue;
260
+ }
261
+ if (!isEmpty(case_details.timeFramesAndUrgency)) {
262
+ casePayload.ImpactOnUserOrBusiness__c = case_details.timeFramesAndUrgency;
263
+ }
264
+ };
265
+ const assignOptionalIdentifiers = (casePayload, caseState) => {
266
+ var _a, _b, _c, _d;
267
+ const case_details = caseState.caseDetails;
268
+ const contactId = (_b = (_a = caseState.selectedOwner) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.id;
269
+ const countryCode = (_c = case_details === null || case_details === void 0 ? void 0 : case_details.phoneCountryCode) === null || _c === void 0 ? void 0 : _c.trim();
270
+ const phoneLine = (_d = case_details.phoneAreaCodePrefixLineNumber) === null || _d === void 0 ? void 0 : _d.trim();
271
+ if (!isEmpty(contactId))
272
+ casePayload.ContactId = contactId;
273
+ if (!isEmpty(caseState.selectedEntitlementId))
274
+ casePayload.EntitlementId = caseState.selectedEntitlementId;
275
+ if (!isEmpty(caseState.selectedVersionId))
276
+ casePayload.ProductId = caseState.selectedVersionId;
277
+ if (caseState.hasUserUpdatedSuppliedPhone && !isEmpty(countryCode) && !isEmpty(phoneLine)) {
278
+ casePayload.SuppliedPhone = `${countryCode} ${phoneLine}`;
279
+ }
280
+ if (!isEmpty(case_details.alternateId))
281
+ casePayload.AlternateCaseId__c = case_details.alternateId;
282
+ if (!isEmpty(case_details.openshiftClusterID))
283
+ casePayload.OpenshiftClusterID__c = case_details.openshiftClusterID;
284
+ if (!isEmpty(case_details.openshiftClusterVersion)) {
285
+ casePayload.OpenshiftClusterVersion__c = case_details.openshiftClusterVersion;
286
+ }
287
+ if (case_details.groupNumber)
288
+ casePayload.Group__c = case_details.groupNumber;
289
+ };
290
+ const assignAccountAccessRestriction = (casePayload, caseState, traditionalSupportAgreed = false) => {
291
+ var _a, _b, _c;
292
+ const selectedAccount = (_a = caseState.selectedAccountDetails) === null || _a === void 0 ? void 0 : _a.data;
293
+ const rawAccessRestriction = (_b = selectedAccount === null || selectedAccount === void 0 ? void 0 : selectedAccount.accessRestriction) !== null && _b !== void 0 ? _b : (typeof (selectedAccount === null || selectedAccount === void 0 ? void 0 : selectedAccount.AccessRestrictions__c) === 'string'
294
+ ? selectedAccount.AccessRestrictions__c
295
+ : (_c = selectedAccount === null || selectedAccount === void 0 ? void 0 : selectedAccount.AccessRestrictions__c) === null || _c === void 0 ? void 0 : _c.value);
296
+ const accessRestriction = resolveAccessRestrictionForCaseCreate(rawAccessRestriction, traditionalSupportAgreed);
297
+ if (accessRestriction != null && !isEmpty(accessRestriction)) {
298
+ casePayload.AccessRestrictions__c = accessRestriction;
299
+ }
300
+ };
301
+ export const createCasePayloadGraphQL = (caseState, sessionItem, isCaseCreate = false, traditionalSupportAgreed = false) => {
302
+ var _a;
303
+ const casePayload = {};
304
+ const case_details = caseState.caseDetails;
305
+ if (!isEmpty(case_details.summary))
306
+ casePayload.Subject = case_details.summary;
307
+ if (!isEmpty(case_details.caseType))
308
+ casePayload.Type = case_details.caseType;
309
+ if (!isEmpty(case_details.severity))
310
+ casePayload.Priority = case_details.severity;
311
+ if (!isEmpty(case_details.caseLanguage)) {
312
+ casePayload.Language = (_a = LANGUAGE_MAP[case_details.caseLanguage]) !== null && _a !== void 0 ? _a : case_details.caseLanguage;
313
+ }
314
+ assignDescriptionFields(casePayload, case_details, caseState.v3ClusterName);
315
+ casePayload.Origin = 'Web';
316
+ casePayload.RecordTypeId = getTechnicalSupportRecordTypeId();
317
+ assignOptionalIdentifiers(casePayload, caseState);
318
+ assignAccountAccessRestriction(casePayload, caseState, traditionalSupportAgreed);
319
+ casePayload.X24x7__c = !!case_details.fts;
320
+ if (case_details.fts && !isEmpty(case_details.contactInfo24x7)) {
321
+ casePayload.X24x7ContactInformation__c = case_details.contactInfo24x7;
322
+ }
323
+ return casePayload;
324
+ };
228
325
  export const createCasePayload = (caseState, sessionItem, isCaseCreate = false) => {
229
- var _a, _b, _c, _d, _e, _f, _g;
326
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
230
327
  const casePayload = {};
231
328
  const case_details = caseState.caseDetails;
232
329
  const seSessionId = (_a = sessionItem === null || sessionItem === void 0 ? void 0 : sessionItem.session) === null || _a === void 0 ? void 0 : _a.id;
@@ -262,7 +359,10 @@ export const createCasePayload = (caseState, sessionItem, isCaseCreate = false)
262
359
  some(caseState.ownersCaseGroups.data, ['groupNum', case_details.groupNumber])) {
263
360
  casePayload.groupNumber = case_details.groupNumber;
264
361
  }
265
- if (showFtsOnCreateCasePage((_e = case_details.entitlementSla) !== null && _e !== void 0 ? _e : '', case_details.severity)) {
362
+ if (showFtsOnCreateCasePage((_e = case_details.entitlementSla) !== null && _e !== void 0 ? _e : '', case_details.severity, {
363
+ accountHasPremiumSla: caseState.accountHasPremiumSla,
364
+ hasMultipleSlas: !!caseState.productServiceLevel && ((_g = (_f = caseState.otherServiceLevels) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0) > 0,
365
+ })) {
266
366
  casePayload.fts = !!case_details.fts;
267
367
  if (casePayload.fts) {
268
368
  casePayload.contactInfo24x7 = case_details.contactInfo24x7;
@@ -288,7 +388,7 @@ export const createCasePayload = (caseState, sessionItem, isCaseCreate = false)
288
388
  !isEmpty(case_details.openshiftClusterVersion) &&
289
389
  (casePayload.openshiftClusterVersion = case_details.openshiftClusterVersion);
290
390
  casePayload.userAgent = getUserAgentForCaseMode(isCaseCreate);
291
- casePayload.originatingSystem = (_g = (_f = sessionItem === null || sessionItem === void 0 ? void 0 : sessionItem.session) === null || _f === void 0 ? void 0 : _f.originatingSystem) !== null && _g !== void 0 ? _g : casePayload.userAgent;
391
+ casePayload.originatingSystem = (_j = (_h = sessionItem === null || sessionItem === void 0 ? void 0 : sessionItem.session) === null || _h === void 0 ? void 0 : _h.originatingSystem) !== null && _j !== void 0 ? _j : casePayload.userAgent;
292
392
  !isEmpty(case_details.noClusterIdReason) && (casePayload.noClusterIdReason = case_details.noClusterIdReason);
293
393
  !isEmpty(case_details.noClusterIdReasonExplanation) &&
294
394
  (casePayload.noClusterIdReasonExplanation = case_details.noClusterIdReasonExplanation);
@@ -316,7 +416,7 @@ export const getCaseFromSessionDetails = (sessionItem, loggedInUserAccountNumber
316
416
  severity: sessionDetails.severity,
317
417
  entitlementSla: sessionDetails.sla,
318
418
  accountNumberRef: sessionDetails.accountNumber || loggedInUserAccountNumber,
319
- groupNumber: sessionDetails.folderNumber || '-1',
419
+ groupNumber: sessionDetails.folderNumber || null,
320
420
  fts: sessionDetails.isFts,
321
421
  contactInfo24x7: sessionDetails.contactInfo24X7,
322
422
  contactSSOName: sessionDetails.contactSsoUsername || loggedInUserSSO,
@@ -29,7 +29,9 @@ export declare const setSelectedStatus: (dispatch: CaseDetailsReducerDispatchTyp
29
29
  export declare const setSeverityUpdating: (dispatch: CaseDetailsReducerDispatchType, caseSeverityUpdating: boolean) => void;
30
30
  export declare const setStatusUpdating: (dispatch: CaseDetailsReducerDispatchType, caseStatusUpdating: boolean) => void;
31
31
  export declare const setTypeUpdating: (dispatch: CaseDetailsReducerDispatchType, caseTypeUpdating: boolean) => void;
32
- export declare const fetchAllStatuses: (dispatch: CaseDetailsReducerDispatchType, isSecureSupport: boolean) => Promise<void>;
32
+ export declare const fetchAllStatuses: (dispatch: CaseDetailsReducerDispatchType, apolloClient: {
33
+ query: (options: any) => Promise<any>;
34
+ }) => Promise<void>;
33
35
  export declare const fetchCaseHydra: (dispatch: CaseDetailsReducerDispatchType, caseNumber: string) => Promise<void>;
34
36
  export {};
35
37
  //# sourceMappingURL=CaseOverviewReducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseOverviewReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseOverviewReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,KAAK,WAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE1E,oBAAY,oBAAoB;IAC5B,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;CAC9C;AAED,MAAM,WAAW,cAAc;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CAC1D;AAED,eAAO,MAAM,oBAAoB,EAAE,cAYlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAkBhF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,8BAA8B,EAAE,cAAc,MAAM,SAE7F,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,8BAA8B,EAAE,kBAAkB,MAAM,SAErG,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,8BAA8B,EAAE,gBAAgB,MAAM,SAEjG,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,8BAA8B,EAAE,sBAAsB,OAAO,SAE1G,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,8BAA8B,EAAE,oBAAoB,OAAO,SAEtG,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,8BAA8B,EAAE,kBAAkB,OAAO,SAElG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,UAAU,8BAA8B,EAAE,iBAAiB,OAAO,kBAiBxG,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,UAAU,8BAA8B,EAAE,YAAY,MAAM,kBAiBhG,CAAC"}
1
+ {"version":3,"file":"CaseOverviewReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/CaseOverviewReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,KAAK,WAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE1E,oBAAY,oBAAoB;IAC5B,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;CAC9C;AAED,MAAM,WAAW,cAAc;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CAC1D;AAED,eAAO,MAAM,oBAAoB,EAAE,cAYlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,cAAc,EAAE,QAAQ,WAAW,KAAG,cAkBhF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,8BAA8B,EAAE,cAAc,MAAM,SAE7F,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,8BAA8B,EAAE,kBAAkB,MAAM,SAErG,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,8BAA8B,EAAE,gBAAgB,MAAM,SAEjG,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,8BAA8B,EAAE,sBAAsB,OAAO,SAE1G,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,8BAA8B,EAAE,oBAAoB,OAAO,SAEtG,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,8BAA8B,EAAE,kBAAkB,OAAO,SAElG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,UAAU,8BAA8B,EACxC,cAAc;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,kBAoB1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,UAAU,8BAA8B,EAAE,YAAY,MAAM,kBAiBhG,CAAC"}
@@ -7,8 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { caseMetadata, fields, kase } from '@cee-eng/hydrajs';
11
- import { getApiResourceObject } from '@rh-support/utils';
10
+ import { fields, kase } from '@cee-eng/hydrajs';
11
+ import { buildPicklistInput, fetchPicklistValues, getApiResourceObject } from '@rh-support/utils';
12
12
  export var CaseDetailsConstants;
13
13
  (function (CaseDetailsConstants) {
14
14
  CaseDetailsConstants["setSelectedValue"] = "setSelectedValue";
@@ -66,16 +66,18 @@ export const setStatusUpdating = (dispatch, caseStatusUpdating) => {
66
66
  export const setTypeUpdating = (dispatch, caseTypeUpdating) => {
67
67
  dispatch({ type: CaseDetailsConstants.setUpdating, payload: { caseTypeUpdating } });
68
68
  };
69
- export const fetchAllStatuses = (dispatch, isSecureSupport) => __awaiter(void 0, void 0, void 0, function* () {
69
+ export const fetchAllStatuses = (dispatch, apolloClient) => __awaiter(void 0, void 0, void 0, function* () {
70
+ var _a;
70
71
  dispatch({
71
72
  type: CaseDetailsConstants.getCaseStatuses,
72
73
  payload: { allCaseStatuses: getApiResourceObject([], true) },
73
74
  });
74
75
  try {
75
- const caseStatusesResponse = yield caseMetadata.getStatuses(isSecureSupport);
76
+ const picklists = yield fetchPicklistValues(apolloClient, buildPicklistInput(['Status']));
77
+ const allCaseStatuses = (_a = picklists.Status) !== null && _a !== void 0 ? _a : [];
76
78
  dispatch({
77
79
  type: CaseDetailsConstants.getCaseStatuses,
78
- payload: { allCaseStatuses: getApiResourceObject(caseStatusesResponse.items) },
80
+ payload: { allCaseStatuses: getApiResourceObject(allCaseStatuses) },
79
81
  });
80
82
  }
81
83
  catch (e) {
@@ -6,13 +6,17 @@ import { IContact } from '@cee-eng/hydrajs/@types/models/contact';
6
6
  import { ISolrRecommendation } from '@cee-eng/hydrajs/@types/models/solr/solr';
7
7
  import { IApiResponseDetails } from '@rh-support/types/shared';
8
8
  import { UserAuth } from '@rh-support/user-permissions';
9
- import { CaseReducerDispatchType, ICaseState } from './CaseConstNTypes';
9
+ import { IGraphQLCaseUpdateInput, MatchedCaseGroup } from '@rh-support/utils';
10
+ import { CaseSeverityFtsGraphQLPayload } from '../utils/caseSeverityFtsGraphQLUtils';
11
+ import { CaseReducerDispatchType, ICaseDetailsState, ICaseState } from './CaseConstNTypes';
10
12
  import { SessionReducerDispatchType } from './SessionRestoreReducer';
11
13
  export declare const caseReducer: (pState: ICaseState, action: any) => ICaseState;
12
- export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseState: Partial<ICasePayload>) => void;
14
+ export declare const setCaseDetails: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseDetailsState>) => void;
13
15
  export declare const setCaseState: (dispatch: CaseReducerDispatchType, caseState: Partial<ICaseState>) => void;
14
16
  export declare const setNotifiedUser: (dispatch: CaseReducerDispatchType, selectedNotificationContacts: IContact[]) => void;
15
- export declare const submitCase: (dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, caseDetails: ICaseState, isCaseCreate: boolean, errorMessage500: string | JSX.Element, loggedInUserSsoUsername: string, isSecureSupport: boolean, isResubmit: boolean, isCreatingCaseFlow: boolean, sessionItem?: ISessionItem) => Promise<void>;
17
+ export declare const submitCase: (dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, caseDetails: ICaseState, isCaseCreate: boolean, errorMessage500: string | JSX.Element, loggedInUserSsoUsername: string, isSecureSupport: boolean, isResubmit: boolean, isCreatingCaseFlow: boolean, sessionItem?: ISessionItem, apolloClient?: {
18
+ mutate: (options: any) => Promise<any>;
19
+ }, traditionalSupportAgreed?: boolean) => Promise<void>;
16
20
  /**
17
21
  * Update case details if there is HTTP 500 error while submitting case
18
22
  * @param dispatch CaseReducerDispatchType
@@ -26,7 +30,13 @@ export declare const updateCaseCreationErrorStatusOnError: (dispatch: CaseReduce
26
30
  */
27
31
  export declare const updateCaseCreationErrorStatus: (dispatch: CaseReducerDispatchType, errorStatus: boolean) => void;
28
32
  export declare const postRemoteSessionRequest: (dispatch: CaseReducerDispatchType, caseNumber: string) => Promise<void>;
29
- export declare const postCaseCreationProcessing: (isSecureSupport: boolean, dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, caseNumber: string, caseDetails: ICaseState, sessionItem?: ISessionItem) => Promise<void>;
33
+ export declare const postCaseCreationProcessing: (isSecureSupport: boolean, dispatch: CaseReducerDispatchType, sessionRestoreDispatch: SessionReducerDispatchType, caseNumber: string, caseDetails: ICaseState, sessionItem?: ISessionItem, apolloClient?: {
34
+ mutate: (options: any) => Promise<any>;
35
+ }, caseSfId?: string) => Promise<void>;
36
+ /** Links selected labels to a newly created case. Failures are non-blocking. */
37
+ export declare const postCaseLabelLinks: (apolloClient: {
38
+ mutate: (options: any) => Promise<any>;
39
+ }, caseSfId: string, labelIds: string[]) => Promise<void>;
30
40
  export declare const resolveSession: (sessionRestoreDispatch: SessionReducerDispatchType, sessionItem: ISessionItem, caseNumber: string) => Promise<void>;
31
41
  export declare const postCepDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, cepDetails: ICepDetails) => Promise<void>;
32
42
  export declare const setCaseRecommendations: (dispatch: CaseReducerDispatchType, docs: ISolrRecommendation[], oldRecommendations: ICaseResourceLink[]) => void;
@@ -35,21 +45,56 @@ export declare const submitNotifiedUser: (dispatch: CaseReducerDispatchType, cas
35
45
  export declare const deleteNotifiedUsers: (dispatch: CaseReducerDispatchType, caseNumber: string, ssoUsernames: string[]) => Promise<void>;
36
46
  export declare const addingNotifiedUsers: (dispatch: CaseReducerDispatchType, caseNumber: string, addedUsers: IContact[]) => Promise<void>;
37
47
  export declare const clearSelectedAccount: (dispatch: CaseReducerDispatchType) => void;
38
- export declare const setCaseAccountNumber: (dispatch: CaseReducerDispatchType, accountNumber: string, isLoggedInUsersAccount?: boolean, loggedInUserAccount?: Partial<IAccount>) => Promise<void>;
48
+ export declare const setCaseAccountNumber: (dispatch: CaseReducerDispatchType, accountNumber: string, isLoggedInUsersAccount?: boolean, loggedInUserAccount?: Partial<IAccount>, apolloClient?: {
49
+ query: (options: any) => Promise<any>;
50
+ }) => Promise<void>;
39
51
  export declare const fetchCaseGroupsForAccount: (dispatch: CaseReducerDispatchType, accountNumber: string, setCaseGroupToUngroupedOrDefault?: boolean, abortSignal?: AbortSignal, caseGroupNumberToRestore?: string | undefined) => Promise<void>;
40
52
  export declare const setCaseOwner: (dispatch: CaseReducerDispatchType, owner: IContact, product: string, abortSignalCaseGroup?: AbortSignal, abortSignalEntitlements?: AbortSignal, setCaseGroupToUngroupedOrDefault?: boolean, caseGroupNumberToRestore?: string | undefined, canChangeGroup?: boolean, isUserUpdate?: boolean, caseNumber?: string, caseAccountNumber?: string) => Promise<void>;
41
53
  export declare const fetchCaseEntitlements: (dispatch: CaseReducerDispatchType, ssoUserName: string, product?: string, abortSignal?: AbortSignal, isUserUpdate?: boolean, caseNumber?: string) => Promise<void>;
42
54
  export declare const fetchCaseGroupsForSSO: (dispatch: CaseReducerDispatchType, contactSsoUsername: string, setCaseGroupToUngroupedOrDefault?: boolean, abortSignal?: AbortSignal, caseGroupNumberToRestore?: string | undefined) => Promise<void>;
43
- export declare const updateCaseWithSession: (dispatch: CaseReducerDispatchType, sessionItem: ISessionItem, loggedInUserAccountNumber: string, loggedInUserContact: IContact, loggedInUserAccount?: Partial<IAccount>) => Promise<void>;
44
- export declare const fetchCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, loggedInUserRights: any, loggedInUser: any) => Promise<void>;
45
- export declare const updateCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: Partial<ICasePayload>, dontSetDetails?: boolean) => Promise<never>;
55
+ export declare const fetchCaseGroupsForContactGraphQL: (dispatch: CaseReducerDispatchType, apolloClient: {
56
+ query: (options: any) => Promise<any>;
57
+ }, contactId: string, accountNumber: string, defaultCaseGroupId?: string | null, isOrgAdmin?: boolean, currentGroupNumber?: string | null) => Promise<MatchedCaseGroup[]>;
58
+ export declare const updateCaseWithSession: (dispatch: CaseReducerDispatchType, sessionItem: ISessionItem, loggedInUserAccountNumber: string, loggedInUserContact: IContact, loggedInUserAccount?: Partial<IAccount>, apolloClient?: {
59
+ query: (options: any) => Promise<any>;
60
+ }) => Promise<void>;
61
+ export declare const fetchCaseDetailsHydra: (dispatch: CaseReducerDispatchType, caseNumber: string, loggedInUserRights: any, loggedInUser: any, apolloClient?: {
62
+ query: (options: any) => Promise<any>;
63
+ }) => Promise<void>;
64
+ export declare const updateCaseDetails: (dispatch: CaseReducerDispatchType, caseNumber: string, caseDetails: Partial<ICasePayload>, dontSetDetails?: boolean) => Promise<void>;
65
+ export interface UpdateCaseDetailsGraphQLOptions {
66
+ salesforceCaseId?: string;
67
+ existingCaseDetails?: Partial<ICaseDetailsState>;
68
+ includeSecureSupport?: boolean;
69
+ }
70
+ export declare const updateCaseDetailsGraphQL: (dispatch: CaseReducerDispatchType, apolloClient: {
71
+ query: (options: any) => Promise<any>;
72
+ mutate: (options: any) => Promise<any>;
73
+ }, caseNumber: string, caseUpdate: Partial<IGraphQLCaseUpdateInput>, dontSetDetails?: boolean, options?: UpdateCaseDetailsGraphQLOptions) => Promise<void>;
74
+ /** GraphQL CaseUpdate for severity/status and FTS (X24x7__c / X24x7ContactInformation__c). */
75
+ export declare const updateCaseSeverityAndFtsGraphQL: (dispatch: CaseReducerDispatchType, apolloClient: {
76
+ query: (options: any) => Promise<any>;
77
+ mutate: (options: any) => Promise<any>;
78
+ }, caseNumber: string, payload: CaseSeverityFtsGraphQLPayload, currentSeverity: string | null | undefined, options?: UpdateCaseDetailsGraphQLOptions) => Promise<void>;
46
79
  export declare const getNotificationContacts4InternalUser: (dispatch: CaseReducerDispatchType, users: INotifiedUser[], caseOwnerSSO: string) => Promise<void>;
47
- export declare const getNotificationContacts4ExternalUser: (dispatch: CaseReducerDispatchType, users: any, loggedInUserRights: any, accountNumber: any, caseOwnerSSO: string, fullNameCustom: string) => Promise<void>;
48
- export declare const checkForCaseStatusToggleOnAttachOrComment: (dispatch: CaseReducerDispatchType, isInternal: boolean, currentStatus: string) => void;
80
+ export declare const getNotificationContacts4ExternalUser: (dispatch: CaseReducerDispatchType, users: any, loggedInUserRights: any, accountNumber: any, caseOwnerSSO: string, fullNameCustom: string, apolloClient?: {
81
+ query: (options: any) => Promise<any>;
82
+ }) => Promise<void>;
83
+ export interface CheckForCaseStatusToggleOptions {
84
+ apolloClient?: {
85
+ query: (options: any) => Promise<any>;
86
+ mutate: (options: any) => Promise<any>;
87
+ };
88
+ caseNumber?: string;
89
+ existingCaseDetails?: Partial<ICaseDetailsState>;
90
+ }
91
+ export declare const checkForCaseStatusToggleOnAttachOrComment: (dispatch: CaseReducerDispatchType, isInternal: boolean, currentStatus: string, options?: CheckForCaseStatusToggleOptions) => Promise<void>;
49
92
  export declare const setSelectedCaseGroupUsers: (dispatch: CaseReducerDispatchType, accountNumber: string, groupNumber: string, loggedInUserRights: UserAuth) => Promise<void>;
50
93
  export declare function getCustomNotificationEmails(dispatch: CaseReducerDispatchType, caseNumber: string): Promise<void>;
51
94
  export declare function updateEmailListState(dispatch: CaseReducerDispatchType, email: string, customEmailsList: IApiResponseDetails<Partial<ICaseNotificationAddresses[]>>, callback: (email: string) => ICaseNotificationAddresses[]): void;
52
- export declare function getVersionsDetails(dispatch: CaseReducerDispatchType, product: string): Promise<void>;
95
+ export declare function getVersionsDetails(dispatch: CaseReducerDispatchType, apolloClient: {
96
+ query: (options: any) => Promise<any>;
97
+ }, parentProductId: string, parentProductName: string): Promise<void>;
53
98
  export declare const setRemoteRiderFlag: (dispatch: CaseReducerDispatchType, flag: boolean) => void;
54
99
  export declare const setABTestVariation: (dispatch: CaseReducerDispatchType, ABTestVariation: string) => void;
55
100
  //# sourceMappingURL=CaseReducer.d.ts.map