@ynput/ayon-frontend-shared 0.2.36 → 0.2.38

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 (640) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +68 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js +1 -1
  8. package/dist/Views.cjs.js.map +1 -1
  9. package/dist/Views.es.js +25 -24
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.cjs2.js +1 -1
  15. package/dist/_virtual/index.cjs3.js +1 -1
  16. package/dist/_virtual/index.cjs5.js +1 -1
  17. package/dist/_virtual/index.es10.js +3 -3
  18. package/dist/_virtual/index.es11.js +5 -5
  19. package/dist/_virtual/index.es12.js +5 -5
  20. package/dist/_virtual/index.es2.js +2 -5
  21. package/dist/_virtual/index.es2.js.map +1 -1
  22. package/dist/_virtual/index.es3.js +5 -2
  23. package/dist/_virtual/index.es3.js.map +1 -1
  24. package/dist/_virtual/index.es4.js +2 -2
  25. package/dist/_virtual/index.es5.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +107 -106
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +135 -133
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/context.cjs.js +1 -1
  32. package/dist/context.es.js +32 -26
  33. package/dist/context.es.js.map +1 -1
  34. package/dist/index.cjs.js +1 -1
  35. package/dist/index.es.js +54 -52
  36. package/dist/index.es.js.map +1 -1
  37. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  38. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  44. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  45. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  46. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  47. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  51. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  52. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  53. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  54. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  55. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  64. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/entityLists.es.js +88 -84
  66. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +34 -32
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  73. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  74. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  75. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  76. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  78. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  79. package/dist/shared/src/api/generated/system.cjs.js +1 -1
  80. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  81. package/dist/shared/src/api/generated/system.es.js +3 -0
  82. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  84. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  86. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
  88. package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
  89. package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
  90. package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
  94. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  96. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
  100. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
  106. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  107. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  108. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  109. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
  110. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  112. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  114. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  116. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  118. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  120. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  121. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
  122. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  124. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
  126. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  127. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  128. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  129. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -68
  130. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  131. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  132. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  133. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -5
  134. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  135. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  136. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  137. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +119 -112
  138. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  139. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  140. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -105
  142. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  143. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  144. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  145. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +54 -52
  146. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  147. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  148. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  149. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
  150. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  151. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  152. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  153. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +11 -9
  154. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  155. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  156. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +45 -43
  158. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  159. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  160. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  161. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +79 -77
  162. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  163. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  164. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +44 -42
  166. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  167. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  168. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  169. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
  170. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  171. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
  172. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -64
  174. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  176. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +140 -142
  178. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  180. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +50 -48
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  184. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +49 -47
  186. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
  188. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
  190. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
  191. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  192. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  193. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +321 -258
  194. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  195. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  196. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  197. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +27 -25
  198. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  199. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  200. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  201. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +48 -46
  202. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  203. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  204. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  205. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +9 -7
  206. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  207. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
  208. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  209. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +109 -112
  210. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  211. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  212. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
  214. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  216. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +49 -47
  218. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  219. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  220. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  222. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  223. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  224. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +50 -48
  226. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +162 -160
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +58 -56
  234. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +112 -103
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +88 -86
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +19 -17
  250. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +36 -32
  254. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
  258. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -15
  262. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +45 -43
  266. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  267. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -47
  270. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -47
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -47
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +45 -46
  282. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/Feed.es.js +5 -3
  286. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +9 -7
  294. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  296. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -108
  298. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  302. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +10 -8
  306. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -11
  310. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +42 -41
  314. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -42
  318. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
  322. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +335 -329
  326. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +54 -52
  330. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +43 -41
  334. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +53 -51
  338. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +51 -49
  342. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
  346. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
  350. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
  356. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -57
  360. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +26 -90
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +69 -69
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -111
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +58 -57
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +51 -49
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +60 -53
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +68 -66
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +63 -59
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +51 -49
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +52 -50
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +67 -65
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -53
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +58 -56
  428. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
  432. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +122 -233
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +64 -62
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +47 -45
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  449. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  450. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -112
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  453. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  454. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -47
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  457. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  458. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +8 -6
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +100 -94
  468. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  472. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  476. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
  480. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  481. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  482. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
  484. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  485. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  486. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  487. package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
  488. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  489. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  490. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  491. package/dist/shared/src/context/DetailsPanelContext.es.js +76 -76
  492. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  493. package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
  494. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
  495. package/dist/shared/src/context/GlobalContext.es.js +123 -0
  496. package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
  497. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  498. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  499. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  500. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  501. package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
  502. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
  503. package/dist/shared/src/context/ProjectContext.es.js +182 -0
  504. package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
  505. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  506. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  507. package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
  508. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  509. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  510. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  511. package/dist/shared/src/context/WebsocketContext.es.js +48 -46
  512. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  513. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  514. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  515. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  516. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  517. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  518. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  519. package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
  520. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  521. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  522. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  523. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  524. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  526. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  527. package/dist/shared/src/hooks/useUserProjectConfig.es.js +27 -12
  528. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  529. package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
  530. package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
  531. package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
  532. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
  533. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  534. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  535. package/dist/src/components/Menu/MenuComponents/Menu.es.js +4 -2
  536. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  537. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  538. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  539. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -5
  540. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  541. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  542. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  543. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +18 -16
  544. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  545. package/dist/types/api/generated/actions.d.ts +2 -0
  546. package/dist/types/api/generated/attributes.d.ts +20 -5
  547. package/dist/types/api/generated/authentication.d.ts +2 -0
  548. package/dist/types/api/generated/configuration.d.ts +3 -1
  549. package/dist/types/api/generated/entityLists.d.ts +22 -5
  550. package/dist/types/api/generated/enums.d.ts +36 -0
  551. package/dist/types/api/generated/graphql.d.ts +9 -2
  552. package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
  553. package/dist/types/api/generated/onboarding.d.ts +1 -0
  554. package/dist/types/api/generated/products.d.ts +9 -3
  555. package/dist/types/api/generated/projects.d.ts +4 -4
  556. package/dist/types/api/generated/system.d.ts +27 -5
  557. package/dist/types/api/generated/users.d.ts +2 -0
  558. package/dist/types/api/generated/views.d.ts +40 -5
  559. package/dist/types/api/generated/ynputCloud.d.ts +7 -20
  560. package/dist/types/api/queries/actions/getActions.d.ts +6 -6
  561. package/dist/types/api/queries/activities/getActivities.d.ts +10 -8
  562. package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
  563. package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
  564. package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
  565. package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
  566. package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
  567. package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
  568. package/dist/types/api/queries/cloud/cloud.d.ts +21 -21
  569. package/dist/types/api/queries/entities/getEntity.d.ts +12 -10
  570. package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -4
  571. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
  572. package/dist/types/api/queries/entityLists/getLists.d.ts +190 -188
  573. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
  574. package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
  575. package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
  576. package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
  577. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
  578. package/dist/types/api/queries/overview/getOverview.d.ts +12 -10
  579. package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
  580. package/dist/types/api/queries/project/getProject.d.ts +190 -6
  581. package/dist/types/api/queries/review/getReview.d.ts +6 -6
  582. package/dist/types/api/queries/share/share.d.ts +2 -2
  583. package/dist/types/api/queries/system/getSystem.d.ts +91 -81
  584. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +13 -8
  585. package/dist/types/api/queries/users/getUsers.d.ts +63 -57
  586. package/dist/types/api/queries/users/guests.d.ts +2 -2
  587. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +29 -6
  588. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
  589. package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
  590. package/dist/types/api/queries/views/getViews.d.ts +8 -8
  591. package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
  592. package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
  593. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  594. package/dist/types/components/RemotePage/index.d.ts +1 -0
  595. package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
  597. package/dist/types/components/index.d.ts +31 -30
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
  600. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
  601. package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
  602. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
  603. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
  604. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
  605. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
  606. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
  607. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
  608. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
  609. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
  610. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
  611. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
  612. package/dist/types/containers/Views/index.d.ts +2 -2
  613. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
  614. package/dist/types/context/AddonProjectContext.d.ts +9 -14
  615. package/dist/types/context/DetailsPanelContext.d.ts +1 -2
  616. package/dist/types/context/GlobalContext.d.ts +25 -0
  617. package/dist/types/context/ProjectContext.d.ts +33 -0
  618. package/dist/types/context/index.d.ts +2 -0
  619. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  620. package/dist/types/util/index.d.ts +0 -2
  621. package/dist/types/util/versionUploadHelpers.d.ts +0 -1
  622. package/dist/util.cjs.js +1 -1
  623. package/dist/util.es.js +55 -58
  624. package/dist/util.es.js.map +1 -1
  625. package/package.json +1 -1
  626. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
  627. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
  628. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -99
  629. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
  630. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
  631. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
  632. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
  633. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
  634. package/dist/shared/src/util/productTypes.cjs.js +0 -2
  635. package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
  636. package/dist/shared/src/util/productTypes.es.js +0 -25
  637. package/dist/shared/src/util/productTypes.es.js.map +0 -1
  638. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
  639. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
  640. package/dist/types/util/productTypes.d.ts +0 -8
