ydb-embedded-ui 6.2.2 → 6.4.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 (142) hide show
  1. package/README.md +38 -16
  2. package/dist/assets/icons/disableFullscreen.svg +4 -0
  3. package/dist/assets/icons/emptyState.svg +13 -0
  4. package/dist/assets/icons/key.svg +6 -0
  5. package/dist/assets/icons/monitoring.svg +9 -0
  6. package/dist/assets/icons/network.svg +21 -0
  7. package/dist/components/BasicNodeViewer/BasicNodeViewer.js +11 -5
  8. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +3 -4
  9. package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +2 -0
  10. package/dist/components/EmptyState/EmptyState.js +3 -2
  11. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +3 -3
  12. package/dist/components/Fullscreen/Fullscreen.js +3 -3
  13. package/dist/components/MonitoringButton/MonitoringButton.js +3 -3
  14. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +3 -3
  15. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  16. package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +4 -5
  17. package/dist/components/StatusIcon/StatusIcon.js +5 -7
  18. package/dist/containers/App/App.js +1 -2
  19. package/dist/containers/AsideNavigation/AsideNavigation.js +4 -9
  20. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -3
  21. package/dist/containers/AsideNavigation/useNavigationMenuItems.js +5 -6
  22. package/dist/containers/Authentication/Authentication.js +2 -4
  23. package/dist/containers/Node/NodeStructure/Pdisk.js +4 -4
  24. package/dist/containers/Nodes/Nodes.js +19 -15
  25. package/dist/containers/Nodes/VirtualNodes.js +23 -6
  26. package/dist/containers/PDiskPage/PDiskPage.js +2 -2
  27. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  28. package/dist/containers/Storage/Storage.js +50 -22
  29. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +2 -2
  30. package/dist/containers/Storage/VirtualStorage.js +32 -10
  31. package/dist/containers/Storage/utils/index.d.ts +4 -1
  32. package/dist/containers/Storage/utils/index.js +29 -0
  33. package/dist/containers/Tablet/Tablet.js +3 -3
  34. package/dist/containers/Tablet/i18n/index.d.ts +1 -1
  35. package/dist/containers/Tablets/Tablets.d.ts +1 -2
  36. package/dist/containers/Tablets/Tablets.js +112 -53
  37. package/dist/containers/Tablets/i18n/en.json +9 -4
  38. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  39. package/dist/containers/Tablets/i18n/index.js +1 -2
  40. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +5 -5
  41. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +7 -0
  42. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +2 -0
  43. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +3 -2
  44. package/dist/containers/Tenant/Diagnostics/Network/Network.js +3 -3
  45. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -0
  46. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +2 -2
  47. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +2 -8
  48. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +10 -7
  49. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +1 -1
  50. package/dist/containers/Tenant/Query/Issues/Issues.js +6 -9
  51. package/dist/containers/Tenant/Query/Preview/Preview.js +5 -5
  52. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +1 -1
  53. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +4 -4
  54. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +3 -3
  55. package/dist/containers/Tenant/Schema/SchemaViewer/helpers.js +7 -6
  56. package/dist/containers/Tenant/i18n/en.json +2 -1
  57. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  58. package/dist/containers/Tenant/i18n/index.js +1 -2
  59. package/dist/containers/Tenant/utils/ToggleButton.scss +0 -2
  60. package/dist/containers/Tenant/utils/paneVisibilityToggleHelpers.js +4 -4
  61. package/dist/containers/Tenant/utils/queryTemplates.d.ts +2 -0
  62. package/dist/containers/Tenant/utils/queryTemplates.js +6 -0
  63. package/dist/containers/Tenant/utils/schema.d.ts +4 -3
  64. package/dist/containers/Tenant/utils/schema.js +12 -3
  65. package/dist/containers/Tenant/utils/schemaActions.js +10 -1
  66. package/dist/containers/Tenant/utils/schemaControls.js +4 -3
  67. package/dist/containers/VDiskPage/VDiskPage.js +2 -2
  68. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  69. package/dist/routes.d.ts +1 -1
  70. package/dist/services/settings.d.ts +18 -1
  71. package/dist/store/configureStore.d.ts +0 -8
  72. package/dist/store/defaultStore.d.ts +0 -4
  73. package/dist/store/reducers/authentication/authentication.d.ts +0 -6
  74. package/dist/store/reducers/executeQuery.d.ts +0 -2
  75. package/dist/store/reducers/explainQuery.d.ts +0 -4
  76. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +0 -40
  77. package/dist/store/reducers/host.d.ts +0 -2
  78. package/dist/store/reducers/index.d.ts +0 -6
  79. package/dist/store/reducers/index.js +0 -4
  80. package/dist/store/reducers/node/selectors.d.ts +0 -2
  81. package/dist/store/reducers/nodes/nodes.d.ts +1 -5
  82. package/dist/store/reducers/nodes/nodes.js +0 -27
  83. package/dist/store/reducers/nodes/types.d.ts +4 -13
  84. package/dist/store/reducers/nodesList.d.ts +0 -2
  85. package/dist/store/reducers/schema/schema.d.ts +0 -2
  86. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +0 -2
  87. package/dist/store/reducers/storage/selectors.d.ts +2 -17
  88. package/dist/store/reducers/storage/selectors.js +1 -36
  89. package/dist/store/reducers/storage/storage.d.ts +2 -6
  90. package/dist/store/reducers/storage/storage.js +0 -44
  91. package/dist/store/reducers/storage/types.d.ts +15 -22
  92. package/dist/store/reducers/storage/types.js +4 -1
  93. package/dist/store/reducers/tablets.d.ts +92 -1
  94. package/dist/store/reducers/tablets.js +16 -1
  95. package/dist/store/reducers/tabletsFilters.d.ts +0 -2
  96. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  97. package/dist/store/reducers/tenant/tenant.js +10 -1
  98. package/dist/store/reducers/tenant/types.d.ts +8 -3
  99. package/dist/store/reducers/tenant/types.js +3 -1
  100. package/dist/store/reducers/tenants/selectors.d.ts +0 -18
  101. package/dist/store/reducers/tenants/utils.d.ts +4 -4
  102. package/dist/store/reducers/tenants/utils.js +8 -8
  103. package/dist/store/reducers/topic.d.ts +0 -30
  104. package/dist/store/state-url-mapping.js +0 -22
  105. package/dist/types/api/schema/schema.d.ts +4 -1
  106. package/dist/types/api/schema/schema.js +1 -0
  107. package/dist/types/api/schema/view.d.ts +8 -0
  108. package/dist/types/api/schema/view.js +1 -0
  109. package/dist/utils/nodes.d.ts +2 -0
  110. package/dist/utils/nodes.js +4 -0
  111. package/dist/utils/tablet.d.ts +2 -0
  112. package/dist/utils/tablet.js +14 -0
  113. package/package.json +4 -3
  114. package/dist/assets/icons/bug.svg +0 -1
  115. package/dist/assets/icons/circle-exclamation.svg +0 -1
  116. package/dist/assets/icons/circle-info.svg +0 -1
  117. package/dist/assets/icons/circle-xmark.svg +0 -1
  118. package/dist/assets/icons/close.svg +0 -1
  119. package/dist/assets/icons/control-menu-button.svg +0 -1
  120. package/dist/assets/icons/dots.svg +0 -1
  121. package/dist/assets/icons/hide.svg +0 -1
  122. package/dist/assets/icons/question.svg +0 -1
  123. package/dist/assets/icons/server.svg +0 -1
  124. package/dist/assets/icons/settings-with-dot.svg +0 -1
  125. package/dist/assets/icons/settings.svg +0 -1
  126. package/dist/assets/icons/shield.svg +0 -3
  127. package/dist/assets/icons/show.svg +0 -1
  128. package/dist/assets/icons/signIn.svg +0 -1
  129. package/dist/assets/icons/signOut.svg +0 -1
  130. package/dist/assets/icons/storage.svg +0 -1
  131. package/dist/assets/icons/support.svg +0 -1
  132. package/dist/assets/icons/triangle-exclamation.svg +0 -1
  133. package/dist/assets/icons/update-arrow.svg +0 -6
  134. package/dist/components/Icon/Icon.d.ts +0 -14
  135. package/dist/components/Icon/Icon.js +0 -16
  136. package/dist/components/Icon/index.d.ts +0 -1
  137. package/dist/components/Icon/index.js +0 -1
  138. package/dist/containers/AppIcons/AppIcons.d.ts +0 -2
  139. package/dist/containers/AppIcons/AppIcons.js +0 -9
  140. package/dist/containers/Tablets/Tablets.scss +0 -35
  141. package/dist/containers/Tablets/i18n/ru.json +0 -6
  142. package/dist/containers/Tenant/i18n/ru.json +0 -22
