@everysk/apps-sdk 0.1.0-beta.0

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 (450) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -0
  3. package/dist/EveryskApp.d.ts +73 -0
  4. package/dist/EveryskApp.d.ts.map +1 -0
  5. package/dist/EveryskApp.js +66 -0
  6. package/dist/EveryskApp.js.map +1 -0
  7. package/dist/agGrid/agGridTheme.d.ts +77 -0
  8. package/dist/agGrid/agGridTheme.d.ts.map +1 -0
  9. package/dist/agGrid/agGridTheme.js +88 -0
  10. package/dist/agGrid/agGridTheme.js.map +1 -0
  11. package/dist/agGrid/index.d.ts +4 -0
  12. package/dist/agGrid/index.d.ts.map +1 -0
  13. package/dist/agGrid/index.js +3 -0
  14. package/dist/api/datastore.d.ts +68 -0
  15. package/dist/api/datastore.d.ts.map +1 -0
  16. package/dist/api/datastore.js +125 -0
  17. package/dist/api/datastore.js.map +1 -0
  18. package/dist/api/entityQuery.d.ts +78 -0
  19. package/dist/api/entityQuery.d.ts.map +1 -0
  20. package/dist/api/entityQuery.js +100 -0
  21. package/dist/api/entityQuery.js.map +1 -0
  22. package/dist/api/file.d.ts +70 -0
  23. package/dist/api/file.d.ts.map +1 -0
  24. package/dist/api/file.js +126 -0
  25. package/dist/api/file.js.map +1 -0
  26. package/dist/api/portfolio.d.ts +67 -0
  27. package/dist/api/portfolio.d.ts.map +1 -0
  28. package/dist/api/portfolio.js +125 -0
  29. package/dist/api/portfolio.js.map +1 -0
  30. package/dist/api/profile.d.ts +40 -0
  31. package/dist/api/profile.d.ts.map +1 -0
  32. package/dist/api/profile.js +71 -0
  33. package/dist/api/profile.js.map +1 -0
  34. package/dist/api/websocketsConfig.d.ts +13 -0
  35. package/dist/api/websocketsConfig.d.ts.map +1 -0
  36. package/dist/api/websocketsConfig.js +25 -0
  37. package/dist/api/websocketsConfig.js.map +1 -0
  38. package/dist/api/workflow.d.ts +154 -0
  39. package/dist/api/workflow.d.ts.map +1 -0
  40. package/dist/api/workflow.js +289 -0
  41. package/dist/api/workflow.js.map +1 -0
  42. package/dist/api/workspace.d.ts +29 -0
  43. package/dist/api/workspace.d.ts.map +1 -0
  44. package/dist/api/workspace.js +54 -0
  45. package/dist/api/workspace.js.map +1 -0
  46. package/dist/components/ui/EveryskIcon/index.d.ts +5 -0
  47. package/dist/components/ui/EveryskIcon/index.d.ts.map +1 -0
  48. package/dist/components/ui/EveryskIcon/index.js +25 -0
  49. package/dist/components/ui/EveryskIcon/index.js.map +1 -0
  50. package/dist/components/ui/Footer/index.d.ts +5 -0
  51. package/dist/components/ui/Footer/index.d.ts.map +1 -0
  52. package/dist/components/ui/Footer/index.js +23 -0
  53. package/dist/components/ui/Footer/index.js.map +1 -0
  54. package/dist/components/ui/GlobalLoading/index.d.ts +8 -0
  55. package/dist/components/ui/GlobalLoading/index.d.ts.map +1 -0
  56. package/dist/components/ui/GlobalLoading/index.js +42 -0
  57. package/dist/components/ui/GlobalLoading/index.js.map +1 -0
  58. package/dist/components/ui/PageContainer/index.d.ts +7 -0
  59. package/dist/components/ui/PageContainer/index.d.ts.map +1 -0
  60. package/dist/components/ui/PageContainer/index.js +20 -0
  61. package/dist/components/ui/PageContainer/index.js.map +1 -0
  62. package/dist/components/ui/Toolbar/index.d.ts +5 -0
  63. package/dist/components/ui/Toolbar/index.d.ts.map +1 -0
  64. package/dist/components/ui/Toolbar/index.js +32 -0
  65. package/dist/components/ui/Toolbar/index.js.map +1 -0
  66. package/dist/contexts/agGridLicenseContext/provider.d.ts +51 -0
  67. package/dist/contexts/agGridLicenseContext/provider.d.ts.map +1 -0
  68. package/dist/contexts/agGridLicenseContext/provider.js +58 -0
  69. package/dist/contexts/agGridLicenseContext/provider.js.map +1 -0
  70. package/dist/contexts/appAlertContext/index.d.ts +3 -0
  71. package/dist/contexts/appAlertContext/index.d.ts.map +1 -0
  72. package/dist/contexts/appAlertContext/index.js +7 -0
  73. package/dist/contexts/appAlertContext/index.js.map +1 -0
  74. package/dist/contexts/appAlertContext/provider.d.ts +40 -0
  75. package/dist/contexts/appAlertContext/provider.d.ts.map +1 -0
  76. package/dist/contexts/appAlertContext/provider.js +96 -0
  77. package/dist/contexts/appAlertContext/provider.js.map +1 -0
  78. package/dist/contexts/appAlertContext/types.d.ts +15 -0
  79. package/dist/contexts/appAlertContext/types.d.ts.map +1 -0
  80. package/dist/contexts/appAlertContext/useAppAlert.d.ts +30 -0
  81. package/dist/contexts/appAlertContext/useAppAlert.d.ts.map +1 -0
  82. package/dist/contexts/appAlertContext/useAppAlert.js +40 -0
  83. package/dist/contexts/appAlertContext/useAppAlert.js.map +1 -0
  84. package/dist/contexts/appConfigContext/index.d.ts +3 -0
  85. package/dist/contexts/appConfigContext/index.d.ts.map +1 -0
  86. package/dist/contexts/appConfigContext/index.js +7 -0
  87. package/dist/contexts/appConfigContext/index.js.map +1 -0
  88. package/dist/contexts/appConfigContext/provider.d.ts +45 -0
  89. package/dist/contexts/appConfigContext/provider.d.ts.map +1 -0
  90. package/dist/contexts/appConfigContext/provider.js +63 -0
  91. package/dist/contexts/appConfigContext/provider.js.map +1 -0
  92. package/dist/contexts/appConfigContext/types.d.ts +28 -0
  93. package/dist/contexts/appConfigContext/types.d.ts.map +1 -0
  94. package/dist/contexts/appConfigContext/useAppConfig.d.ts +20 -0
  95. package/dist/contexts/appConfigContext/useAppConfig.d.ts.map +1 -0
  96. package/dist/contexts/appConfigContext/useAppConfig.js +30 -0
  97. package/dist/contexts/appConfigContext/useAppConfig.js.map +1 -0
  98. package/dist/contexts/webSocketContext/constants.d.ts +4 -0
  99. package/dist/contexts/webSocketContext/constants.d.ts.map +1 -0
  100. package/dist/contexts/webSocketContext/constants.js +8 -0
  101. package/dist/contexts/webSocketContext/constants.js.map +1 -0
  102. package/dist/contexts/webSocketContext/handler.d.ts +43 -0
  103. package/dist/contexts/webSocketContext/handler.d.ts.map +1 -0
  104. package/dist/contexts/webSocketContext/handler.js +87 -0
  105. package/dist/contexts/webSocketContext/handler.js.map +1 -0
  106. package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.d.ts +19 -0
  107. package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.d.ts.map +1 -0
  108. package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.js +31 -0
  109. package/dist/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.js.map +1 -0
  110. package/dist/contexts/webSocketContext/hooks/useWebSocket/index.d.ts +11 -0
  111. package/dist/contexts/webSocketContext/hooks/useWebSocket/index.d.ts.map +1 -0
  112. package/dist/contexts/webSocketContext/hooks/useWebSocket/index.js +21 -0
  113. package/dist/contexts/webSocketContext/hooks/useWebSocket/index.js.map +1 -0
  114. package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.d.ts +30 -0
  115. package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.d.ts.map +1 -0
  116. package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.js +44 -0
  117. package/dist/contexts/webSocketContext/hooks/useWebSocketSubscription/index.js.map +1 -0
  118. package/dist/contexts/webSocketContext/index.d.ts +3 -0
  119. package/dist/contexts/webSocketContext/index.d.ts.map +1 -0
  120. package/dist/contexts/webSocketContext/index.js +7 -0
  121. package/dist/contexts/webSocketContext/index.js.map +1 -0
  122. package/dist/contexts/webSocketContext/provider.d.ts +39 -0
  123. package/dist/contexts/webSocketContext/provider.d.ts.map +1 -0
  124. package/dist/contexts/webSocketContext/provider.js +121 -0
  125. package/dist/contexts/webSocketContext/provider.js.map +1 -0
  126. package/dist/contexts/webSocketContext/types.d.ts +41 -0
  127. package/dist/contexts/webSocketContext/types.d.ts.map +1 -0
  128. package/dist/datastore/index.d.ts +7 -0
  129. package/dist/datastore/index.d.ts.map +1 -0
  130. package/dist/file/index.d.ts +6 -0
  131. package/dist/file/index.d.ts.map +1 -0
  132. package/dist/hooks/datastore/useDatastoreMutations.d.ts +151 -0
  133. package/dist/hooks/datastore/useDatastoreMutations.d.ts.map +1 -0
  134. package/dist/hooks/datastore/useDatastoreMutations.js +198 -0
  135. package/dist/hooks/datastore/useDatastoreMutations.js.map +1 -0
  136. package/dist/hooks/datastore/useFetchDatastore.d.ts +205 -0
  137. package/dist/hooks/datastore/useFetchDatastore.d.ts.map +1 -0
  138. package/dist/hooks/datastore/useFetchDatastore.js +85 -0
  139. package/dist/hooks/datastore/useFetchDatastore.js.map +1 -0
  140. package/dist/hooks/datastore/useFetchDatastores.d.ts +70 -0
  141. package/dist/hooks/datastore/useFetchDatastores.d.ts.map +1 -0
  142. package/dist/hooks/datastore/useFetchDatastores.js +105 -0
  143. package/dist/hooks/datastore/useFetchDatastores.js.map +1 -0
  144. package/dist/hooks/file/useFetchFile.d.ts +212 -0
  145. package/dist/hooks/file/useFetchFile.d.ts.map +1 -0
  146. package/dist/hooks/file/useFetchFile.js +87 -0
  147. package/dist/hooks/file/useFetchFile.js.map +1 -0
  148. package/dist/hooks/file/useFetchFiles.d.ts +60 -0
  149. package/dist/hooks/file/useFetchFiles.d.ts.map +1 -0
  150. package/dist/hooks/file/useFetchFiles.js +89 -0
  151. package/dist/hooks/file/useFetchFiles.js.map +1 -0
  152. package/dist/hooks/file/useFileMutations.d.ts +161 -0
  153. package/dist/hooks/file/useFileMutations.d.ts.map +1 -0
  154. package/dist/hooks/file/useFileMutations.js +208 -0
  155. package/dist/hooks/file/useFileMutations.js.map +1 -0
  156. package/dist/hooks/portfolio/useFetchPortfolio.d.ts +210 -0
  157. package/dist/hooks/portfolio/useFetchPortfolio.d.ts.map +1 -0
  158. package/dist/hooks/portfolio/useFetchPortfolio.js +85 -0
  159. package/dist/hooks/portfolio/useFetchPortfolio.js.map +1 -0
  160. package/dist/hooks/portfolio/useFetchPortfolios.d.ts +60 -0
  161. package/dist/hooks/portfolio/useFetchPortfolios.d.ts.map +1 -0
  162. package/dist/hooks/portfolio/useFetchPortfolios.js +89 -0
  163. package/dist/hooks/portfolio/useFetchPortfolios.js.map +1 -0
  164. package/dist/hooks/portfolio/usePortfolioMutations.d.ts +171 -0
  165. package/dist/hooks/portfolio/usePortfolioMutations.d.ts.map +1 -0
  166. package/dist/hooks/portfolio/usePortfolioMutations.js +218 -0
  167. package/dist/hooks/portfolio/usePortfolioMutations.js.map +1 -0
  168. package/dist/hooks/profile/useFetchProfile.d.ts +206 -0
  169. package/dist/hooks/profile/useFetchProfile.d.ts.map +1 -0
  170. package/dist/hooks/profile/useFetchProfile.js +70 -0
  171. package/dist/hooks/profile/useFetchProfile.js.map +1 -0
  172. package/dist/hooks/useAxios.d.ts +40 -0
  173. package/dist/hooks/useAxios.d.ts.map +1 -0
  174. package/dist/hooks/useAxios.js +76 -0
  175. package/dist/hooks/useAxios.js.map +1 -0
  176. package/dist/hooks/workflow/useFetchWorkerExecution.d.ts +198 -0
  177. package/dist/hooks/workflow/useFetchWorkerExecution.d.ts.map +1 -0
  178. package/dist/hooks/workflow/useFetchWorkerExecution.js +69 -0
  179. package/dist/hooks/workflow/useFetchWorkerExecution.js.map +1 -0
  180. package/dist/hooks/workflow/useFetchWorkerExecutions.d.ts +52 -0
  181. package/dist/hooks/workflow/useFetchWorkerExecutions.d.ts.map +1 -0
  182. package/dist/hooks/workflow/useFetchWorkerExecutions.js +83 -0
  183. package/dist/hooks/workflow/useFetchWorkerExecutions.js.map +1 -0
  184. package/dist/hooks/workflow/useFetchWorkflow.d.ts +195 -0
  185. package/dist/hooks/workflow/useFetchWorkflow.d.ts.map +1 -0
  186. package/dist/hooks/workflow/useFetchWorkflow.js +70 -0
  187. package/dist/hooks/workflow/useFetchWorkflow.js.map +1 -0
  188. package/dist/hooks/workflow/useFetchWorkflowExecution.d.ts +198 -0
  189. package/dist/hooks/workflow/useFetchWorkflowExecution.d.ts.map +1 -0
  190. package/dist/hooks/workflow/useFetchWorkflowExecution.js +69 -0
  191. package/dist/hooks/workflow/useFetchWorkflowExecution.js.map +1 -0
  192. package/dist/hooks/workflow/useFetchWorkflowExecutions.d.ts +49 -0
  193. package/dist/hooks/workflow/useFetchWorkflowExecutions.d.ts.map +1 -0
  194. package/dist/hooks/workflow/useFetchWorkflowExecutions.js +77 -0
  195. package/dist/hooks/workflow/useFetchWorkflowExecutions.js.map +1 -0
  196. package/dist/hooks/workflow/useFetchWorkflows.d.ts +47 -0
  197. package/dist/hooks/workflow/useFetchWorkflows.d.ts.map +1 -0
  198. package/dist/hooks/workflow/useFetchWorkflows.js +67 -0
  199. package/dist/hooks/workflow/useFetchWorkflows.js.map +1 -0
  200. package/dist/hooks/workflow/useRunWorkflow.d.ts +30 -0
  201. package/dist/hooks/workflow/useRunWorkflow.d.ts.map +1 -0
  202. package/dist/hooks/workflow/useRunWorkflow.js +50 -0
  203. package/dist/hooks/workflow/useRunWorkflow.js.map +1 -0
  204. package/dist/hooks/workspace/useFetchWorkspace.d.ts +197 -0
  205. package/dist/hooks/workspace/useFetchWorkspace.d.ts.map +1 -0
  206. package/dist/hooks/workspace/useFetchWorkspace.js +65 -0
  207. package/dist/hooks/workspace/useFetchWorkspace.js.map +1 -0
  208. package/dist/hooks/workspace/useFetchWorkspaces.d.ts +46 -0
  209. package/dist/hooks/workspace/useFetchWorkspaces.d.ts.map +1 -0
  210. package/dist/hooks/workspace/useFetchWorkspaces.js +66 -0
  211. package/dist/hooks/workspace/useFetchWorkspaces.js.map +1 -0
  212. package/dist/index.d.ts +24 -0
  213. package/dist/index.d.ts.map +1 -0
  214. package/dist/index.js +50 -0
  215. package/dist/lib/datastoreTable.d.ts +126 -0
  216. package/dist/lib/datastoreTable.d.ts.map +1 -0
  217. package/dist/lib/datastoreTable.js +146 -0
  218. package/dist/lib/datastoreTable.js.map +1 -0
  219. package/dist/lib/queryClient.d.ts +24 -0
  220. package/dist/lib/queryClient.d.ts.map +1 -0
  221. package/dist/lib/queryClient.js +48 -0
  222. package/dist/lib/queryClient.js.map +1 -0
  223. package/dist/portfolio/index.d.ts +6 -0
  224. package/dist/portfolio/index.d.ts.map +1 -0
  225. package/dist/profile/index.d.ts +4 -0
  226. package/dist/profile/index.d.ts.map +1 -0
  227. package/dist/socket/index.d.ts +10 -0
  228. package/dist/socket/index.d.ts.map +1 -0
  229. package/dist/socket/index.js +9 -0
  230. package/dist/test/index.d.ts +2 -0
  231. package/dist/test/index.d.ts.map +1 -0
  232. package/dist/test/index.js +2 -0
  233. package/dist/test/mocks/agGridEnterprise.d.ts +38 -0
  234. package/dist/test/mocks/agGridEnterprise.d.ts.map +1 -0
  235. package/dist/test/mocks/agGridEnterprise.js +43 -0
  236. package/dist/test/mocks/agGridEnterprise.js.map +1 -0
  237. package/dist/test/mocks/agGridReact.d.ts +42 -0
  238. package/dist/test/mocks/agGridReact.d.ts.map +1 -0
  239. package/dist/test/mocks/agGridReact.js +47 -0
  240. package/dist/test/mocks/agGridReact.js.map +1 -0
  241. package/dist/test/mocks/index.d.ts +5 -0
  242. package/dist/test/mocks/index.d.ts.map +1 -0
  243. package/dist/test/mocks/index.js +4 -0
  244. package/dist/test/mocks/socketIoClient.d.ts +45 -0
  245. package/dist/test/mocks/socketIoClient.d.ts.map +1 -0
  246. package/dist/test/mocks/socketIoClient.js +54 -0
  247. package/dist/test/mocks/socketIoClient.js.map +1 -0
  248. package/dist/test/renderWithProviders.d.ts +107 -0
  249. package/dist/test/renderWithProviders.d.ts.map +1 -0
  250. package/dist/test/renderWithProviders.js +85 -0
  251. package/dist/test/renderWithProviders.js.map +1 -0
  252. package/dist/test/setup.d.ts +2 -0
  253. package/dist/test/setup.d.ts.map +1 -0
  254. package/dist/test/setup.js +25 -0
  255. package/dist/test/setup.js.map +1 -0
  256. package/dist/theme/ThemeProvider.d.ts +12 -0
  257. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  258. package/dist/theme/ThemeProvider.js +22 -0
  259. package/dist/theme/ThemeProvider.js.map +1 -0
  260. package/dist/theme/index.d.ts +9 -0
  261. package/dist/theme/index.d.ts.map +1 -0
  262. package/dist/theme/overrides/index.d.ts +7 -0
  263. package/dist/theme/overrides/index.d.ts.map +1 -0
  264. package/dist/theme/overrides/index.js +31 -0
  265. package/dist/theme/overrides/index.js.map +1 -0
  266. package/dist/theme/overrides/muiButton.d.ts +3 -0
  267. package/dist/theme/overrides/muiButton.d.ts.map +1 -0
  268. package/dist/theme/overrides/muiButton.js +6 -0
  269. package/dist/theme/overrides/muiButton.js.map +1 -0
  270. package/dist/theme/overrides/muiCssBaseline.d.ts +31 -0
  271. package/dist/theme/overrides/muiCssBaseline.d.ts.map +1 -0
  272. package/dist/theme/overrides/muiCssBaseline.js +27 -0
  273. package/dist/theme/overrides/muiCssBaseline.js.map +1 -0
  274. package/dist/theme/overrides/muiDatePicker.d.ts +10 -0
  275. package/dist/theme/overrides/muiDatePicker.d.ts.map +1 -0
  276. package/dist/theme/overrides/muiDatePicker.js +6 -0
  277. package/dist/theme/overrides/muiDatePicker.js.map +1 -0
  278. package/dist/theme/overrides/muiFormControl.d.ts +3 -0
  279. package/dist/theme/overrides/muiFormControl.d.ts.map +1 -0
  280. package/dist/theme/overrides/muiFormControl.js +6 -0
  281. package/dist/theme/overrides/muiFormControl.js.map +1 -0
  282. package/dist/theme/overrides/muiIconButton.d.ts +3 -0
  283. package/dist/theme/overrides/muiIconButton.d.ts.map +1 -0
  284. package/dist/theme/overrides/muiIconButton.js +6 -0
  285. package/dist/theme/overrides/muiIconButton.js.map +1 -0
  286. package/dist/theme/overrides/muiSelect.d.ts +3 -0
  287. package/dist/theme/overrides/muiSelect.d.ts.map +1 -0
  288. package/dist/theme/overrides/muiSelect.js +6 -0
  289. package/dist/theme/overrides/muiSelect.js.map +1 -0
  290. package/dist/theme/overrides/muiSvgIcon.d.ts +3 -0
  291. package/dist/theme/overrides/muiSvgIcon.d.ts.map +1 -0
  292. package/dist/theme/overrides/muiSvgIcon.js +6 -0
  293. package/dist/theme/overrides/muiSvgIcon.js.map +1 -0
  294. package/dist/theme/overrides/muiTextField.d.ts +3 -0
  295. package/dist/theme/overrides/muiTextField.d.ts.map +1 -0
  296. package/dist/theme/overrides/muiTextField.js +6 -0
  297. package/dist/theme/overrides/muiTextField.js.map +1 -0
  298. package/dist/theme/overrides/muiToggleButton.d.ts +3 -0
  299. package/dist/theme/overrides/muiToggleButton.d.ts.map +1 -0
  300. package/dist/theme/overrides/muiToggleButton.js +6 -0
  301. package/dist/theme/overrides/muiToggleButton.js.map +1 -0
  302. package/dist/theme/overrides/muiToggleButtonGroup.d.ts +3 -0
  303. package/dist/theme/overrides/muiToggleButtonGroup.d.ts.map +1 -0
  304. package/dist/theme/overrides/muiToggleButtonGroup.js +6 -0
  305. package/dist/theme/overrides/muiToggleButtonGroup.js.map +1 -0
  306. package/dist/theme/themes/DefaultDark.d.ts +7 -0
  307. package/dist/theme/themes/DefaultDark.d.ts.map +1 -0
  308. package/dist/theme/themes/DefaultDark.js +15 -0
  309. package/dist/theme/themes/DefaultDark.js.map +1 -0
  310. package/dist/theme/themes/DefaultLight.d.ts +7 -0
  311. package/dist/theme/themes/DefaultLight.d.ts.map +1 -0
  312. package/dist/theme/themes/DefaultLight.js +15 -0
  313. package/dist/theme/themes/DefaultLight.js.map +1 -0
  314. package/dist/theme/themes/EveryskDark.d.ts +15 -0
  315. package/dist/theme/themes/EveryskDark.d.ts.map +1 -0
  316. package/dist/theme/themes/EveryskDark.js +63 -0
  317. package/dist/theme/themes/EveryskDark.js.map +1 -0
  318. package/dist/theme/themes/EveryskLight.d.ts +21 -0
  319. package/dist/theme/themes/EveryskLight.d.ts.map +1 -0
  320. package/dist/theme/themes/EveryskLight.js +69 -0
  321. package/dist/theme/themes/EveryskLight.js.map +1 -0
  322. package/dist/theme/themes/MidnightEmber.d.ts +3 -0
  323. package/dist/theme/themes/MidnightEmber.d.ts.map +1 -0
  324. package/dist/theme/themes/MidnightEmber.js +31 -0
  325. package/dist/theme/themes/MidnightEmber.js.map +1 -0
  326. package/dist/theme/themes/index.d.ts +17 -0
  327. package/dist/theme/themes/index.d.ts.map +1 -0
  328. package/dist/theme/themes/index.js +32 -0
  329. package/dist/theme/themes/index.js.map +1 -0
  330. package/dist/types/anyRecord.d.ts +4 -0
  331. package/dist/types/anyRecord.d.ts.map +1 -0
  332. package/dist/types/datastore.d.ts +26 -0
  333. package/dist/types/datastore.d.ts.map +1 -0
  334. package/dist/types/entityQuery.d.ts +47 -0
  335. package/dist/types/entityQuery.d.ts.map +1 -0
  336. package/dist/types/file.d.ts +29 -0
  337. package/dist/types/file.d.ts.map +1 -0
  338. package/dist/types/portfolio.d.ts +77 -0
  339. package/dist/types/portfolio.d.ts.map +1 -0
  340. package/dist/types/profile.d.ts +37 -0
  341. package/dist/types/profile.d.ts.map +1 -0
  342. package/dist/types/workflow.d.ts +68 -0
  343. package/dist/types/workflow.d.ts.map +1 -0
  344. package/dist/types/workspace.d.ts +13 -0
  345. package/dist/types/workspace.d.ts.map +1 -0
  346. package/dist/ui/index.d.ts +6 -0
  347. package/dist/ui/index.d.ts.map +1 -0
  348. package/dist/workflow/index.d.ts +10 -0
  349. package/dist/workflow/index.d.ts.map +1 -0
  350. package/dist/workspace/index.d.ts +5 -0
  351. package/dist/workspace/index.d.ts.map +1 -0
  352. package/package.json +148 -0
  353. package/src/EveryskApp.tsx +108 -0
  354. package/src/agGrid/agGridTheme.ts +113 -0
  355. package/src/agGrid/index.ts +15 -0
  356. package/src/api/datastore.ts +175 -0
  357. package/src/api/entityQuery.ts +101 -0
  358. package/src/api/file.ts +174 -0
  359. package/src/api/portfolio.ts +190 -0
  360. package/src/api/profile.ts +80 -0
  361. package/src/api/websocketsConfig.ts +32 -0
  362. package/src/api/workflow.ts +427 -0
  363. package/src/api/workspace.ts +72 -0
  364. package/src/components/ui/EveryskIcon/index.tsx +24 -0
  365. package/src/components/ui/Footer/index.tsx +30 -0
  366. package/src/components/ui/GlobalLoading/index.tsx +38 -0
  367. package/src/components/ui/PageContainer/index.tsx +14 -0
  368. package/src/components/ui/Toolbar/index.tsx +44 -0
  369. package/src/contexts/agGridLicenseContext/provider.tsx +63 -0
  370. package/src/contexts/appAlertContext/index.tsx +4 -0
  371. package/src/contexts/appAlertContext/provider.tsx +92 -0
  372. package/src/contexts/appAlertContext/types.ts +17 -0
  373. package/src/contexts/appAlertContext/useAppAlert.ts +39 -0
  374. package/src/contexts/appConfigContext/index.tsx +4 -0
  375. package/src/contexts/appConfigContext/provider.tsx +67 -0
  376. package/src/contexts/appConfigContext/types.ts +28 -0
  377. package/src/contexts/appConfigContext/useAppConfig.ts +30 -0
  378. package/src/contexts/webSocketContext/constants.ts +3 -0
  379. package/src/contexts/webSocketContext/handler.ts +108 -0
  380. package/src/contexts/webSocketContext/hooks/useAppNotificationSubscription/index.ts +36 -0
  381. package/src/contexts/webSocketContext/hooks/useWebSocket/index.ts +18 -0
  382. package/src/contexts/webSocketContext/hooks/useWebSocketSubscription/index.ts +45 -0
  383. package/src/contexts/webSocketContext/index.tsx +5 -0
  384. package/src/contexts/webSocketContext/provider.tsx +125 -0
  385. package/src/contexts/webSocketContext/types.ts +50 -0
  386. package/src/datastore/index.ts +14 -0
  387. package/src/file/index.ts +13 -0
  388. package/src/hooks/datastore/useDatastoreMutations.ts +221 -0
  389. package/src/hooks/datastore/useFetchDatastore.ts +95 -0
  390. package/src/hooks/datastore/useFetchDatastores.ts +162 -0
  391. package/src/hooks/file/useFetchFile.ts +93 -0
  392. package/src/hooks/file/useFetchFiles.ts +109 -0
  393. package/src/hooks/file/useFileMutations.ts +240 -0
  394. package/src/hooks/portfolio/useFetchPortfolio.ts +94 -0
  395. package/src/hooks/portfolio/useFetchPortfolios.ts +109 -0
  396. package/src/hooks/portfolio/usePortfolioMutations.ts +250 -0
  397. package/src/hooks/profile/useFetchProfile.ts +93 -0
  398. package/src/hooks/useAxios.ts +98 -0
  399. package/src/hooks/workflow/useFetchWorkerExecution.ts +78 -0
  400. package/src/hooks/workflow/useFetchWorkerExecutions.ts +98 -0
  401. package/src/hooks/workflow/useFetchWorkflow.ts +76 -0
  402. package/src/hooks/workflow/useFetchWorkflowExecution.ts +79 -0
  403. package/src/hooks/workflow/useFetchWorkflowExecutions.ts +95 -0
  404. package/src/hooks/workflow/useFetchWorkflows.ts +84 -0
  405. package/src/hooks/workflow/useRunWorkflow.ts +62 -0
  406. package/src/hooks/workspace/useFetchWorkspace.ts +78 -0
  407. package/src/hooks/workspace/useFetchWorkspaces.ts +86 -0
  408. package/src/index.ts +72 -0
  409. package/src/lib/datastoreTable.ts +159 -0
  410. package/src/lib/queryClient.ts +60 -0
  411. package/src/portfolio/index.ts +13 -0
  412. package/src/profile/index.ts +11 -0
  413. package/src/socket/index.ts +19 -0
  414. package/src/test/index.ts +10 -0
  415. package/src/test/mocks/agGridEnterprise.ts +45 -0
  416. package/src/test/mocks/agGridReact.tsx +61 -0
  417. package/src/test/mocks/index.ts +22 -0
  418. package/src/test/mocks/socketIoClient.ts +78 -0
  419. package/src/test/renderWithProviders.tsx +114 -0
  420. package/src/test/setup.ts +46 -0
  421. package/src/theme/ThemeProvider.tsx +33 -0
  422. package/src/theme/index.ts +15 -0
  423. package/src/theme/overrides/index.ts +31 -0
  424. package/src/theme/overrides/muiButton.ts +7 -0
  425. package/src/theme/overrides/muiCssBaseline.ts +35 -0
  426. package/src/theme/overrides/muiDatePicker.ts +5 -0
  427. package/src/theme/overrides/muiFormControl.ts +7 -0
  428. package/src/theme/overrides/muiIconButton.ts +7 -0
  429. package/src/theme/overrides/muiSelect.ts +7 -0
  430. package/src/theme/overrides/muiSvgIcon.ts +7 -0
  431. package/src/theme/overrides/muiTextField.ts +7 -0
  432. package/src/theme/overrides/muiToggleButton.ts +7 -0
  433. package/src/theme/overrides/muiToggleButtonGroup.ts +7 -0
  434. package/src/theme/themes/DefaultDark.ts +14 -0
  435. package/src/theme/themes/DefaultLight.ts +14 -0
  436. package/src/theme/themes/EveryskDark.ts +62 -0
  437. package/src/theme/themes/EveryskLight.ts +68 -0
  438. package/src/theme/themes/MidnightEmber.ts +30 -0
  439. package/src/theme/themes/index.ts +35 -0
  440. package/src/types/anyRecord.ts +4 -0
  441. package/src/types/datastore.ts +33 -0
  442. package/src/types/entityQuery.ts +64 -0
  443. package/src/types/file.ts +32 -0
  444. package/src/types/portfolio.ts +81 -0
  445. package/src/types/profile.ts +39 -0
  446. package/src/types/workflow.ts +76 -0
  447. package/src/types/workspace.ts +15 -0
  448. package/src/ui/index.ts +14 -0
  449. package/src/workflow/index.ts +17 -0
  450. package/src/workspace/index.ts +12 -0
