@ynput/ayon-frontend-shared 0.2.23 → 0.2.24

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 (784) hide show
  1. package/dist/DetailsPanel.cjs.js +22 -12
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +22 -12
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +17 -1
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +19 -3
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/SimpleTable.cjs.js +18 -0
  10. package/dist/SimpleTable.cjs.js.map +1 -0
  11. package/dist/SimpleTable.es.js +18 -0
  12. package/dist/SimpleTable.es.js.map +1 -0
  13. package/dist/_virtual/index.cjs10.js +4 -4
  14. package/dist/_virtual/index.cjs8.js +4 -4
  15. package/dist/_virtual/index.cjs9.js +4 -4
  16. package/dist/_virtual/index.es10.js +4 -4
  17. package/dist/_virtual/index.es8.js +4 -4
  18. package/dist/_virtual/index.es9.js +4 -4
  19. package/dist/api.cjs.js +15 -0
  20. package/dist/api.cjs.js.map +1 -1
  21. package/dist/api.es.js +87 -72
  22. package/dist/api.es.js.map +1 -1
  23. package/dist/components.cjs.js +6 -0
  24. package/dist/components.cjs.js.map +1 -1
  25. package/dist/components.es.js +6 -0
  26. package/dist/components.es.js.map +1 -1
  27. package/dist/hooks.cjs.js +2 -0
  28. package/dist/hooks.cjs.js.map +1 -1
  29. package/dist/hooks.es.js +2 -0
  30. package/dist/hooks.es.js.map +1 -1
  31. package/dist/index.cjs.js +22 -12
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.es.js +22 -12
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  36. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  37. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  39. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/shared/src/api/base/client.cjs.js +2 -1
  42. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  43. package/dist/shared/src/api/base/client.es.js +2 -1
  44. package/dist/shared/src/api/base/client.es.js.map +1 -1
  45. package/dist/shared/src/api/generated/graphql.cjs.js +9 -10
  46. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  47. package/dist/shared/src/api/generated/graphql.es.js +9 -10
  48. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +447 -0
  50. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -0
  51. package/dist/shared/src/api/generated/graphqlLinks.es.js +447 -0
  52. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -0
  53. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  54. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  56. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  58. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  60. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  62. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  64. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  66. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  68. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  70. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  72. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  76. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  78. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  80. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -0
  82. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/cloud/cloud.es.js +1 -0
  84. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +4 -1
  86. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntity.es.js +4 -1
  88. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +2 -0
  90. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +2 -0
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +4 -0
  94. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -0
  96. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
  98. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
  100. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +3 -0
  102. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.es.js +3 -0
  104. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  108. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  112. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  116. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
  120. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +142 -0
  122. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +142 -0
  124. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/links/getLinks.cjs.js +202 -0
  126. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -0
  127. package/dist/shared/src/api/queries/links/getLinks.es.js +202 -0
  128. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -0
  129. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +304 -0
  130. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -0
  131. package/dist/shared/src/api/queries/links/updateLinks.es.js +304 -0
  132. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -0
  133. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js +8 -0
  134. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js.map +1 -0
  135. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js +8 -0
  136. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js.map +1 -0
  137. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +5 -4
  138. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/overview/getOverview.es.js +5 -4
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +70 -15
  142. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -15
  144. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  148. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
  152. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  156. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/review/getReview.cjs.js +2 -0
  158. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/review/getReview.es.js +2 -0
  160. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  164. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/share/share.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/share/share.es.js +1 -0
  168. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  172. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +2 -0
  174. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +2 -0
  176. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -0
  178. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/users/getUsers.es.js +4 -0
  180. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  184. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -0
  186. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/versions/updateVersions.es.js +1 -0
  188. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -0
  190. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/views/getViews.es.js +1 -0
  192. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  194. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  196. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  197. package/dist/shared/src/components/Chips/Chips.cjs.js +149 -0
  198. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -0
  199. package/dist/shared/src/components/Chips/Chips.es.js +149 -0
  200. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -0
  201. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
  202. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  203. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
  204. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  205. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +5 -0
  206. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  207. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +5 -0
  208. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  209. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -0
  210. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  211. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -0
  212. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  213. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +37 -27
  214. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  215. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +37 -27
  216. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  217. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
  218. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  219. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
  220. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  221. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -2
  222. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -2
  224. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  225. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +331 -0
  226. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -0
  227. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +332 -0
  228. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -0
  229. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +125 -0
  230. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -0
  231. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +125 -0
  232. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -0
  233. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +92 -0
  234. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -0
  235. package/dist/shared/src/components/LinksManager/LinksManager.es.js +92 -0
  236. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -0
  237. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +250 -0
  238. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -0
  239. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +250 -0
  240. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -0
  241. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +229 -0
  242. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +1 -0
  243. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js +229 -0
  244. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +1 -0
  245. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js +12 -0
  246. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js.map +1 -0
  247. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js +13 -0
  248. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js.map +1 -0
  249. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js +103 -0
  250. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js.map +1 -0
  251. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js +104 -0
  252. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js.map +1 -0
  253. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +278 -0
  254. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -0
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +279 -0
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -0
  257. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js +70 -0
  258. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js.map +1 -0
  259. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js +70 -0
  260. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js.map +1 -0
  261. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +22 -12
  262. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +22 -12
  264. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +104 -14
  266. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +104 -14
  268. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +22 -12
  270. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +22 -12
  272. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
  274. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
  276. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -13
  278. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -13
  280. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +22 -12
  282. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +22 -12
  284. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  285. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +22 -12
  286. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +22 -12
  288. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
  290. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
  292. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  293. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +5 -0
  294. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +5 -0
  296. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  297. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +22 -12
  298. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  299. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
  300. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  301. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +22 -12
  302. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  303. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +22 -12
  304. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  305. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +7 -2
  306. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  307. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -2
  308. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  309. package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
  310. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  311. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
  312. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  313. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +22 -12
  314. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +22 -12
  316. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  317. package/dist/shared/src/containers/Actions/Actions.cjs.js +4 -0
  318. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Actions/Actions.es.js +4 -0
  320. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +22 -12
  322. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +22 -12
  324. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +22 -12
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +22 -12
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -12
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +22 -12
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +22 -12
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +22 -12
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +18 -8
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -8
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -0
  346. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -0
  348. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
  350. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
  352. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +357 -0
  354. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -0
  355. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +357 -0
  356. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -0
  357. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +262 -0
  358. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -0
  359. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +263 -0
  360. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -0
  361. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +273 -0
  362. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -0
  363. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +274 -0
  364. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -0
  365. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +250 -0
  366. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -0
  367. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +251 -0
  368. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -0
  369. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +35 -0
  370. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -0
  371. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +36 -0
  372. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -0
  373. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +235 -0
  374. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -0
  375. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +235 -0
  376. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -0
  377. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +49 -0
  378. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -0
  379. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +49 -0
  380. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -0
  381. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js +12 -0
  382. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js.map +1 -0
  383. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js +12 -0
  384. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js.map +1 -0
  385. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js +26 -0
  386. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -0
  387. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js +26 -0
  388. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -0
  389. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -0
  390. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -0
  392. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -0
  394. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -0
  396. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  397. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
  398. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
  400. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
  402. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
  404. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +5 -4
  406. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -4
  408. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
  410. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
  412. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -0
  414. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -0
  416. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -0
  418. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -0
  420. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +36 -6
  422. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +36 -6
  424. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +25 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +25 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +263 -9
  430. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +264 -10
  432. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +21 -11
  434. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +21 -11
  436. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +4 -0
  438. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +4 -0
  440. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +1 -229
  442. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +2 -230
  444. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +432 -0
  446. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -0
  447. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +432 -0
  448. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -0
  449. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +120 -47
  450. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +121 -48
  452. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +33 -0
  454. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -0
  455. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +33 -0
  456. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -0
  457. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
  458. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +13 -0
  462. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +14 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +104 -5
  466. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +104 -5
  468. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +13 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +13 -0
  474. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +127 -4
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +127 -4
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +134 -3
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +134 -3
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +199 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +199 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +111 -12
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +111 -12
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +2 -0
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +2 -0
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +65 -9
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +65 -9
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -0
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +1 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +113 -14
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +113 -14
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +4 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +4 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +199 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +199 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +201 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -0
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +202 -0
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -0
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +103 -4
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +103 -4
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +13 -7
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +13 -7
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +126 -15
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +126 -15
  546. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +1 -0
  550. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +49 -0
  552. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +49 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +2 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +2 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +142 -0
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +143 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +14 -7
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +14 -7
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +0 -7
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +0 -7
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +299 -0
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -0
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +299 -0
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -0
  575. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +22 -12
  576. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +22 -12
  578. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  579. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +528 -0
  580. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -0
  581. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +529 -0
  582. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -0
  583. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +160 -0
  584. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -0
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +160 -0
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -0
  587. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +74 -0
  588. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -0
  589. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +74 -0
  590. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -0
  591. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js +19 -0
  592. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js.map +1 -0
  593. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js +19 -0
  594. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js.map +1 -0
  595. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -0
  596. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +1 -0
  598. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  599. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +18 -2
  600. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +18 -2
  602. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  603. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -1
  605. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +6 -0
  606. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -0
  608. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  609. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -0
  610. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +1 -0
  612. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  613. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -0
  614. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +1 -0
  616. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  617. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +10 -3
  618. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -3
  620. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  621. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +4 -0
  622. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -0
  624. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  625. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +4 -0
  626. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -0
  628. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  629. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +2 -2
  630. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +1 -1
  632. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +4 -0
  633. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  634. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -0
  635. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  636. package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
  637. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  638. package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
  639. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  640. package/dist/shared/src/context/DetailsPanelContext.cjs.js +4 -0
  641. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  642. package/dist/shared/src/context/DetailsPanelContext.es.js +4 -0
  643. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  644. package/dist/shared/src/context/PowerpackContext.cjs.js +4 -0
  645. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  646. package/dist/shared/src/context/PowerpackContext.es.js +4 -0
  647. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  648. package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
  649. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  650. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
  651. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  652. package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
  653. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  654. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
  655. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  656. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
  657. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  658. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
  659. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  660. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +147 -0
  661. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -0
  662. package/dist/shared/src/hooks/useHierarchyTable.es.js +147 -0
  663. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -0
  664. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +12 -5
  665. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  666. package/dist/shared/src/hooks/useScopedStatuses.es.js +12 -5
  667. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  668. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
  669. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  670. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
  671. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  672. package/dist/shared/src/{utils/extractVersionFromFilename.es.js.map → util/extractVersionFromFilename.cjs.js.map} +1 -1
  673. package/dist/shared/src/util/extractVersionFromFilename.es.js.map +1 -0
  674. package/dist/shared/src/util/getEntityId.cjs.js +11 -0
  675. package/dist/shared/src/util/getEntityId.cjs.js.map +1 -0
  676. package/dist/shared/src/util/getEntityId.es.js +11 -0
  677. package/dist/shared/src/util/getEntityId.es.js.map +1 -0
  678. package/dist/shared/src/{utils → util}/versionUploadHelpers.cjs.js +3 -2
  679. package/dist/shared/src/{utils/versionUploadHelpers.es.js.map → util/versionUploadHelpers.cjs.js.map} +1 -1
  680. package/dist/shared/src/{utils → util}/versionUploadHelpers.es.js +3 -2
  681. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -0
  682. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js +16 -0
  683. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js.map +1 -0
  684. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js +17 -0
  685. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js.map +1 -0
  686. package/dist/types/SimpleTable.d.ts +6 -0
  687. package/dist/types/api/generated/graphql.d.ts +116 -33
  688. package/dist/types/api/generated/graphqlLinks.d.ts +2269 -0
  689. package/dist/types/api/generated/index.d.ts +2 -0
  690. package/dist/types/api/queries/entities/getEntity.d.ts +80 -79
  691. package/dist/types/api/queries/entityLists/types.d.ts +5 -5
  692. package/dist/types/api/queries/index.d.ts +1 -0
  693. package/dist/types/api/queries/links/getEntityLinks.d.ts +182 -0
  694. package/dist/types/api/queries/links/getLinks.d.ts +862 -0
  695. package/dist/types/api/queries/links/index.d.ts +3 -0
  696. package/dist/types/api/queries/links/updateLinks.d.ts +321 -0
  697. package/dist/types/api/queries/links/utils/formatEntityLinks.d.ts +1 -0
  698. package/dist/types/api/queries/overview/index.d.ts +1 -0
  699. package/dist/types/api/queries/overview/updateOverview.d.ts +9 -0
  700. package/dist/types/components/Chips/Chips.d.ts +14 -0
  701. package/dist/types/components/Chips/index.d.ts +1 -0
  702. package/dist/types/components/LinksManager/AddNewLinks.d.ts +11 -0
  703. package/dist/types/components/LinksManager/LinkManagerItem.d.ts +9 -0
  704. package/dist/types/components/LinksManager/LinksManager.d.ts +24 -0
  705. package/dist/types/components/LinksManager/LinksManager.styled.d.ts +17 -0
  706. package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +9 -0
  707. package/dist/types/components/LinksManager/SearchingLoadingItems.d.ts +5 -0
  708. package/dist/types/components/LinksManager/hooks/useKeyboardNavigation.d.ts +24 -0
  709. package/dist/types/components/LinksManager/hooks/useUpdateLinks.d.ts +24 -0
  710. package/dist/types/components/LinksManager/index.d.ts +2 -0
  711. package/dist/types/components/LinksManager/utils/formatEntityPath.d.ts +1 -0
  712. package/dist/types/components/LinksManager/utils/linkUpdates.d.ts +47 -0
  713. package/dist/types/components/index.d.ts +2 -0
  714. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +15 -0
  715. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +17 -0
  716. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableHeader.d.ts +25 -0
  717. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableSearch.d.ts +8 -0
  718. package/dist/types/containers/EntityPickerDialog/components/index.d.ts +1 -0
  719. package/dist/types/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.d.ts +9 -0
  720. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +28 -0
  721. package/dist/types/containers/EntityPickerDialog/index.d.ts +1 -0
  722. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +8 -0
  723. package/dist/types/containers/EntityPickerDialog/util/entityHierarchies.d.ts +3 -0
  724. package/dist/types/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.d.ts +2 -0
  725. package/dist/types/containers/EntityPickerDialog/util/index.d.ts +3 -0
  726. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -2
  727. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  728. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +6 -1
  729. package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +1 -4
  730. package/dist/types/containers/ProjectTreeTable/context/CellEditingProvider.d.ts +4 -0
  731. package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +16 -0
  732. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
  733. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +2 -0
  734. package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +1 -1
  735. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +34 -0
  736. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  737. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -34
  738. package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -0
  739. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  740. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +17 -0
  741. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +7 -1
  742. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +23 -0
  743. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  744. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.d.ts +7 -0
  745. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTableRowTemplate.d.ts +1 -0
  746. package/dist/types/{SimpleTable → containers/SimpleTable}/index.d.ts +1 -0
  747. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  748. package/dist/types/hooks/index.d.ts +1 -0
  749. package/dist/types/hooks/useHierarchyTable.d.ts +13 -0
  750. package/dist/types/util/getEntityId.d.ts +2 -0
  751. package/dist/types/util/index.d.ts +3 -0
  752. package/dist/util.cjs.js +16 -0
  753. package/dist/util.cjs.js.map +1 -1
  754. package/dist/util.es.js +17 -1
  755. package/dist/util.es.js.map +1 -1
  756. package/package.json +8 -2
  757. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +0 -7
  758. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +0 -1
  759. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +0 -8
  760. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +0 -1
  761. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +0 -14
  762. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +0 -1
  763. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +0 -15
  764. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +0 -1
  765. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +0 -11
  766. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +0 -1
  767. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +0 -11
  768. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +0 -1
  769. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +0 -57
  770. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +0 -1
  771. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +0 -58
  772. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +0 -1
  773. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +0 -16
  774. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +0 -1
  775. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +0 -17
  776. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +0 -1
  777. package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +0 -1
  778. package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +0 -1
  779. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.cjs.js +0 -0
  780. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.es.js +0 -0
  781. /package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.styled.d.ts +0 -0
  782. /package/dist/types/{SimpleTable → containers/SimpleTable}/context/SimpleTableContext.d.ts +0 -0
  783. /package/dist/types/{utils → util}/extractVersionFromFilename.d.ts +0 -0
  784. /package/dist/types/{utils → util}/versionUploadHelpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"getReview.es.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', handlePubSub)\n } catch {\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 },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', handlePubSub)\n } catch {\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 }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["productId","reviewablesApi","result","addonsQueries"],"mappings":"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"}
