@postgres.ai/shared 3.5.0-pr-1027 → 3.5.0-pr-1035.1

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 (503) hide show
  1. package/components/AlertSnackbar/index.d.ts +2 -0
  2. package/components/AlertSnackbar/index.js +8 -0
  3. package/components/AlertSnackbar/useAlertSnackbar.d.ts +16 -0
  4. package/components/AlertSnackbar/useAlertSnackbar.js +37 -0
  5. package/components/Button/index.d.ts +7 -0
  6. package/components/Button/index.js +40 -0
  7. package/components/Button2/index.d.ts +13 -0
  8. package/components/Button2/index.js +10 -0
  9. package/components/DestroyCloneModal/index.d.ts +9 -0
  10. package/components/DestroyCloneModal/index.js +23 -0
  11. package/components/DestroyCloneRestrictionModal/index.d.ts +11 -0
  12. package/components/DestroyCloneRestrictionModal/index.js +16 -0
  13. package/components/ErrorStub/index.d.ts +11 -0
  14. package/components/ErrorStub/index.js +42 -0
  15. package/components/FormattedText/index.d.ts +7 -0
  16. package/components/FormattedText/index.js +23 -0
  17. package/components/GatewayLink/index.d.ts +4 -0
  18. package/components/GatewayLink/index.js +13 -0
  19. package/components/HorizontalScrollContainer/index.d.ts +13 -0
  20. package/components/HorizontalScrollContainer/index.js +72 -0
  21. package/components/HorizontalScrollContainer/types.d.ts +5 -0
  22. package/components/HorizontalScrollContainer/{types.ts → types.js} +1 -6
  23. package/components/HorizontalScrollContainer/utils.d.ts +3 -0
  24. package/components/HorizontalScrollContainer/utils.js +12 -0
  25. package/components/ImportantText/index.d.ts +6 -0
  26. package/components/ImportantText/index.js +12 -0
  27. package/components/Link2/index.d.ts +7 -0
  28. package/components/Link2/index.js +17 -0
  29. package/components/MenuButton/index.d.ts +24 -0
  30. package/components/MenuButton/index.js +16 -0
  31. package/components/Modal/index.d.ts +15 -0
  32. package/components/Modal/index.js +35 -0
  33. package/components/PageSpinner/index.d.ts +2 -0
  34. package/components/PageSpinner/{index.tsx → index.js} +5 -11
  35. package/components/ResetCloneModal/index.d.ts +13 -0
  36. package/components/ResetCloneModal/index.js +87 -0
  37. package/components/SectionTitle/index.d.ts +12 -0
  38. package/components/SectionTitle/index.js +31 -0
  39. package/components/Select/index.d.ts +18 -0
  40. package/components/Select/index.js +9 -0
  41. package/components/SimpleModalControls/index.d.ts +11 -0
  42. package/components/SimpleModalControls/index.js +19 -0
  43. package/components/Spinner/icon.d.ts +4 -0
  44. package/components/Spinner/icon.js +2 -0
  45. package/components/Spinner/index.d.ts +7 -0
  46. package/components/Spinner/index.js +8 -0
  47. package/components/Status/index.d.ts +12 -0
  48. package/components/Status/index.js +23 -0
  49. package/components/StubContainer/index.d.ts +7 -0
  50. package/components/StubContainer/index.js +14 -0
  51. package/components/StubSpinner/index.d.ts +8 -0
  52. package/components/StubSpinner/index.js +29 -0
  53. package/components/StubSpinnerFlex/index.d.ts +9 -0
  54. package/components/StubSpinnerFlex/index.js +8 -0
  55. package/components/SyntaxHighlight/index.d.ts +7 -0
  56. package/components/SyntaxHighlight/index.js +65 -0
  57. package/components/Table/RowMenu/index.d.ts +14 -0
  58. package/components/Table/RowMenu/index.js +50 -0
  59. package/components/Table/index.d.ts +12 -0
  60. package/components/Table/index.js +58 -0
  61. package/components/Text/index.d.ts +6 -0
  62. package/components/Text/index.js +11 -0
  63. package/components/TextField/index.d.ts +27 -0
  64. package/components/TextField/index.js +43 -0
  65. package/components/Tooltip/index.d.ts +12 -0
  66. package/components/Tooltip/index.js +19 -0
  67. package/config/index.d.ts +8 -0
  68. package/config/index.js +23 -0
  69. package/config/links.d.ts +6 -0
  70. package/config/links.js +6 -0
  71. package/helpers/getEntropy.d.ts +3 -0
  72. package/helpers/getEntropy.js +212 -0
  73. package/helpers/localStorage.d.ts +6 -0
  74. package/helpers/localStorage.js +13 -0
  75. package/helpers/request.d.ts +7 -0
  76. package/helpers/request.js +35 -0
  77. package/hooks/useWindowDimensions.d.ts +1 -0
  78. package/hooks/useWindowDimensions.js +12 -0
  79. package/icons/ArrowDropDown/index.d.ts +6 -0
  80. package/icons/ArrowDropDown/index.js +6 -0
  81. package/icons/Circle/index.d.ts +6 -0
  82. package/icons/Circle/index.js +5 -0
  83. package/icons/External/index.d.ts +4 -0
  84. package/icons/External/index.js +2 -0
  85. package/icons/Info/index.d.ts +4 -0
  86. package/icons/Info/index.js +2 -0
  87. package/icons/Renewable/index.d.ts +6 -0
  88. package/icons/Renewable/index.js +12 -0
  89. package/icons/Shield/index.d.ts +6 -0
  90. package/icons/Shield/index.js +12 -0
  91. package/icons/Warning/index.d.ts +6 -0
  92. package/icons/Warning/index.js +6 -0
  93. package/package.json +5 -13
  94. package/pages/Clone/Status/index.d.ts +8 -0
  95. package/pages/Clone/Status/index.js +38 -0
  96. package/pages/Clone/context.d.ts +19 -0
  97. package/pages/Clone/context.js +3 -0
  98. package/pages/Clone/index.d.ts +7 -0
  99. package/pages/Clone/index.js +221 -0
  100. package/pages/Clone/stores/Main.d.ts +45 -0
  101. package/pages/Clone/stores/Main.js +141 -0
  102. package/pages/Clone/useCreatedStores.d.ts +6 -0
  103. package/pages/Clone/useCreatedStores.js +5 -0
  104. package/pages/Configuration/Header/index.d.ts +11 -0
  105. package/pages/Configuration/Header/index.js +17 -0
  106. package/pages/Configuration/InputWithTooltip/index.d.ts +32 -0
  107. package/pages/Configuration/InputWithTooltip/index.js +60 -0
  108. package/pages/Configuration/ResponseMessage/index.d.ts +5 -0
  109. package/pages/Configuration/ResponseMessage/index.js +43 -0
  110. package/pages/Configuration/configOptions.d.ts +9 -0
  111. package/pages/Configuration/configOptions.js +59 -0
  112. package/pages/Configuration/index.d.ts +9 -0
  113. package/pages/Configuration/index.js +544 -0
  114. package/pages/Configuration/tooltipText.d.ts +20 -0
  115. package/pages/Configuration/tooltipText.js +21 -0
  116. package/pages/Configuration/useForm.d.ts +82 -0
  117. package/pages/Configuration/useForm.js +74 -0
  118. package/pages/Configuration/utils/index.d.ts +22 -0
  119. package/pages/Configuration/utils/index.js +105 -0
  120. package/pages/CreateClone/index.d.ts +17 -0
  121. package/pages/CreateClone/index.js +90 -0
  122. package/pages/CreateClone/stores/Main.d.ts +26 -0
  123. package/pages/CreateClone/stores/Main.js +61 -0
  124. package/pages/CreateClone/useCreatedStores.d.ts +6 -0
  125. package/pages/CreateClone/useCreatedStores.js +5 -0
  126. package/pages/CreateClone/useForm.d.ts +54 -0
  127. package/pages/CreateClone/useForm.js +25 -0
  128. package/pages/Instance/Clones/Header/Item/index.d.ts +7 -0
  129. package/pages/Instance/Clones/Header/Item/index.js +5 -0
  130. package/pages/Instance/Clones/Header/index.d.ts +9 -0
  131. package/pages/Instance/Clones/Header/index.js +16 -0
  132. package/pages/Instance/Clones/index.d.ts +4 -0
  133. package/pages/Instance/Clones/index.js +66 -0
  134. package/pages/Instance/ClonesModal/index.d.ts +4 -0
  135. package/pages/Instance/ClonesModal/index.js +38 -0
  136. package/pages/Instance/ClonesModal/utils.d.ts +7 -0
  137. package/pages/Instance/ClonesModal/utils.js +14 -0
  138. package/pages/Instance/InactiveInstance/index.d.ts +6 -0
  139. package/pages/Instance/InactiveInstance/index.js +65 -0
  140. package/pages/Instance/InactiveInstance/utils.d.ts +2 -0
  141. package/pages/Instance/InactiveInstance/utils.js +7 -0
  142. package/pages/Instance/Info/Connection/ConnectModal/Content/index.d.ts +4 -0
  143. package/pages/Instance/Info/Connection/ConnectModal/Content/index.js +73 -0
  144. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.d.ts +3 -0
  145. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.js +20 -0
  146. package/pages/Instance/Info/Connection/ConnectModal/index.d.ts +6 -0
  147. package/pages/Instance/Info/Connection/ConnectModal/index.js +17 -0
  148. package/pages/Instance/Info/Connection/index.d.ts +4 -0
  149. package/pages/Instance/Info/Connection/index.js +44 -0
  150. package/pages/Instance/Info/Details/index.d.ts +2 -0
  151. package/pages/Instance/Info/Details/index.js +6 -0
  152. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.d.ts +8 -0
  153. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.js +47 -0
  154. package/pages/Instance/Info/Disks/Disk/Marker/index.d.ts +6 -0
  155. package/pages/Instance/Info/Disks/Disk/Marker/index.js +15 -0
  156. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.d.ts +5 -0
  157. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.js +2 -0
  158. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.d.ts +8 -0
  159. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.js +45 -0
  160. package/pages/Instance/Info/Disks/Disk/Status/index.d.ts +6 -0
  161. package/pages/Instance/Info/Disks/Disk/Status/index.js +52 -0
  162. package/pages/Instance/Info/Disks/Disk/index.d.ts +15 -0
  163. package/pages/Instance/Info/Disks/Disk/index.js +69 -0
  164. package/pages/Instance/Info/Disks/index.d.ts +4 -0
  165. package/pages/Instance/Info/Disks/index.js +24 -0
  166. package/pages/Instance/Info/Icons/index.d.ts +7 -0
  167. package/pages/Instance/Info/Icons/index.js +3 -0
  168. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.d.ts +4 -0
  169. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.js +15 -0
  170. package/pages/Instance/Info/Retrieval/RetrievalModal/index.d.ts +10 -0
  171. package/pages/Instance/Info/Retrieval/RetrievalModal/index.js +15 -0
  172. package/pages/Instance/Info/Retrieval/RetrievalTable/index.d.ts +6 -0
  173. package/pages/Instance/Info/Retrieval/RetrievalTable/index.js +6 -0
  174. package/pages/Instance/Info/Retrieval/index.d.ts +4 -0
  175. package/pages/Instance/Info/Retrieval/index.js +49 -0
  176. package/pages/Instance/Info/Retrieval/utils.d.ts +2 -0
  177. package/pages/Instance/Info/Retrieval/utils.js +12 -0
  178. package/pages/Instance/Info/Snapshots/Calendar/Day/index.d.ts +11 -0
  179. package/pages/Instance/Info/Snapshots/Calendar/Day/index.js +71 -0
  180. package/pages/Instance/Info/Snapshots/Calendar/index.d.ts +8 -0
  181. package/pages/Instance/Info/Snapshots/Calendar/index.js +67 -0
  182. package/pages/Instance/Info/Snapshots/Calendar/utils.d.ts +23 -0
  183. package/pages/Instance/Info/Snapshots/Calendar/utils.js +41 -0
  184. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.d.ts +6 -0
  185. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.js +58 -0
  186. package/pages/Instance/Info/Snapshots/TimeLine/index.d.ts +2 -0
  187. package/pages/Instance/Info/Snapshots/TimeLine/index.js +32 -0
  188. package/pages/Instance/Info/Snapshots/index.d.ts +4 -0
  189. package/pages/Instance/Info/Snapshots/index.js +35 -0
  190. package/pages/Instance/Info/Snapshots/utils.d.ts +23 -0
  191. package/pages/Instance/Info/Snapshots/utils.js +16 -0
  192. package/pages/Instance/Info/Status/InstanceResponseModal/index.d.ts +9 -0
  193. package/pages/Instance/Info/Status/InstanceResponseModal/index.js +12 -0
  194. package/pages/Instance/Info/Status/index.d.ts +4 -0
  195. package/pages/Instance/Info/Status/index.js +31 -0
  196. package/pages/Instance/Info/Status/utils.d.ts +8 -0
  197. package/pages/Instance/Info/Status/utils.js +23 -0
  198. package/pages/Instance/Info/components/Property/index.d.ts +11 -0
  199. package/pages/Instance/Info/components/Property/index.js +14 -0
  200. package/pages/Instance/Info/components/Section/index.d.ts +8 -0
  201. package/pages/Instance/Info/components/Section/index.js +18 -0
  202. package/pages/Instance/Info/components/ValueStatus/index.d.ts +9 -0
  203. package/pages/Instance/Info/components/ValueStatus/index.js +18 -0
  204. package/pages/Instance/Info/index.d.ts +2 -0
  205. package/pages/Instance/Info/index.js +75 -0
  206. package/pages/Instance/SnapshotsModal/index.d.ts +4 -0
  207. package/pages/Instance/SnapshotsModal/index.js +81 -0
  208. package/pages/Instance/SnapshotsModal/utils.d.ts +7 -0
  209. package/{components/HorizontalScrollContainer/utils.ts → pages/Instance/SnapshotsModal/utils.js} +8 -9
  210. package/pages/Instance/Tabs/index.d.ts +9 -0
  211. package/pages/Instance/Tabs/index.js +40 -0
  212. package/pages/Instance/components/ClonesList/ConnectionModal/index.d.ts +10 -0
  213. package/pages/Instance/components/ClonesList/ConnectionModal/index.js +74 -0
  214. package/pages/Instance/components/ClonesList/MenuCell/index.d.ts +11 -0
  215. package/pages/Instance/components/ClonesList/MenuCell/index.js +49 -0
  216. package/pages/Instance/components/ClonesList/MenuCell/utils.d.ts +3 -0
  217. package/pages/Instance/components/ClonesList/MenuCell/utils.js +18 -0
  218. package/pages/Instance/components/ClonesList/index.d.ts +9 -0
  219. package/pages/Instance/components/ClonesList/index.js +52 -0
  220. package/pages/Instance/components/ErrorStub/index.d.ts +9 -0
  221. package/pages/Instance/components/ErrorStub/index.js +42 -0
  222. package/pages/Instance/components/ModalReloadButton/index.d.ts +7 -0
  223. package/pages/Instance/components/ModalReloadButton/index.js +22 -0
  224. package/pages/Instance/components/Tags/Tag/index.d.ts +7 -0
  225. package/pages/Instance/components/Tags/Tag/index.js +35 -0
  226. package/pages/Instance/components/Tags/index.d.ts +8 -0
  227. package/pages/Instance/components/Tags/index.js +16 -0
  228. package/pages/Instance/context.d.ts +31 -0
  229. package/pages/Instance/{ClonesModal/utils.ts → context.js} +5 -15
  230. package/pages/Instance/index.d.ts +8 -0
  231. package/pages/Instance/index.js +93 -0
  232. package/pages/Instance/stores/ClonesModal.d.ts +13 -0
  233. package/pages/Instance/stores/ClonesModal.js +24 -0
  234. package/pages/Instance/stores/Main.d.ts +115 -0
  235. package/pages/Instance/stores/Main.js +243 -0
  236. package/pages/Instance/stores/SnapshotsModal.d.ts +13 -0
  237. package/pages/Instance/stores/SnapshotsModal.js +24 -0
  238. package/pages/Instance/useCreatedStores.d.ts +10 -0
  239. package/pages/Instance/useCreatedStores.js +9 -0
  240. package/pages/Logs/Icons/PlusIcon.d.ts +2 -0
  241. package/pages/Logs/Icons/PlusIcon.js +2 -0
  242. package/pages/Logs/constants/index.d.ts +5 -0
  243. package/pages/Logs/constants/index.js +5 -0
  244. package/pages/Logs/hooks/useWsScroll.d.ts +1 -0
  245. package/pages/Logs/hooks/useWsScroll.js +39 -0
  246. package/pages/Logs/index.d.ts +5 -0
  247. package/pages/Logs/index.js +189 -0
  248. package/pages/Logs/utils/index.d.ts +2 -0
  249. package/pages/Logs/utils/index.js +15 -0
  250. package/pages/Logs/wsLogs.d.ts +2 -0
  251. package/pages/Logs/wsLogs.js +76 -0
  252. package/pages/Logs/wsSnackbar.d.ts +1 -0
  253. package/pages/Logs/wsSnackbar.js +25 -0
  254. package/stores/Snapshots.d.ts +15 -0
  255. package/stores/Snapshots.js +35 -0
  256. package/styles/colors.d.ts +60 -0
  257. package/styles/colors.js +66 -0
  258. package/styles/icons.d.ts +63 -0
  259. package/styles/icons.js +69 -0
  260. package/styles/styles.d.ts +1 -0
  261. package/styles/styles.js +83 -0
  262. package/styles/theme.d.ts +1 -0
  263. package/styles/theme.js +50 -0
  264. package/styles/vars.d.ts +25 -0
  265. package/styles/{vars.ts → vars.js} +20 -28
  266. package/types/api/endpoints/createClone.d.ts +12 -0
  267. package/types/api/endpoints/createClone.js +1 -0
  268. package/types/api/endpoints/destroyClone.d.ts +7 -0
  269. package/types/api/endpoints/destroyClone.js +1 -0
  270. package/types/api/endpoints/getClone.d.ts +8 -0
  271. package/types/api/endpoints/getClone.js +1 -0
  272. package/types/api/endpoints/getConfig.d.ts +5 -0
  273. package/types/api/endpoints/getConfig.js +1 -0
  274. package/types/api/endpoints/getEngine.d.ts +10 -0
  275. package/types/api/endpoints/getEngine.js +1 -0
  276. package/types/api/endpoints/getFullConfig.d.ts +4 -0
  277. package/types/api/endpoints/getFullConfig.js +1 -0
  278. package/types/api/endpoints/getInstance.d.ts +7 -0
  279. package/types/api/endpoints/getInstance.js +1 -0
  280. package/types/api/endpoints/getInstanceRetrieval.d.ts +7 -0
  281. package/types/api/endpoints/getInstanceRetrieval.js +1 -0
  282. package/types/api/endpoints/getSeImages.d.ts +19 -0
  283. package/types/api/endpoints/getSeImages.js +1 -0
  284. package/types/api/endpoints/getSnapshots.d.ts +7 -0
  285. package/types/api/endpoints/getSnapshots.js +1 -0
  286. package/types/api/endpoints/getWSToken.d.ts +7 -0
  287. package/types/api/endpoints/getWSToken.js +1 -0
  288. package/types/api/endpoints/initWS.d.ts +1 -0
  289. package/types/api/endpoints/initWS.js +1 -0
  290. package/types/api/endpoints/refreshInstance.d.ts +6 -0
  291. package/types/api/endpoints/refreshInstance.js +1 -0
  292. package/types/api/endpoints/resetClone.d.ts +8 -0
  293. package/types/api/endpoints/resetClone.js +1 -0
  294. package/types/api/endpoints/testDbSource.d.ts +22 -0
  295. package/types/api/endpoints/testDbSource.js +23 -0
  296. package/types/api/endpoints/updateClone.d.ts +10 -0
  297. package/types/api/endpoints/updateClone.js +1 -0
  298. package/types/api/endpoints/updateConfig.d.ts +5 -0
  299. package/types/api/endpoints/updateConfig.js +1 -0
  300. package/types/api/entities/clone.d.ts +50 -0
  301. package/{components/Text/index.tsx → types/api/entities/clone.js} +8 -22
  302. package/types/api/entities/config.d.ts +72 -0
  303. package/types/api/entities/config.js +35 -0
  304. package/types/api/entities/dbSource.d.ts +12 -0
  305. package/types/api/entities/dbSource.js +1 -0
  306. package/types/api/entities/instance.d.ts +109 -0
  307. package/types/api/entities/instance.js +31 -0
  308. package/types/api/entities/instanceRetrieval.d.ts +42 -0
  309. package/types/api/entities/instanceRetrieval.js +19 -0
  310. package/types/api/entities/instanceState.d.ts +109 -0
  311. package/types/api/entities/instanceState.js +42 -0
  312. package/types/api/entities/pool.d.ts +18 -0
  313. package/{utils/numbers.ts → types/api/entities/pool.js} +1 -5
  314. package/types/api/entities/snapshot.d.ts +19 -0
  315. package/types/api/entities/snapshot.js +6 -0
  316. package/types/api/entities/wsToken.d.ts +5 -0
  317. package/types/api/entities/wsToken.js +1 -0
  318. package/utils/api.d.ts +1 -0
  319. package/utils/api.js +28 -0
  320. package/utils/clone.d.ts +13 -0
  321. package/utils/clone.js +21 -0
  322. package/utils/connection.d.ts +5 -0
  323. package/utils/connection.js +28 -0
  324. package/utils/date.d.ts +16 -0
  325. package/utils/date.js +33 -0
  326. package/utils/instance.d.ts +5 -0
  327. package/utils/instance.js +11 -0
  328. package/utils/numbers.d.ts +1 -0
  329. package/utils/{strings.ts → numbers.js} +4 -5
  330. package/utils/react.d.ts +5 -0
  331. package/utils/react.js +8 -0
  332. package/utils/snapshot.d.ts +2 -0
  333. package/utils/snapshot.js +1 -0
  334. package/utils/strings.d.ts +1 -0
  335. package/utils/strings.js +10 -0
  336. package/utils/units.d.ts +5 -0
  337. package/utils/units.js +15 -0
  338. package/.gitlab-ci.yml +0 -64
  339. package/components/AlertSnackbar/index.tsx +0 -23
  340. package/components/AlertSnackbar/useAlertSnackbar.tsx +0 -65
  341. package/components/Button/index.tsx +0 -79
  342. package/components/Button2/index.tsx +0 -43
  343. package/components/DestroyCloneModal/index.tsx +0 -56
  344. package/components/DestroyCloneRestrictionModal/index.tsx +0 -50
  345. package/components/ErrorStub/index.tsx +0 -83
  346. package/components/FormattedText/index.tsx +0 -44
  347. package/components/GatewayLink/index.tsx +0 -33
  348. package/components/HorizontalScrollContainer/index.tsx +0 -131
  349. package/components/ImportantText/index.tsx +0 -29
  350. package/components/Link2/index.tsx +0 -31
  351. package/components/MenuButton/index.tsx +0 -80
  352. package/components/Modal/index.tsx +0 -93
  353. package/components/ResetCloneModal/index.tsx +0 -154
  354. package/components/SectionTitle/index.tsx +0 -74
  355. package/components/Select/index.tsx +0 -42
  356. package/components/SimpleModalControls/index.tsx +0 -56
  357. package/components/Spinner/icon.tsx +0 -29
  358. package/components/Spinner/index.tsx +0 -16
  359. package/components/Status/index.tsx +0 -61
  360. package/components/StubContainer/index.tsx +0 -41
  361. package/components/StubSpinner/index.tsx +0 -49
  362. package/components/StubSpinnerFlex/index.tsx +0 -20
  363. package/components/SyntaxHighlight/index.tsx +0 -107
  364. package/components/Table/RowMenu/index.tsx +0 -111
  365. package/components/Table/index.tsx +0 -140
  366. package/components/TextField/index.tsx +0 -117
  367. package/components/Tooltip/index.tsx +0 -52
  368. package/config/index.ts +0 -32
  369. package/config/links.ts +0 -6
  370. package/craco.config.js +0 -80
  371. package/helpers/getEntropy.ts +0 -232
  372. package/helpers/localStorage.ts +0 -15
  373. package/helpers/request.ts +0 -47
  374. package/hooks/useWindowDimensions.ts +0 -16
  375. package/icons/ArrowDropDown/index.tsx +0 -29
  376. package/icons/Circle/index.tsx +0 -27
  377. package/icons/External/index.tsx +0 -14
  378. package/icons/Info/index.tsx +0 -12
  379. package/icons/Renewable/index.tsx +0 -65
  380. package/icons/Shield/index.tsx +0 -33
  381. package/icons/Warning/index.tsx +0 -29
  382. package/pages/Clone/Status/index.tsx +0 -73
  383. package/pages/Clone/context.ts +0 -22
  384. package/pages/Clone/index.tsx +0 -634
  385. package/pages/Clone/stores/Main.ts +0 -206
  386. package/pages/Clone/useCreatedStores.ts +0 -11
  387. package/pages/Configuration/Header/index.tsx +0 -84
  388. package/pages/Configuration/InputWithTooltip/index.tsx +0 -240
  389. package/pages/Configuration/ResponseMessage/index.tsx +0 -71
  390. package/pages/Configuration/configOptions.ts +0 -60
  391. package/pages/Configuration/index.tsx +0 -1184
  392. package/pages/Configuration/tooltipText.tsx +0 -157
  393. package/pages/Configuration/useForm.ts +0 -108
  394. package/pages/Configuration/utils/index.ts +0 -153
  395. package/pages/CreateClone/index.tsx +0 -311
  396. package/pages/CreateClone/stores/Main.ts +0 -107
  397. package/pages/CreateClone/useCreatedStores.ts +0 -11
  398. package/pages/CreateClone/useForm.ts +0 -36
  399. package/pages/Instance/Clones/Header/Item/index.tsx +0 -15
  400. package/pages/Instance/Clones/Header/index.tsx +0 -74
  401. package/pages/Instance/Clones/index.tsx +0 -135
  402. package/pages/Instance/ClonesModal/index.tsx +0 -71
  403. package/pages/Instance/InactiveInstance/index.tsx +0 -165
  404. package/pages/Instance/InactiveInstance/utils.ts +0 -9
  405. package/pages/Instance/Info/Connection/ConnectModal/Content/index.tsx +0 -176
  406. package/pages/Instance/Info/Connection/ConnectModal/Content/utils.ts +0 -24
  407. package/pages/Instance/Info/Connection/ConnectModal/index.tsx +0 -36
  408. package/pages/Instance/Info/Connection/index.tsx +0 -81
  409. package/pages/Instance/Info/Details/index.tsx +0 -20
  410. package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.tsx +0 -100
  411. package/pages/Instance/Info/Disks/Disk/Marker/index.tsx +0 -26
  412. package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.tsx +0 -20
  413. package/pages/Instance/Info/Disks/Disk/ProgressBar/index.tsx +0 -73
  414. package/pages/Instance/Info/Disks/Disk/Status/index.tsx +0 -75
  415. package/pages/Instance/Info/Disks/Disk/index.tsx +0 -168
  416. package/pages/Instance/Info/Disks/index.tsx +0 -65
  417. package/pages/Instance/Info/Icons/index.tsx +0 -39
  418. package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.tsx +0 -32
  419. package/pages/Instance/Info/Retrieval/RetrievalModal/index.tsx +0 -49
  420. package/pages/Instance/Info/Retrieval/RetrievalTable/index.tsx +0 -53
  421. package/pages/Instance/Info/Retrieval/index.tsx +0 -95
  422. package/pages/Instance/Info/Retrieval/utils.ts +0 -10
  423. package/pages/Instance/Info/Snapshots/Calendar/Day/index.tsx +0 -125
  424. package/pages/Instance/Info/Snapshots/Calendar/index.tsx +0 -133
  425. package/pages/Instance/Info/Snapshots/Calendar/utils.ts +0 -74
  426. package/pages/Instance/Info/Snapshots/TimeLine/Day/index.tsx +0 -79
  427. package/pages/Instance/Info/Snapshots/TimeLine/index.tsx +0 -57
  428. package/pages/Instance/Info/Snapshots/index.tsx +0 -97
  429. package/pages/Instance/Info/Snapshots/utils.ts +0 -18
  430. package/pages/Instance/Info/Status/InstanceResponseModal/index.tsx +0 -32
  431. package/pages/Instance/Info/Status/index.tsx +0 -85
  432. package/pages/Instance/Info/Status/utils.ts +0 -24
  433. package/pages/Instance/Info/components/Property/index.tsx +0 -32
  434. package/pages/Instance/Info/components/Section/index.tsx +0 -50
  435. package/pages/Instance/Info/components/ValueStatus/index.tsx +0 -51
  436. package/pages/Instance/Info/index.tsx +0 -129
  437. package/pages/Instance/SnapshotsModal/index.tsx +0 -169
  438. package/pages/Instance/SnapshotsModal/utils.ts +0 -17
  439. package/pages/Instance/Tabs/index.tsx +0 -98
  440. package/pages/Instance/components/ClonesList/ConnectionModal/index.tsx +0 -196
  441. package/pages/Instance/components/ClonesList/MenuCell/index.tsx +0 -98
  442. package/pages/Instance/components/ClonesList/MenuCell/utils.ts +0 -21
  443. package/pages/Instance/components/ClonesList/index.tsx +0 -189
  444. package/pages/Instance/components/ErrorStub/index.tsx +0 -77
  445. package/pages/Instance/components/ModalReloadButton/index.tsx +0 -43
  446. package/pages/Instance/components/Tags/Tag/index.tsx +0 -60
  447. package/pages/Instance/components/Tags/index.tsx +0 -42
  448. package/pages/Instance/context.ts +0 -39
  449. package/pages/Instance/index.tsx +0 -235
  450. package/pages/Instance/stores/ClonesModal.ts +0 -35
  451. package/pages/Instance/stores/Main.ts +0 -335
  452. package/pages/Instance/stores/SnapshotsModal.ts +0 -35
  453. package/pages/Instance/useCreatedStores.ts +0 -14
  454. package/pages/Logs/Icons/PlusIcon.tsx +0 -8
  455. package/pages/Logs/constants/index.ts +0 -7
  456. package/pages/Logs/hooks/useWsScroll.tsx +0 -44
  457. package/pages/Logs/index.tsx +0 -267
  458. package/pages/Logs/utils/index.ts +0 -20
  459. package/pages/Logs/wsLogs.ts +0 -110
  460. package/pages/Logs/wsSnackbar.ts +0 -27
  461. package/postgres.ai-shared-3.5.0.tgz +0 -0
  462. package/scripts/copy-assets.js +0 -30
  463. package/scripts/pack.js +0 -70
  464. package/stores/Snapshots.ts +0 -54
  465. package/styles/colors.ts +0 -67
  466. package/styles/icons.tsx +0 -1917
  467. package/styles/styles.ts +0 -87
  468. package/styles/theme.ts +0 -53
  469. package/types/api/endpoints/createClone.ts +0 -10
  470. package/types/api/endpoints/destroyClone.ts +0 -7
  471. package/types/api/endpoints/getClone.ts +0 -6
  472. package/types/api/endpoints/getConfig.ts +0 -6
  473. package/types/api/endpoints/getEngine.ts +0 -13
  474. package/types/api/endpoints/getFullConfig.ts +0 -4
  475. package/types/api/endpoints/getInstance.ts +0 -6
  476. package/types/api/endpoints/getInstanceRetrieval.ts +0 -6
  477. package/types/api/endpoints/getSeImages.ts +0 -22
  478. package/types/api/endpoints/getSnapshots.ts +0 -6
  479. package/types/api/endpoints/getWSToken.ts +0 -6
  480. package/types/api/endpoints/initWS.ts +0 -1
  481. package/types/api/endpoints/refreshInstance.ts +0 -4
  482. package/types/api/endpoints/resetClone.ts +0 -8
  483. package/types/api/endpoints/testDbSource.ts +0 -48
  484. package/types/api/endpoints/updateClone.ts +0 -10
  485. package/types/api/endpoints/updateConfig.ts +0 -6
  486. package/types/api/entities/clone.ts +0 -42
  487. package/types/api/entities/config.ts +0 -114
  488. package/types/api/entities/dbSource.ts +0 -13
  489. package/types/api/entities/instance.ts +0 -67
  490. package/types/api/entities/instanceRetrieval.ts +0 -46
  491. package/types/api/entities/instanceState.ts +0 -102
  492. package/types/api/entities/pool.ts +0 -27
  493. package/types/api/entities/snapshot.ts +0 -18
  494. package/types/api/entities/wsToken.ts +0 -7
  495. package/types/byte-size/index.d.ts +0 -22
  496. package/utils/api.ts +0 -30
  497. package/utils/clone.ts +0 -31
  498. package/utils/connection.ts +0 -38
  499. package/utils/date.ts +0 -87
  500. package/utils/instance.ts +0 -10
  501. package/utils/react.ts +0 -10
  502. package/utils/snapshot.ts +0 -4
  503. package/utils/units.ts +0 -23