@@ -0,0 +1,89 @@
1
+ import { useAxios } from "../useAxios.js";
2
+ import { buildQueryKey, buildQueryObject } from "../../api/entityQuery.js";
3
+ import { listFiles } from "../../api/file.js";
4
+ import { useMemo } from "react";
5
+ import { useInfiniteQuery } from "@tanstack/react-query";
6
+ //#region src/hooks/file/useFetchFiles.ts
7
+ var defaultQueryOptions = {
8
+ refetchOnMount: "always",
9
+ staleTime: 0,
10
+ gcTime: 0
11
+ };
12
+ /**
13
+ * useFetchFiles
14
+ *
15
+ * Data-fetching hook built on TanStack Query's `useInfiniteQuery` to retrieve
16
+ * files with cursor-based pagination.
17
+ *
18
+ * It also:
19
+ * - flattens all pages into a single `EveryskFile[]` via `select`
20
+ *
21
+ * Important notes:
22
+ * - `query.data` returns a flat `EveryskFile[]` (all pages merged).
23
+ *
24
+ * Parameters (FetchInfiniteFileProps):
25
+ * @param {FilterClause[]} [filters=[]]
26
+ * Filters applied to every page request. Must include a `workspace` filter.
27
+ *
28
+ * @param {string[]} [order=[]]
29
+ * Sorting applied to every page request.
30
+ *
31
+ * @param {string} [projection=""]
32
+ * Single field to project: `"field"` returns only that field (others come back null),
33
+ * `"-field"` returns every field except that one. One field only — lists 500. Omitted when empty.
34
+ *
35
+ * @param {number} [pageSize=10]
36
+ * Number of files to fetch per page.
37
+ *
38
+ * @param {InfiniteOptions<EveryskFile[]>} [queryOptions]
39
+ * TanStack Query options passed through to `useInfiniteQuery`
40
+ * (e.g., enabled, staleTime, gcTime, etc.).
41
+ *
42
+ * Returns:
43
+ * @returns {object}
44
+ * - `query`: the full `useInfiniteQuery` result (data, isLoading, hasNextPage, fetchNextPage, etc.)
45
+ * - `queryKey`: the cache key used by React Query
46
+ *
47
+ * Example:
48
+ * ```ts
49
+ * const { query } = useFetchFiles({
50
+ * filters: [{ field: "workspace", value: "ws-1" }],
51
+ * pageSize: 20,
52
+ * });
53
+ *
54
+ * // Flat list of all fetched files
55
+ * const files = query.data ?? [];
56
+ * ```
57
+ */
58
+ function useFetchFiles({ filters = [], order = [], projection = "", pageSize = 10, queryOptions }) {
59
+ const { api } = useAxios();
60
+ const queryKey = buildQueryKey(["files"], filters);
61
+ const mergedQueryOptions = useMemo(() => ({
62
+ ...defaultQueryOptions,
63
+ ...queryOptions ?? {}
64
+ }), [queryOptions]);
65
+ return {
66
+ query: useInfiniteQuery({
67
+ queryKey,
68
+ initialPageParam: null,
69
+ getNextPageParam: (lastPage) => lastPage.next_page_token ?? void 0,
70
+ queryFn: async ({ pageParam }) => {
71
+ const queryFilter = buildQueryObject({
72
+ filters,
73
+ order,
74
+ projection,
75
+ pageSize,
76
+ pageToken: pageParam ?? void 0
77
+ });
78
+ return await listFiles(api, queryFilter);
79
+ },
80
+ select: (data) => data.pages.flatMap((p) => p.files),
81
+ ...mergedQueryOptions
82
+ }),
83
+ queryKey
84
+ };
85
+ }
86
+ //#endregion
87
+ export { useFetchFiles };
88
+
89
+ //# sourceMappingURL=useFetchFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchFiles.js","names":[],"sources":["../../../src/hooks/file/useFetchFiles.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useInfiniteQuery, type UseInfiniteQueryOptions, type QueryKey } from \"@tanstack/react-query\";\n\nimport { useAxios } from \"@/hooks/useAxios\";\nimport { listFiles } from \"@/api/file\";\nimport type { EveryskFile, FileListResponse } from \"@/types/file\";\nimport type { FetchEntitiesParams } from \"@/types/entityQuery\";\nimport { buildQueryKey, buildQueryObject } from \"@/api/entityQuery\";\n\ntype PageToken = string | null;\n\ntype InfiniteOptions<TData> = Omit<\n UseInfiniteQueryOptions<FileListResponse, Error, TData, QueryKey, PageToken>,\n \"queryKey\" | \"queryFn\" | \"initialPageParam\" | \"getNextPageParam\"\n>;\n\nexport type FetchInfiniteFileProps = FetchEntitiesParams<EveryskFile[], InfiniteOptions<EveryskFile[]>> & {\n pageSize?: number;\n};\n\nconst defaultQueryOptions: InfiniteOptions<EveryskFile[]> = {\n refetchOnMount: \"always\",\n staleTime: 0,\n gcTime: 0,\n};\n\n/**\n * useFetchFiles\n *\n * Data-fetching hook built on TanStack Query's `useInfiniteQuery` to retrieve\n * files with cursor-based pagination.\n *\n * It also:\n * - flattens all pages into a single `EveryskFile[]` via `select`\n *\n * Important notes:\n * - `query.data` returns a flat `EveryskFile[]` (all pages merged).\n *\n * Parameters (FetchInfiniteFileProps):\n * @param {FilterClause[]} [filters=[]]\n * Filters applied to every page request. Must include a `workspace` filter.\n *\n * @param {string[]} [order=[]]\n * Sorting applied to every page request.\n *\n * @param {string} [projection=\"\"]\n * Single field to project: `\"field\"` returns only that field (others come back null),\n * `\"-field\"` returns every field except that one. One field only — lists 500. Omitted when empty.\n *\n * @param {number} [pageSize=10]\n * Number of files to fetch per page.\n *\n * @param {InfiniteOptions<EveryskFile[]>} [queryOptions]\n * TanStack Query options passed through to `useInfiniteQuery`\n * (e.g., enabled, staleTime, gcTime, etc.).\n *\n * Returns:\n * @returns {object}\n * - `query`: the full `useInfiniteQuery` result (data, isLoading, hasNextPage, fetchNextPage, etc.)\n * - `queryKey`: the cache key used by React Query\n *\n * Example:\n * ```ts\n * const { query } = useFetchFiles({\n * filters: [{ field: \"workspace\", value: \"ws-1\" }],\n * pageSize: 20,\n * });\n *\n * // Flat list of all fetched files\n * const files = query.data ?? [];\n * ```\n */\nexport function useFetchFiles({ filters = [], order = [], projection = \"\", pageSize = 10, queryOptions }: FetchInfiniteFileProps) {\n const { api } = useAxios();\n\n const queryKey = buildQueryKey([\"files\"], filters);\n\n const mergedQueryOptions = useMemo<InfiniteOptions<EveryskFile[]>>(() => ({\n ...defaultQueryOptions,\n ...(queryOptions ?? {}),\n }), [queryOptions]);\n\n const query = useInfiniteQuery<FileListResponse, Error, EveryskFile[], QueryKey, PageToken>({\n queryKey,\n initialPageParam: null,\n getNextPageParam: (lastPage) => lastPage.next_page_token ?? undefined,\n\n queryFn: async ({ pageParam }) => {\n const queryFilter = buildQueryObject({\n filters,\n order,\n projection,\n pageSize,\n pageToken: pageParam ?? undefined,\n });\n\n return await listFiles(api, queryFilter);\n },\n\n select: (data) => data.pages.flatMap((p) => p.files),\n\n ...mergedQueryOptions,\n });\n\n return {\n query,\n queryKey,\n };\n}"],"mappings":";;;;;;AAoBA,IAAM,sBAAsD;CACxD,gBAAgB;CAChB,WAAW;CACX,QAAQ;AACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,SAAgB,cAAc,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,aAAa,IAAI,WAAW,IAAI,gBAAwC;CAC9H,MAAM,EAAE,QAAQ,SAAS;CAEzB,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,OAAO;CAEjD,MAAM,qBAAqB,eAA+C;EACtE,GAAG;EACH,GAAI,gBAAgB,CAAC;CACzB,IAAI,CAAC,YAAY,CAAC;CAwBlB,OAAO;EACH,OAvBU,iBAA8E;GACxF;GACA,kBAAkB;GAClB,mBAAmB,aAAa,SAAS,mBAAmB,KAAA;GAE5D,SAAS,OAAO,EAAE,gBAAgB;IAC9B,MAAM,cAAc,iBAAiB;KACjC;KACA;KACA;KACA;KACA,WAAW,aAAa,KAAA;IAC5B,CAAC;IAED,OAAO,MAAM,UAAU,KAAK,WAAW;GAC3C;GAEA,SAAS,SAAS,KAAK,MAAM,SAAS,MAAM,EAAE,KAAK;GAEnD,GAAG;EACP,CAGI;EACA;CACJ;AACJ"}
@@ -0,0 +1,161 @@
1
+ import type { EveryskFile } from "../../types/file.d.ts";
2
+ type CreateFileProps = {
3
+ data: Partial<EveryskFile>;
4
+ };
5
+ type UpdateFileProps = {
6
+ id: string;
7
+ data: Partial<EveryskFile>;
8
+ };
9
+ type DeleteFileProps = {
10
+ id: string;
11
+ workspace: string;
12
+ };
13
+ type UseFileMutationsProps = {
14
+ queryKey?: unknown[];
15
+ };
16
+ /**
17
+ * useFileMutations
18
+ *
19
+ * Mutation hook built on TanStack Query to perform EveryskFile write operations:
20
+ * - create a file (POST)
21
+ * - update a file (PUT)
22
+ * - delete a file (DELETE)
23
+ *
24
+ * It also:
25
+ * - optionally invalidates a target query cache key after successful mutations
26
+ * - displays success/error alerts via `useAppAlert`
27
+ *
28
+ * Important notes:
29
+ * - This hook is intended for side-effect operations only. Reading/retrieving data should be done via `useQuery` or `useFetchFile`.
30
+ * - Cache invalidation is controlled by `queryKey`. If `queryKey` is not provided, the hook will still run
31
+ * mutations and show alerts, but it will NOT invalidate any cached queries.
32
+ * - `remove` requires a `workspace` parameter because the underlying API helper `deleteFile(api, id, workspace)`
33
+ * expects it as a query param.
34
+ *
35
+ * - EveryskFile content (`data`):
36
+ * - When creating/updating a file, the file content must be provided in `data` as a Base64-encoded string.
37
+ * - Send only the raw Base64 content (do not include a data URL prefix like `data:<mime>;base64,`)
38
+ * - `content_type` should match the file MIME type (e.g., "text/csv", "application/pdf").
39
+ *
40
+ * Parameters (UseFileMutationsProps):
41
+ * @param {unknown[]} [queryKey]
42
+ * Query key to invalidate after successful mutations. Use the same `queryKey` you pass to the relevant `useQuery`
43
+ * (e.g., file list/detail) so UI data is refreshed automatically after a write.
44
+ *
45
+ * Tip:
46
+ * - If you're using `useFetchFile`, you can pass its returned `queryKey` directly:
47
+ * `const fetch = useFetchFile(...);`
48
+ * `useFileMutations({ queryKey: fetch.queryKey });`
49
+ *
50
+ * Mutations:
51
+ * - `create`:
52
+ * - mutationFn: `createFile(api, data)`
53
+ * - variables: `{ data: Partial<EveryskFile> }`
54
+ * - success message: "EveryskFile created successfully."
55
+ * - error message: "Unable to create the file. Please try again." (fallback)
56
+ *
57
+ * - `update`:
58
+ * - mutationFn: `updateFile(api, id, data)`
59
+ * - variables: `{ id: string; data: Partial<EveryskFile> }`
60
+ * - success message: "EveryskFile updated successfully."
61
+ * - error message: "Unable to update the file. Please try again." (fallback)
62
+ *
63
+ * - `remove`:
64
+ * - mutationFn: `deleteFile(api, id, workspace)`
65
+ * - variables: `{ id: string; workspace: string }`
66
+ * - success message: "EveryskFile deleted successfully."
67
+ * - error message: "Unable to delete the file. Please try again." (fallback)
68
+ *
69
+ * Return value:
70
+ * @returns {object}
71
+ * Returns an object with the three TanStack Query mutation results:
72
+ * - `create`: UseMutationResult<EveryskFile, Error, CreateFileProps, unknown>
73
+ * - `update`: UseMutationResult<EveryskFile, Error, UpdateFileProps, unknown>
74
+ * - `remove`: UseMutationResult<EveryskFile, Error, DeleteFileProps, unknown>
75
+ *
76
+ * Each mutation includes standard TanStack Query helpers:
77
+ * - `mutate(variables, options?)`
78
+ * - `mutateAsync(variables, options?)`
79
+ * - `isPending`, `isSuccess`, `isError`, `error`, `data`, etc.
80
+ *
81
+ * Examples:
82
+ *
83
+ * 1) Invalidate a file list query after mutations:
84
+ * ```ts
85
+ * const { create, update, remove } = useFileMutations({ queryKey: ["file"] });
86
+ *
87
+ * // Create
88
+ * create.mutate({
89
+ * data: {
90
+ * name: "My file",
91
+ * workspace: "ws-1",
92
+ * content_type: "text/plain",
93
+ * version: "1",
94
+ * link_uid: null,
95
+ * data: "SGVsbG8gd29ybGQ=", // Base64 content
96
+ * }
97
+ * });
98
+ *
99
+ * // Update
100
+ * update.mutate({
101
+ * id: "file-123",
102
+ * data: {
103
+ * name: "Renamed file",
104
+ * content_type: "text/plain",
105
+ * data: "SGVsbG8gd29ybGQ=", // Base64 content (optional if only renaming)
106
+ * }
107
+ * });
108
+ *
109
+ * // Delete
110
+ * remove.mutate({ id: "file-123", workspace: "ws-1" });
111
+ * ```
112
+ *
113
+ * 2) Using async/await with `mutateAsync`:
114
+ * ```ts
115
+ * const { create } = useFileMutations({ queryKey: ["file"] });
116
+ *
117
+ * await create.mutateAsync({
118
+ * data: {
119
+ * name: "My file",
120
+ * workspace: "ws-1",
121
+ * content_type: "text/plain",
122
+ * version: "1",
123
+ * link_uid: null,
124
+ * data: "SGVsbG8gd29ybGQ=",
125
+ * }
126
+ * });
127
+ * ```
128
+ *
129
+ * 3) Without cache invalidation (no queryKey):
130
+ * ```ts
131
+ * const { update } = useFileMutations({});
132
+ *
133
+ * update.mutate({
134
+ * id: "file-123",
135
+ * data: {
136
+ * name: "New name",
137
+ * content_type: "text/plain",
138
+ * }
139
+ * });
140
+ * // Mutation still runs and alerts are shown, but cached queries are not invalidated.
141
+ * ```
142
+ *
143
+ * 4) Using `useFetchFile` queryKey for automatic invalidation:
144
+ * ```ts
145
+ * const fetch = useFetchFile({
146
+ * id: null,
147
+ * filters: [{ field: "workspace", value: "ws-1" }],
148
+ * });
149
+ *
150
+ * const { remove } = useFileMutations({ queryKey: fetch.queryKey });
151
+ *
152
+ * await remove.mutateAsync({ id: "file-123", workspace: "ws-1" });
153
+ * ```
154
+ */
155
+ export declare const useFileMutations: ({ queryKey }: UseFileMutationsProps) => {
156
+ create: import("@tanstack/react-query").UseMutationResult<EveryskFile, unknown, CreateFileProps, unknown>;
157
+ update: import("@tanstack/react-query").UseMutationResult<EveryskFile, unknown, UpdateFileProps, unknown>;
158
+ remove: import("@tanstack/react-query").UseMutationResult<import("../..").DeleteEntityDefaultResponse[], unknown, DeleteFileProps, unknown>;
159
+ };
160
+ export {};
161
+ //# sourceMappingURL=useFileMutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileMutations.d.ts","sourceRoot":"","sources":["../../../src/hooks/file/useFileMutations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0IG;AAEH,eAAO,MAAM,gBAAgB,GAAI,cAAc,qBAAqB;;;;CAuEnE,CAAC"}
@@ -0,0 +1,208 @@
1
+ import { useAppAlert } from "../../contexts/appAlertContext/useAppAlert.js";
2
+ import { useAxios } from "../useAxios.js";
3
+ import { createFile, deleteFile, updateFile } from "../../api/file.js";
4
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
5
+ //#region src/hooks/file/useFileMutations.ts
6
+ var getErrorMessage = (err, fallback) => err instanceof Error && err.message ? err.message : fallback;
7
+ /**
8
+ * useFileMutations
9
+ *
10
+ * Mutation hook built on TanStack Query to perform EveryskFile write operations:
11
+ * - create a file (POST)
12
+ * - update a file (PUT)
13
+ * - delete a file (DELETE)
14
+ *
15
+ * It also:
16
+ * - optionally invalidates a target query cache key after successful mutations
17
+ * - displays success/error alerts via `useAppAlert`
18
+ *
19
+ * Important notes:
20
+ * - This hook is intended for side-effect operations only. Reading/retrieving data should be done via `useQuery` or `useFetchFile`.
21
+ * - Cache invalidation is controlled by `queryKey`. If `queryKey` is not provided, the hook will still run
22
+ * mutations and show alerts, but it will NOT invalidate any cached queries.
23
+ * - `remove` requires a `workspace` parameter because the underlying API helper `deleteFile(api, id, workspace)`
24
+ * expects it as a query param.
25
+ *
26
+ * - EveryskFile content (`data`):
27
+ * - When creating/updating a file, the file content must be provided in `data` as a Base64-encoded string.
28
+ * - Send only the raw Base64 content (do not include a data URL prefix like `data:<mime>;base64,`)
29
+ * - `content_type` should match the file MIME type (e.g., "text/csv", "application/pdf").
30
+ *
31
+ * Parameters (UseFileMutationsProps):
32
+ * @param {unknown[]} [queryKey]
33
+ * Query key to invalidate after successful mutations. Use the same `queryKey` you pass to the relevant `useQuery`
34
+ * (e.g., file list/detail) so UI data is refreshed automatically after a write.
35
+ *
36
+ * Tip:
37
+ * - If you're using `useFetchFile`, you can pass its returned `queryKey` directly:
38
+ * `const fetch = useFetchFile(...);`
39
+ * `useFileMutations({ queryKey: fetch.queryKey });`
40
+ *
41
+ * Mutations:
42
+ * - `create`:
43
+ * - mutationFn: `createFile(api, data)`
44
+ * - variables: `{ data: Partial<EveryskFile> }`
45
+ * - success message: "EveryskFile created successfully."
46
+ * - error message: "Unable to create the file. Please try again." (fallback)
47
+ *
48
+ * - `update`:
49
+ * - mutationFn: `updateFile(api, id, data)`
50
+ * - variables: `{ id: string; data: Partial<EveryskFile> }`
51
+ * - success message: "EveryskFile updated successfully."
52
+ * - error message: "Unable to update the file. Please try again." (fallback)
53
+ *
54
+ * - `remove`:
55
+ * - mutationFn: `deleteFile(api, id, workspace)`
56
+ * - variables: `{ id: string; workspace: string }`
57
+ * - success message: "EveryskFile deleted successfully."
58
+ * - error message: "Unable to delete the file. Please try again." (fallback)
59
+ *
60
+ * Return value:
61
+ * @returns {object}
62
+ * Returns an object with the three TanStack Query mutation results:
63
+ * - `create`: UseMutationResult<EveryskFile, Error, CreateFileProps, unknown>
64
+ * - `update`: UseMutationResult<EveryskFile, Error, UpdateFileProps, unknown>
65
+ * - `remove`: UseMutationResult<EveryskFile, Error, DeleteFileProps, unknown>
66
+ *
67
+ * Each mutation includes standard TanStack Query helpers:
68
+ * - `mutate(variables, options?)`
69
+ * - `mutateAsync(variables, options?)`
70
+ * - `isPending`, `isSuccess`, `isError`, `error`, `data`, etc.
71
+ *
72
+ * Examples:
73
+ *
74
+ * 1) Invalidate a file list query after mutations:
75
+ * ```ts
76
+ * const { create, update, remove } = useFileMutations({ queryKey: ["file"] });
77
+ *
78
+ * // Create
79
+ * create.mutate({
80
+ * data: {
81
+ * name: "My file",
82
+ * workspace: "ws-1",
83
+ * content_type: "text/plain",
84
+ * version: "1",
85
+ * link_uid: null,
86
+ * data: "SGVsbG8gd29ybGQ=", // Base64 content
87
+ * }
88
+ * });
89
+ *
90
+ * // Update
91
+ * update.mutate({
92
+ * id: "file-123",
93
+ * data: {
94
+ * name: "Renamed file",
95
+ * content_type: "text/plain",
96
+ * data: "SGVsbG8gd29ybGQ=", // Base64 content (optional if only renaming)
97
+ * }
98
+ * });
99
+ *
100
+ * // Delete
101
+ * remove.mutate({ id: "file-123", workspace: "ws-1" });
102
+ * ```
103
+ *
104
+ * 2) Using async/await with `mutateAsync`:
105
+ * ```ts
106
+ * const { create } = useFileMutations({ queryKey: ["file"] });
107
+ *
108
+ * await create.mutateAsync({
109
+ * data: {
110
+ * name: "My file",
111
+ * workspace: "ws-1",
112
+ * content_type: "text/plain",
113
+ * version: "1",
114
+ * link_uid: null,
115
+ * data: "SGVsbG8gd29ybGQ=",
116
+ * }
117
+ * });
118
+ * ```
119
+ *
120
+ * 3) Without cache invalidation (no queryKey):
121
+ * ```ts
122
+ * const { update } = useFileMutations({});
123
+ *
124
+ * update.mutate({
125
+ * id: "file-123",
126
+ * data: {
127
+ * name: "New name",
128
+ * content_type: "text/plain",
129
+ * }
130
+ * });
131
+ * // Mutation still runs and alerts are shown, but cached queries are not invalidated.
132
+ * ```
133
+ *
134
+ * 4) Using `useFetchFile` queryKey for automatic invalidation:
135
+ * ```ts
136
+ * const fetch = useFetchFile({
137
+ * id: null,
138
+ * filters: [{ field: "workspace", value: "ws-1" }],
139
+ * });
140
+ *
141
+ * const { remove } = useFileMutations({ queryKey: fetch.queryKey });
142
+ *
143
+ * await remove.mutateAsync({ id: "file-123", workspace: "ws-1" });
144
+ * ```
145
+ */
146
+ var useFileMutations = ({ queryKey }) => {
147
+ const { api } = useAxios();
148
+ const { showAlert } = useAppAlert();
149
+ const queryClient = useQueryClient();
150
+ const invalidate = async () => {
151
+ if (!queryKey?.length) return;
152
+ await queryClient.invalidateQueries({ queryKey });
153
+ };
154
+ return {
155
+ create: useMutation({
156
+ mutationFn: async ({ data }) => createFile(api, data),
157
+ onSuccess: async () => {
158
+ await invalidate();
159
+ showAlert({
160
+ severity: "success",
161
+ message: "EveryskFile created successfully."
162
+ });
163
+ },
164
+ onError: (err) => {
165
+ showAlert({
166
+ severity: "error",
167
+ message: getErrorMessage(err, "Unable to create the file. Please try again.")
168
+ });
169
+ }
170
+ }),
171
+ update: useMutation({
172
+ mutationFn: async ({ id, data }) => updateFile(api, id, data),
173
+ onSuccess: async () => {
174
+ await invalidate();
175
+ showAlert({
176
+ severity: "success",
177
+ message: "EveryskFile updated successfully."
178
+ });
179
+ },
180
+ onError: (err) => {
181
+ showAlert({
182
+ severity: "error",
183
+ message: getErrorMessage(err, "Unable to update the file. Please try again.")
184
+ });
185
+ }
186
+ }),
187
+ remove: useMutation({
188
+ mutationFn: async ({ id, workspace }) => deleteFile(api, id, workspace),
189
+ onSuccess: async () => {
190
+ await invalidate();
191
+ showAlert({
192
+ severity: "success",
193
+ message: "EveryskFile deleted successfully."
194
+ });
195
+ },
196
+ onError: (err) => {
197
+ showAlert({
198
+ severity: "error",
199
+ message: getErrorMessage(err, "Unable to delete the file. Please try again.")
200
+ });
201
+ }
202
+ })
203
+ };
204
+ };
205
+ //#endregion
206
+ export { useFileMutations };
207
+
208
+ //# sourceMappingURL=useFileMutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileMutations.js","names":[],"sources":["../../../src/hooks/file/useFileMutations.ts"],"sourcesContent":["import { useMutation, useQueryClient } from \"@tanstack/react-query\";\n\nimport { useAxios } from \"@/hooks/useAxios\";\nimport { useAppAlert } from \"@/contexts/appAlertContext/useAppAlert\";\nimport type { EveryskFile } from \"@/types/file\";\nimport { deleteFile, createFile, updateFile } from \"@/api/file\";\n\ntype CreateFileProps = {\n data: Partial<EveryskFile>;\n};\n\ntype UpdateFileProps = {\n id: string;\n data: Partial<EveryskFile>;\n};\n\ntype DeleteFileProps = {\n id: string;\n workspace: string;\n};\n\ntype UseFileMutationsProps = {\n queryKey?: unknown[];\n};\n\nconst getErrorMessage = (err: unknown, fallback: string) =>\n err instanceof Error && err.message ? err.message : fallback;\n\n/**\n * useFileMutations\n *\n * Mutation hook built on TanStack Query to perform EveryskFile write operations:\n * - create a file (POST)\n * - update a file (PUT)\n * - delete a file (DELETE)\n *\n * It also:\n * - optionally invalidates a target query cache key after successful mutations\n * - displays success/error alerts via `useAppAlert`\n *\n * Important notes:\n * - This hook is intended for side-effect operations only. Reading/retrieving data should be done via `useQuery` or `useFetchFile`.\n * - Cache invalidation is controlled by `queryKey`. If `queryKey` is not provided, the hook will still run\n * mutations and show alerts, but it will NOT invalidate any cached queries.\n * - `remove` requires a `workspace` parameter because the underlying API helper `deleteFile(api, id, workspace)`\n * expects it as a query param.\n * \n * - EveryskFile content (`data`):\n * - When creating/updating a file, the file content must be provided in `data` as a Base64-encoded string.\n * - Send only the raw Base64 content (do not include a data URL prefix like `data:<mime>;base64,`)\n * - `content_type` should match the file MIME type (e.g., \"text/csv\", \"application/pdf\").\n *\n * Parameters (UseFileMutationsProps):\n * @param {unknown[]} [queryKey]\n * Query key to invalidate after successful mutations. Use the same `queryKey` you pass to the relevant `useQuery`\n * (e.g., file list/detail) so UI data is refreshed automatically after a write.\n *\n * Tip:\n * - If you're using `useFetchFile`, you can pass its returned `queryKey` directly:\n * `const fetch = useFetchFile(...);`\n * `useFileMutations({ queryKey: fetch.queryKey });`\n *\n * Mutations:\n * - `create`:\n * - mutationFn: `createFile(api, data)`\n * - variables: `{ data: Partial<EveryskFile> }`\n * - success message: \"EveryskFile created successfully.\"\n * - error message: \"Unable to create the file. Please try again.\" (fallback)\n *\n * - `update`:\n * - mutationFn: `updateFile(api, id, data)`\n * - variables: `{ id: string; data: Partial<EveryskFile> }`\n * - success message: \"EveryskFile updated successfully.\"\n * - error message: \"Unable to update the file. Please try again.\" (fallback)\n *\n * - `remove`:\n * - mutationFn: `deleteFile(api, id, workspace)`\n * - variables: `{ id: string; workspace: string }`\n * - success message: \"EveryskFile deleted successfully.\"\n * - error message: \"Unable to delete the file. Please try again.\" (fallback)\n *\n * Return value:\n * @returns {object}\n * Returns an object with the three TanStack Query mutation results:\n * - `create`: UseMutationResult<EveryskFile, Error, CreateFileProps, unknown>\n * - `update`: UseMutationResult<EveryskFile, Error, UpdateFileProps, unknown>\n * - `remove`: UseMutationResult<EveryskFile, Error, DeleteFileProps, unknown>\n *\n * Each mutation includes standard TanStack Query helpers:\n * - `mutate(variables, options?)`\n * - `mutateAsync(variables, options?)`\n * - `isPending`, `isSuccess`, `isError`, `error`, `data`, etc.\n *\n * Examples:\n *\n * 1) Invalidate a file list query after mutations:\n * ```ts\n * const { create, update, remove } = useFileMutations({ queryKey: [\"file\"] });\n *\n * // Create\n * create.mutate({\n * data: {\n * name: \"My file\",\n * workspace: \"ws-1\",\n * content_type: \"text/plain\",\n * version: \"1\",\n * link_uid: null,\n * data: \"SGVsbG8gd29ybGQ=\", // Base64 content\n * }\n * });\n *\n * // Update\n * update.mutate({\n * id: \"file-123\",\n * data: {\n * name: \"Renamed file\",\n * content_type: \"text/plain\",\n * data: \"SGVsbG8gd29ybGQ=\", // Base64 content (optional if only renaming)\n * }\n * });\n *\n * // Delete\n * remove.mutate({ id: \"file-123\", workspace: \"ws-1\" });\n * ```\n *\n * 2) Using async/await with `mutateAsync`:\n * ```ts\n * const { create } = useFileMutations({ queryKey: [\"file\"] });\n *\n * await create.mutateAsync({\n * data: {\n * name: \"My file\",\n * workspace: \"ws-1\",\n * content_type: \"text/plain\",\n * version: \"1\",\n * link_uid: null,\n * data: \"SGVsbG8gd29ybGQ=\",\n * }\n * });\n * ```\n *\n * 3) Without cache invalidation (no queryKey):\n * ```ts\n * const { update } = useFileMutations({});\n *\n * update.mutate({\n * id: \"file-123\",\n * data: {\n * name: \"New name\",\n * content_type: \"text/plain\",\n * }\n * });\n * // Mutation still runs and alerts are shown, but cached queries are not invalidated.\n * ```\n *\n * 4) Using `useFetchFile` queryKey for automatic invalidation:\n * ```ts\n * const fetch = useFetchFile({\n * id: null,\n * filters: [{ field: \"workspace\", value: \"ws-1\" }],\n * });\n *\n * const { remove } = useFileMutations({ queryKey: fetch.queryKey });\n *\n * await remove.mutateAsync({ id: \"file-123\", workspace: \"ws-1\" });\n * ```\n */\n\nexport const useFileMutations = ({ queryKey }: UseFileMutationsProps) => {\n const { api } = useAxios();\n const { showAlert } = useAppAlert();\n const queryClient = useQueryClient();\n\n const invalidate = async () => {\n if (!queryKey?.length) return;\n await queryClient.invalidateQueries({ queryKey });\n };\n\n const create = useMutation({\n mutationFn: async ({ data }: CreateFileProps) => createFile(api, data),\n onSuccess: async () => {\n await invalidate();\n showAlert({\n severity: \"success\",\n message: \"EveryskFile created successfully.\",\n });\n },\n onError: (err: unknown) => {\n showAlert({\n severity: \"error\",\n message: getErrorMessage(\n err,\n \"Unable to create the file. Please try again.\"\n ),\n });\n },\n });\n\n const update = useMutation({\n mutationFn: async ({ id, data }: UpdateFileProps) => updateFile(api, id, data),\n onSuccess: async () => {\n await invalidate();\n showAlert({\n severity: \"success\",\n message: \"EveryskFile updated successfully.\",\n });\n },\n onError: (err: unknown) => {\n showAlert({\n severity: \"error\",\n message: getErrorMessage(\n err,\n \"Unable to update the file. Please try again.\"\n ),\n });\n },\n });\n\n const remove = useMutation({\n mutationFn: async ({ id, workspace }: DeleteFileProps) => deleteFile(api, id, workspace),\n onSuccess: async () => {\n await invalidate();\n showAlert({\n severity: \"success\",\n message: \"EveryskFile deleted successfully.\",\n });\n },\n onError: (err: unknown) => {\n showAlert({\n severity: \"error\",\n message: getErrorMessage(\n err,\n \"Unable to delete the file. Please try again.\"\n ),\n });\n },\n });\n\n return { create, update, remove };\n};\n"],"mappings":";;;;;AAyBA,IAAM,mBAAmB,KAAc,aACnC,eAAe,SAAS,IAAI,UAAU,IAAI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IxD,IAAa,oBAAoB,EAAE,eAAsC;CACrE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,cAAc,YAAY;CAClC,MAAM,cAAc,eAAe;CAEnC,MAAM,aAAa,YAAY;EAC3B,IAAI,CAAC,UAAU,QAAQ;EACvB,MAAM,YAAY,kBAAkB,EAAE,SAAS,CAAC;CACpD;CA8DA,OAAO;EAAE,QA5DM,YAAY;GACvB,YAAY,OAAO,EAAE,WAA4B,WAAW,KAAK,IAAI;GACrE,WAAW,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU;KACN,UAAU;KACV,SAAS;IACb,CAAC;GACL;GACA,UAAU,QAAiB;IACvB,UAAU;KACN,UAAU;KACV,SAAS,gBACL,KACA,8CACJ;IACJ,CAAC;GACL;EACJ,CA0CS;EAAQ,QAxCF,YAAY;GACvB,YAAY,OAAO,EAAE,IAAI,WAA4B,WAAW,KAAK,IAAI,IAAI;GAC7E,WAAW,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU;KACN,UAAU;KACV,SAAS;IACb,CAAC;GACL;GACA,UAAU,QAAiB;IACvB,UAAU;KACN,UAAU;KACV,SAAS,gBACL,KACA,8CACJ;IACJ,CAAC;GACL;EACJ,CAsBiB;EAAQ,QApBV,YAAY;GACvB,YAAY,OAAO,EAAE,IAAI,gBAAiC,WAAW,KAAK,IAAI,SAAS;GACvF,WAAW,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU;KACN,UAAU;KACV,SAAS;IACb,CAAC;GACL;GACA,UAAU,QAAiB;IACvB,UAAU;KACN,UAAU;KACV,SAAS,gBACL,KACA,8CACJ;IACJ,CAAC;GACL;EACJ,CAEyB;CAAO;AACpC"}