@@ -55,9 +55,15 @@ const i = p.enhanceEndpoints({
55
55
  providesTags: (t, o, { projectName: r }) => [{ type: "project", id: r }]
56
56
  }
57
57
  }
58
- }), { useGetProjectQuery: J, useListProjectsQuery: K, useGetProjectAnatomyQuery: M } = i;
58
+ }), {
59
+ useGetProjectQuery: J,
60
+ useListProjectsQuery: K,
61
+ useGetProjectAnatomyQuery: M,
62
+ useGetProductTypesQuery: N
63
+ } = i;
59
64
  export {
60
65
  i as default,
66
+ N as useGetProductTypesQuery,
61
67
  M as useGetProjectAnatomyQuery,
62
68
  J as useGetProjectQuery,
63
69
  K as useListProjectsQuery
@@ -1 +1 @@
1
- {"version":3,"file":"getProject.es.js","sources":["../../../../../../src/api/queries/project/getProject.ts"],"sourcesContent":["import { projectsApi, ListProjectsApiResponse, ListProjectsItemModel } from '@shared/api/generated'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof projectsApi>\ntype TagTypes = TagTypesFromApi<typeof projectsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getProject'> & {\n listProjects: OverrideResultType<Definitions['listProjects'], ListProjectsItemModel[]>\n}\n\nconst enhancedProject = projectsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getProject: {\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n providesTags: (_res, _error, { projectName }) => [{ type: 'project', id: projectName }],\n },\n listProjects: {\n transformResponse: (res: ListProjectsApiResponse) => res?.projects || [],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n providesTags: (_res, _error, { active }) => [\n { type: 'project' },\n { type: 'projects', id: (active ?? false).toString() },\n { type: 'projects', id: 'LIST' },\n ],\n },\n getProjectAnatomy: {\n providesTags: (_res, _error, { projectName }) => [{ type: 'project', id: projectName }],\n },\n },\n})\n\nexport const { useGetProjectQuery, useListProjectsQuery, useGetProjectAnatomyQuery } =\n enhancedProject\n\nexport default enhancedProject\n"],"names":["enhancedProject","projectsApi","error","_res","_error","projectName","res","active","useGetProjectQuery","useListProjectsQuery","useGetProjectAnatomyQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAAA,IAAkBC,EAAY,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,YAAY;AAAA,MACV,wBAAwB,CAACC,MAAeA,EAAM,KAAK,UAAU,SAASA,EAAM,MAAM;AAAA,MAClF,cAAc,CAACC,GAAMC,GAAQ,EAAE,aAAAC,EAAA,MAAkB,CAAC,EAAE,MAAM,WAAW,IAAIA,EAAa,CAAA;AAAA,IACxF;AAAA,IACA,cAAc;AAAA,MACZ,mBAAmB,CAACC,OAAiCA,KAAA,gBAAAA,EAAK,aAAY,CAAC;AAAA,MACvE,wBAAwB,CAACJ,MAAeA,EAAM,KAAK,UAAU,SAASA,EAAM,MAAM;AAAA,MAClF,cAAc,CAACC,GAAMC,GAAQ,EAAE,QAAAG,QAAa;AAAA,QAC1C,EAAE,MAAM,UAAU;AAAA,QAClB,EAAE,MAAM,YAAY,KAAKA,KAAU,IAAO,WAAW;AAAA,QACrD,EAAE,MAAM,YAAY,IAAI,OAAO;AAAA,MAAA;AAAA,IAEnC;AAAA,IACA,mBAAmB;AAAA,MACjB,cAAc,CAACJ,GAAMC,GAAQ,EAAE,aAAAC,EAAA,MAAkB,CAAC,EAAE,MAAM,WAAW,IAAIA,EAAa,CAAA;AAAA,IAAA;AAAA,EACxF;AAEJ,CAAC,GAEY,EAAE,oBAAAG,GAAoB,sBAAAC,GAAsB,2BAAAC,MACvDV;"}
1
+ {"version":3,"file":"getProject.es.js","sources":["../../../../../../src/api/queries/project/getProject.ts"],"sourcesContent":["import { projectsApi, ListProjectsApiResponse, ListProjectsItemModel } from '@shared/api/generated'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof projectsApi>\ntype TagTypes = TagTypesFromApi<typeof projectsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getProject'> & {\n listProjects: OverrideResultType<Definitions['listProjects'], ListProjectsItemModel[]>\n}\n\nconst enhancedProject = projectsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getProject: {\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n providesTags: (_res, _error, { projectName }) => [{ type: 'project', id: projectName }],\n },\n listProjects: {\n transformResponse: (res: ListProjectsApiResponse) => res?.projects || [],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n providesTags: (_res, _error, { active }) => [\n { type: 'project' },\n { type: 'projects', id: (active ?? false).toString() },\n { type: 'projects', id: 'LIST' },\n ],\n },\n getProjectAnatomy: {\n providesTags: (_res, _error, { projectName }) => [{ type: 'project', id: projectName }],\n },\n },\n})\n\nexport const {\n useGetProjectQuery,\n useListProjectsQuery,\n useGetProjectAnatomyQuery,\n useGetProductTypesQuery,\n} = enhancedProject\n\nexport default enhancedProject\n"],"names":["enhancedProject","projectsApi","error","_res","_error","projectName","res","active","useGetProjectQuery","useListProjectsQuery","useGetProjectAnatomyQuery","useGetProductTypesQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAAA,IAAkBC,EAAY,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,YAAY;AAAA,MACV,wBAAwB,CAACC,MAAeA,EAAM,KAAK,UAAU,SAASA,EAAM,MAAM;AAAA,MAClF,cAAc,CAACC,GAAMC,GAAQ,EAAE,aAAAC,EAAA,MAAkB,CAAC,EAAE,MAAM,WAAW,IAAIA,EAAa,CAAA;AAAA,IACxF;AAAA,IACA,cAAc;AAAA,MACZ,mBAAmB,CAACC,OAAiCA,KAAA,gBAAAA,EAAK,aAAY,CAAC;AAAA,MACvE,wBAAwB,CAACJ,MAAeA,EAAM,KAAK,UAAU,SAASA,EAAM,MAAM;AAAA,MAClF,cAAc,CAACC,GAAMC,GAAQ,EAAE,QAAAG,QAAa;AAAA,QAC1C,EAAE,MAAM,UAAU;AAAA,QAClB,EAAE,MAAM,YAAY,KAAKA,KAAU,IAAO,WAAW;AAAA,QACrD,EAAE,MAAM,YAAY,IAAI,OAAO;AAAA,MAAA;AAAA,IAEnC;AAAA,IACA,mBAAmB;AAAA,MACjB,cAAc,CAACJ,GAAMC,GAAQ,EAAE,aAAAC,EAAA,MAAkB,CAAC,EAAE,MAAM,WAAW,IAAIA,EAAa,CAAA;AAAA,IAAA;AAAA,EACxF;AAEJ,CAAC,GAEY;AAAA,EACX,oBAAAG;AAAA,EACA,sBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,yBAAAC;AACF,IAAIX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSystem.cjs.js","sources":["../../../../../../src/api/queries/system/getSystem.ts"],"sourcesContent":["import { systemApi } from '@shared/api/generated'\n\nconst getSystemApi = systemApi.enhanceEndpoints({\n endpoints: {\n getSiteInfo: {\n providesTags: (result) =>\n result\n ? [\n 'info',\n ...(result.attributes || []).map((attr) => ({\n type: 'attribute' as const,\n id: attr.name,\n })),\n ]\n : ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["getSystemApi","systemApi","result","attr","useGetSiteInfoQuery","useLazyGetSiteInfoQuery","useListFrontendModulesQuery"],"mappings":"srDAEM,MAAAA,EAAeC,MAAU,iBAAiB,CAC9C,UAAW,CACT,YAAa,CACX,aAAeC,GACbA,EACI,CACE,OACA,IAAIA,EAAO,YAAc,CAAI,GAAA,IAAKC,IAAU,CAC1C,KAAM,YACN,GAAIA,EAAK,IAAA,EACT,CACJ,EACA,CAAC,MAAM,CACf,EACA,oBAAqB,CACnB,aAAc,CAAC,MAAM,CAAA,CACvB,CAEJ,CAAC,EAEY,CAAE,oBAAAC,EAAqB,wBAAAC,EAAyB,4BAAAC,GAC3DN"}
1
+ {"version":3,"file":"getSystem.cjs.js","sources":["../../../../../../src/api/queries/system/getSystem.ts"],"sourcesContent":["import { GetSiteInfoApiResponse, systemApi } from '@shared/api/generated'\n\nexport interface GetSiteInfoResult extends GetSiteInfoApiResponse {\n uiExposureLevel: number\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof systemApi>\ntype TagTypes = TagTypesFromApi<typeof systemApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getSiteInfo'> & {\n getSiteInfo: OverrideResultType<Definitions['getSiteInfo'], GetSiteInfoResult>\n}\n\nconst getSystemApi = systemApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getSiteInfo: {\n providesTags: (result) =>\n result\n ? [\n 'info',\n ...(result.attributes || []).map((attr) => ({\n type: 'attribute' as const,\n id: attr.name,\n })),\n ]\n : ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["getSystemApi","systemApi","result","attr","useGetSiteInfoQuery","useLazyGetSiteInfoQuery","useListFrontendModulesQuery"],"mappings":"srDAcM,MAAAA,EAAeC,MAAU,iBAA+C,CAC5E,UAAW,CACT,YAAa,CACX,aAAeC,GACbA,EACI,CACE,OACA,IAAIA,EAAO,YAAc,CAAI,GAAA,IAAKC,IAAU,CAC1C,KAAM,YACN,GAAIA,EAAK,IAAA,EACT,CACJ,EACA,CAAC,MAAM,CACf,EACA,oBAAqB,CACnB,aAAc,CAAC,MAAM,CAAA,CACvB,CAEJ,CAAC,EAEY,CAAE,oBAAAC,EAAqB,wBAAAC,EAAyB,4BAAAC,GAC3DN"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSystem.es.js","sources":["../../../../../../src/api/queries/system/getSystem.ts"],"sourcesContent":["import { systemApi } from '@shared/api/generated'\n\nconst getSystemApi = systemApi.enhanceEndpoints({\n endpoints: {\n getSiteInfo: {\n providesTags: (result) =>\n result\n ? [\n 'info',\n ...(result.attributes || []).map((attr) => ({\n type: 'attribute' as const,\n id: attr.name,\n })),\n ]\n : ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["getSystemApi","systemApi","result","attr","useGetSiteInfoQuery","useLazyGetSiteInfoQuery","useListFrontendModulesQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAAA,IAAeC,EAAU,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAACC,MACbA,IACI;AAAA,QACE;AAAA,QACA,IAAIA,EAAO,cAAc,CAAI,GAAA,IAAI,CAACC,OAAU;AAAA,UAC1C,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,MACJ,IACA,CAAC,MAAM;AAAA,IACf;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC,GAEY,EAAE,qBAAAC,GAAqB,yBAAAC,GAAyB,6BAAAC,MAC3DN;"}
1
+ {"version":3,"file":"getSystem.es.js","sources":["../../../../../../src/api/queries/system/getSystem.ts"],"sourcesContent":["import { GetSiteInfoApiResponse, systemApi } from '@shared/api/generated'\n\nexport interface GetSiteInfoResult extends GetSiteInfoApiResponse {\n uiExposureLevel: number\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof systemApi>\ntype TagTypes = TagTypesFromApi<typeof systemApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getSiteInfo'> & {\n getSiteInfo: OverrideResultType<Definitions['getSiteInfo'], GetSiteInfoResult>\n}\n\nconst getSystemApi = systemApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getSiteInfo: {\n providesTags: (result) =>\n result\n ? [\n 'info',\n ...(result.attributes || []).map((attr) => ({\n type: 'attribute' as const,\n id: attr.name,\n })),\n ]\n : ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["getSystemApi","systemApi","result","attr","useGetSiteInfoQuery","useLazyGetSiteInfoQuery","useListFrontendModulesQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcM,MAAAA,IAAeC,EAAU,iBAA+C;AAAA,EAC5E,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAACC,MACbA,IACI;AAAA,QACE;AAAA,QACA,IAAIA,EAAO,cAAc,CAAI,GAAA,IAAI,CAACC,OAAU;AAAA,UAC1C,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,MACJ,IACA,CAAC,MAAM;AAAA,IACf;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC,GAEY,EAAE,qBAAAC,GAAqB,yBAAAC,GAAyB,6BAAAC,MAC3DN;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const v=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const K=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const j=require("../../../util/pubsub.cjs.js"),A=require("./convertAccessGroupsData.cjs.js"),I=require("./getUserProjectsAccess.cjs.js"),h=r=>r.kanban.edges.map(({node:t})=>t).sort((t,o)=>{const e=t.label||t.name,n=o.label||o.name;return e.localeCompare(n)}),m=(r,t,o)=>r!=null&&r.length?[{type:"kanBanTask",id:"LIST"},...r.flatMap(({id:e,projectName:n,assignees:c})=>[{type:"task",id:e},{type:"kanban",id:"project-"+n},...c.map(s=>({type:"kanban",id:"user-"+s})),...c.map(s=>({type:"kanban",id:"user-"+s+"-project-"+n})),{type:"kanban",id:JSON.stringify(o)}])]:[{type:"kanBanTask",id:"LIST"}],k=async({projects:r=[],taskIds:t=[]},o)=>{try{const e=await o(f.endpoints.GetKanbanTasks.initiate({projects:r,taskIds:t},{forceRefetch:!0}));if(e.status==="rejected"||!e.data)throw console.error("No tasks found",t),new Error(`No tasks found ${t.join(", ")}`);return e.status!=="fulfilled"?[]:e.data}catch(e){return console.error(e),[]}},f=v.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:h,providesTags:m,async onCacheEntryAdded({assignees:r=[],projects:t=[]}={},{updateCachedData:o,cacheDataLoaded:e,cacheEntryRemoved:n,dispatch:c}){let s;try{await e;const u=async({projects:l=[],taskIds:q=[]})=>{const d=await k({projects:l,taskIds:q},c),y=d.filter(a=>a.assignees.some(i=>r==null?void 0:r.includes(i))),G=d.filter(a=>!a.assignees.some(i=>r==null?void 0:r.includes(i)));o(a=>{y.forEach(i=>{const p=a.findIndex(b=>b.id===i.id);p===-1?a.push(i):a[p]=i}),G.forEach(i=>{const p=a.findIndex(b=>b.id===i.id);p!==-1&&a.splice(p,1)})})},T=async(l,q)=>{const d=q.project;if(!(t!=null&&t.includes(d)))return console.log("project not selected");const y=q.summary.entityId;if(!y)return console.log("no entity id found");u({taskIds:[y],projects:[d]})};s=j.subscribe("entity.task",T)}catch(u){console.error(u)}await n,j.unsubscribe(s)}},GetKanbanTasks:{transformResponse:h,providesTags:m},GetKanbanProjectUsers:{transformResponse:(r,t,{projects:o}={})=>r.users.edges.map(({node:e})=>{const n=A(e.accessGroups);let s=!e.isManager&&!e.isAdmin?I(n):o;(typeof s=="string"||!s)&&(s=[]);const u=`/api/users/${e.name}/avatar`;return{...e,accessGroups:n,projects:s,avatarUrl:u}}),providesTags:r=>r!=null&&r.length?[{type:"user",id:"LIST"},...r.map(({name:t})=>({type:"user",id:t}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:P,useGetKanbanProjectUsersQuery:w}=f,g=f.injectEndpoints({endpoints:r=>({getProjectsInfo:r.query({async queryFn({projects:t=[]},{dispatch:o}){try{const e={};for(const n of t){const c=await o(K.default.endpoints.getProject.initiate({projectName:n},{forceRefetch:!0}));if(c.status==="rejected")throw"No projects found";e[n]=c.data}return{data:e,meta:void 0,error:void 0}}catch(e){return console.error(e),{error:e,meta:void 0,data:void 0}}},providesTags:(t,o,{projects:e})=>e.map(n=>({type:"project",id:n}))})})}),{useGetProjectsInfoQuery:S}=g;exports.dashboardQueries=g;exports.getKanbanTasks=k;exports.useGetKanbanProjectUsersQuery=w;exports.useGetKanbanQuery=P;exports.useGetProjectsInfoQuery=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const K=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const j=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const h=require("../../../util/pubsub.cjs.js"),P=require("./convertAccessGroupsData.cjs.js"),A=require("./getUserProjectsAccess.cjs.js"),g=r=>r.kanban.edges.map(({node:t})=>t).sort((t,n)=>{const e=t.label||t.name,o=n.label||n.name;return e.localeCompare(o)}),k=(r,t,n)=>r!=null&&r.length?[{type:"kanBanTask",id:"LIST"},...r.flatMap(({id:e,projectName:o,assignees:s})=>[{type:"task",id:e},{type:"kanban",id:"project-"+o},...s.map(a=>({type:"kanban",id:"user-"+a})),...s.map(a=>({type:"kanban",id:"user-"+a+"-project-"+o})),{type:"kanban",id:JSON.stringify(n)}])]:[{type:"kanBanTask",id:"LIST"}],T=async({projects:r=[],taskIds:t=[]},n)=>{try{const e=await n(m.endpoints.GetKanbanTasks.initiate({projects:r,taskIds:t},{forceRefetch:!0}));if(e.status==="rejected"||!e.data)throw console.error("No tasks found",t),new Error(`No tasks found ${t.join(", ")}`);return e.status!=="fulfilled"?[]:e.data}catch(e){return console.error(e),[]}},m=K.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:g,providesTags:k,async onCacheEntryAdded({assignees:r=[],projects:t=[]}={},{updateCachedData:n,cacheDataLoaded:e,cacheEntryRemoved:o,dispatch:s}){let a;try{await e;const u=async({projects:y=[],taskIds:f=[]})=>{const d=await T({projects:y,taskIds:f},s),b=d.filter(i=>i.assignees.some(c=>r==null?void 0:r.includes(c))),v=d.filter(i=>!i.assignees.some(c=>r==null?void 0:r.includes(c)));n(i=>{b.forEach(c=>{const p=i.findIndex(l=>l.id===c.id);p===-1?i.push(c):i[p]=c}),v.forEach(c=>{const p=i.findIndex(l=>l.id===c.id);p!==-1&&i.splice(p,1)})})},q=async(y,f)=>{const d=f.project;if(!(t!=null&&t.includes(d)))return console.log("project not selected");const b=f.summary.entityId;if(!b)return console.log("no entity id found");u({taskIds:[b],projects:[d]})};a=h.subscribe("entity.task",q)}catch(u){console.error(u)}await o,h.unsubscribe(a)}},GetKanbanTasks:{transformResponse:g,providesTags:k},GetKanbanProjectUsers:{transformResponse:(r,t,{projects:n}={})=>r.users.edges.map(({node:e})=>{const o=P(e.accessGroups);let a=!e.isManager&&!e.isAdmin?A(o):n;(typeof a=="string"||!a)&&(a=[]);const u=`/api/users/${e.name}/avatar`;return{...e,accessGroups:o,projects:a,avatarUrl:u}}),providesTags:r=>r!=null&&r.length?[{type:"user",id:"LIST"},...r.map(({name:t})=>({type:"user",id:t}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:I,useGetKanbanProjectUsersQuery:w}=m,G=m.injectEndpoints({endpoints:r=>({getProjectsInfo:r.query({async queryFn({projects:t=[]},{dispatch:n}){try{const e={};for(const o of t){const s=o,a=[n(j.default.endpoints.getProject.initiate({projectName:s},{forceRefetch:!0})).unwrap(),n(j.default.endpoints.getProjectAnatomy.initiate({projectName:s},{forceRefetch:!0})).unwrap()],u=await Promise.all(a),q=u[0],y=u[1];q&&(e[s]={...q,anatomy:y})}return{data:e,meta:void 0,error:void 0}}catch(e){return console.error(e),{error:e,meta:void 0,data:void 0}}},providesTags:(t,n,{projects:e})=>e.map(o=>({type:"project",id:o}))})})}),{useGetProjectsInfoQuery:S}=G;exports.dashboardQueries=G;exports.getKanbanTasks=T;exports.useGetKanbanProjectUsersQuery=w;exports.useGetKanbanQuery=I;exports.useGetProjectsInfoQuery=S;
2
2
  //# sourceMappingURL=getUserDashboard.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n}\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModel | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [] }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModel | undefined> = {}\n for (const project of projects) {\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const response = await dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName: project },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected') {\n throw 'No projects found'\n }\n projectInfo[project] = response.data\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","projectInfo","projectQueries","_res","useGetProjectsInfoQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [] }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n\n const response = await Promise.all(responses)\n\n const projectData = response[0] as ProjectModel | undefined\n const anatomyData = response[1] as Anatomy | undefined\n\n if (projectData) {\n projectInfo[projectName] = { ...projectData, anatomy: anatomyData }\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","projectInfo","responses","projectQueries","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
@@ -36,36 +36,36 @@ import "../../generated/workfiles.es.js";
36
36
  import "../../generated/ynputCloud.es.js";
37
37
  import "../../generated/grouping.es.js";
38
38
  import "../../generated/views.es.js";
39
- import A from "../project/getProject.es.js";
39
+ import j from "../project/getProject.es.js";
40
40
  import "../project/updateProject.es.js";
41
41
  import "lodash";
42
42
  import "react-toastify";
43
43
  import "uuid";
44
- import h from "../../../util/pubsub.es.js";
44
+ import k from "../../../util/pubsub.es.js";
45
45
  import G from "./convertAccessGroupsData.es.js";
46
- import I from "./getUserProjectsAccess.es.js";
47
- const j = (o) => o.kanban.edges.map(({ node: r }) => r).sort((r, n) => {
48
- const t = r.label || r.name, e = n.label || n.name;
49
- return t.localeCompare(e);
50
- }), k = (o, r, n) => o != null && o.length ? [
46
+ import P from "./getUserProjectsAccess.es.js";
47
+ const T = (o) => o.kanban.edges.map(({ node: r }) => r).sort((r, e) => {
48
+ const t = r.label || r.name, n = e.label || e.name;
49
+ return t.localeCompare(n);
50
+ }), g = (o, r, e) => o != null && o.length ? [
51
51
  { type: "kanBanTask", id: "LIST" },
52
- ...o.flatMap(({ id: t, projectName: e, assignees: p }) => [
52
+ ...o.flatMap(({ id: t, projectName: n, assignees: i }) => [
53
53
  { type: "task", id: t },
54
- { type: "kanban", id: "project-" + e },
55
- ...p.map((i) => ({ type: "kanban", id: "user-" + i })),
56
- ...p.map((i) => ({
54
+ { type: "kanban", id: "project-" + n },
55
+ ...i.map((a) => ({ type: "kanban", id: "user-" + a })),
56
+ ...i.map((a) => ({
57
57
  type: "kanban",
58
- id: "user-" + i + "-project-" + e
58
+ id: "user-" + a + "-project-" + n
59
59
  })),
60
- { type: "kanban", id: JSON.stringify(n) }
60
+ { type: "kanban", id: JSON.stringify(e) }
61
61
  ])
62
- ] : [{ type: "kanBanTask", id: "LIST" }], K = async ({
62
+ ] : [{ type: "kanBanTask", id: "LIST" }], I = async ({
63
63
  projects: o = [],
64
64
  taskIds: r = []
65
- }, n) => {
65
+ }, e) => {
66
66
  try {
67
- const t = await n(
68
- b.endpoints.GetKanbanTasks.initiate(
67
+ const t = await e(
68
+ h.endpoints.GetKanbanTasks.initiate(
69
69
  { projects: o, taskIds: r },
70
70
  { forceRefetch: !0 }
71
71
  )
@@ -76,48 +76,48 @@ const j = (o) => o.kanban.edges.map(({ node: r }) => r).sort((r, n) => {
76
76
  } catch (t) {
77
77
  return console.error(t), [];
78
78
  }
79
- }, b = v.enhanceEndpoints({
79
+ }, h = v.enhanceEndpoints({
80
80
  endpoints: {
81
81
  GetKanban: {
82
- transformResponse: j,
83
- providesTags: k,
84
- async onCacheEntryAdded({ assignees: o = [], projects: r = [] } = {}, { updateCachedData: n, cacheDataLoaded: t, cacheEntryRemoved: e, dispatch: p }) {
85
- let i;
82
+ transformResponse: T,
83
+ providesTags: g,
84
+ async onCacheEntryAdded({ assignees: o = [], projects: r = [] } = {}, { updateCachedData: e, cacheDataLoaded: t, cacheEntryRemoved: n, dispatch: i }) {
85
+ let a;
86
86
  try {
87
87
  await t;
88
88
  const c = async ({
89
- projects: l = [],
90
- taskIds: f = []
89
+ projects: u = [],
90
+ taskIds: y = []
91
91
  }) => {
92
- const m = await K({ projects: l, taskIds: f }, p), u = m.filter(
93
- (a) => a.assignees.some((s) => o == null ? void 0 : o.includes(s))
94
- ), g = m.filter(
95
- (a) => !a.assignees.some((s) => o == null ? void 0 : o.includes(s))
92
+ const m = await I({ projects: u, taskIds: y }, i), b = m.filter(
93
+ (s) => s.assignees.some((p) => o == null ? void 0 : o.includes(p))
94
+ ), A = m.filter(
95
+ (s) => !s.assignees.some((p) => o == null ? void 0 : o.includes(p))
96
96
  );
97
- n((a) => {
98
- u.forEach((s) => {
99
- const d = a.findIndex((y) => y.id === s.id);
100
- d === -1 ? a.push(s) : a[d] = s;
101
- }), g.forEach((s) => {
102
- const d = a.findIndex((y) => y.id === s.id);
103
- d !== -1 && a.splice(d, 1);
97
+ e((s) => {
98
+ b.forEach((p) => {
99
+ const d = s.findIndex((l) => l.id === p.id);
100
+ d === -1 ? s.push(p) : s[d] = p;
101
+ }), A.forEach((p) => {
102
+ const d = s.findIndex((l) => l.id === p.id);
103
+ d !== -1 && s.splice(d, 1);
104
104
  });
105
105
  });
106
- }, T = async (l, f) => {
107
- const m = f.project;
106
+ }, f = async (u, y) => {
107
+ const m = y.project;
108
108
  if (!(r != null && r.includes(m))) return console.log("project not selected");
109
- const u = f.summary.entityId;
110
- if (!u) return console.log("no entity id found");
109
+ const b = y.summary.entityId;
110
+ if (!b) return console.log("no entity id found");
111
111
  c({
112
- taskIds: [u],
112
+ taskIds: [b],
113
113
  projects: [m]
114
114
  });
115
115
  };
116
- i = h.subscribe("entity.task", T);
116
+ a = k.subscribe("entity.task", f);
117
117
  } catch (c) {
118
118
  console.error(c);
119
119
  }
120
- await e, h.unsubscribe(i);
120
+ await n, k.unsubscribe(a);
121
121
  }
122
122
  // // there is only one cache for kanban
123
123
  // serializeQueryArgs: () => '',
@@ -134,20 +134,20 @@ const j = (o) => o.kanban.edges.map(({ node: r }) => r).sort((r, n) => {
134
134
  // same query as GetKanban but for specific tasks
135
135
  // used mainly for patching tasks into the kanban cache
136
136
  GetKanbanTasks: {
137
- transformResponse: j,
138
- providesTags: k
137
+ transformResponse: T,
138
+ providesTags: g
139
139
  },
140
140
  // get all users on all selected projects
141
141
  GetKanbanProjectUsers: {
142
- transformResponse: (o, r, { projects: n } = {}) => o.users.edges.map(({ node: t }) => {
143
- const e = G(t.accessGroups);
144
- let i = !t.isManager && !t.isAdmin ? I(e) : n;
145
- (typeof i == "string" || !i) && (i = []);
142
+ transformResponse: (o, r, { projects: e } = {}) => o.users.edges.map(({ node: t }) => {
143
+ const n = G(t.accessGroups);
144
+ let a = !t.isManager && !t.isAdmin ? P(n) : e;
145
+ (typeof a == "string" || !a) && (a = []);
146
146
  const c = `/api/users/${t.name}/avatar`;
147
147
  return {
148
148
  ...t,
149
- accessGroups: e,
150
- projects: i,
149
+ accessGroups: n,
150
+ projects: a,
151
151
  avatarUrl: c
152
152
  };
153
153
  }),
@@ -157,37 +157,43 @@ const j = (o) => o.kanban.edges.map(({ node: r }) => r).sort((r, n) => {
157
157
  ] : [{ type: "user", id: "LIST" }]
158
158
  }
159
159
  }
160
- }), { useGetKanbanQuery: Tt, useGetKanbanProjectUsersQuery: gt } = b, P = b.injectEndpoints({
160
+ }), { useGetKanbanQuery: Tt, useGetKanbanProjectUsersQuery: gt } = h, K = h.injectEndpoints({
161
161
  endpoints: (o) => ({
162
162
  getProjectsInfo: o.query({
163
- async queryFn({ projects: r = [] }, { dispatch: n }) {
163
+ async queryFn({ projects: r = [] }, { dispatch: e }) {
164
164
  try {
165
165
  const t = {};
166
- for (const e of r) {
167
- const p = await n(
168
- A.endpoints.getProject.initiate(
169
- { projectName: e },
170
- { forceRefetch: !0 }
171
- )
172
- );
173
- if (p.status === "rejected")
174
- throw "No projects found";
175
- t[e] = p.data;
166
+ for (const n of r) {
167
+ const i = n, a = [
168
+ e(
169
+ j.endpoints.getProject.initiate(
170
+ { projectName: i },
171
+ { forceRefetch: !0 }
172
+ )
173
+ ).unwrap(),
174
+ e(
175
+ j.endpoints.getProjectAnatomy.initiate(
176
+ { projectName: i },
177
+ { forceRefetch: !0 }
178
+ )
179
+ ).unwrap()
180
+ ], c = await Promise.all(a), f = c[0], u = c[1];
181
+ f && (t[i] = { ...f, anatomy: u });
176
182
  }
177
183
  return { data: t, meta: void 0, error: void 0 };
178
184
  } catch (t) {
179
185
  return console.error(t), { error: t, meta: void 0, data: void 0 };
180
186
  }
181
187
  },
182
- providesTags: (r, n, { projects: t }) => t.map((e) => ({ type: "project", id: e }))
188
+ providesTags: (r, e, { projects: t }) => t.map((n) => ({ type: "project", id: n }))
183
189
  })
184
190
  })
185
- }), { useGetProjectsInfoQuery: vt } = P;
191
+ }), { useGetProjectsInfoQuery: At } = K;
186
192
  export {
187
- P as dashboardQueries,
188
- K as getKanbanTasks,
193
+ K as dashboardQueries,
194
+ I as getKanbanTasks,
189
195
  gt as useGetKanbanProjectUsersQuery,
190
196
  Tt as useGetKanbanQuery,
191
- vt as useGetProjectsInfoQuery
197
+ At as useGetProjectsInfoQuery
192
198
  };
193
199
  //# sourceMappingURL=getUserDashboard.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n}\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModel | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [] }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModel | undefined> = {}\n for (const project of projects) {\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const response = await dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName: project },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected') {\n throw 'No projects found'\n }\n projectInfo[project] = response.data\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","projectInfo","projectQueries","_res","useGetProjectsInfoQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAMA,IAAkB,CAACC,MACvBA,EAAS,OAAO,MACb,IAAI,CAAC,EAAE,MAAAC,EAAA,MAAWA,CAAI,EACtB,KAAK,CAACC,GAAGC,MAAM;AACR,QAAAC,IAASF,EAAE,SAASA,EAAE,MACtBG,IAASF,EAAE,SAASA,EAAE;AACrB,SAAAC,EAAO,cAAcC,CAAM;AACpC,CAAC,GAECC,IAAoB,CAACC,GAAuCC,GAAaC,MAC7EF,KAAA,QAAAA,EAAQ,SACJ;AAAA,EACE,EAAE,MAAM,cAAc,IAAI,OAAO;AAAA,EACjC,GAAGA,EAAO,QAAQ,CAAC,EAAE,IAAAG,GAAI,aAAAC,GAAa,WAAAC,QAAgB;AAAA,IACpD,EAAE,MAAM,QAAQ,IAAAF,EAAG;AAAA,IACnB,EAAE,MAAM,UAAU,IAAI,aAAaC,EAAY;AAAA,IAC/C,GAAGC,EAAU,IAAI,CAACC,OAAc,EAAE,MAAM,UAAU,IAAI,UAAUA,EAAA,EAAW;AAAA,IAC3E,GAAGD,EAAU,IAAI,CAACC,OAAc;AAAA,MAC9B,MAAM;AAAA,MACN,IAAI,UAAUA,IAAW,cAAcF;AAAA,IAAA,EACvC;AAAA,IACF,EAAE,MAAM,UAAU,IAAI,KAAK,UAAUF,CAAI,EAAE;AAAA,EAC5C,CAAA;AACH,IACA,CAAC,EAAE,MAAM,cAAc,IAAI,QAAQ,GAE5BK,IAAiB,OAC5B;AAAA,EACE,UAAAC,IAAW,CAAC;AAAA,EACZ,SAAAC,IAAU,CAAA;AACZ,GAIAC,MACG;AACC,MAAA;AAEF,UAAMjB,IAAW,MAAMiB;AAAA,MACrBC,EAA4B,UAAU,eAAe;AAAA,QACnD,EAAE,UAAAH,GAAU,SAAAC,EAAQ;AAAA,QACpB,EAAE,cAAc,GAAK;AAAA,MAAA;AAAA,IAEzB;AAEA,QAAIhB,EAAS,WAAW,cAAc,CAACA,EAAS;AACtC,oBAAA,MAAM,kBAAkBgB,CAAO,GACjC,IAAI,MAAM,kBAAkBA,EAAQ,KAAK,IAAI,CAAC,EAAE;AAGxD,WAAIhB,EAAS,WAAW,cAAoB,CAAC,IAEtCA,EAAS;AAAA,WACTmB,GAAO;AACd,mBAAQ,MAAMA,CAAK,GACZ,CAAC;AAAA,EAAA;AAEZ,GAEMD,IAA8BE,EAAO,iBAA+C;AAAA,EACxF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmBrB;AAAA,MACnB,cAAcO;AAAA,MACd,MAAM,kBACJ,EAAE,WAAAM,IAAY,IAAI,UAAAG,IAAW,CAAG,EAAA,IAAI,CACpC,GAAA,EAAE,kBAAAM,GAAkB,iBAAAC,GAAiB,mBAAAC,GAAmB,UAAAN,KACxD;AACI,YAAAO;AACA,YAAA;AAEI,gBAAAF;AAEN,gBAAMG,IAAkB,OAAO;AAAA,YAC7B,UAAAV,IAAW,CAAC;AAAA,YACZ,SAAAC,IAAU,CAAA;AAAA,UAAC,MAIP;AACE,kBAAAU,IAAQ,MAAMZ,EAAe,EAAE,UAAAC,GAAU,SAAAC,KAAWC,CAAQ,GAG5DU,IAAwBD,EAAM;AAAA,cAAO,CAACE,MAC1CA,EAAK,UAAU,KAAK,CAACf,MAAaD,KAAA,gBAAAA,EAAW,SAASC,EAAS;AAAA,YACjE,GAEMgB,IAA2BH,EAAM;AAAA,cACrC,CAACE,MAAS,CAACA,EAAK,UAAU,KAAK,CAACf,MAAaD,KAAA,gBAAAA,EAAW,SAASC,EAAS;AAAA,YAC5E;AAGA,YAAAQ,EAAiB,CAACS,MAAU;AAEJ,cAAAH,EAAA,QAAQ,CAACC,MAAS;AAChC,sBAAAG,IAAQD,EAAM,UAAU,CAACE,MAAMA,EAAE,OAAOJ,EAAK,EAAE;AACrD,gBAAIG,MAAU,KACZD,EAAM,KAAKF,CAAI,IAGfE,EAAMC,CAAK,IAAIH;AAAA,cACjB,CACD,GAEwBC,EAAA,QAAQ,CAACD,MAAS;AACnC,sBAAAG,IAAQD,EAAM,UAAU,CAACE,MAAMA,EAAE,OAAOJ,EAAK,EAAE;AACrD,gBAAIG,MAAU,MACND,EAAA,OAAOC,GAAO,CAAC;AAAA,cACvB,CACD;AAAA,YAAA,CACF;AAAA,UACH,GAEME,IAAe,OAAOC,GAAgBC,MAAiB;AAC3D,kBAAMC,IAAUD,EAAQ;AAEpB,gBAAA,EAACpB,KAAA,QAAAA,EAAU,SAASqB,IAAiB,QAAA,QAAQ,IAAI,sBAAsB;AAErE,kBAAAC,IAAWF,EAAQ,QAAQ;AACjC,gBAAI,CAACE,EAAiB,QAAA,QAAQ,IAAI,oBAAoB;AAGtC,YAAAZ,EAAA;AAAA,cACd,SAAS,CAACY,CAAQ;AAAA,cAClB,UAAU,CAACD,CAAO;AAAA,YAAA,CACnB;AAAA,UACH;AAGQ,UAAAZ,IAAAc,EAAO,UAAU,eAAeL,CAAY;AAAA,iBAC7Cd,GAAO;AACd,kBAAQ,MAAMA,CAAK;AAAA,QAAA;AAKf,cAAAI,GAENe,EAAO,YAAYd,CAAK;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa5B;AAAA;AAAA;AAAA,IAGA,gBAAgB;AAAA,MACd,mBAAmBzB;AAAA,MACnB,cAAcO;AAAA,IAChB;AAAA;AAAA,IAEA,uBAAuB;AAAA,MACrB,mBAAmB,CAACN,GAAsCuC,GAAO,EAAE,UAAAxB,EAAa,IAAA,CAC9E,MAAAf,EAAS,MAAM,MAAM,IAAI,CAAC,EAAE,MAAMwC,QAAW;AACrC,cAAAC,IAAeC,EAAwBF,EAAK,YAAY;AAI9D,YAAIG,IAFW,CAACH,EAAK,aAAa,CAACA,EAAK,UAEVI,EAAsBH,CAAY,IAAI1B;AACpE,SAAI,OAAO4B,KAAmB,YAAY,CAACA,WAAiC,CAAC;AAGvE,cAAAE,IAAY,cAAcL,EAAK,IAAI;AAElC,eAAA;AAAA,UACL,GAAGA;AAAA,UACH,cAAAC;AAAA,UACA,UAAUE;AAAA,UACV,WAAAE;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACH,cAAc,CAACtC,MACbA,KAAA,QAAAA,EAAQ,SACJ;AAAA,QACE,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,QAC3B,GAAGA,EAAO,IAAI,CAAC,EAAE,MAAAuC,EAAA,OAAY,EAAE,MAAM,QAAQ,IAAIA,IAAO;AAAA,UAE1D,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACrC;AAEJ,CAAC,GAEY,EAAE,mBAAAC,IAAmB,+BAAAC,OAAkC9B,GAQ9D+B,IAA2B/B,EAA4B,gBAAgB;AAAA,EAC3E,WAAW,CAACgC,OAAW;AAAA,IACrB,iBAAiBA,EAAM,MAAsD;AAAA,MAC3E,MAAM,QAAQ,EAAE,UAAAnC,IAAW,CAAG,EAAA,GAAG,EAAE,UAAAE,EAAA,GAAY;AACzC,YAAA;AAEF,gBAAMkC,IAAwD,CAAC;AAC/D,qBAAWf,KAAWrB,GAAU;AAG9B,kBAAMf,IAAW,MAAMiB;AAAA,cACrBmC,EAAe,UAAU,WAAW;AAAA,gBAClC,EAAE,aAAahB,EAAQ;AAAA,gBACvB,EAAE,cAAc,GAAK;AAAA,cAAA;AAAA,YAEzB;AAEI,gBAAApC,EAAS,WAAW;AAChB,oBAAA;AAEI,YAAAmD,EAAAf,CAAO,IAAIpC,EAAS;AAAA,UAAA;AAGlC,iBAAO,EAAE,MAAMmD,GAAa,MAAM,QAAW,OAAO,OAAU;AAAA,iBACvDhC,GAAY;AACnB,yBAAQ,MAAMA,CAAK,GACZ,EAAE,OAAAA,GAAO,MAAM,QAAW,MAAM,OAAU;AAAA,QAAA;AAAA,MAErD;AAAA,MACA,cAAc,CAACkC,GAAM7C,GAAQ,EAAE,UAAAO,EAC7B,MAAAA,EAAS,IAAI,CAACJ,OAAiB,EAAE,MAAM,WAAW,IAAIA,IAAc;AAAA,IACvE,CAAA;AAAA,EACH;AACF,CAAC,GAEY,EAAE,yBAAA2C,OAA4BL;"}
1
+ {"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [] }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n\n const response = await Promise.all(responses)\n\n const projectData = response[0] as ProjectModel | undefined\n const anatomyData = response[1] as Anatomy | undefined\n\n if (projectData) {\n projectInfo[projectName] = { ...projectData, anatomy: anatomyData }\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","projectInfo","responses","projectQueries","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"4gHASA,MAAMA,EAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBrBC,EAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BdC,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAa1BC,EAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAyBlBC,EAAcC,MAAS,iBAAuD,CAClF,UAAW,CACT,eAAgB,CACd,aAAc,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAC7C,EACA,QAAS,CACP,aAAeC,GACbA,EAAM,CAAC,CAAE,KAAM,OAAQ,GAAIA,EAAI,IAAK,CAAC,EAAI,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAC1E,EACA,gBAAiB,CACf,kBAAoBA,GAAaA,GAAA,YAAAA,EAAK,SACtC,aAAc,CAACC,EAAMC,EAAI,CAAE,SAAAC,CAAA,IAAe,CAAC,CAAE,KAAM,UAAW,GAAIA,CAAU,CAAA,CAAA,CAC9E,CAEJ,CAAC,EAEKC,EAAcC,MAAO,gBAAgB,CACzC,UAAYC,IAAW,CACrB,SAAUA,EAAM,MAAM,CACpB,MAAO,KAAO,CACZ,IAAK,WACL,OAAQ,OACR,KAAM,CACJ,MAAOX,EACP,UAAW,CAAA,CAAC,CACd,GAEF,kBAAmB,CAACK,EAAUO,EAAO,CAAE,SAAAC,KAAe,OACpD,GAAIR,GAAA,MAAAA,EAAK,OACC,cAAA,IAAIA,EAAI,MAAM,EAChB,IAAI,MAAMA,EAAI,OAAO,CAAC,EAAE,OAAO,EAGvC,OAAOS,EAAAT,GAAA,YAAAA,EAAK,OAAL,YAAAS,EAAW,MAAM,MAAM,IAAKC,IAAY,CAC7C,GAAGA,EAAE,KACL,KAAMA,EAAE,KAAK,OAASF,EACtB,UAAW,cAAcE,EAAE,KAAK,IAAI,UACpC,aAAcA,EAAE,KAAK,aAAe,KAAK,MAAMA,EAAE,KAAK,YAAY,EAAI,CAAC,EACvE,OAAQC,EAAA,gBAAgBD,EAAE,KAAK,SAAS,CAAA,GAE5C,EACA,aAAeE,GACbA,EACI,CAAC,GAAGA,EAAM,IAAKF,IAAY,CAAE,KAAM,OAAQ,GAAIA,EAAE,IAAK,EAAE,EAAG,CAAE,KAAM,OAAQ,GAAI,OAAQ,EACvF,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAAA,CACpC,EACD,cAAeJ,EAAM,MAAM,CACzB,MAAO,CAAC,CAAE,KAAAO,MAAY,CACpB,IAAK,WACL,OAAQ,OACR,KAAM,CACJ,MAAOnB,EACP,UAAW,CAAE,KAAAmB,CAAK,CAAA,CACpB,GAEF,kBAAoBb,GAClB,OAAA,OAAAS,EAAAT,GAAA,YAAAA,EAAK,OAAL,YAAAS,EAAW,MAAM,MAAM,IAAKC,GAAY,OAAA,OACtC,GAAGA,EAAE,KACL,UAAW,eAAcD,EAAAC,EAAE,OAAF,YAAAD,EAAQ,IAAI,UACrC,OAAQE,EAAA,gBAAgBD,EAAE,KAAK,SAAS,CAAA,KAE5C,aAAeV,GACbA,EACI,CAAC,GAAGA,EAAI,IAAKU,IAAY,CAAE,KAAM,OAAQ,GAAIA,EAAE,MAAO,EAAG,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,EACrF,CAAC,OAAQ,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAAA,CAC5C,EACD,iBAAkBJ,EAAM,MAAM,CAC5B,MAAO,CAAC,CAAE,MAAAQ,EAAO,YAAAC,MAAmB,CAClC,IAAK,WACL,OAAQ,OACR,KAAM,CACJ,MAAOD,EAAQlB,EAA0BC,EACzC,UAAW,CAAE,MAAAiB,EAAO,YAAAC,CAAY,CAAA,CAClC,GAEF,kBAAoBf,GAClB,OAAA,OAAAS,EAAAT,GAAA,YAAAA,EAAK,OAAL,YAAAS,EAAW,MAAM,MAAM,QAASO,GAAW,OACzC,GAAI,CAACA,EAAE,KAAM,MAAO,CAAC,EAErB,MAAMC,EAAID,EAAE,KAEL,MAAA,CACL,KAAMC,EAAE,KACR,UAAUR,EAAAQ,EAAE,SAAF,YAAAR,EAAU,SACpB,UAAW,cAAcQ,EAAE,IAAI,SACjC,CAAA,IAEJ,aAAejB,GACbA,EACI,CACE,GAAGA,EAAI,IAAKkB,IAAe,CAAE,KAAM,OAAQ,GAAIA,EAAK,IAAA,EAAO,EAC3D,CAAE,KAAM,OAAQ,GAAI,MAAO,GAE7B,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CACpC,CAAA,CAAA,GAEH,iBAAkB,EACpB,CAAC,EAqBKC,EAAWf,EAAY,iBAA+C,CAC1E,UAAW,CACT,6BAA8B,CAC5B,kBAAoBJ,GAClBA,EAAI,MAAM,MAAM,IAAK,IAAO,CAC1B,KAAM,EAAE,KAAK,KACb,SAAU,EAAE,KAAK,OAAO,SACxB,UAAW,EAAE,KAAK,SAAA,EAClB,EACJ,aAAeA,GACbA,EACI,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAU,EAAA,GAAGA,EAAI,IAAK,IAAO,CAAE,KAAM,OAAQ,GAAI,EAAE,IAAO,EAAA,CAAC,EAChF,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CACrC,EACA,oBAAqB,CACnB,kBAAoBA,GAClBA,EAAI,MAAM,MAAM,OAAQ,GAAM,EAAE,KAAK,QAAU,CAAC,EAAE,KAAK,OAAO,EAAE,OAClE,aAAc,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAC7C,EACA,gBAAiB,CACf,kBAAoBA,GAClBA,EAAI,MAAM,MAAM,IAAK,IAAO,CAC1B,KAAM,EAAE,KAAK,KACb,SAAU,EAAE,KAAK,OAAO,SACxB,UAAW,EAAE,KAAK,SAAA,EAClB,EACJ,aAAeA,GACbA,EACI,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAU,EAAA,GAAGA,EAAI,IAAK,IAAO,CAAE,KAAM,OAAQ,GAAI,EAAE,IAAO,EAAA,CAAC,EAChF,CAAC,CAAE,KAAM,OAAQ,GAAI,MAAQ,CAAA,CAAA,CACrC,CAEJ,CAAC,EAEY,CACX,qCAAAoB,EACA,yCAAAC,EACA,4BAAAC,EACA,wBAAAC,EACA,iBAAAC,EACA,sBAAAC,EACA,yBAAAC,CACF,EAAIP,EAES,CAAE,wBAAAQ,EAAyB,uBAAAC,EAAwB,gBAAAC,GAAoB/B"}