@@ -0,0 +1,35 @@
1
+ import { formatDatabases, formatDumpCustomOptions, getImageMajorVersion, getImageType, isSeDockerImage, } from '@postgres.ai/shared/pages/Configuration/utils';
2
+ import { formatTuningParams } from '../endpoints/testDbSource';
3
+ export const formatConfig = (config) => {
4
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42;
5
+ const dockerImage = (_a = config.databaseContainer) === null || _a === void 0 ? void 0 : _a.dockerImage;
6
+ return {
7
+ debug: (_b = config.global) === null || _b === void 0 ? void 0 : _b.debug,
8
+ dockerImage: isSeDockerImage(dockerImage)
9
+ ? getImageMajorVersion(dockerImage)
10
+ : dockerImage,
11
+ ...(dockerImage && {
12
+ dockerImageType: getImageType(dockerImage),
13
+ }),
14
+ ...(isSeDockerImage(dockerImage) && {
15
+ dockerTag: dockerImage === null || dockerImage === void 0 ? void 0 : dockerImage.split(':')[1],
16
+ }),
17
+ dockerPath: dockerImage,
18
+ tuningParams: formatTuningParams((_c = config.databaseConfigs) === null || _c === void 0 ? void 0 : _c.configs),
19
+ sharedBuffers: (_e = (_d = config.databaseConfigs) === null || _d === void 0 ? void 0 : _d.configs) === null || _e === void 0 ? void 0 : _e.shared_buffers,
20
+ sharedPreloadLibraries: (_g = (_f = config.databaseConfigs) === null || _f === void 0 ? void 0 : _f.configs) === null || _g === void 0 ? void 0 : _g.shared_preload_libraries,
21
+ timetable: (_j = (_h = config.retrieval) === null || _h === void 0 ? void 0 : _h.refresh) === null || _j === void 0 ? void 0 : _j.timetable,
22
+ dbname: (_q = (_p = (_o = (_m = (_l = (_k = config.retrieval) === null || _k === void 0 ? void 0 : _k.spec) === null || _l === void 0 ? void 0 : _l.logicalDump) === null || _m === void 0 ? void 0 : _m.options) === null || _o === void 0 ? void 0 : _o.source) === null || _p === void 0 ? void 0 : _p.connection) === null || _q === void 0 ? void 0 : _q.dbname,
23
+ host: (_w = (_v = (_u = (_t = (_s = (_r = config.retrieval) === null || _r === void 0 ? void 0 : _r.spec) === null || _s === void 0 ? void 0 : _s.logicalDump) === null || _t === void 0 ? void 0 : _t.options) === null || _u === void 0 ? void 0 : _u.source) === null || _v === void 0 ? void 0 : _v.connection) === null || _w === void 0 ? void 0 : _w.host,
24
+ port: (_2 = (_1 = (_0 = (_z = (_y = (_x = config.retrieval) === null || _x === void 0 ? void 0 : _x.spec) === null || _y === void 0 ? void 0 : _y.logicalDump) === null || _z === void 0 ? void 0 : _z.options) === null || _0 === void 0 ? void 0 : _0.source) === null || _1 === void 0 ? void 0 : _1.connection) === null || _2 === void 0 ? void 0 : _2.port,
25
+ username: (_8 = (_7 = (_6 = (_5 = (_4 = (_3 = config.retrieval) === null || _3 === void 0 ? void 0 : _3.spec) === null || _4 === void 0 ? void 0 : _4.logicalDump) === null || _5 === void 0 ? void 0 : _5.options) === null || _6 === void 0 ? void 0 : _6.source) === null || _7 === void 0 ? void 0 : _7.connection) === null || _8 === void 0 ? void 0 : _8.username,
26
+ password: (_14 = (_13 = (_12 = (_11 = (_10 = (_9 = config.retrieval) === null || _9 === void 0 ? void 0 : _9.spec) === null || _10 === void 0 ? void 0 : _10.logicalDump) === null || _11 === void 0 ? void 0 : _11.options) === null || _12 === void 0 ? void 0 : _12.source) === null || _13 === void 0 ? void 0 : _13.connection) === null || _14 === void 0 ? void 0 : _14.password,
27
+ databases: formatDatabases((_18 = (_17 = (_16 = (_15 = config.retrieval) === null || _15 === void 0 ? void 0 : _15.spec) === null || _16 === void 0 ? void 0 : _16.logicalDump) === null || _17 === void 0 ? void 0 : _17.options) === null || _18 === void 0 ? void 0 : _18.databases),
28
+ dumpParallelJobs: (_22 = (_21 = (_20 = (_19 = config.retrieval) === null || _19 === void 0 ? void 0 : _19.spec) === null || _20 === void 0 ? void 0 : _20.logicalDump) === null || _21 === void 0 ? void 0 : _21.options) === null || _22 === void 0 ? void 0 : _22.parallelJobs,
29
+ dumpIgnoreErrors: (_26 = (_25 = (_24 = (_23 = config.retrieval) === null || _23 === void 0 ? void 0 : _23.spec) === null || _24 === void 0 ? void 0 : _24.logicalDump) === null || _25 === void 0 ? void 0 : _25.options) === null || _26 === void 0 ? void 0 : _26.ignoreErrors,
30
+ restoreParallelJobs: (_30 = (_29 = (_28 = (_27 = config.retrieval) === null || _27 === void 0 ? void 0 : _27.spec) === null || _28 === void 0 ? void 0 : _28.logicalRestore) === null || _29 === void 0 ? void 0 : _29.options) === null || _30 === void 0 ? void 0 : _30.parallelJobs,
31
+ restoreIgnoreErrors: (_34 = (_33 = (_32 = (_31 = config.retrieval) === null || _31 === void 0 ? void 0 : _31.spec) === null || _32 === void 0 ? void 0 : _32.logicalRestore) === null || _33 === void 0 ? void 0 : _33.options) === null || _34 === void 0 ? void 0 : _34.ignoreErrors,
32
+ pgDumpCustomOptions: formatDumpCustomOptions(((_38 = (_37 = (_36 = (_35 = config.retrieval) === null || _35 === void 0 ? void 0 : _35.spec) === null || _36 === void 0 ? void 0 : _36.logicalDump) === null || _37 === void 0 ? void 0 : _37.options) === null || _38 === void 0 ? void 0 : _38.customOptions) || null),
33
+ pgRestoreCustomOptions: formatDumpCustomOptions(((_42 = (_41 = (_40 = (_39 = config.retrieval) === null || _39 === void 0 ? void 0 : _39.spec) === null || _40 === void 0 ? void 0 : _40.logicalRestore) === null || _41 === void 0 ? void 0 : _41.options) === null || _42 === void 0 ? void 0 : _42.customOptions) || null),
34
+ };
35
+ };
@@ -0,0 +1,12 @@
1
+ export declare type dbSource = {
2
+ host: string;
3
+ port: string;
4
+ dbname: string;
5
+ username: string;
6
+ password: string;
7
+ db_list?: string[];
8
+ };
9
+ export declare type TestSourceDTO = {
10
+ message: string;
11
+ status: string;
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,109 @@
1
+ import { InstanceStateDto } from '@postgres.ai/shared/types/api/entities/instanceState';
2
+ declare type CoreInstanceDto = {
3
+ id: number;
4
+ state: InstanceStateDto;
5
+ plan: string;
6
+ selfassigned_instance_id: string;
7
+ };
8
+ declare type CeInstanceDto = CoreInstanceDto & {};
9
+ declare type PlatformInstanceDto = CoreInstanceDto & {
10
+ created_at: string;
11
+ telemetry_last_reported_at?: string;
12
+ created_formatted: string;
13
+ iid: number | null;
14
+ is_active: true;
15
+ org_id: number;
16
+ project_alias: string;
17
+ project_id: number;
18
+ project_name: string;
19
+ ssh_server_url: string | null;
20
+ url: string;
21
+ use_tunnel: boolean;
22
+ verify_token: string;
23
+ };
24
+ export declare type InstanceDto = CeInstanceDto | PlatformInstanceDto;
25
+ export declare const formatInstanceDto: (dto: InstanceDto) => {
26
+ createdFormatted?: string | undefined;
27
+ iid?: number | null | undefined;
28
+ isActive?: true | undefined;
29
+ orgId?: string | undefined;
30
+ projectAlias?: string | undefined;
31
+ projectId?: string | undefined;
32
+ projectName?: string | undefined;
33
+ sshServerUrl?: string | null | undefined;
34
+ useTunnel?: boolean | undefined;
35
+ verifyToken?: string | undefined;
36
+ url?: string | undefined;
37
+ telemetryLastReportedAt?: Date | undefined;
38
+ createdAt?: Date | undefined;
39
+ id: string;
40
+ state: {
41
+ engine: {
42
+ version: string | null;
43
+ startedAt: "" | Date | undefined;
44
+ disableConfigModification: boolean;
45
+ };
46
+ retrieving: {
47
+ lastRefresh: Date | null;
48
+ nextRefresh: Date | null;
49
+ mode: string;
50
+ status: "refreshing" | "finished" | "failed" | "pending";
51
+ alerts: {
52
+ refreshFailed: {
53
+ level: "error";
54
+ message: string;
55
+ lastSeen: Date;
56
+ count: number;
57
+ } | undefined;
58
+ } | undefined;
59
+ } | undefined;
60
+ cloning: {
61
+ clones: {
62
+ createdAt: string;
63
+ createdAtDate: Date;
64
+ snapshot: {
65
+ createdAtDate: Date;
66
+ dataStateAtDate: Date;
67
+ createdAt: string;
68
+ dataStateAt: string;
69
+ id: string;
70
+ pool: string;
71
+ physicalSize: number;
72
+ logicalSize: number;
73
+ } | null;
74
+ id: string;
75
+ status: {
76
+ code: "OK" | "CREATING" | "DELETING" | "RESETTING" | "FATAL";
77
+ message: string;
78
+ };
79
+ protected: boolean;
80
+ metadata: {
81
+ cloneDiffSize: number;
82
+ cloningTime: number;
83
+ };
84
+ db: {
85
+ username: string;
86
+ port: string;
87
+ host: string;
88
+ };
89
+ }[];
90
+ expectedCloningTime: number;
91
+ };
92
+ pools: import("./pool").PoolDto[] | null;
93
+ dataSize: number | null;
94
+ status: {
95
+ code: "OK" | "WARNING" | "NO_RESPONSE";
96
+ message: string;
97
+ };
98
+ clones?: import("./clone").CloneDto[] | undefined;
99
+ expectedCloningTime?: number | undefined;
100
+ fileSystem?: {
101
+ free: number;
102
+ size: number;
103
+ used: number;
104
+ } | undefined;
105
+ } | null;
106
+ dto: InstanceDto;
107
+ };
108
+ export declare type Instance = ReturnType<typeof formatInstanceDto>;
109
+ export {};
@@ -0,0 +1,31 @@
1
+ import { formatInstanceStateDto, } from '@postgres.ai/shared/types/api/entities/instanceState';
2
+ export const formatInstanceDto = (dto) => {
3
+ const coreMapped = {
4
+ id: dto.id.toString(),
5
+ state: formatInstanceStateDto(dto.state),
6
+ dto,
7
+ };
8
+ const platformMapped = 'created_at' in dto
9
+ ? {
10
+ createdAt: new Date(dto.created_at),
11
+ ...(dto.telemetry_last_reported_at && {
12
+ telemetryLastReportedAt: new Date(dto.telemetry_last_reported_at),
13
+ }),
14
+ createdFormatted: `${dto.created_formatted} UTC`,
15
+ iid: dto.iid,
16
+ isActive: dto.is_active,
17
+ orgId: dto.org_id.toString(),
18
+ projectAlias: dto.project_alias,
19
+ projectId: dto.project_id.toString(),
20
+ projectName: dto.project_name,
21
+ sshServerUrl: dto.ssh_server_url,
22
+ useTunnel: dto.use_tunnel,
23
+ verifyToken: dto.verify_token,
24
+ url: dto.url,
25
+ }
26
+ : null;
27
+ return {
28
+ ...coreMapped,
29
+ ...platformMapped,
30
+ };
31
+ };
@@ -0,0 +1,42 @@
1
+ export interface ActivityType {
2
+ user?: string;
3
+ query?: string;
4
+ duration?: number | string;
5
+ waitEventType?: string;
6
+ waitEvent?: string;
7
+ }
8
+ export declare type InstanceRetrieval = {
9
+ mode: string;
10
+ alerts: Object | null;
11
+ lastRefresh: string | null;
12
+ nextRefresh: string | null;
13
+ status: string;
14
+ currentJob?: string;
15
+ activity: {
16
+ source: ActivityType[];
17
+ target: ActivityType[];
18
+ };
19
+ };
20
+ export declare const formatInstanceRetrieval: (retrieval: InstanceRetrieval) => {
21
+ activity: {
22
+ source: {
23
+ user: string | undefined;
24
+ query: string | undefined;
25
+ duration: string | undefined;
26
+ 'wait type/event': string | undefined;
27
+ }[];
28
+ target: {
29
+ user: string | undefined;
30
+ query: string | undefined;
31
+ duration: string | undefined;
32
+ 'wait type/event': string | undefined;
33
+ }[];
34
+ };
35
+ mode: string;
36
+ alerts: Object | null;
37
+ lastRefresh: string | null;
38
+ nextRefresh: string | null;
39
+ status: string;
40
+ currentJob?: string | undefined;
41
+ };
42
+ export declare type InstanceRetrievalType = ReturnType<typeof formatInstanceRetrieval>;
@@ -0,0 +1,19 @@
1
+ const replaceSinglequote = (string) => string === null || string === void 0 ? void 0 : string.replace(/'/g, '');
2
+ const formatActivity = (activity) => activity === null || activity === void 0 ? void 0 : activity.map((item) => {
3
+ return {
4
+ user: replaceSinglequote(item.user),
5
+ query: replaceSinglequote(item.query),
6
+ duration: replaceSinglequote(`${item.duration}ms`),
7
+ 'wait type/event': replaceSinglequote(`${item.waitEventType}/${item.waitEvent}`),
8
+ };
9
+ });
10
+ export const formatInstanceRetrieval = (retrieval) => {
11
+ var _a, _b;
12
+ return {
13
+ ...retrieval,
14
+ activity: {
15
+ source: formatActivity((_a = retrieval.activity) === null || _a === void 0 ? void 0 : _a.source),
16
+ target: formatActivity((_b = retrieval.activity) === null || _b === void 0 ? void 0 : _b.target),
17
+ },
18
+ };
19
+ };
@@ -0,0 +1,109 @@
1
+ import { CloneDto } from '@postgres.ai/shared/types/api/entities/clone';
2
+ import { PoolDto } from '@postgres.ai/shared/types/api/entities/pool';
3
+ export declare type InstanceStateDto = {
4
+ cloning: {
5
+ clones: CloneDto[];
6
+ expectedCloningTime: number;
7
+ numClones?: number;
8
+ };
9
+ status: {
10
+ code: 'OK' | 'WARNING' | 'NO_RESPONSE';
11
+ message: string;
12
+ };
13
+ clones?: CloneDto[];
14
+ expectedCloningTime?: number;
15
+ pools?: PoolDto[];
16
+ retrieving?: {
17
+ lastRefresh: string | null;
18
+ nextRefresh: string | null;
19
+ mode: string;
20
+ status: 'finished' | 'failed' | 'refreshing' | 'pending';
21
+ alerts?: {
22
+ refresh_failed?: {
23
+ level: 'error';
24
+ message: string;
25
+ lastSeen: string;
26
+ count: number;
27
+ };
28
+ };
29
+ };
30
+ fileSystem?: {
31
+ free: number;
32
+ size: number;
33
+ used: number;
34
+ };
35
+ engine?: {
36
+ version: string;
37
+ startedAt: string;
38
+ edition?: string;
39
+ disableConfigModification?: boolean;
40
+ };
41
+ dataSize?: number;
42
+ };
43
+ export declare const formatInstanceStateDto: (dto: InstanceStateDto) => {
44
+ engine: {
45
+ version: string | null;
46
+ startedAt: "" | Date | undefined;
47
+ disableConfigModification: boolean;
48
+ };
49
+ retrieving: {
50
+ lastRefresh: Date | null;
51
+ nextRefresh: Date | null;
52
+ mode: string;
53
+ status: "refreshing" | "finished" | "failed" | "pending";
54
+ alerts: {
55
+ refreshFailed: {
56
+ level: "error";
57
+ message: string;
58
+ lastSeen: Date;
59
+ count: number;
60
+ } | undefined;
61
+ } | undefined;
62
+ } | undefined;
63
+ cloning: {
64
+ clones: {
65
+ createdAt: string;
66
+ createdAtDate: Date;
67
+ snapshot: {
68
+ createdAtDate: Date;
69
+ dataStateAtDate: Date;
70
+ createdAt: string;
71
+ dataStateAt: string;
72
+ id: string;
73
+ pool: string;
74
+ physicalSize: number;
75
+ logicalSize: number;
76
+ } | null;
77
+ id: string;
78
+ status: {
79
+ code: "OK" | "CREATING" | "DELETING" | "RESETTING" | "FATAL";
80
+ message: string;
81
+ };
82
+ protected: boolean;
83
+ metadata: {
84
+ cloneDiffSize: number;
85
+ cloningTime: number;
86
+ };
87
+ db: {
88
+ username: string;
89
+ port: string;
90
+ host: string;
91
+ };
92
+ }[];
93
+ expectedCloningTime: number;
94
+ };
95
+ pools: PoolDto[] | null;
96
+ dataSize: number | null;
97
+ status: {
98
+ code: 'OK' | 'WARNING' | 'NO_RESPONSE';
99
+ message: string;
100
+ };
101
+ clones?: CloneDto[] | undefined;
102
+ expectedCloningTime?: number | undefined;
103
+ fileSystem?: {
104
+ free: number;
105
+ size: number;
106
+ used: number;
107
+ } | undefined;
108
+ } | null;
109
+ export declare type InstanceState = ReturnType<typeof formatInstanceStateDto>;
@@ -0,0 +1,42 @@
1
+ import { formatCloneDto, } from '@postgres.ai/shared/types/api/entities/clone';
2
+ import { formatPoolDto, } from '@postgres.ai/shared/types/api/entities/pool';
3
+ export const formatInstanceStateDto = (dto) => {
4
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
5
+ if (!dto)
6
+ return null;
7
+ const pools = (_b = (_a = dto.pools) === null || _a === void 0 ? void 0 : _a.map(formatPoolDto)) !== null && _b !== void 0 ? _b : null;
8
+ const clones = (_d = (_c = dto === null || dto === void 0 ? void 0 : dto.clones) === null || _c === void 0 ? void 0 : _c.map(formatCloneDto)) !== null && _d !== void 0 ? _d : (_f = (_e = dto.cloning) === null || _e === void 0 ? void 0 : _e.clones) === null || _f === void 0 ? void 0 : _f.map(formatCloneDto);
9
+ const expectedCloningTime = (_g = dto === null || dto === void 0 ? void 0 : dto.expectedCloningTime) !== null && _g !== void 0 ? _g : (_h = dto.cloning) === null || _h === void 0 ? void 0 : _h.expectedCloningTime;
10
+ return {
11
+ ...dto,
12
+ engine: {
13
+ version: (_k = (_j = dto.engine) === null || _j === void 0 ? void 0 : _j.version) !== null && _k !== void 0 ? _k : null,
14
+ startedAt: ((_l = dto.engine) === null || _l === void 0 ? void 0 : _l.startedAt) && new Date((_m = dto.engine) === null || _m === void 0 ? void 0 : _m.startedAt),
15
+ disableConfigModification: false,
16
+ },
17
+ retrieving: dto.retrieving && {
18
+ lastRefresh: dto.retrieving.lastRefresh
19
+ ? new Date(dto.retrieving.lastRefresh)
20
+ : null,
21
+ nextRefresh: dto.retrieving.nextRefresh
22
+ ? new Date(dto.retrieving.nextRefresh)
23
+ : null,
24
+ mode: dto.retrieving.mode,
25
+ status: dto.retrieving.status,
26
+ alerts: dto.retrieving.alerts && {
27
+ refreshFailed: dto.retrieving.alerts.refresh_failed && {
28
+ level: dto.retrieving.alerts.refresh_failed.level,
29
+ message: dto.retrieving.alerts.refresh_failed.message,
30
+ lastSeen: new Date(dto.retrieving.alerts.refresh_failed.lastSeen),
31
+ count: dto.retrieving.alerts.refresh_failed.count,
32
+ },
33
+ },
34
+ },
35
+ cloning: {
36
+ clones: clones,
37
+ expectedCloningTime: expectedCloningTime,
38
+ },
39
+ pools,
40
+ dataSize: (_p = (_o = dto.dataSize) !== null && _o !== void 0 ? _o : pools === null || pools === void 0 ? void 0 : pools.reduce((sum, pool) => pool.fileSystem.dataSize + sum, 0)) !== null && _p !== void 0 ? _p : null,
41
+ };
42
+ };
@@ -0,0 +1,18 @@
1
+ export declare type PoolDto = {
2
+ cloneList: string[];
3
+ fileSystem: {
4
+ compressRatio: number;
5
+ dataSize: number;
6
+ free: number;
7
+ mode: string;
8
+ size: number;
9
+ used: number;
10
+ usedByClones: number;
11
+ usedBySnapshots: number;
12
+ };
13
+ mode: string;
14
+ name: string;
15
+ status: 'active' | 'empty' | 'refreshing';
16
+ };
17
+ export declare const formatPoolDto: (dto: PoolDto) => PoolDto;
18
+ export declare type Pool = ReturnType<typeof formatPoolDto>;
@@ -4,8 +4,4 @@
4
4
  * Unauthorized copying of this file, via any medium is strictly prohibited
5
5
  *--------------------------------------------------------------------------
6
6
  */
7
-
8
- export const round = (value: number, precision = 0) => {
9
- const multiplier = 10 ** precision
10
- return Math.round(value * multiplier) / multiplier
11
- }
7
+ export const formatPoolDto = (dto) => dto;
@@ -0,0 +1,19 @@
1
+ export declare type SnapshotDto = {
2
+ createdAt: string;
3
+ dataStateAt: string;
4
+ id: string;
5
+ pool: string;
6
+ physicalSize: number;
7
+ logicalSize: number;
8
+ };
9
+ export declare const formatSnapshotDto: (dto: SnapshotDto) => {
10
+ createdAtDate: Date;
11
+ dataStateAtDate: Date;
12
+ createdAt: string;
13
+ dataStateAt: string;
14
+ id: string;
15
+ pool: string;
16
+ physicalSize: number;
17
+ logicalSize: number;
18
+ };
19
+ export declare type Snapshot = ReturnType<typeof formatSnapshotDto>;
@@ -0,0 +1,6 @@
1
+ import { parseDate } from '@postgres.ai/shared/utils/date';
2
+ export const formatSnapshotDto = (dto) => ({
3
+ ...dto,
4
+ createdAtDate: parseDate(dto.createdAt),
5
+ dataStateAtDate: parseDate(dto.dataStateAt)
6
+ });
@@ -0,0 +1,5 @@
1
+ export declare type WSTokenDTO = {
2
+ token: string;
3
+ };
4
+ export declare const formatWSTokenDto: (dto: WSTokenDTO) => WSTokenDTO;
5
+ export declare type WSToken = ReturnType<typeof formatWSTokenDto>;
@@ -0,0 +1 @@
1
+ export const formatWSTokenDto = (dto) => dto;
package/utils/api.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const getTextFromUnknownApiError: (error: Response) => Promise<string>;
package/utils/api.js ADDED
@@ -0,0 +1,28 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ export const getTextFromUnknownApiError = async (error) => {
8
+ const log = (text) => console.error('Unknown API error', text);
9
+ try {
10
+ const result = await error.json();
11
+ log(result);
12
+ return JSON.stringify(result);
13
+ }
14
+ catch (e) {
15
+ // not a json
16
+ }
17
+ try {
18
+ const result = await error.text();
19
+ log(result);
20
+ return result;
21
+ }
22
+ catch (e) {
23
+ // not a text
24
+ }
25
+ const result = `${error.status} ${error.statusText}`;
26
+ log(result);
27
+ return result;
28
+ };
@@ -0,0 +1,13 @@
1
+ import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
2
+ declare const STATUS_CODE_TO_TYPE: {
3
+ OK: "ok";
4
+ CREATING: "waiting";
5
+ DELETING: "waiting";
6
+ RESETTING: "waiting";
7
+ FATAL: "error";
8
+ };
9
+ declare type StatusCode = keyof typeof STATUS_CODE_TO_TYPE;
10
+ export declare const getCloneStatusType: (statusCode: StatusCode) => "error" | "waiting" | "ok";
11
+ export declare const getCloneStatusText: (statusCode: StatusCode) => string;
12
+ export declare const checkIsCloneStable: (clone: Clone) => boolean;
13
+ export {};
package/utils/clone.js ADDED
@@ -0,0 +1,21 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ import { capitalize } from '@postgres.ai/shared/utils/strings';
8
+ const STATUS_CODE_TO_TYPE = {
9
+ OK: 'ok',
10
+ CREATING: 'waiting',
11
+ DELETING: 'waiting',
12
+ RESETTING: 'waiting',
13
+ FATAL: 'error',
14
+ };
15
+ export const getCloneStatusType = (statusCode) => { var _a; return (_a = STATUS_CODE_TO_TYPE[statusCode]) !== null && _a !== void 0 ? _a : 'unknown'; };
16
+ export const getCloneStatusText = (statusCode) => {
17
+ if (statusCode === 'OK')
18
+ return statusCode;
19
+ return capitalize(statusCode);
20
+ };
21
+ export const checkIsCloneStable = (clone) => clone.status.code === 'OK' || clone.status.code === 'FATAL';
@@ -0,0 +1,5 @@
1
+ import { Instance } from '@postgres.ai/shared/types/api/entities/instance';
2
+ import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
3
+ export declare const getSshPortForwardingCommand: (instance: Instance, clone: Clone) => string | null;
4
+ export declare const getPsqlConnectionStr: (clone: Clone) => string | null;
5
+ export declare const getJdbcConnectionStr: (clone: Clone) => string | null;
@@ -0,0 +1,28 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ const isEmptyDbData = (clone) => {
8
+ const { host, port, username } = clone.db;
9
+ // 'host', 'port' or 'username' can be empty string.
10
+ return !host || !port || !username;
11
+ };
12
+ export const getSshPortForwardingCommand = (instance, clone) => {
13
+ if (!instance.sshServerUrl)
14
+ return null;
15
+ if (isEmptyDbData(clone))
16
+ return null;
17
+ return `ssh -NTML ${clone.db.port}:localhost:${clone.db.port} ${instance.sshServerUrl} -i ~/.ssh/id_rsa`;
18
+ };
19
+ export const getPsqlConnectionStr = (clone) => {
20
+ if (isEmptyDbData(clone))
21
+ return null;
22
+ return `"host=${clone.db.host} port=${clone.db.port} user=${clone.db.username} dbname=DBNAME"`;
23
+ };
24
+ export const getJdbcConnectionStr = (clone) => {
25
+ if (isEmptyDbData(clone))
26
+ return null;
27
+ return `jdbc:postgresql://${clone.db.host}:${clone.db.port}/DBNAME?user=${clone.db.username}&password=DBPASSWORD`;
28
+ };
@@ -0,0 +1,16 @@
1
+ export declare const parseDate: (dateStr: string) => Date;
2
+ export declare const startOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
3
+ export declare const startOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
4
+ export declare const endOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
5
+ export declare const endOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
6
+ export declare const startOfDayUTC: (date: Date, ...otherArgs: unknown[]) => Date;
7
+ export declare const addDaysUTC: (date: Date, ...otherArgs: unknown[]) => Date;
8
+ export declare const addMonthsUTC: (date: Date, ...otherArgs: unknown[]) => Date;
9
+ export declare const differenceInDaysUTC: (date1: Date, date2: Date) => number;
10
+ export declare const isSameMonthUTC: (date1: Date, date2: Date) => boolean;
11
+ export declare const formatUTC: (date: Date, formatStr: string) => string;
12
+ export declare const isSameDayUTC: (date1: Date, date2: Date) => boolean;
13
+ export declare const formatDistanceStd: (date: Date) => string;
14
+ export declare const formatDateStd: (date: Date, options?: {
15
+ withDistance?: boolean;
16
+ }) => string;
package/utils/date.js ADDED
@@ -0,0 +1,33 @@
1
+ /*--------------------------------------------------------------------------
2
+ * Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
3
+ * All Rights Reserved. Proprietary and confidential.
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ *--------------------------------------------------------------------------
6
+ */
7
+ import { parse, startOfDay, isSameDay, startOfMonth, startOfWeek, endOfMonth, endOfWeek, differenceInDays, addDays, addMonths, isSameMonth, format, formatDistanceToNowStrict, } from 'date-fns';
8
+ // parseDate parses date of both format: '2006-01-02 15:04:05 UTC' and `2006-01-02T15:04:05Z` (RFC3339).
9
+ export const parseDate = (dateStr) => parse(dateStr.replace(' UTC', 'Z').replace('T', ' '), 'yyyy-MM-dd HH:mm:ssX', new Date());
10
+ // UTCf - UTC formatted, but not actually UTC.
11
+ // date-fns using this approach because browser don't have an opportunity to switch single date
12
+ // object in different timezones.
13
+ // Example: 15:00:00 <some date> Moscow Standard Time -> 12:00:00 <same date> Moscow Standard Time.
14
+ // In example above just ignore real timezone "Moscow Standard Time" and imagine that it is UTC.
15
+ const toUTCf = (date) => new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
16
+ const toLocal = (date) => new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000);
17
+ const inUTC =
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ (func) => (date, ...otherArgs) => toLocal(func(toUTCf(date), ...otherArgs));
20
+ export const startOfMonthUTC = inUTC(startOfMonth);
21
+ export const startOfWeekUTC = inUTC(startOfWeek);
22
+ export const endOfMonthUTC = inUTC(endOfMonth);
23
+ export const endOfWeekUTC = inUTC(endOfWeek);
24
+ export const startOfDayUTC = inUTC(startOfDay);
25
+ export const addDaysUTC = inUTC(addDays);
26
+ export const addMonthsUTC = inUTC(addMonths);
27
+ export const differenceInDaysUTC = (date1, date2) => differenceInDays(toUTCf(date1), toUTCf(date2));
28
+ export const isSameMonthUTC = (date1, date2) => isSameMonth(toUTCf(date1), toUTCf(date2));
29
+ export const formatUTC = (date, formatStr) => format(toUTCf(date), formatStr);
30
+ export const isSameDayUTC = (date1, date2) => isSameDay(toUTCf(date1), toUTCf(date2));
31
+ // Std date utils.
32
+ export const formatDistanceStd = (date) => formatDistanceToNowStrict(date, { addSuffix: true });
33
+ export const formatDateStd = (date, options) => `${formatUTC(date, 'yyyy-MM-dd HH:mm:ss')} UTC ${(options === null || options === void 0 ? void 0 : options.withDistance) ? `(${formatDistanceStd(date)})` : ''}`;
@@ -0,0 +1,5 @@
1
+ export declare const parseEngineVersion: (str: string) => {
2
+ major: number;
3
+ minor: number;
4
+ patch: number;
5
+ } | null;
@@ -0,0 +1,11 @@
1
+ export const parseEngineVersion = (str) => {
2
+ const [versionStr] = str.split('-');
3
+ const [major, minor, patch] = versionStr.split('.');
4
+ if (!major || !minor || !patch)
5
+ return null;
6
+ return {
7
+ major: Number(major),
8
+ minor: Number(minor),
9
+ patch: Number(patch),
10
+ };
11
+ };