@@ -7,10 +7,8 @@ export declare const healthcheckApi: import("@reduxjs/toolkit/query").Api<import
7
7
  export declare const selectIssuesTreesRoots: ((state: {
8
8
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
9
9
  singleClusterMode: boolean;
10
- nodes: import("../nodes/types").NodesState;
11
10
  cluster: import("../cluster/types").ClusterState;
12
11
  tenant: import("../tenant/types").TenantState;
13
- storage: import("../storage/types").StorageState;
14
12
  tooltip: import("../../../types/store/tooltip").ITooltipState;
15
13
  tablets: import("../../../types/store/tablets").TabletsState;
16
14
  schema: import("../schema/types").SchemaState;
@@ -82,10 +80,8 @@ export declare const selectIssuesTreesRoots: ((state: {
82
80
  dependencies: [((state: {
83
81
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
84
82
  singleClusterMode: boolean;
85
- nodes: import("../nodes/types").NodesState;
86
83
  cluster: import("../cluster/types").ClusterState;
87
84
  tenant: import("../tenant/types").TenantState;
88
- storage: import("../storage/types").StorageState;
89
85
  tooltip: import("../../../types/store/tooltip").ITooltipState;
90
86
  tablets: import("../../../types/store/tablets").TabletsState;
91
87
  schema: import("../schema/types").SchemaState;
@@ -150,10 +146,8 @@ export declare const selectIssuesTreesRoots: ((state: {
150
146
  resultFunc: (resultFuncArgs_0: {
151
147
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
152
148
  singleClusterMode: boolean;
153
- nodes: import("../nodes/types").NodesState;
154
149
  cluster: import("../cluster/types").ClusterState;
155
150
  tenant: import("../tenant/types").TenantState;
156
- storage: import("../storage/types").StorageState;
157
151
  tooltip: import("../../../types/store/tooltip").ITooltipState;
158
152
  tablets: import("../../../types/store/tablets").TabletsState;
159
153
  schema: import("../schema/types").SchemaState;
@@ -276,10 +270,8 @@ export declare const selectIssuesTreesRoots: ((state: {
276
270
  memoizedResultFunc: ((resultFuncArgs_0: {
277
271
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
278
272
  singleClusterMode: boolean;
279
- nodes: import("../nodes/types").NodesState;
280
273
  cluster: import("../cluster/types").ClusterState;
281
274
  tenant: import("../tenant/types").TenantState;
282
- storage: import("../storage/types").StorageState;
283
275
  tooltip: import("../../../types/store/tooltip").ITooltipState;
284
276
  tablets: import("../../../types/store/tablets").TabletsState;
285
277
  schema: import("../schema/types").SchemaState;
@@ -407,10 +399,8 @@ export declare const selectIssuesTreesRoots: ((state: {
407
399
  dependencies: [(state: RootState) => {
408
400
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
409
401
  singleClusterMode: boolean;
410
- nodes: import("../nodes/types").NodesState;
411
402
  cluster: import("../cluster/types").ClusterState;
412
403
  tenant: import("../tenant/types").TenantState;
413
- storage: import("../storage/types").StorageState;
414
404
  tooltip: import("../../../types/store/tooltip").ITooltipState;
415
405
  tablets: import("../../../types/store/tablets").TabletsState;
416
406
  schema: import("../schema/types").SchemaState;
@@ -549,10 +539,8 @@ export declare const selectIssuesTreesRoots: ((state: {
549
539
  export declare const selectIssuesTrees: ((state: {
550
540
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
551
541
  singleClusterMode: boolean;
552
- nodes: import("../nodes/types").NodesState;
553
542
  cluster: import("../cluster/types").ClusterState;
554
543
  tenant: import("../tenant/types").TenantState;
555
- storage: import("../storage/types").StorageState;
556
544
  tooltip: import("../../../types/store/tooltip").ITooltipState;
557
545
  tablets: import("../../../types/store/tablets").TabletsState;
558
546
  schema: import("../schema/types").SchemaState;
@@ -624,10 +612,8 @@ export declare const selectIssuesTrees: ((state: {
624
612
  dependencies: [((state: {
625
613
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
626
614
  singleClusterMode: boolean;
627
- nodes: import("../nodes/types").NodesState;
628
615
  cluster: import("../cluster/types").ClusterState;
629
616
  tenant: import("../tenant/types").TenantState;
630
- storage: import("../storage/types").StorageState;
631
617
  tooltip: import("../../../types/store/tooltip").ITooltipState;
632
618
  tablets: import("../../../types/store/tablets").TabletsState;
633
619
  schema: import("../schema/types").SchemaState;
@@ -692,10 +678,8 @@ export declare const selectIssuesTrees: ((state: {
692
678
  resultFunc: (resultFuncArgs_0: {
693
679
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
694
680
  singleClusterMode: boolean;
695
- nodes: import("../nodes/types").NodesState;
696
681
  cluster: import("../cluster/types").ClusterState;
697
682
  tenant: import("../tenant/types").TenantState;
698
- storage: import("../storage/types").StorageState;
699
683
  tooltip: import("../../../types/store/tooltip").ITooltipState;
700
684
  tablets: import("../../../types/store/tablets").TabletsState;
701
685
  schema: import("../schema/types").SchemaState;
@@ -818,10 +802,8 @@ export declare const selectIssuesTrees: ((state: {
818
802
  memoizedResultFunc: ((resultFuncArgs_0: {
819
803
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
820
804
  singleClusterMode: boolean;
821
- nodes: import("../nodes/types").NodesState;
822
805
  cluster: import("../cluster/types").ClusterState;
823
806
  tenant: import("../tenant/types").TenantState;
824
- storage: import("../storage/types").StorageState;
825
807
  tooltip: import("../../../types/store/tooltip").ITooltipState;
826
808
  tablets: import("../../../types/store/tablets").TabletsState;
827
809
  schema: import("../schema/types").SchemaState;
@@ -949,10 +931,8 @@ export declare const selectIssuesTrees: ((state: {
949
931
  dependencies: [(state: RootState) => {
950
932
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
951
933
  singleClusterMode: boolean;
952
- nodes: import("../nodes/types").NodesState;
953
934
  cluster: import("../cluster/types").ClusterState;
954
935
  tenant: import("../tenant/types").TenantState;
955
- storage: import("../storage/types").StorageState;
956
936
  tooltip: import("../../../types/store/tooltip").ITooltipState;
957
937
  tablets: import("../../../types/store/tablets").TabletsState;
958
938
  schema: import("../schema/types").SchemaState;
@@ -1082,10 +1062,8 @@ export declare const selectIssuesTrees: ((state: {
1082
1062
  }, ((state: {
1083
1063
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1084
1064
  singleClusterMode: boolean;
1085
- nodes: import("../nodes/types").NodesState;
1086
1065
  cluster: import("../cluster/types").ClusterState;
1087
1066
  tenant: import("../tenant/types").TenantState;
1088
- storage: import("../storage/types").StorageState;
1089
1067
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1090
1068
  tablets: import("../../../types/store/tablets").TabletsState;
1091
1069
  schema: import("../schema/types").SchemaState;
@@ -1157,10 +1135,8 @@ export declare const selectIssuesTrees: ((state: {
1157
1135
  dependencies: [((state: {
1158
1136
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1159
1137
  singleClusterMode: boolean;
1160
- nodes: import("../nodes/types").NodesState;
1161
1138
  cluster: import("../cluster/types").ClusterState;
1162
1139
  tenant: import("../tenant/types").TenantState;
1163
- storage: import("../storage/types").StorageState;
1164
1140
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1165
1141
  tablets: import("../../../types/store/tablets").TabletsState;
1166
1142
  schema: import("../schema/types").SchemaState;
@@ -1225,10 +1201,8 @@ export declare const selectIssuesTrees: ((state: {
1225
1201
  resultFunc: (resultFuncArgs_0: {
1226
1202
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1227
1203
  singleClusterMode: boolean;
1228
- nodes: import("../nodes/types").NodesState;
1229
1204
  cluster: import("../cluster/types").ClusterState;
1230
1205
  tenant: import("../tenant/types").TenantState;
1231
- storage: import("../storage/types").StorageState;
1232
1206
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1233
1207
  tablets: import("../../../types/store/tablets").TabletsState;
1234
1208
  schema: import("../schema/types").SchemaState;
@@ -1351,10 +1325,8 @@ export declare const selectIssuesTrees: ((state: {
1351
1325
  memoizedResultFunc: ((resultFuncArgs_0: {
1352
1326
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1353
1327
  singleClusterMode: boolean;
1354
- nodes: import("../nodes/types").NodesState;
1355
1328
  cluster: import("../cluster/types").ClusterState;
1356
1329
  tenant: import("../tenant/types").TenantState;
1357
- storage: import("../storage/types").StorageState;
1358
1330
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1359
1331
  tablets: import("../../../types/store/tablets").TabletsState;
1360
1332
  schema: import("../schema/types").SchemaState;
@@ -1482,10 +1454,8 @@ export declare const selectIssuesTrees: ((state: {
1482
1454
  dependencies: [(state: RootState) => {
1483
1455
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1484
1456
  singleClusterMode: boolean;
1485
- nodes: import("../nodes/types").NodesState;
1486
1457
  cluster: import("../cluster/types").ClusterState;
1487
1458
  tenant: import("../tenant/types").TenantState;
1488
- storage: import("../storage/types").StorageState;
1489
1459
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1490
1460
  tablets: import("../../../types/store/tablets").TabletsState;
1491
1461
  schema: import("../schema/types").SchemaState;
@@ -1632,10 +1602,8 @@ export declare const selectIssuesTrees: ((state: {
1632
1602
  export declare const selectIssuesStatistics: ((state: {
1633
1603
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1634
1604
  singleClusterMode: boolean;
1635
- nodes: import("../nodes/types").NodesState;
1636
1605
  cluster: import("../cluster/types").ClusterState;
1637
1606
  tenant: import("../tenant/types").TenantState;
1638
- storage: import("../storage/types").StorageState;
1639
1607
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1640
1608
  tablets: import("../../../types/store/tablets").TabletsState;
1641
1609
  schema: import("../schema/types").SchemaState;
@@ -1707,10 +1675,8 @@ export declare const selectIssuesStatistics: ((state: {
1707
1675
  dependencies: [((state: {
1708
1676
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1709
1677
  singleClusterMode: boolean;
1710
- nodes: import("../nodes/types").NodesState;
1711
1678
  cluster: import("../cluster/types").ClusterState;
1712
1679
  tenant: import("../tenant/types").TenantState;
1713
- storage: import("../storage/types").StorageState;
1714
1680
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1715
1681
  tablets: import("../../../types/store/tablets").TabletsState;
1716
1682
  schema: import("../schema/types").SchemaState;
@@ -1775,10 +1741,8 @@ export declare const selectIssuesStatistics: ((state: {
1775
1741
  resultFunc: (resultFuncArgs_0: {
1776
1742
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1777
1743
  singleClusterMode: boolean;
1778
- nodes: import("../nodes/types").NodesState;
1779
1744
  cluster: import("../cluster/types").ClusterState;
1780
1745
  tenant: import("../tenant/types").TenantState;
1781
- storage: import("../storage/types").StorageState;
1782
1746
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1783
1747
  tablets: import("../../../types/store/tablets").TabletsState;
1784
1748
  schema: import("../schema/types").SchemaState;
@@ -1901,10 +1865,8 @@ export declare const selectIssuesStatistics: ((state: {
1901
1865
  memoizedResultFunc: ((resultFuncArgs_0: {
1902
1866
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
1903
1867
  singleClusterMode: boolean;
1904
- nodes: import("../nodes/types").NodesState;
1905
1868
  cluster: import("../cluster/types").ClusterState;
1906
1869
  tenant: import("../tenant/types").TenantState;
1907
- storage: import("../storage/types").StorageState;
1908
1870
  tooltip: import("../../../types/store/tooltip").ITooltipState;
1909
1871
  tablets: import("../../../types/store/tablets").TabletsState;
1910
1872
  schema: import("../schema/types").SchemaState;
@@ -2032,10 +1994,8 @@ export declare const selectIssuesStatistics: ((state: {
2032
1994
  dependencies: [(state: RootState) => {
2033
1995
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
2034
1996
  singleClusterMode: boolean;
2035
- nodes: import("../nodes/types").NodesState;
2036
1997
  cluster: import("../cluster/types").ClusterState;
2037
1998
  tenant: import("../tenant/types").TenantState;
2038
- storage: import("../storage/types").StorageState;
2039
1999
  tooltip: import("../../../types/store/tooltip").ITooltipState;
2040
2000
  tablets: import("../../../types/store/tablets").TabletsState;
2041
2001
  schema: import("../schema/types").SchemaState;
@@ -9,10 +9,8 @@ declare const host: Reducer<IHostState, IHostAction>;
9
9
  export declare function getHostInfo(): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
10
10
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
11
11
  singleClusterMode: boolean;
12
- nodes: import("./nodes/types").NodesState;
13
12
  cluster: import("./cluster/types").ClusterState;
14
13
  tenant: import("./tenant/types").TenantState;
15
- storage: import("./storage/types").StorageState;
16
14
  tooltip: import("../../types/store/tooltip").ITooltipState;
17
15
  tablets: import("../../types/store/tablets").TabletsState;
18
16
  schema: import("./schema/types").SchemaState;
@@ -2,10 +2,8 @@ import singleClusterMode from './singleClusterMode';
2
2
  export declare const rootReducer: {
3
3
  api: import("redux").Reducer<import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">, import("redux").UnknownAction>;
4
4
  singleClusterMode: typeof singleClusterMode;
5
- nodes: import("redux").Reducer<import("./nodes/types").NodesState>;
6
5
  cluster: import("redux").Reducer<import("./cluster/types").ClusterState>;
7
6
  tenant: import("redux").Reducer<import("./tenant/types").TenantState>;
8
- storage: import("redux").Reducer<import("./storage/types").StorageState>;
9
7
  tooltip: import("redux").Reducer<import("../../types/store/tooltip").ITooltipState, import("../../types/store/tooltip").ITooltipAction>;
10
8
  tablets: import("redux").Reducer<import("../../types/store/tablets").TabletsState>;
11
9
  schema: import("redux").Reducer<import("./schema/types").SchemaState, import("./schema/types").SchemaAction>;
@@ -85,10 +83,8 @@ export declare const rootReducer: {
85
83
  declare const combinedReducer: import("redux").Reducer<{
86
84
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
87
85
  singleClusterMode: boolean;
88
- nodes: import("./nodes/types").NodesState;
89
86
  cluster: import("./cluster/types").ClusterState;
90
87
  tenant: import("./tenant/types").TenantState;
91
- storage: import("./storage/types").StorageState;
92
88
  tooltip: import("../../types/store/tooltip").ITooltipState;
93
89
  tablets: import("../../types/store/tablets").TabletsState;
94
90
  schema: import("./schema/types").SchemaState;
@@ -148,10 +144,8 @@ declare const combinedReducer: import("redux").Reducer<{
148
144
  }, any, Partial<{
149
145
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api"> | undefined;
150
146
  singleClusterMode: boolean | undefined;
151
- nodes: import("./nodes/types").NodesState | undefined;
152
147
  cluster: import("./cluster/types").ClusterState | undefined;
153
148
  tenant: import("./tenant/types").TenantState | undefined;
154
- storage: import("./storage/types").StorageState | undefined;
155
149
  tooltip: never;
156
150
  tablets: import("../../types/store/tablets").TabletsState | undefined;
157
151
  schema: never;
@@ -11,7 +11,6 @@ import header from './header/header';
11
11
  import heatmap from './heatmap';
12
12
  import host from './host';
13
13
  import hotKeys from './hotKeys/hotKeys';
14
- import nodes from './nodes/nodes';
15
14
  import partitions from './partitions/partitions';
16
15
  import saveQuery from './saveQuery';
17
16
  import schema from './schema/schema';
@@ -19,7 +18,6 @@ import schemaAcl from './schemaAcl/schemaAcl';
19
18
  import settings from './settings/settings';
20
19
  import shardsWorkload from './shardsWorkload/shardsWorkload';
21
20
  import singleClusterMode from './singleClusterMode';
22
- import storage from './storage/storage';
23
21
  import tablets from './tablets';
24
22
  import tabletsFilters from './tabletsFilters';
25
23
  import tenant from './tenant/tenant';
@@ -28,10 +26,8 @@ import tooltip from './tooltip';
28
26
  export const rootReducer = {
29
27
  [api.reducerPath]: api.reducer,
30
28
  singleClusterMode,
31
- nodes,
32
29
  cluster,
33
30
  tenant,
34
- storage,
35
31
  tooltip,
36
32
  tablets,
37
33
  schema,
@@ -3,10 +3,8 @@ import type { PreparedNodeStructure } from './types';
3
3
  export declare const selectNodeStructure: ((state: {
4
4
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
5
5
  singleClusterMode: boolean;
6
- nodes: import("../nodes/types").NodesState;
7
6
  cluster: import("../cluster/types").ClusterState;
8
7
  tenant: import("../tenant/types").TenantState;
9
- storage: import("../storage/types").StorageState;
10
8
  tooltip: import("../../../types/store/tooltip").ITooltipState;
11
9
  tablets: import("../../../types/store/tablets").TabletsState;
12
10
  schema: import("../schema/types").SchemaState;
@@ -1,8 +1,4 @@
1
- import { NodesUptimeFilterValues } from '../../../utils/nodes';
2
- import type { ComputeApiRequestParams, NodesApiRequestParams, NodesSortParams, NodesState } from './types';
3
- declare const _default: import("redux").Reducer<NodesState>;
4
- export default _default;
5
- export declare const setUptimeFilter: import("@reduxjs/toolkit").ActionCreatorWithPayload<NodesUptimeFilterValues, "nodes/setUptimeFilter">, setSearchValue: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "nodes/setSearchValue">, setSort: import("@reduxjs/toolkit").ActionCreatorWithPayload<NodesSortParams, "nodes/setSort">, setInitialState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"nodes/setInitialState">;
1
+ import type { ComputeApiRequestParams, NodesApiRequestParams } from './types';
6
2
  export declare const nodesApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
7
3
  getNodes: import("@reduxjs/toolkit/query").QueryDefinition<NodesApiRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", import("./types").NodesHandledResponse | undefined, "api">;
8
4
  getComputeNodes: import("@reduxjs/toolkit/query").QueryDefinition<ComputeApiRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", import("./types").NodesHandledResponse | undefined, "api">;
@@ -1,33 +1,6 @@
1
- import { createSlice } from '@reduxjs/toolkit';
2
1
  import { EVersion } from '../../../types/api/compute';
3
- import { NodesUptimeFilterValues } from '../../../utils/nodes';
4
2
  import { api } from '../api';
5
3
  import { prepareComputeNodesData, prepareNodesData } from './utils';
6
- const initialState = {
7
- uptimeFilter: NodesUptimeFilterValues.All,
8
- searchValue: '',
9
- };
10
- const slice = createSlice({
11
- name: 'nodes',
12
- initialState,
13
- reducers: {
14
- setUptimeFilter: (state, action) => {
15
- state.uptimeFilter = action.payload;
16
- },
17
- setSearchValue: (state, action) => {
18
- state.searchValue = action.payload;
19
- },
20
- setSort: (state, action) => {
21
- state.sortValue = action.payload.sortValue;
22
- state.sortOrder = action.payload.sortOrder;
23
- },
24
- setInitialState: () => {
25
- return initialState;
26
- },
27
- },
28
- });
29
- export default slice.reducer;
30
- export const { setUptimeFilter, setSearchValue, setSort, setInitialState } = slice.actions;
31
4
  export const nodesApi = api.injectEndpoints({
32
5
  endpoints: (builder) => ({
33
6
  getNodes: builder.query({
@@ -3,7 +3,7 @@ import type { EVersion, TTabletStateInfo as TComputeTabletStateInfo } from '../.
3
3
  import type { EFlag } from '../../../types/api/enums';
4
4
  import type { TEndpoint, TPoolStats } from '../../../types/api/nodes';
5
5
  import type { TTabletStateInfo as TFullTabletStateInfo } from '../../../types/api/tablet';
6
- import type { NodesSortValue, NodesUptimeFilterValues } from '../../../utils/nodes';
6
+ import type { NodesSortValue } from '../../../utils/nodes';
7
7
  import type { VisibleEntities } from '../storage/types';
8
8
  export interface NodesPreparedEntity {
9
9
  NodeId: number;
@@ -27,18 +27,12 @@ export interface NodesPreparedEntity {
27
27
  Endpoints?: TEndpoint[];
28
28
  TotalSessions?: number;
29
29
  }
30
- export interface NodesState {
31
- uptimeFilter: NodesUptimeFilterValues;
32
- searchValue: string;
33
- sortValue?: NodesSortValue;
34
- sortOrder?: OrderType;
35
- }
36
30
  export type NodeType = 'static' | 'dynamic' | 'any';
37
31
  export interface NodesSortParams {
38
- sortOrder?: OrderType;
39
- sortValue?: NodesSortValue;
32
+ sortOrder: OrderType | undefined;
33
+ sortValue: NodesSortValue | undefined;
40
34
  }
41
- export interface NodesGeneralRequestParams extends NodesSortParams {
35
+ export interface NodesGeneralRequestParams extends Partial<NodesSortParams> {
42
36
  filter?: string;
43
37
  uptime?: number;
44
38
  problems_only?: boolean;
@@ -63,6 +57,3 @@ export interface NodesHandledResponse {
63
57
  TotalNodes: number;
64
58
  FoundNodes?: number;
65
59
  }
66
- export interface NodesStateSlice {
67
- nodes: NodesState;
68
- }
@@ -5,10 +5,8 @@ export declare const nodesListApi: import("@reduxjs/toolkit/query").Api<import("
5
5
  export declare const selectNodesMap: ((state: {
6
6
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
7
7
  singleClusterMode: boolean;
8
- nodes: import("./nodes/types").NodesState;
9
8
  cluster: import("./cluster/types").ClusterState;
10
9
  tenant: import("./tenant/types").TenantState;
11
- storage: import("./storage/types").StorageState;
12
10
  tooltip: import("../../types/store/tooltip").ITooltipState;
13
11
  tablets: import("../../types/store/tablets").TabletsState;
14
12
  schema: import("./schema/types").SchemaState;
@@ -21,10 +21,8 @@ export declare function getSchema({ path }: {
21
21
  }): (dispatch: Dispatch<import("redux").UnknownAction>, getState: () => {
22
22
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
23
23
  singleClusterMode: boolean;
24
- nodes: import("../nodes/types").NodesState;
25
24
  cluster: import("../cluster/types").ClusterState;
26
25
  tenant: import("../tenant/types").TenantState;
27
- storage: import("../storage/types").StorageState;
28
26
  tooltip: import("../../../types/store/tooltip").ITooltipState;
29
27
  tablets: import("../../../types/store/tablets").TabletsState;
30
28
  schema: SchemaState;
@@ -11,10 +11,8 @@ export declare function getSchemaAcl({ path }: {
11
11
  }): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
12
12
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
13
13
  singleClusterMode: boolean;
14
- nodes: import("../nodes/types").NodesState;
15
14
  cluster: import("../cluster/types").ClusterState;
16
15
  tenant: import("../tenant/types").TenantState;
17
- storage: import("../storage/types").StorageState;
18
16
  tooltip: import("../../../types/store/tooltip").ITooltipState;
19
17
  tablets: import("../../../types/store/tablets").TabletsState;
20
18
  schema: import("../schema/types").SchemaState;
@@ -1,20 +1,5 @@
1
- import type { OrderType } from '@gravity-ui/react-data-table';
2
- import type { NodesSortValue, NodesUptimeFilterValues } from '../../../utils/nodes';
3
- import type { StorageSortValue } from '../../../utils/storage';
4
- import type { PreparedStorageGroup, PreparedStorageNode, StorageStateSlice, UsageFilter } from './types';
1
+ import type { NodesUptimeFilterValues } from '../../../utils/nodes';
2
+ import type { PreparedStorageGroup, PreparedStorageNode, UsageFilter } from './types';
5
3
  export declare function filterNodes(storageNodes: PreparedStorageNode[], textFilter: string, uptimeFilter: NodesUptimeFilterValues): PreparedStorageNode[];
6
4
  export declare function filterGroups(storageGroups: PreparedStorageGroup[], textFilter: string, usageFilter: string[]): PreparedStorageGroup[];
7
- export declare const selectStorageFilter: (state: StorageStateSlice) => string;
8
- export declare const selectUsageFilter: (state: StorageStateSlice) => string[];
9
- export declare const selectVisibleEntities: (state: StorageStateSlice) => import("./types").VisibleEntities;
10
- export declare const selectNodesUptimeFilter: (state: StorageStateSlice) => NodesUptimeFilterValues;
11
- export declare const selectStorageType: (state: StorageStateSlice) => import("./types").StorageType;
12
- export declare const selectNodesSortParams: (state: StorageStateSlice) => {
13
- sortValue: NodesSortValue;
14
- sortOrder: OrderType;
15
- };
16
- export declare const selectGroupsSortParams: (state: StorageStateSlice) => {
17
- sortValue: StorageSortValue;
18
- sortOrder: OrderType;
19
- };
20
5
  export declare function getUsageFilterOptions(groups: PreparedStorageGroup[]): UsageFilter[];
@@ -1,8 +1,5 @@
1
- import { ASCENDING, DESCENDING } from '@gravity-ui/react-data-table/build/esm/lib/constants';
2
- import { NODES_SORT_VALUES } from '../../../utils/nodes';
3
- import { STORAGE_SORT_VALUES, getUsage } from '../../../utils/storage';
1
+ import { getUsage } from '../../../utils/storage';
4
2
  import { filterNodesByUptime } from '../nodes/selectors';
5
- import { VISIBLE_ENTITIES } from './constants';
6
3
  // ==== Filters ====
7
4
  const prepareSearchText = (text) => text.trim().toLowerCase();
8
5
  const filterNodesByText = (entities, text) => {
@@ -48,38 +45,6 @@ export function filterGroups(storageGroups, textFilter, usageFilter) {
48
45
  result = filterGroupsByUsage(result, usageFilter);
49
46
  return result;
50
47
  }
51
- // ==== Simple selectors ====
52
- export const selectStorageFilter = (state) => state.storage.filter;
53
- export const selectUsageFilter = (state) => state.storage.usageFilter;
54
- export const selectVisibleEntities = (state) => state.storage.visible;
55
- export const selectNodesUptimeFilter = (state) => state.storage.uptimeFilter;
56
- export const selectStorageType = (state) => state.storage.type;
57
- // ==== Sort params selectors ====
58
- export const selectNodesSortParams = (state) => {
59
- const defaultSortValue = NODES_SORT_VALUES.NodeId;
60
- const defaultSortOrder = ASCENDING;
61
- return {
62
- sortValue: state.storage.nodesSortValue || defaultSortValue,
63
- sortOrder: state.storage.nodesSortOrder || defaultSortOrder,
64
- };
65
- };
66
- export const selectGroupsSortParams = (state) => {
67
- const visibleEntities = state.storage.visible;
68
- let defaultSortValue = STORAGE_SORT_VALUES.PoolName;
69
- let defaultSortOrder = ASCENDING;
70
- if (visibleEntities === VISIBLE_ENTITIES.missing) {
71
- defaultSortValue = STORAGE_SORT_VALUES.Degraded;
72
- defaultSortOrder = DESCENDING;
73
- }
74
- if (visibleEntities === VISIBLE_ENTITIES.space) {
75
- defaultSortValue = STORAGE_SORT_VALUES.Usage;
76
- defaultSortOrder = DESCENDING;
77
- }
78
- return {
79
- sortValue: state.storage.groupsSortValue || defaultSortValue,
80
- sortOrder: state.storage.groupsSortOrder || defaultSortOrder,
81
- };
82
- };
83
48
  // ==== Complex selectors ====
84
49
  export function getUsageFilterOptions(groups) {
85
50
  const items = {};
@@ -1,9 +1,5 @@
1
- import { NodesUptimeFilterValues } from '../../../utils/nodes';
2
- import type { NodesApiRequestParams, NodesSortParams } from '../nodes/types';
3
- import type { StorageApiRequestParams, StorageSortParams, StorageState, StorageType, VisibleEntities } from './types';
4
- declare const _default: import("redux").Reducer<StorageState>;
5
- export default _default;
6
- export declare const setInitialState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"storage/setInitialState">, setStorageTextFilter: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "storage/setStorageTextFilter">, setUsageFilter: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "storage/setUsageFilter">, setVisibleEntities: import("@reduxjs/toolkit").ActionCreatorWithPayload<VisibleEntities, "storage/setVisibleEntities">, setStorageType: import("@reduxjs/toolkit").ActionCreatorWithPayload<StorageType, "storage/setStorageType">, setUptimeFilter: import("@reduxjs/toolkit").ActionCreatorWithPayload<NodesUptimeFilterValues, "storage/setUptimeFilter">, setNodesSortParams: import("@reduxjs/toolkit").ActionCreatorWithPayload<NodesSortParams, "storage/setNodesSortParams">, setGroupsSortParams: import("@reduxjs/toolkit").ActionCreatorWithPayload<StorageSortParams, "storage/setGroupsSortParams">;
1
+ import type { NodesApiRequestParams } from '../nodes/types';
2
+ import type { StorageApiRequestParams } from './types';
7
3
  export declare const storageApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, {
8
4
  getStorageNodesInfo: import("@reduxjs/toolkit/query").QueryDefinition<Omit<NodesApiRequestParams, "type">, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", import("./types").PreparedStorageResponse | undefined, "api">;
9
5
  getStorageGroupsInfo: import("@reduxjs/toolkit/query").QueryDefinition<StorageApiRequestParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All", import("./types").PreparedStorageResponse | undefined, "api">;
@@ -1,50 +1,6 @@
1
- import { createSlice } from '@reduxjs/toolkit';
2
1
  import { EVersion } from '../../../types/api/storage';
3
- import { NodesUptimeFilterValues } from '../../../utils/nodes';
4
2
  import { api } from '../api';
5
- import { STORAGE_TYPES, VISIBLE_ENTITIES } from './constants';
6
3
  import { prepareStorageGroupsResponse, prepareStorageNodesResponse } from './utils';
7
- const initialState = {
8
- filter: '',
9
- usageFilter: [],
10
- visible: VISIBLE_ENTITIES.all,
11
- uptimeFilter: NodesUptimeFilterValues.All,
12
- type: STORAGE_TYPES.groups,
13
- };
14
- const slice = createSlice({
15
- name: 'storage',
16
- initialState,
17
- reducers: {
18
- setUptimeFilter: (state, action) => {
19
- state.uptimeFilter = action.payload;
20
- },
21
- setStorageType: (state, action) => {
22
- state.type = action.payload;
23
- },
24
- setStorageTextFilter: (state, action) => {
25
- state.filter = action.payload;
26
- },
27
- setUsageFilter: (state, action) => {
28
- state.usageFilter = action.payload;
29
- },
30
- setVisibleEntities: (state, action) => {
31
- state.visible = action.payload;
32
- },
33
- setNodesSortParams: (state, action) => {
34
- state.nodesSortValue = action.payload.sortValue;
35
- state.nodesSortOrder = action.payload.sortOrder;
36
- },
37
- setGroupsSortParams: (state, action) => {
38
- state.groupsSortValue = action.payload.sortValue;
39
- state.groupsSortOrder = action.payload.sortOrder;
40
- },
41
- setInitialState: () => {
42
- return initialState;
43
- },
44
- },
45
- });
46
- export default slice.reducer;
47
- export const { setInitialState, setStorageTextFilter, setUsageFilter, setVisibleEntities, setStorageType, setUptimeFilter, setNodesSortParams, setGroupsSortParams, } = slice.actions;
48
4
  export const storageApi = api.injectEndpoints({
49
5
  endpoints: (builder) => ({
50
6
  getStorageNodesInfo: builder.query({
@@ -1,13 +1,20 @@
1
1
  import type { OrderType } from '@gravity-ui/react-data-table';
2
+ import { z } from 'zod';
2
3
  import type { TSystemStateInfo } from '../../../types/api/nodes';
3
4
  import type { EVersion, TStorageGroupInfo } from '../../../types/api/storage';
4
- import type { ValueOf } from '../../../types/common';
5
5
  import type { PreparedPDisk, PreparedVDisk } from '../../../utils/disks/types';
6
- import type { NodesSortValue, NodesUptimeFilterValues } from '../../../utils/nodes';
7
6
  import type { StorageSortValue } from '../../../utils/storage';
8
- import type { STORAGE_TYPES, VISIBLE_ENTITIES } from './constants';
9
- export type VisibleEntities = ValueOf<typeof VISIBLE_ENTITIES>;
10
- export type StorageType = ValueOf<typeof STORAGE_TYPES>;
7
+ export declare const visibleEntitiesSchema: z.ZodCatch<z.ZodNativeEnum<{
8
+ readonly all: "all";
9
+ readonly missing: "missing";
10
+ readonly space: "space";
11
+ }>>;
12
+ export type VisibleEntities = z.infer<typeof visibleEntitiesSchema>;
13
+ export declare const storageTypeSchema: z.ZodCatch<z.ZodNativeEnum<{
14
+ readonly groups: "groups";
15
+ readonly nodes: "nodes";
16
+ }>>;
17
+ export type StorageType = z.infer<typeof storageTypeSchema>;
11
18
  export interface PreparedStorageNode extends TSystemStateInfo {
12
19
  NodeId: number;
13
20
  PDisks?: PreparedPDisk[];
@@ -34,10 +41,10 @@ export interface UsageFilter {
34
41
  count: number;
35
42
  }
36
43
  export interface StorageSortParams {
37
- sortOrder?: OrderType;
38
- sortValue?: StorageSortValue;
44
+ sortOrder: OrderType | undefined;
45
+ sortValue: StorageSortValue | undefined;
39
46
  }
40
- export interface StorageSortAndFilterParams extends StorageSortParams {
47
+ export interface StorageSortAndFilterParams extends Partial<StorageSortParams> {
41
48
  filter?: string;
42
49
  offset?: number;
43
50
  limit?: number;
@@ -50,23 +57,9 @@ export interface StorageApiRequestParams extends StorageSortAndFilterParams {
50
57
  visibleEntities?: VisibleEntities;
51
58
  version?: EVersion;
52
59
  }
53
- export interface StorageState {
54
- filter: string;
55
- usageFilter: string[];
56
- visible: VisibleEntities;
57
- uptimeFilter: NodesUptimeFilterValues;
58
- groupsSortValue?: StorageSortValue;
59
- groupsSortOrder?: OrderType;
60
- nodesSortValue?: NodesSortValue;
61
- nodesSortOrder?: OrderType;
62
- type: StorageType;
63
- }
64
60
  export interface PreparedStorageResponse {
65
61
  nodes?: PreparedStorageNode[];
66
62
  groups?: PreparedStorageGroup[];
67
63
  found: number | undefined;
68
64
  total: number | undefined;
69
65
  }
70
- export interface StorageStateSlice {
71
- storage: StorageState;
72
- }
@@ -1 +1,4 @@
1
- export {};
1
+ import { z } from 'zod';
2
+ import { STORAGE_TYPES, VISIBLE_ENTITIES } from './constants';
3
+ export const visibleEntitiesSchema = z.nativeEnum(VISIBLE_ENTITIES).catch(VISIBLE_ENTITIES.all);
4
+ export const storageTypeSchema = z.nativeEnum(STORAGE_TYPES).catch(STORAGE_TYPES.groups);