1
+ {"version":3,"file":"getReview.es.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', handlePubSub)\n } catch {\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 },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', handlePubSub)\n } catch {\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 }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["productId","reviewablesApi","result","addonsQueries"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../base/client.cjs.js");
4
4
  require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  const activityFeed = require("../../generated/activityFeed.cjs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"updateReview.cjs.js","sources":["../../../../../../src/api/queries/review/updateReview.ts"],"sourcesContent":["import {\n activityFeedApi,\n DeleteProjectActivityApiResponse,\n DeleteProjectActivityApiArg,\n} from '@shared/api/generated'\nimport getReviewApi from './getReview'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { ReviewableResponse } from './types'\n\nconst injectedEndpoints = getReviewApi.injectEndpoints({\n endpoints: (build) => ({\n deleteReviewable: build.mutation<DeleteProjectActivityApiResponse, DeleteProjectActivityApiArg>(\n {\n queryFn: async (args, { dispatch }) => {\n try {\n // delete reviewable activity\n const res = await dispatch(\n activityFeedApi.endpoints.deleteProjectActivity.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n } catch (e: any) {\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n ),\n }),\n})\n\nconst enhancedEndpoints = injectedEndpoints.enhanceEndpoints({\n endpoints: {\n // reviewables list is updated optimistically\n sortVersionReviewables: {\n async onQueryStarted(\n { projectName, versionId, sortReviewablesRequest },\n { dispatch, queryFulfilled },\n ) {\n const patchResult = dispatch(\n getReviewApi.util.updateQueryData(\n 'getReviewablesForVersion',\n { projectName, versionId },\n (draft) => {\n const sortingOrder = sortReviewablesRequest.sort\n // Create a new array to store the reordered reviewables\n const newReviewables: ReviewableResponse[] = []\n\n // Create a Set to track activityIds that are in the sortingOrder\n const orderedIds = new Set(sortingOrder)\n // Loop through each id in the sortingOrder array\n sortingOrder?.forEach((id) => {\n // Filter the reviewables that match the current activityId and push them to newReviewables\n draft.reviewables\n ?.filter((r: ReviewableResponse) => r.activityId === id)\n .forEach((r: ReviewableResponse) => newReviewables.push(r))\n })\n\n // Add remaining reviewables that were not in the sortingOrder to the end\n draft.reviewables?.forEach((r: ReviewableResponse) => {\n if (!orderedIds.has(r.activityId)) {\n newReviewables.push(r)\n }\n })\n\n // update draft\n draft.reviewables = newReviewables\n },\n ),\n )\n try {\n await queryFulfilled\n } catch {\n patchResult.undo()\n }\n },\n // viewer list is updated through invalidation\n invalidatesTags: (_result, _error, args) => [{ type: 'viewer', id: args.versionId }],\n },\n updateReviewable: {\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n },\n})\n\nexport const {\n useDeleteReviewableMutation,\n useSortVersionReviewablesMutation,\n useUpdateReviewableMutation,\n} = enhancedEndpoints\nexport { enhancedEndpoints as reviewablesQueries }\n"],"names":["getReviewApi","activityFeedApi","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,oBAAoBA,kBAAa,gBAAgB;AAAA,EACrD,WAAW,CAAC,WAAW;AAAA,IACrB,kBAAkB,MAAM;AAAA,MACtB;AAAA,QACE,SAAS,OAAO,MAAM,EAAE,eAAe;AACjC,cAAA;AAEF,kBAAM,MAAM,MAAM;AAAA,cAChBC,aAAAA,IAAgB,UAAU,sBAAsB,SAAS,IAAI;AAAA,YAC/D;AAEA,gBAAI,IAAI,OAAO;AACN,qBAAA,EAAE,OAAO,IAAI,MAA6B;AAAA,YAAA;AAG5C,mBAAA,EAAE,MAAM,IAAI,KAAK;AAAA,mBACjB,GAAQ;AACf,kBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,mBAAO,EAAE,MAAM;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,MAAA;AAAA,IACtF;AAAA,EAEJ;AACF,CAAC;AAEK,MAAA,oBAAoB,kBAAkB,iBAAiB;AAAA,EAC3D,WAAW;AAAA;AAAA,IAET,wBAAwB;AAAA,MACtB,MAAM,eACJ,EAAE,aAAa,WAAW,0BAC1B,EAAE,UAAU,kBACZ;AACA,cAAM,cAAc;AAAA,UAClBD,kBAAa,KAAK;AAAA,YAChB;AAAA,YACA,EAAE,aAAa,UAAU;AAAA,YACzB,CAAC,UAAU;;AACT,oBAAM,eAAe,uBAAuB;AAE5C,oBAAM,iBAAuC,CAAC;AAGxC,oBAAA,aAAa,IAAI,IAAI,YAAY;AAEzB,2DAAA,QAAQ,CAAC,OAAO;;AAE5B,iBAAAE,MAAA,MAAM,gBAAN,gBAAAA,IACI,OAAO,CAAC,MAA0B,EAAE,eAAe,IACpD,QAAQ,CAAC,MAA0B,eAAe,KAAK,CAAC;AAAA,cAAC;AAIxD,0BAAA,gBAAA,mBAAa,QAAQ,CAAC,MAA0B;AACpD,oBAAI,CAAC,WAAW,IAAI,EAAE,UAAU,GAAG;AACjC,iCAAe,KAAK,CAAC;AAAA,gBAAA;AAAA,cACvB;AAIF,oBAAM,cAAc;AAAA,YAAA;AAAA,UACtB;AAAA,QAEJ;AACI,YAAA;AACI,gBAAA;AAAA,QAAA,QACA;AACN,sBAAY,KAAK;AAAA,QAAA;AAAA,MAErB;AAAA;AAAA,MAEA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,UAAW,CAAA;AAAA,IACrF;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,IAAA;AAAA,EACtF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;"}
1
+ {"version":3,"file":"updateReview.cjs.js","sources":["../../../../../../src/api/queries/review/updateReview.ts"],"sourcesContent":["import {\n activityFeedApi,\n DeleteProjectActivityApiResponse,\n DeleteProjectActivityApiArg,\n} from '@shared/api/generated'\nimport getReviewApi from './getReview'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { ReviewableResponse } from './types'\n\nconst injectedEndpoints = getReviewApi.injectEndpoints({\n endpoints: (build) => ({\n deleteReviewable: build.mutation<DeleteProjectActivityApiResponse, DeleteProjectActivityApiArg>(\n {\n queryFn: async (args, { dispatch }) => {\n try {\n // delete reviewable activity\n const res = await dispatch(\n activityFeedApi.endpoints.deleteProjectActivity.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n } catch (e: any) {\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n ),\n }),\n})\n\nconst enhancedEndpoints = injectedEndpoints.enhanceEndpoints({\n endpoints: {\n // reviewables list is updated optimistically\n sortVersionReviewables: {\n async onQueryStarted(\n { projectName, versionId, sortReviewablesRequest },\n { dispatch, queryFulfilled },\n ) {\n const patchResult = dispatch(\n getReviewApi.util.updateQueryData(\n 'getReviewablesForVersion',\n { projectName, versionId },\n (draft) => {\n const sortingOrder = sortReviewablesRequest.sort\n // Create a new array to store the reordered reviewables\n const newReviewables: ReviewableResponse[] = []\n\n // Create a Set to track activityIds that are in the sortingOrder\n const orderedIds = new Set(sortingOrder)\n // Loop through each id in the sortingOrder array\n sortingOrder?.forEach((id) => {\n // Filter the reviewables that match the current activityId and push them to newReviewables\n draft.reviewables\n ?.filter((r: ReviewableResponse) => r.activityId === id)\n .forEach((r: ReviewableResponse) => newReviewables.push(r))\n })\n\n // Add remaining reviewables that were not in the sortingOrder to the end\n draft.reviewables?.forEach((r: ReviewableResponse) => {\n if (!orderedIds.has(r.activityId)) {\n newReviewables.push(r)\n }\n })\n\n // update draft\n draft.reviewables = newReviewables\n },\n ),\n )\n try {\n await queryFulfilled\n } catch {\n patchResult.undo()\n }\n },\n // viewer list is updated through invalidation\n invalidatesTags: (_result, _error, args) => [{ type: 'viewer', id: args.versionId }],\n },\n updateReviewable: {\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n },\n})\n\nexport const {\n useDeleteReviewableMutation,\n useSortVersionReviewablesMutation,\n useUpdateReviewableMutation,\n} = enhancedEndpoints\nexport { enhancedEndpoints as reviewablesQueries }\n"],"names":["getReviewApi","activityFeedApi","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,oBAAoBA,kBAAa,gBAAgB;AAAA,EACrD,WAAW,CAAC,WAAW;AAAA,IACrB,kBAAkB,MAAM;AAAA,MACtB;AAAA,QACE,SAAS,OAAO,MAAM,EAAE,eAAe;AACjC,cAAA;AAEF,kBAAM,MAAM,MAAM;AAAA,cAChBC,aAAAA,IAAgB,UAAU,sBAAsB,SAAS,IAAI;AAAA,YAC/D;AAEA,gBAAI,IAAI,OAAO;AACN,qBAAA,EAAE,OAAO,IAAI,MAA6B;AAAA,YAAA;AAG5C,mBAAA,EAAE,MAAM,IAAI,KAAK;AAAA,mBACjB,GAAQ;AACf,kBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,mBAAO,EAAE,MAAM;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,MAAA;AAAA,IACtF;AAAA,EAEJ;AACF,CAAC;AAEK,MAAA,oBAAoB,kBAAkB,iBAAiB;AAAA,EAC3D,WAAW;AAAA;AAAA,IAET,wBAAwB;AAAA,MACtB,MAAM,eACJ,EAAE,aAAa,WAAW,0BAC1B,EAAE,UAAU,kBACZ;AACA,cAAM,cAAc;AAAA,UAClBD,kBAAa,KAAK;AAAA,YAChB;AAAA,YACA,EAAE,aAAa,UAAU;AAAA,YACzB,CAAC,UAAU;;AACT,oBAAM,eAAe,uBAAuB;AAE5C,oBAAM,iBAAuC,CAAC;AAGxC,oBAAA,aAAa,IAAI,IAAI,YAAY;AAEzB,2DAAA,QAAQ,CAAC,OAAO;;AAE5B,iBAAAE,MAAA,MAAM,gBAAN,gBAAAA,IACI,OAAO,CAAC,MAA0B,EAAE,eAAe,IACpD,QAAQ,CAAC,MAA0B,eAAe,KAAK,CAAC;AAAA,cAAC;AAIxD,0BAAA,gBAAA,mBAAa,QAAQ,CAAC,MAA0B;AACpD,oBAAI,CAAC,WAAW,IAAI,EAAE,UAAU,GAAG;AACjC,iCAAe,KAAK,CAAC;AAAA,gBAAA;AAAA,cACvB;AAIF,oBAAM,cAAc;AAAA,YAAA;AAAA,UACtB;AAAA,QAEJ;AACI,YAAA;AACI,gBAAA;AAAA,QAAA,QACA;AACN,sBAAY,KAAK;AAAA,QAAA;AAAA,MAErB;AAAA;AAAA,MAEA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,UAAW,CAAA;AAAA,IACrF;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,IAAA;AAAA,EACtF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import "../../base/client.es.js";
2
2
  import "../../generated/graphql.es.js";
3
+ import "../../generated/graphqlLinks.es.js";
3
4
  import "../../generated/access.es.js";
4
5
  import "../../generated/actions.es.js";
5
6
  import { api as injectedRtkApi } from "../../generated/activityFeed.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"updateReview.es.js","sources":["../../../../../../src/api/queries/review/updateReview.ts"],"sourcesContent":["import {\n activityFeedApi,\n DeleteProjectActivityApiResponse,\n DeleteProjectActivityApiArg,\n} from '@shared/api/generated'\nimport getReviewApi from './getReview'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { ReviewableResponse } from './types'\n\nconst injectedEndpoints = getReviewApi.injectEndpoints({\n endpoints: (build) => ({\n deleteReviewable: build.mutation<DeleteProjectActivityApiResponse, DeleteProjectActivityApiArg>(\n {\n queryFn: async (args, { dispatch }) => {\n try {\n // delete reviewable activity\n const res = await dispatch(\n activityFeedApi.endpoints.deleteProjectActivity.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n } catch (e: any) {\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n ),\n }),\n})\n\nconst enhancedEndpoints = injectedEndpoints.enhanceEndpoints({\n endpoints: {\n // reviewables list is updated optimistically\n sortVersionReviewables: {\n async onQueryStarted(\n { projectName, versionId, sortReviewablesRequest },\n { dispatch, queryFulfilled },\n ) {\n const patchResult = dispatch(\n getReviewApi.util.updateQueryData(\n 'getReviewablesForVersion',\n { projectName, versionId },\n (draft) => {\n const sortingOrder = sortReviewablesRequest.sort\n // Create a new array to store the reordered reviewables\n const newReviewables: ReviewableResponse[] = []\n\n // Create a Set to track activityIds that are in the sortingOrder\n const orderedIds = new Set(sortingOrder)\n // Loop through each id in the sortingOrder array\n sortingOrder?.forEach((id) => {\n // Filter the reviewables that match the current activityId and push them to newReviewables\n draft.reviewables\n ?.filter((r: ReviewableResponse) => r.activityId === id)\n .forEach((r: ReviewableResponse) => newReviewables.push(r))\n })\n\n // Add remaining reviewables that were not in the sortingOrder to the end\n draft.reviewables?.forEach((r: ReviewableResponse) => {\n if (!orderedIds.has(r.activityId)) {\n newReviewables.push(r)\n }\n })\n\n // update draft\n draft.reviewables = newReviewables\n },\n ),\n )\n try {\n await queryFulfilled\n } catch {\n patchResult.undo()\n }\n },\n // viewer list is updated through invalidation\n invalidatesTags: (_result, _error, args) => [{ type: 'viewer', id: args.versionId }],\n },\n updateReviewable: {\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n },\n})\n\nexport const {\n useDeleteReviewableMutation,\n useSortVersionReviewablesMutation,\n useUpdateReviewableMutation,\n} = enhancedEndpoints\nexport { enhancedEndpoints as reviewablesQueries }\n"],"names":["activityFeedApi","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,oBAAoB,aAAa,gBAAgB;AAAA,EACrD,WAAW,CAAC,WAAW;AAAA,IACrB,kBAAkB,MAAM;AAAA,MACtB;AAAA,QACE,SAAS,OAAO,MAAM,EAAE,eAAe;AACjC,cAAA;AAEF,kBAAM,MAAM,MAAM;AAAA,cAChBA,eAAgB,UAAU,sBAAsB,SAAS,IAAI;AAAA,YAC/D;AAEA,gBAAI,IAAI,OAAO;AACN,qBAAA,EAAE,OAAO,IAAI,MAA6B;AAAA,YAAA;AAG5C,mBAAA,EAAE,MAAM,IAAI,KAAK;AAAA,mBACjB,GAAQ;AACf,kBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,mBAAO,EAAE,MAAM;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,MAAA;AAAA,IACtF;AAAA,EAEJ;AACF,CAAC;AAEK,MAAA,oBAAoB,kBAAkB,iBAAiB;AAAA,EAC3D,WAAW;AAAA;AAAA,IAET,wBAAwB;AAAA,MACtB,MAAM,eACJ,EAAE,aAAa,WAAW,0BAC1B,EAAE,UAAU,kBACZ;AACA,cAAM,cAAc;AAAA,UAClB,aAAa,KAAK;AAAA,YAChB;AAAA,YACA,EAAE,aAAa,UAAU;AAAA,YACzB,CAAC,UAAU;;AACT,oBAAM,eAAe,uBAAuB;AAE5C,oBAAM,iBAAuC,CAAC;AAGxC,oBAAA,aAAa,IAAI,IAAI,YAAY;AAEzB,2DAAA,QAAQ,CAAC,OAAO;;AAE5B,iBAAAC,MAAA,MAAM,gBAAN,gBAAAA,IACI,OAAO,CAAC,MAA0B,EAAE,eAAe,IACpD,QAAQ,CAAC,MAA0B,eAAe,KAAK,CAAC;AAAA,cAAC;AAIxD,0BAAA,gBAAA,mBAAa,QAAQ,CAAC,MAA0B;AACpD,oBAAI,CAAC,WAAW,IAAI,EAAE,UAAU,GAAG;AACjC,iCAAe,KAAK,CAAC;AAAA,gBAAA;AAAA,cACvB;AAIF,oBAAM,cAAc;AAAA,YAAA;AAAA,UACtB;AAAA,QAEJ;AACI,YAAA;AACI,gBAAA;AAAA,QAAA,QACA;AACN,sBAAY,KAAK;AAAA,QAAA;AAAA,MAErB;AAAA;AAAA,MAEA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,UAAW,CAAA;AAAA,IACrF;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,IAAA;AAAA,EACtF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
1
+ {"version":3,"file":"updateReview.es.js","sources":["../../../../../../src/api/queries/review/updateReview.ts"],"sourcesContent":["import {\n activityFeedApi,\n DeleteProjectActivityApiResponse,\n DeleteProjectActivityApiArg,\n} from '@shared/api/generated'\nimport getReviewApi from './getReview'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { ReviewableResponse } from './types'\n\nconst injectedEndpoints = getReviewApi.injectEndpoints({\n endpoints: (build) => ({\n deleteReviewable: build.mutation<DeleteProjectActivityApiResponse, DeleteProjectActivityApiArg>(\n {\n queryFn: async (args, { dispatch }) => {\n try {\n // delete reviewable activity\n const res = await dispatch(\n activityFeedApi.endpoints.deleteProjectActivity.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n } catch (e: any) {\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n ),\n }),\n})\n\nconst enhancedEndpoints = injectedEndpoints.enhanceEndpoints({\n endpoints: {\n // reviewables list is updated optimistically\n sortVersionReviewables: {\n async onQueryStarted(\n { projectName, versionId, sortReviewablesRequest },\n { dispatch, queryFulfilled },\n ) {\n const patchResult = dispatch(\n getReviewApi.util.updateQueryData(\n 'getReviewablesForVersion',\n { projectName, versionId },\n (draft) => {\n const sortingOrder = sortReviewablesRequest.sort\n // Create a new array to store the reordered reviewables\n const newReviewables: ReviewableResponse[] = []\n\n // Create a Set to track activityIds that are in the sortingOrder\n const orderedIds = new Set(sortingOrder)\n // Loop through each id in the sortingOrder array\n sortingOrder?.forEach((id) => {\n // Filter the reviewables that match the current activityId and push them to newReviewables\n draft.reviewables\n ?.filter((r: ReviewableResponse) => r.activityId === id)\n .forEach((r: ReviewableResponse) => newReviewables.push(r))\n })\n\n // Add remaining reviewables that were not in the sortingOrder to the end\n draft.reviewables?.forEach((r: ReviewableResponse) => {\n if (!orderedIds.has(r.activityId)) {\n newReviewables.push(r)\n }\n })\n\n // update draft\n draft.reviewables = newReviewables\n },\n ),\n )\n try {\n await queryFulfilled\n } catch {\n patchResult.undo()\n }\n },\n // viewer list is updated through invalidation\n invalidatesTags: (_result, _error, args) => [{ type: 'viewer', id: args.versionId }],\n },\n updateReviewable: {\n invalidatesTags: (_result, _error, args) => [{ type: 'review', id: args.activityId }],\n },\n },\n})\n\nexport const {\n useDeleteReviewableMutation,\n useSortVersionReviewablesMutation,\n useUpdateReviewableMutation,\n} = enhancedEndpoints\nexport { enhancedEndpoints as reviewablesQueries }\n"],"names":["activityFeedApi","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,oBAAoB,aAAa,gBAAgB;AAAA,EACrD,WAAW,CAAC,WAAW;AAAA,IACrB,kBAAkB,MAAM;AAAA,MACtB;AAAA,QACE,SAAS,OAAO,MAAM,EAAE,eAAe;AACjC,cAAA;AAEF,kBAAM,MAAM,MAAM;AAAA,cAChBA,eAAgB,UAAU,sBAAsB,SAAS,IAAI;AAAA,YAC/D;AAEA,gBAAI,IAAI,OAAO;AACN,qBAAA,EAAE,OAAO,IAAI,MAA6B;AAAA,YAAA;AAG5C,mBAAA,EAAE,MAAM,IAAI,KAAK;AAAA,mBACjB,GAAQ;AACf,kBAAM,QAAQ,EAAE,QAAQ,eAAe,OAAO,EAAE,QAAQ;AACxD,mBAAO,EAAE,MAAM;AAAA,UAAA;AAAA,QAEnB;AAAA,QACA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,MAAA;AAAA,IACtF;AAAA,EAEJ;AACF,CAAC;AAEK,MAAA,oBAAoB,kBAAkB,iBAAiB;AAAA,EAC3D,WAAW;AAAA;AAAA,IAET,wBAAwB;AAAA,MACtB,MAAM,eACJ,EAAE,aAAa,WAAW,0BAC1B,EAAE,UAAU,kBACZ;AACA,cAAM,cAAc;AAAA,UAClB,aAAa,KAAK;AAAA,YAChB;AAAA,YACA,EAAE,aAAa,UAAU;AAAA,YACzB,CAAC,UAAU;;AACT,oBAAM,eAAe,uBAAuB;AAE5C,oBAAM,iBAAuC,CAAC;AAGxC,oBAAA,aAAa,IAAI,IAAI,YAAY;AAEzB,2DAAA,QAAQ,CAAC,OAAO;;AAE5B,iBAAAC,MAAA,MAAM,gBAAN,gBAAAA,IACI,OAAO,CAAC,MAA0B,EAAE,eAAe,IACpD,QAAQ,CAAC,MAA0B,eAAe,KAAK,CAAC;AAAA,cAAC;AAIxD,0BAAA,gBAAA,mBAAa,QAAQ,CAAC,MAA0B;AACpD,oBAAI,CAAC,WAAW,IAAI,EAAE,UAAU,GAAG;AACjC,iCAAe,KAAK,CAAC;AAAA,gBAAA;AAAA,cACvB;AAIF,oBAAM,cAAc;AAAA,YAAA;AAAA,UACtB;AAAA,QAEJ;AACI,YAAA;AACI,gBAAA;AAAA,QAAA,QACA;AACN,sBAAY,KAAK;AAAA,QAAA;AAAA,MAErB;AAAA;AAAA,MAEA,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,UAAW,CAAA;AAAA,IACrF;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,SAAS,QAAQ,SAAS,CAAC,EAAE,MAAM,UAAU,IAAI,KAAK,WAAY,CAAA;AAAA,IAAA;AAAA,EACtF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../base/client.cjs.js");
4
4
  require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  const access = require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  require("../../generated/activityFeed.cjs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"share.cjs.js","sources":["../../../../../../src/api/queries/share/share.ts"],"sourcesContent":["import { accessApi, GetShareOptionsApiResponse } from '@shared/api/generated'\n\nconst getBaseTags = (projectName?: string) => {\n const tags = [{ type: 'shared', id: 'LIST' }]\n if (projectName) {\n tags.push({\n type: 'shared',\n id: projectName.toUpperCase(),\n })\n }\n return tags\n}\n\nconst getShareOptionsTags = (options: getShareOptionsResult) => options.map((o) => o.value)\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport type getShareOptionsResult = GetShareOptionsApiResponse['options']\n\ntype Definitions = DefinitionsFromApi<typeof accessApi>\ntype TagTypes = TagTypesFromApi<typeof accessApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getShareOptions'> & {\n getShareOptions: OverrideResultType<Definitions['getShareOptions'], getShareOptionsResult>\n}\n\nconst shareApi = accessApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getShareOptions: {\n transformErrorResponse: (error: any) => error.data?.detail,\n transformResponse: (response: GetShareOptionsApiResponse) => response?.options || [],\n providesTags: (result, _e, { projectName }) =>\n result\n ? [...getShareOptionsTags(result), ...getBaseTags(projectName)]\n : getBaseTags(projectName),\n },\n },\n})\n\nexport const { useGetShareOptionsQuery } = shareApi\nexport { shareApi as shareQueries }\n"],"names":["accessApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAc,CAAC,gBAAyB;AAC5C,QAAM,OAAO,CAAC,EAAE,MAAM,UAAU,IAAI,QAAQ;AAC5C,MAAI,aAAa;AACf,SAAK,KAAK;AAAA,MACR,MAAM;AAAA,MACN,IAAI,YAAY,YAAY;AAAA,IAAA,CAC7B;AAAA,EAAA;AAEI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAAC,YAAmC,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;AAapF,MAAA,WAAWA,WAAU,iBAA+C;AAAA,EACxE,WAAW;AAAA,IACT,iBAAiB;AAAA,MACf,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,mBAAmB,CAAC,cAAyC,qCAAU,YAAW,CAAC;AAAA,MACnF,cAAc,CAAC,QAAQ,IAAI,EAAE,YAAA,MAC3B,SACI,CAAC,GAAG,oBAAoB,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,IAC5D,YAAY,WAAW;AAAA,IAAA;AAAA,EAC/B;AAEJ,CAAC;AAEY,MAAA,EAAE,4BAA4B;;;"}
1
+ {"version":3,"file":"share.cjs.js","sources":["../../../../../../src/api/queries/share/share.ts"],"sourcesContent":["import { accessApi, GetShareOptionsApiResponse } from '@shared/api/generated'\n\nconst getBaseTags = (projectName?: string) => {\n const tags = [{ type: 'shared', id: 'LIST' }]\n if (projectName) {\n tags.push({\n type: 'shared',\n id: projectName.toUpperCase(),\n })\n }\n return tags\n}\n\nconst getShareOptionsTags = (options: getShareOptionsResult) => options.map((o) => o.value)\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport type getShareOptionsResult = GetShareOptionsApiResponse['options']\n\ntype Definitions = DefinitionsFromApi<typeof accessApi>\ntype TagTypes = TagTypesFromApi<typeof accessApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getShareOptions'> & {\n getShareOptions: OverrideResultType<Definitions['getShareOptions'], getShareOptionsResult>\n}\n\nconst shareApi = accessApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getShareOptions: {\n transformErrorResponse: (error: any) => error.data?.detail,\n transformResponse: (response: GetShareOptionsApiResponse) => response?.options || [],\n providesTags: (result, _e, { projectName }) =>\n result\n ? [...getShareOptionsTags(result), ...getBaseTags(projectName)]\n : getBaseTags(projectName),\n },\n },\n})\n\nexport const { useGetShareOptionsQuery } = shareApi\nexport { shareApi as shareQueries }\n"],"names":["accessApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAc,CAAC,gBAAyB;AAC5C,QAAM,OAAO,CAAC,EAAE,MAAM,UAAU,IAAI,QAAQ;AAC5C,MAAI,aAAa;AACf,SAAK,KAAK;AAAA,MACR,MAAM;AAAA,MACN,IAAI,YAAY,YAAY;AAAA,IAAA,CAC7B;AAAA,EAAA;AAEI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAAC,YAAmC,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;AAapF,MAAA,WAAWA,WAAU,iBAA+C;AAAA,EACxE,WAAW;AAAA,IACT,iBAAiB;AAAA,MACf,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,mBAAmB,CAAC,cAAyC,qCAAU,YAAW,CAAC;AAAA,MACnF,cAAc,CAAC,QAAQ,IAAI,EAAE,YAAA,MAC3B,SACI,CAAC,GAAG,oBAAoB,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,IAC5D,YAAY,WAAW;AAAA,IAAA;AAAA,EAC/B;AAEJ,CAAC;AAEY,MAAA,EAAE,4BAA4B;;;"}
@@ -1,5 +1,6 @@
1
1
  import "../../base/client.es.js";
2
2
  import "../../generated/graphql.es.js";
3
+ import "../../generated/graphqlLinks.es.js";
3
4
  import { api as injectedRtkApi } from "../../generated/access.es.js";
4
5
  import "../../generated/actions.es.js";
5
6
  import "../../generated/activityFeed.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"share.es.js","sources":["../../../../../../src/api/queries/share/share.ts"],"sourcesContent":["import { accessApi, GetShareOptionsApiResponse } from '@shared/api/generated'\n\nconst getBaseTags = (projectName?: string) => {\n const tags = [{ type: 'shared', id: 'LIST' }]\n if (projectName) {\n tags.push({\n type: 'shared',\n id: projectName.toUpperCase(),\n })\n }\n return tags\n}\n\nconst getShareOptionsTags = (options: getShareOptionsResult) => options.map((o) => o.value)\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport type getShareOptionsResult = GetShareOptionsApiResponse['options']\n\ntype Definitions = DefinitionsFromApi<typeof accessApi>\ntype TagTypes = TagTypesFromApi<typeof accessApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getShareOptions'> & {\n getShareOptions: OverrideResultType<Definitions['getShareOptions'], getShareOptionsResult>\n}\n\nconst shareApi = accessApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getShareOptions: {\n transformErrorResponse: (error: any) => error.data?.detail,\n transformResponse: (response: GetShareOptionsApiResponse) => response?.options || [],\n providesTags: (result, _e, { projectName }) =>\n result\n ? [...getShareOptionsTags(result), ...getBaseTags(projectName)]\n : getBaseTags(projectName),\n },\n },\n})\n\nexport const { useGetShareOptionsQuery } = shareApi\nexport { shareApi as shareQueries }\n"],"names":["accessApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAc,CAAC,gBAAyB;AAC5C,QAAM,OAAO,CAAC,EAAE,MAAM,UAAU,IAAI,QAAQ;AAC5C,MAAI,aAAa;AACf,SAAK,KAAK;AAAA,MACR,MAAM;AAAA,MACN,IAAI,YAAY,YAAY;AAAA,IAAA,CAC7B;AAAA,EAAA;AAEI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAAC,YAAmC,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;AAapF,MAAA,WAAWA,eAAU,iBAA+C;AAAA,EACxE,WAAW;AAAA,IACT,iBAAiB;AAAA,MACf,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,mBAAmB,CAAC,cAAyC,qCAAU,YAAW,CAAC;AAAA,MACnF,cAAc,CAAC,QAAQ,IAAI,EAAE,YAAA,MAC3B,SACI,CAAC,GAAG,oBAAoB,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,IAC5D,YAAY,WAAW;AAAA,IAAA;AAAA,EAC/B;AAEJ,CAAC;AAEY,MAAA,EAAE,4BAA4B;"}
1
+ {"version":3,"file":"share.es.js","sources":["../../../../../../src/api/queries/share/share.ts"],"sourcesContent":["import { accessApi, GetShareOptionsApiResponse } from '@shared/api/generated'\n\nconst getBaseTags = (projectName?: string) => {\n const tags = [{ type: 'shared', id: 'LIST' }]\n if (projectName) {\n tags.push({\n type: 'shared',\n id: projectName.toUpperCase(),\n })\n }\n return tags\n}\n\nconst getShareOptionsTags = (options: getShareOptionsResult) => options.map((o) => o.value)\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport type getShareOptionsResult = GetShareOptionsApiResponse['options']\n\ntype Definitions = DefinitionsFromApi<typeof accessApi>\ntype TagTypes = TagTypesFromApi<typeof accessApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getShareOptions'> & {\n getShareOptions: OverrideResultType<Definitions['getShareOptions'], getShareOptionsResult>\n}\n\nconst shareApi = accessApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getShareOptions: {\n transformErrorResponse: (error: any) => error.data?.detail,\n transformResponse: (response: GetShareOptionsApiResponse) => response?.options || [],\n providesTags: (result, _e, { projectName }) =>\n result\n ? [...getShareOptionsTags(result), ...getBaseTags(projectName)]\n : getBaseTags(projectName),\n },\n },\n})\n\nexport const { useGetShareOptionsQuery } = shareApi\nexport { shareApi as shareQueries }\n"],"names":["accessApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAc,CAAC,gBAAyB;AAC5C,QAAM,OAAO,CAAC,EAAE,MAAM,UAAU,IAAI,QAAQ;AAC5C,MAAI,aAAa;AACf,SAAK,KAAK;AAAA,MACR,MAAM;AAAA,MACN,IAAI,YAAY,YAAY;AAAA,IAAA,CAC7B;AAAA,EAAA;AAEI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAAC,YAAmC,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK;AAapF,MAAA,WAAWA,eAAU,iBAA+C;AAAA,EACxE,WAAW;AAAA,IACT,iBAAiB;AAAA,MACf,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,mBAAmB,CAAC,cAAyC,qCAAU,YAAW,CAAC;AAAA,MACnF,cAAc,CAAC,QAAQ,IAAI,EAAE,YAAA,MAC3B,SACI,CAAC,GAAG,oBAAoB,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,IAC5D,YAAY,WAAW;AAAA,IAAA;AAAA,EAC/B;AAEJ,CAAC;AAEY,MAAA,EAAE,4BAA4B;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../base/client.cjs.js");
4
4
  require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  require("../../generated/activityFeed.cjs.js");
@@ -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: ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["systemApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,eAAeA,WAAU,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAAC,MAAM;AAAA,IACvB;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC;AAEM,MAAM,EAAE,qBAAqB,yBAAyB,gCAC3D;;;;;"}
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: ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["systemApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,eAAeA,WAAU,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAAC,MAAM;AAAA,IACvB;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC;AAEM,MAAM,EAAE,qBAAqB,yBAAyB,gCAC3D;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import "../../base/client.es.js";
2
2
  import "../../generated/graphql.es.js";
3
+ import "../../generated/graphqlLinks.es.js";
3
4
  import "../../generated/access.es.js";
4
5
  import "../../generated/actions.es.js";
5
6
  import "../../generated/activityFeed.es.js";
@@ -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: ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["systemApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,eAAeA,eAAU,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAAC,MAAM;AAAA,IACvB;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC;AAEM,MAAM,EAAE,qBAAqB,yBAAyB,gCAC3D;"}
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: ['info'],\n },\n listFrontendModules: {\n providesTags: ['info'],\n },\n },\n})\n\nexport const { useGetSiteInfoQuery, useLazyGetSiteInfoQuery, useListFrontendModulesQuery } =\n getSystemApi\nexport { getSystemApi as systemQueries }\n"],"names":["systemApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,eAAeA,eAAU,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,aAAa;AAAA,MACX,cAAc,CAAC,MAAM;AAAA,IACvB;AAAA,IACA,qBAAqB;AAAA,MACnB,cAAc,CAAC,MAAM;AAAA,IAAA;AAAA,EACvB;AAEJ,CAAC;AAEM,MAAM,EAAE,qBAAqB,yBAAyB,gCAC3D;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../base/client.cjs.js");
4
4
  const graphql = require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  require("../../generated/activityFeed.cjs.js");
@@ -41,6 +42,7 @@ require("../project/getProject.cjs.js");
41
42
  const updateProject = require("../project/updateProject.cjs.js");
42
43
  require("lodash");
43
44
  require("react-toastify");
45
+ require("uuid");
44
46
  const pubsub = require("../../../util/pubsub.cjs.js");
45
47
  const convertAccessGroupsData = require("./convertAccessGroupsData.cjs.js");
46
48
  const getUserProjectsAccess = require("./getUserProjectsAccess.cjs.js");
@@ -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":["gqlApi","projects","PubSub","projectQueries"],"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} 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":["gqlApi","projects","PubSub","projectQueries"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import "../../base/client.es.js";
2
2
  import { api as injectedRtkApi } from "../../generated/graphql.es.js";
3
+ import "../../generated/graphqlLinks.es.js";
3
4
  import "../../generated/access.es.js";
4
5
  import "../../generated/actions.es.js";
5
6
  import "../../generated/activityFeed.es.js";
@@ -39,6 +40,7 @@ import "../project/getProject.es.js";
39
40
  import { projectQueries as projectApi } from "../project/updateProject.es.js";
40
41
  import "lodash";
41
42
  import "react-toastify";
43
+ import "uuid";
42
44
  import PubSub from "../../../util/pubsub.es.js";
43
45
  import convertAccessGroupsData from "./convertAccessGroupsData.es.js";
44
46
  import getUserProjectsAccess from "./getUserProjectsAccess.es.js";
@@ -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":["gqlApi","projects","projectQueries"],"mappings":"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"}
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":["gqlApi","projects","projectQueries"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  require("../../base/client.cjs.js");
4
4
  const graphql = require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  require("../../generated/activityFeed.cjs.js");
@@ -57,6 +58,9 @@ require("../entityLists/getListsAttributes.cjs.js");
57
58
  require("../entityLists/updateListsAttributes.cjs.js");
58
59
  require("../folders/getFolders.cjs.js");
59
60
  require("../grouping/getGrouping.cjs.js");
61
+ require("../links/updateLinks.cjs.js");
62
+ require("../links/getLinks.cjs.js");
63
+ require("../links/getEntityLinks.cjs.js");
60
64
  const getOverview = require("../overview/getOverview.cjs.js");
61
65
  require("../overview/updateOverview.cjs.js");
62
66
  require("../permissions/getPermissions.cjs.js");
@@ -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 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 } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","parseAllAttribs","users","_a"],"mappings":"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"}
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 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 } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","parseAllAttribs","users","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsB3B,MAAM,cAAc;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;AA2BpB,MAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAahC,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcxB,MAAM,cAAcA,UAAS,iBAAiB;AAAA,EAC5C,WAAW;AAAA,IACT,gBAAgB;AAAA,MACd,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAC7C;AAAA,IACA,iBAAiB;AAAA,MACf,mBAAmB,CAAC,QAAa,2BAAK;AAAA,MACtC,cAAc,CAAC,MAAM,IAAI,EAAE,SAAA,MAAe,CAAC,EAAE,MAAM,WAAW,IAAI,SAAU,CAAA;AAAA,IAAA;AAAA,EAC9E;AAEJ,CAAC;AAEK,MAAA,cAAcC,YAAO,gBAAgB;AAAA,EACzC,WAAW,CAAC,WAAW;AAAA,IACrB,UAAU,MAAM,MAAM;AAAA,MACpB,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAO;AAAA,UACP,WAAW,CAAA;AAAA,QAAC;AAAA,MACd;AAAA,MAEF,mBAAmB,CAAC,KAAU,OAAO,EAAE,eAAe;;AACpD,YAAI,2BAAK,QAAQ;AACP,kBAAA,IAAI,IAAI,MAAM;AACtB,gBAAM,IAAI,MAAM,IAAI,OAAO,CAAC,EAAE,OAAO;AAAA,QAAA;AAGvC,gBAAO,gCAAK,SAAL,mBAAW,MAAM,MAAM,IAAI,CAAC,OAAY;AAAA,UAC7C,GAAG,EAAE;AAAA,UACL,MAAM,EAAE,KAAK,SAAS;AAAA,UACtB,WAAW,cAAc,EAAE,KAAK,IAAI;AAAA,UACpC,cAAc,EAAE,KAAK,eAAe,KAAK,MAAM,EAAE,KAAK,YAAY,IAAI,CAAC;AAAA,UACvE,QAAQC,YAAA,gBAAgB,EAAE,KAAK,SAAS;AAAA,QAAA;AAAA,MAE5C;AAAA,MACA,cAAc,CAACC,WACbA,SACI,CAAC,GAAGA,OAAM,IAAI,CAAC,OAAY,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,IAAI,QAAQ,IACvF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA,CACpC;AAAA,IACD,eAAe,MAAM,MAAM;AAAA,MACzB,OAAO,CAAC,EAAE,YAAY;AAAA,QACpB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAO;AAAA,UACP,WAAW,EAAE,KAAK;AAAA,QAAA;AAAA,MACpB;AAAA,MAEF,mBAAmB,CAAC,QAClB;;AAAA,gDAAK,SAAL,mBAAW,MAAM,MAAM,IAAI,CAAC,MAAY;;AAAA;AAAA,YACtC,GAAG,EAAE;AAAA,YACL,WAAW,eAAcC,MAAA,EAAE,SAAF,gBAAAA,IAAQ,IAAI;AAAA,YACrC,QAAQF,YAAA,gBAAgB,EAAE,KAAK,SAAS;AAAA,UAAA;AAAA;AAAA;AAAA,MAE5C,cAAc,CAAC,QACb,MACI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAY,EAAE,MAAM,QAAQ,IAAI,EAAE,OAAO,GAAG,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA,IACrF,CAAC,QAAQ,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA,CAC5C;AAAA,IACD,kBAAkB,MAAM,MAAM;AAAA,MAC5B,OAAO,CAAC,EAAE,OAAO,mBAAmB;AAAA,QAClC,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAO,QAAQ,0BAA0B;AAAA,UACzC,WAAW,EAAE,OAAO,YAAY;AAAA,QAAA;AAAA,MAClC;AAAA,MAEF,mBAAmB,CAAC,QAClB;;AAAA,gDAAK,SAAL,mBAAW,MAAM,MAAM,QAAQ,CAAC,MAAW;;AACzC,cAAI,CAAC,EAAE,KAAM,QAAO,CAAC;AAErB,gBAAM,IAAI,EAAE;AAEL,iBAAA;AAAA,YACL,MAAM,EAAE;AAAA,YACR,WAAUE,MAAA,EAAE,WAAF,gBAAAA,IAAU;AAAA,YACpB,WAAW,cAAc,EAAE,IAAI;AAAA,UACjC;AAAA,QAAA;AAAA;AAAA,MAEJ,cAAc,CAAC,QACb,MACI;AAAA,QACE,GAAG,IAAI,IAAI,CAAC,UAAe,EAAE,MAAM,QAAQ,IAAI,KAAK,KAAA,EAAO;AAAA,QAC3D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,UAE7B,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IACpC,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;AAsBD,MAAM,WAAW,YAAY,iBAA+C;AAAA,EAC1E,WAAW;AAAA,IACT,8BAA8B;AAAA,MAC5B,mBAAmB,CAAC,QAClB,IAAI,MAAM,MAAM,IAAI,CAAC,OAAO;AAAA,QAC1B,MAAM,EAAE,KAAK;AAAA,QACb,UAAU,EAAE,KAAK,OAAO;AAAA,QACxB,WAAW,EAAE,KAAK;AAAA,MAAA,EAClB;AAAA,MACJ,cAAc,CAAC,QACb,MACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAU,GAAA,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAO,EAAA,CAAC,IAChF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IACrC;AAAA,IACA,qBAAqB;AAAA,MACnB,mBAAmB,CAAC,QAClB,IAAI,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE;AAAA,MAClE,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAC7C;AAAA,IACA,iBAAiB;AAAA,MACf,mBAAmB,CAAC,QAClB,IAAI,MAAM,MAAM,IAAI,CAAC,OAAO;AAAA,QAC1B,MAAM,EAAE,KAAK;AAAA,QACb,UAAU,EAAE,KAAK,OAAO;AAAA,QACxB,WAAW,EAAE,KAAK;AAAA,MAAA,EAClB;AAAA,MACJ,cAAc,CAAC,QACb,MACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAU,GAAA,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAO,EAAA,CAAC,IAChF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACrC;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;AAES,MAAA,EAAE,yBAAyB,2BAA2B;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import "../../base/client.es.js";
2
2
  import { api as injectedRtkApi$1 } from "../../generated/graphql.es.js";
3
+ import "../../generated/graphqlLinks.es.js";
3
4
  import "../../generated/access.es.js";
4
5
  import "../../generated/actions.es.js";
5
6
  import "../../generated/activityFeed.es.js";
@@ -55,6 +56,9 @@ import "../entityLists/getListsAttributes.es.js";
55
56
  import "../entityLists/updateListsAttributes.es.js";
56
57
  import "../folders/getFolders.es.js";
57
58
  import "../grouping/getGrouping.es.js";
59
+ import "../links/updateLinks.es.js";
60
+ import "../links/getLinks.es.js";
61
+ import "../links/getEntityLinks.es.js";
58
62
  import { parseAllAttribs } from "../overview/getOverview.es.js";
59
63
  import "../overview/updateOverview.es.js";
60
64
  import "../permissions/getPermissions.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.es.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 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 } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","_a"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.es.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 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 } = enhancedApi\nexport default injectedApi\n"],"names":["usersApi","gqlApi","_a"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../base/client.cjs.js");
4
4
  require("../../generated/graphql.cjs.js");
5
+ require("../../generated/graphqlLinks.cjs.js");
5
6
  require("../../generated/access.cjs.js");
6
7
  require("../../generated/actions.cjs.js");
7
8
  require("../../generated/activityFeed.cjs.js");