ydb-embedded-ui 9.6.3 → 9.7.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 (204) hide show
  1. package/dist/components/MetricChart/reducer.d.ts +2 -2
  2. package/dist/components/PaginatedTable/utils.d.ts +0 -1
  3. package/dist/components/PaginatedTable/utils.js +0 -1
  4. package/dist/components/PaginatedTable/utils.js.map +1 -1
  5. package/dist/components/SubjectWithAvatar/SubjectWithAvatar.d.ts +9 -0
  6. package/dist/components/SubjectWithAvatar/SubjectWithAvatar.js +9 -0
  7. package/dist/components/SubjectWithAvatar/SubjectWithAvatar.js.map +1 -0
  8. package/dist/components/SubjectWithAvatar/SubjectWithAvatar.scss +11 -0
  9. package/dist/components/TableWithControlsLayout/useTableScroll.d.ts +0 -2
  10. package/dist/components/TableWithControlsLayout/useTableScroll.js +0 -4
  11. package/dist/components/TableWithControlsLayout/useTableScroll.js.map +1 -1
  12. package/dist/components/nodesColumns/constants.js +1 -1
  13. package/dist/components/nodesColumns/constants.js.map +1 -1
  14. package/dist/containers/Authentication/Authentication.scss +2 -5
  15. package/dist/containers/Clusters/columns.js +4 -2
  16. package/dist/containers/Clusters/columns.js.map +1 -1
  17. package/dist/containers/Nodes/getNodes.d.ts +1 -1
  18. package/dist/containers/Nodes/getNodes.js +1 -2
  19. package/dist/containers/Nodes/getNodes.js.map +1 -1
  20. package/dist/containers/Tenant/Acl/Acl.d.ts +1 -5
  21. package/dist/containers/Tenant/Acl/Acl.js +11 -133
  22. package/dist/containers/Tenant/Acl/Acl.js.map +1 -1
  23. package/dist/containers/Tenant/Acl/i18n/en.json +2 -5
  24. package/dist/containers/Tenant/Acl/i18n/index.d.ts +1 -1
  25. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.d.ts +2 -0
  26. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js +35 -0
  27. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js.map +1 -0
  28. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.scss +80 -0
  29. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.d.ts +6 -0
  30. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js +58 -0
  31. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js.map +1 -0
  32. package/dist/containers/Tenant/Diagnostics/AccessRights/components/Owner.d.ts +1 -0
  33. package/dist/containers/Tenant/Diagnostics/AccessRights/components/Owner.js +24 -0
  34. package/dist/containers/Tenant/Diagnostics/AccessRights/components/Owner.js.map +1 -0
  35. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.d.ts +7 -0
  36. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.js +41 -0
  37. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.js.map +1 -0
  38. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.d.ts +12 -0
  39. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.js +69 -0
  40. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.js.map +1 -0
  41. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.d.ts +1 -0
  42. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.js +17 -0
  43. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.js.map +1 -0
  44. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.d.ts +3 -0
  45. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js +44 -0
  46. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js.map +1 -0
  47. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/en.json +22 -0
  48. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.d.ts +2 -0
  49. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.js +5 -0
  50. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.js.map +1 -0
  51. package/dist/containers/Tenant/Diagnostics/AccessRights/shared.d.ts +1 -0
  52. package/dist/containers/Tenant/Diagnostics/AccessRights/shared.js +3 -0
  53. package/dist/containers/Tenant/Diagnostics/AccessRights/shared.js.map +1 -0
  54. package/dist/containers/Tenant/Diagnostics/Diagnostics.d.ts +0 -5
  55. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +20 -9
  56. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  57. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +1 -0
  58. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +24 -11
  59. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  60. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +2 -21
  61. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  62. package/dist/containers/Tenant/GrantAccess/GrantAccess.d.ts +6 -0
  63. package/dist/containers/Tenant/GrantAccess/GrantAccess.js +99 -0
  64. package/dist/containers/Tenant/GrantAccess/GrantAccess.js.map +1 -0
  65. package/dist/containers/Tenant/GrantAccess/GrantAccess.scss +44 -0
  66. package/dist/containers/Tenant/GrantAccess/components/Footer.d.ts +10 -0
  67. package/dist/containers/Tenant/GrantAccess/components/Footer.js +9 -0
  68. package/dist/containers/Tenant/GrantAccess/components/Footer.js.map +1 -0
  69. package/dist/containers/Tenant/GrantAccess/components/Rights.d.ts +8 -0
  70. package/dist/containers/Tenant/GrantAccess/components/Rights.js +36 -0
  71. package/dist/containers/Tenant/GrantAccess/components/Rights.js.map +1 -0
  72. package/dist/containers/Tenant/GrantAccess/components/RightsSectionSelector.d.ts +10 -0
  73. package/dist/containers/Tenant/GrantAccess/components/RightsSectionSelector.js +16 -0
  74. package/dist/containers/Tenant/GrantAccess/components/RightsSectionSelector.js.map +1 -0
  75. package/dist/containers/Tenant/GrantAccess/components/SubjectInput.d.ts +7 -0
  76. package/dist/containers/Tenant/GrantAccess/components/SubjectInput.js +47 -0
  77. package/dist/containers/Tenant/GrantAccess/components/SubjectInput.js.map +1 -0
  78. package/dist/containers/Tenant/GrantAccess/i18n/en.json +36 -0
  79. package/dist/containers/Tenant/GrantAccess/i18n/index.d.ts +2 -0
  80. package/dist/containers/Tenant/GrantAccess/i18n/index.js +5 -0
  81. package/dist/containers/Tenant/GrantAccess/i18n/index.js.map +1 -0
  82. package/dist/containers/Tenant/GrantAccess/shared.d.ts +10 -0
  83. package/dist/containers/Tenant/GrantAccess/shared.js +57 -0
  84. package/dist/containers/Tenant/GrantAccess/shared.js.map +1 -0
  85. package/dist/containers/Tenant/GrantAccess/utils.d.ts +14 -0
  86. package/dist/containers/Tenant/GrantAccess/utils.js +44 -0
  87. package/dist/containers/Tenant/GrantAccess/utils.js.map +1 -0
  88. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +1 -2
  89. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js.map +1 -1
  90. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.d.ts +0 -5
  91. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +3 -3
  92. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
  93. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.d.ts +1 -6
  94. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +4 -2
  95. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  96. package/dist/containers/Tenant/Query/Query.d.ts +0 -5
  97. package/dist/containers/Tenant/Query/Query.js.map +1 -1
  98. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +0 -5
  99. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +8 -2
  100. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  101. package/dist/containers/Tenant/Query/QuerySettingsDialog/TimeoutLabel.js +5 -1
  102. package/dist/containers/Tenant/Query/QuerySettingsDialog/TimeoutLabel.js.map +1 -1
  103. package/dist/containers/Tenant/Tenant.js +3 -1
  104. package/dist/containers/Tenant/Tenant.js.map +1 -1
  105. package/dist/containers/Tenant/TenantContext.d.ts +18 -0
  106. package/dist/containers/Tenant/TenantContext.js +20 -0
  107. package/dist/containers/Tenant/TenantContext.js.map +1 -0
  108. package/dist/containers/Tenant/TenantDrawerHealthcheck.d.ts +6 -0
  109. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +48 -0
  110. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -0
  111. package/dist/containers/Tenant/TenantDrawerRights.d.ts +6 -0
  112. package/dist/containers/Tenant/TenantDrawerRights.js +27 -0
  113. package/dist/containers/Tenant/TenantDrawerRights.js.map +1 -0
  114. package/dist/containers/Tenant/TenantDrawerWrappers.d.ts +1 -2
  115. package/dist/containers/Tenant/TenantDrawerWrappers.js +5 -44
  116. package/dist/containers/Tenant/TenantDrawerWrappers.js.map +1 -1
  117. package/dist/containers/Tenant/i18n/en.json +3 -1
  118. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  119. package/dist/containers/Tenant/useTenantQueryParams.d.ts +4 -0
  120. package/dist/containers/Tenant/useTenantQueryParams.js +20 -2
  121. package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -1
  122. package/dist/services/api/streaming.js +1 -1
  123. package/dist/services/api/streaming.js.map +1 -1
  124. package/dist/services/api/viewer.d.ts +10 -1
  125. package/dist/services/api/viewer.js +21 -2
  126. package/dist/services/api/viewer.js.map +1 -1
  127. package/dist/store/configureStore.d.ts +4 -4
  128. package/dist/store/defaultStore.d.ts +2 -2
  129. package/dist/store/reducers/api.d.ts +1 -1
  130. package/dist/store/reducers/api.js +1 -0
  131. package/dist/store/reducers/api.js.map +1 -1
  132. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  133. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  134. package/dist/store/reducers/capabilities/capabilities.d.ts +31 -31
  135. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  136. package/dist/store/reducers/capabilities/hooks.js +3 -0
  137. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  138. package/dist/store/reducers/cluster/cluster.d.ts +5 -5
  139. package/dist/store/reducers/cluster/cluster.js +1 -1
  140. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  141. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  142. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  143. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
  144. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +44 -44
  145. package/dist/store/reducers/heatmap.d.ts +2 -2
  146. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  147. package/dist/store/reducers/index.d.ts +3 -3
  148. package/dist/store/reducers/network/network.d.ts +2 -2
  149. package/dist/store/reducers/node/node.d.ts +3 -3
  150. package/dist/store/reducers/node/selectors.d.ts +1 -1
  151. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  152. package/dist/store/reducers/nodesList.d.ts +3 -3
  153. package/dist/store/reducers/operations.d.ts +4 -4
  154. package/dist/store/reducers/overview/overview.d.ts +2 -2
  155. package/dist/store/reducers/partitions/partitions.d.ts +2 -2
  156. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  157. package/dist/store/reducers/planToSvg.d.ts +2 -2
  158. package/dist/store/reducers/preview.d.ts +2 -2
  159. package/dist/store/reducers/query/query.d.ts +3 -3
  160. package/dist/store/reducers/replication.d.ts +2 -2
  161. package/dist/store/reducers/schema/schema.d.ts +16 -16
  162. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +1519 -2
  163. package/dist/store/reducers/schemaAcl/schemaAcl.js +107 -1
  164. package/dist/store/reducers/schemaAcl/schemaAcl.js.map +1 -1
  165. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  166. package/dist/store/reducers/storage/storage.d.ts +3 -3
  167. package/dist/store/reducers/tableData.d.ts +1 -1
  168. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  169. package/dist/store/reducers/tablet.d.ts +7 -7
  170. package/dist/store/reducers/tablets.d.ts +3 -3
  171. package/dist/store/reducers/tenant/constants.d.ts +2 -0
  172. package/dist/store/reducers/tenant/constants.js +2 -0
  173. package/dist/store/reducers/tenant/constants.js.map +1 -1
  174. package/dist/store/reducers/tenant/tenant.d.ts +3 -3
  175. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  176. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  177. package/dist/store/reducers/tenants/selectors.d.ts +21 -21
  178. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  179. package/dist/store/reducers/topic.d.ts +45 -45
  180. package/dist/store/reducers/vdisk/vdisk.d.ts +2 -2
  181. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  182. package/dist/styles/index.scss +5 -3
  183. package/dist/types/api/acl.d.ts +35 -0
  184. package/dist/types/api/capabilities.d.ts +1 -1
  185. package/dist/types/api/consumer.d.ts +2 -1
  186. package/dist/types/api/consumer.js +0 -1
  187. package/dist/types/api/consumer.js.map +1 -1
  188. package/dist/types/api/replication.js +0 -1
  189. package/dist/types/api/replication.js.map +1 -1
  190. package/dist/types/api/schema/schema.js.map +1 -1
  191. package/dist/types/api/topic.js +0 -1
  192. package/dist/types/api/topic.js.map +1 -1
  193. package/dist/uiFactory/types.d.ts +5 -0
  194. package/dist/utils/createToast.js +4 -4
  195. package/dist/utils/createToast.js.map +1 -1
  196. package/dist/utils/hooks/useDisableOidcStreaming.d.ts +5 -0
  197. package/dist/utils/hooks/useDisableOidcStreaming.js +10 -0
  198. package/dist/utils/hooks/useDisableOidcStreaming.js.map +1 -0
  199. package/dist/utils/hooks/useQueryExecutionSettings.js +5 -1
  200. package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
  201. package/dist/utils/registerError.js +0 -1
  202. package/dist/utils/registerError.js.map +1 -1
  203. package/package.json +10 -7
  204. package/dist/containers/Tenant/Acl/Acl.scss +0 -27
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import NiceModal from '@ebay/nice-modal-react';
4
+ import { Dialog, Text, TextInput } from '@gravity-ui/uikit';
5
+ import { schemaAclApi } from '../../../../../store/reducers/schemaAcl/schemaAcl';
6
+ import createToast from '../../../../../utils/createToast';
7
+ import { prepareErrorMessage } from '../../../../../utils/prepareErrorMessage';
8
+ import i18n from '../i18n';
9
+ import { block } from '../shared';
10
+ const CHANGE_OWNER_DIALOG = 'change-owner-dialog';
11
+ export async function getChangeOwnerDialog({ path, database, }) {
12
+ return await NiceModal.show(CHANGE_OWNER_DIALOG, {
13
+ id: CHANGE_OWNER_DIALOG,
14
+ path,
15
+ database,
16
+ });
17
+ }
18
+ const ChangeOwnerDialogNiceModal = NiceModal.create(({ path, database }) => {
19
+ const modal = NiceModal.useModal();
20
+ const handleClose = () => {
21
+ modal.hide();
22
+ modal.remove();
23
+ };
24
+ return (_jsx(ChangeOwnerDialog, { onClose: () => {
25
+ modal.resolve(false);
26
+ handleClose();
27
+ }, open: modal.visible, path: path, database: database }));
28
+ });
29
+ NiceModal.register(CHANGE_OWNER_DIALOG, ChangeOwnerDialogNiceModal);
30
+ function ChangeOwnerDialog({ open, onClose, path, database }) {
31
+ const [newOwner, setNewOwner] = React.useState('');
32
+ const [requestErrorMessage, setRequestErrorMessage] = React.useState('');
33
+ const [updateOwner, updateOwnerResponse] = schemaAclApi.useUpdateAccessMutation();
34
+ const handleTyping = (value) => {
35
+ setNewOwner(value);
36
+ setRequestErrorMessage('');
37
+ };
38
+ const onApply = () => {
39
+ updateOwner({ path, database, rights: { ChangeOwnership: { Subject: newOwner } } })
40
+ .unwrap()
41
+ .then(() => {
42
+ onClose();
43
+ createToast({
44
+ name: 'updateOwner',
45
+ content: i18n('title_owner-changed'),
46
+ autoHiding: 3000,
47
+ });
48
+ })
49
+ .catch((error) => {
50
+ setRequestErrorMessage(prepareErrorMessage(error));
51
+ });
52
+ };
53
+ return (_jsxs(Dialog, { open: open, size: "s", onClose: onClose, onEnterKeyDown: onApply, children: [_jsx(Dialog.Header, { caption: i18n('action_change-owner') }), _jsx(Dialog.Body, { children: _jsxs("div", { className: block('dialog-content-wrapper'), children: [_jsx(TextInput, { id: "queryName", placeholder: i18n('decription_enter-subject'), value: newOwner, onUpdate: handleTyping, hasClear: true, autoFocus: true, autoComplete: false }), requestErrorMessage && (_jsx(Text, { color: "danger", className: block('dialog-error'), title: requestErrorMessage, children: requestErrorMessage }))] }) }), _jsx(Dialog.Footer, { onClickButtonApply: onApply, textButtonCancel: i18n('action_cancel'), textButtonApply: i18n('action_apply'), onClickButtonCancel: onClose, propsButtonApply: {
54
+ loading: updateOwnerResponse.isLoading,
55
+ disabled: !newOwner.length,
56
+ } })] }));
57
+ }
58
+ //# sourceMappingURL=ChangeOwnerDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeOwnerDialog.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function Owner(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CrownDiamond, Pencil } from '@gravity-ui/icons';
3
+ import { ActionTooltip, Button, Card, Divider, Flex, Icon, Text } from '@gravity-ui/uikit';
4
+ import { SubjectWithAvatar } from '../../../../../components/SubjectWithAvatar/SubjectWithAvatar';
5
+ import { useEditAccessAvailable } from '../../../../../store/reducers/capabilities/hooks';
6
+ import { selectSchemaOwner } from '../../../../../store/reducers/schemaAcl/schemaAcl';
7
+ import { useTypedSelector } from '../../../../../utils/hooks';
8
+ import { useCurrentSchema } from '../../../TenantContext';
9
+ import i18n from '../i18n';
10
+ import { block } from '../shared';
11
+ import { getChangeOwnerDialog } from './ChangeOwnerDialog';
12
+ export function Owner() {
13
+ const editable = useEditAccessAvailable();
14
+ const { path, database } = useCurrentSchema();
15
+ const owner = useTypedSelector((state) => selectSchemaOwner(state, path, database));
16
+ if (!owner) {
17
+ return null;
18
+ }
19
+ const renderIcon = () => {
20
+ return (_jsx(Flex, { alignItems: "center", justifyContent: "center", className: block('icon-wrapper'), children: _jsx(Icon, { data: CrownDiamond, size: 14, className: block('avatar-icon') }) }));
21
+ };
22
+ return (_jsxs(Flex, { gap: 4, alignItems: "center", children: [_jsx(Card, { view: "filled", className: block('owner-card'), children: _jsxs(Flex, { alignItems: "center", justifyContent: "space-between", gap: 9, children: [_jsx(SubjectWithAvatar, { subject: owner, renderIcon: renderIcon, title: i18n('title_owner') }), editable && (_jsxs(Flex, { gap: 1, alignItems: "center", children: [_jsx(Divider, { className: block('owner-divider'), orientation: "vertical" }), _jsx(ActionTooltip, { title: i18n('action_change-owner'), children: _jsx(Button, { view: "flat-secondary", onClick: () => getChangeOwnerDialog({ path, database }), children: _jsx(Icon, { data: Pencil }) }) })] }))] }) }), _jsx(Text, { color: "secondary", className: block('owner-description'), children: i18n('description_owner') })] }));
23
+ }
24
+ //# sourceMappingURL=Owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Owner.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/Owner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAC,iBAAiB,EAAC,MAAM,+DAA+D,CAAC;AAChG,OAAO,EAAC,sBAAsB,EAAC,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAC,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAEzD,MAAM,UAAU,KAAK;IACjB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,CACH,KAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,YAC9E,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAI,GACpE,CACV,CAAC;IACN,CAAC,CAAC;IACF,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC7B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,YAC9C,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,eAAe,EAAC,GAAG,EAAE,CAAC,aAC3D,KAAC,iBAAiB,IACd,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAC5B,EACD,QAAQ,IAAI,CACT,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC7B,KAAC,OAAO,IAAC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAC,UAAU,GAAG,EACrE,KAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,YAC7C,KAAC,MAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,YAErD,KAAC,IAAI,IAAC,IAAI,EAAE,MAAM,GAAI,GACjB,GACG,IACb,CACV,IACE,GACJ,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,YACxD,IAAI,CAAC,mBAAmB,CAAC,GACvB,IACJ,CACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function Actions(): null;
2
+ interface ActionProps {
3
+ subject: string;
4
+ className?: string;
5
+ }
6
+ export declare function SubjectActions({ subject, className }: ActionProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CircleXmark, Pencil } from '@gravity-ui/icons';
3
+ import { ActionTooltip, Button, Flex, Icon } from '@gravity-ui/uikit';
4
+ import { useEditAccessAvailable } from '../../../../../../store/reducers/capabilities/hooks';
5
+ import { selectSubjectExplicitRights } from '../../../../../../store/reducers/schemaAcl/schemaAcl';
6
+ import { useTypedSelector } from '../../../../../../utils/hooks';
7
+ import { useCurrentSchema } from '../../../../TenantContext';
8
+ import { useTenantQueryParams } from '../../../../useTenantQueryParams';
9
+ import i18n from '../../i18n';
10
+ import { block } from '../../shared';
11
+ import { getRevokeAllRightsDialog } from './RevokeAllRightsDialog';
12
+ export function Actions() {
13
+ return null;
14
+ }
15
+ export function SubjectActions({ subject, className }) {
16
+ const editable = useEditAccessAvailable();
17
+ if (!editable) {
18
+ return null;
19
+ }
20
+ return (_jsxs(Flex, { gap: 1, className: className, alignItems: "center", children: [_jsx(GrantRightsToSubject, { subject: subject }), _jsx(RevokeAllRights, { subject: subject })] }));
21
+ }
22
+ function GrantRightsToSubject({ subject }) {
23
+ const { handleShowGrantAccessChange, handleAclSubjectChange } = useTenantQueryParams();
24
+ const handleClick = () => {
25
+ handleShowGrantAccessChange(true);
26
+ handleAclSubjectChange(subject);
27
+ };
28
+ return (_jsx(ActionTooltip, { title: i18n('description_grant-explicit-rights'), children: _jsx(Button, { view: "outlined", onClick: handleClick, size: "s", children: _jsx(Icon, { data: Pencil }) }) }));
29
+ }
30
+ function RevokeAllRights({ subject }) {
31
+ const { path, database } = useCurrentSchema();
32
+ const subjectExplicitRights = useTypedSelector((state) => selectSubjectExplicitRights(state, subject, path, database));
33
+ const noRightsToRevoke = subjectExplicitRights.length === 0;
34
+ const handleClick = async () => {
35
+ await getRevokeAllRightsDialog({ path, database, subject });
36
+ };
37
+ return (_jsx(ActionTooltip, { title: noRightsToRevoke
38
+ ? i18n('descripition_no-rights-to-revoke')
39
+ : i18n('label_revoke-all-rights'), children: _jsx("div", { className: block('button-wrapper'), children: _jsx(Button, { onClick: handleClick, disabled: noRightsToRevoke, view: "outlined", size: "s", children: _jsx(Icon, { data: CircleXmark }) }) }) }));
40
+ }
41
+ //# sourceMappingURL=Actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ interface GetRevokeAllRightsDialogProps {
2
+ path: string;
3
+ database: string;
4
+ subject: string;
5
+ }
6
+ export declare function getRevokeAllRightsDialog({ path, database, subject, }: GetRevokeAllRightsDialogProps): Promise<boolean>;
7
+ interface RevokeAllRightsDialogProps extends GetRevokeAllRightsDialogProps {
8
+ open: boolean;
9
+ onClose: () => void;
10
+ }
11
+ declare function RevokeAllRightsDialog({ open, onClose, path, database, subject, }: RevokeAllRightsDialogProps): import("react/jsx-runtime").JSX.Element;
12
+ export default RevokeAllRightsDialog;
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import NiceModal from '@ebay/nice-modal-react';
4
+ import { Dialog, Flex, Text } from '@gravity-ui/uikit';
5
+ import { SubjectWithAvatar } from '../../../../../../components/SubjectWithAvatar/SubjectWithAvatar';
6
+ import { schemaAclApi, selectSubjectExplicitRights, } from '../../../../../../store/reducers/schemaAcl/schemaAcl';
7
+ import createToast from '../../../../../../utils/createToast';
8
+ import { useTypedSelector } from '../../../../../../utils/hooks';
9
+ import { prepareErrorMessage } from '../../../../../../utils/prepareErrorMessage';
10
+ import i18n from '../../i18n';
11
+ const REVOKE_ALL_RIGHTS_DIALOG = 'revoke-all-rights-dialog';
12
+ export async function getRevokeAllRightsDialog({ path, database, subject, }) {
13
+ return await NiceModal.show(REVOKE_ALL_RIGHTS_DIALOG, {
14
+ id: REVOKE_ALL_RIGHTS_DIALOG,
15
+ path,
16
+ database,
17
+ subject,
18
+ });
19
+ }
20
+ const RevokeAllRightsDialogNiceModal = NiceModal.create(({ path, database, subject }) => {
21
+ const modal = NiceModal.useModal();
22
+ const handleClose = () => {
23
+ modal.hide();
24
+ modal.remove();
25
+ };
26
+ return (_jsx(RevokeAllRightsDialog, { onClose: () => {
27
+ modal.resolve(false);
28
+ handleClose();
29
+ }, open: modal.visible, path: path, database: database, subject: subject }));
30
+ });
31
+ NiceModal.register(REVOKE_ALL_RIGHTS_DIALOG, RevokeAllRightsDialogNiceModal);
32
+ function RevokeAllRightsDialog({ open, onClose, path, database, subject, }) {
33
+ const subjectExplicitRights = useTypedSelector((state) => selectSubjectExplicitRights(state, subject, path, database));
34
+ const [requestErrorMessage, setRequestErrorMessage] = React.useState('');
35
+ const [removeAccess, removeAccessResponse] = schemaAclApi.useUpdateAccessMutation();
36
+ const onApply = () => {
37
+ removeAccess({
38
+ path,
39
+ database,
40
+ rights: {
41
+ RemoveAccess: [
42
+ {
43
+ Subject: subject,
44
+ AccessRights: Array.from(subjectExplicitRights),
45
+ AccessType: 'Allow',
46
+ },
47
+ ],
48
+ },
49
+ })
50
+ .unwrap()
51
+ .then(() => {
52
+ onClose();
53
+ createToast({
54
+ name: 'revokeAllRights',
55
+ content: i18n('description_rights-revoked'),
56
+ autoHiding: 3000,
57
+ });
58
+ })
59
+ .catch((error) => {
60
+ setRequestErrorMessage(prepareErrorMessage(error));
61
+ });
62
+ };
63
+ return (_jsxs(Dialog, { open: open, size: "s", onClose: onClose, children: [_jsx(Dialog.Header, { caption: i18n('label_revoke-all-rights') }), _jsx(Dialog.Body, { children: _jsxs(Flex, { direction: "column", gap: 5, children: [_jsx(Text, { variant: "body-2", children: i18n('description_revoke-all-rights') }), _jsx(SubjectWithAvatar, { subject: subject })] }) }), _jsx(Dialog.Footer, { onClickButtonApply: onApply, textButtonCancel: i18n('action_cancel'), textButtonApply: i18n('action_revoke'), onClickButtonCancel: onClose, propsButtonApply: {
64
+ loading: removeAccessResponse.isLoading,
65
+ view: 'outlined-danger',
66
+ }, children: requestErrorMessage && (_jsx(Text, { color: "danger", title: requestErrorMessage, children: requestErrorMessage })) })] }));
67
+ }
68
+ export default RevokeAllRightsDialog;
69
+ //# sourceMappingURL=RevokeAllRightsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevokeAllRightsDialog.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function RightsTable(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ResizeableDataTable } from '../../../../../../components/ResizeableDataTable/ResizeableDataTable';
3
+ import { selectPreparedRights } from '../../../../../../store/reducers/schemaAcl/schemaAcl';
4
+ import { DEFAULT_TABLE_SETTINGS } from '../../../../../../utils/constants';
5
+ import { useTypedSelector } from '../../../../../../utils/hooks';
6
+ import { useCurrentSchema } from '../../../../TenantContext';
7
+ import i18n from '../../i18n';
8
+ import { block } from '../../shared';
9
+ import { columns } from './columns';
10
+ const RIGHT_TABLE_COLUMNS_WIDTH_LS_KEY = 'right-table-columns-width';
11
+ const AccessRightsTableSettings = { ...DEFAULT_TABLE_SETTINGS, dynamicRender: false };
12
+ export function RightsTable() {
13
+ const { path, database } = useCurrentSchema();
14
+ const data = useTypedSelector((state) => selectPreparedRights(state, path, database));
15
+ return (_jsx(ResizeableDataTable, { columnsWidthLSKey: RIGHT_TABLE_COLUMNS_WIDTH_LS_KEY, columns: columns, data: data !== null && data !== void 0 ? data : [], settings: AccessRightsTableSettings, emptyDataMessage: i18n('descrtiption_empty-rights'), wrapperClassName: block('rights-table') }));
16
+ }
17
+ //# sourceMappingURL=RightsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RightsTable.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,sEAAsE,CAAC;AACzG,OAAO,EAAC,oBAAoB,EAAC,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;AAErE,MAAM,yBAAyB,GAAa,EAAC,GAAG,sBAAsB,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;AAE9F,MAAM,UAAU,WAAW;IACvB,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,OAAO,CACH,KAAC,mBAAmB,IAChB,iBAAiB,EAAE,gCAAgC,EACnD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,EAChB,QAAQ,EAAE,yBAAyB,EACnC,gBAAgB,EAAE,IAAI,CAAC,2BAA2B,CAAC,EACnD,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,GACzC,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Column } from '@gravity-ui/react-data-table';
2
+ import type { PreparedAccessRights } from '../../../../../../types/api/acl';
3
+ export declare const columns: Column<PreparedAccessRights>[];
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex, HelpMark, Label } from '@gravity-ui/uikit';
3
+ import { SubjectWithAvatar } from '../../../../../../components/SubjectWithAvatar/SubjectWithAvatar';
4
+ import i18n from '../../i18n';
5
+ import { block } from '../../shared';
6
+ import { SubjectActions } from './Actions';
7
+ export const columns = [
8
+ {
9
+ name: 'subject',
10
+ width: 210,
11
+ get header() {
12
+ return i18n('label_subject');
13
+ },
14
+ render: ({ row: { subject } }) => {
15
+ return _jsx(SubjectWithAvatar, { subject: subject });
16
+ },
17
+ },
18
+ {
19
+ name: 'explicit',
20
+ width: 400,
21
+ get header() {
22
+ return (_jsx(HeaderWithHelpMark, { header: i18n('label_explicit-rights'), note: i18n('description_explicit-rights') }));
23
+ },
24
+ render: ({ row: { subject, explicit } }) => {
25
+ return (_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", className: block('rights-wrapper'), children: [_jsx(Flex, { gap: 2, wrap: "wrap", children: explicit.map((right) => (_jsx(Label, { theme: "normal", size: "xs", children: right }, right))) }), _jsx(SubjectActions, { subject: subject, className: block('rights-actions') })] }));
26
+ },
27
+ sortable: false,
28
+ },
29
+ {
30
+ name: 'effective',
31
+ width: 400,
32
+ get header() {
33
+ return (_jsx(HeaderWithHelpMark, { header: i18n('label_effective-rights'), note: i18n('description_effective-rights') }));
34
+ },
35
+ render: ({ row: { effective } }) => {
36
+ return (_jsx(Flex, { gap: 2, wrap: "wrap", children: effective.map((right) => (_jsx(Label, { theme: "unknown", size: "xs", children: right }, right))) }));
37
+ },
38
+ sortable: false,
39
+ },
40
+ ];
41
+ function HeaderWithHelpMark({ header, note }) {
42
+ return (_jsxs(Flex, { gap: 1, alignItems: "center", children: [header, _jsx(HelpMark, { className: block('note'), children: note })] }));
43
+ }
44
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kEAAkE,CAAC;AAEnG,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAmC;IACnD;QACI,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG;QACV,IAAI,MAAM;YACN,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,CAAC,EAAC,GAAG,EAAE,EAAC,OAAO,EAAC,EAAC,EAAE,EAAE;YACzB,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC;QACnD,CAAC;KACJ;IACD;QACI,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,MAAM;YACN,OAAO,CACH,KAAC,kBAAkB,IACf,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,EACrC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,GAC3C,CACL,CAAC;QACN,CAAC;QACD,MAAM,EAAE,CAAC,EAAC,GAAG,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAC,EAAE,EAAE;YACnC,OAAO,CACH,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAElC,KAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,MAAM,YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAa,IAAI,EAAC,IAAI,YACtC,KAAK,IADiB,KAAK,CAExB,CACX,CAAC,GACC,EACP,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAI,IACrE,CACV,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,KAAK;KAClB;IACD;QACI,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,MAAM;YACN,OAAO,CACH,KAAC,kBAAkB,IACf,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,EACtC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,GAC5C,CACL,CAAC;QACN,CAAC;QACD,MAAM,EAAE,CAAC,EAAC,GAAG,EAAE,EAAC,SAAS,EAAC,EAAC,EAAE,EAAE;YAC3B,OAAO,CACH,KAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,MAAM,YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,KAAC,KAAK,IAAC,KAAK,EAAC,SAAS,EAAa,IAAI,EAAC,IAAI,YACvC,KAAK,IADkB,KAAK,CAEzB,CACX,CAAC,GACC,CACV,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,KAAK;KAClB;CACJ,CAAC;AAOF,SAAS,kBAAkB,CAAC,EAAC,MAAM,EAAE,IAAI,EAA0B;IAC/D,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC5B,MAAM,EACP,KAAC,QAAQ,IAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,YAAG,IAAI,GAAY,IAClD,CACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,22 @@
1
+ {
2
+ "title_owner": "owner",
3
+ "action_change-owner": "Change owner",
4
+ "description_owner": "The owner has complete management authority over the object and cannot acquire or lose any rights associated with it.",
5
+ "action_grant-access": "Grant Access",
6
+ "label_explicit-rights": "Explicit rights",
7
+ "label_effective-rights": "Effective rights",
8
+ "label_subject": "Subject",
9
+ "descrtiption_empty-rights": "No access rights",
10
+ "decription_enter-subject": "Enter subject",
11
+ "action_cancel": "Cancel",
12
+ "action_apply": "Apply",
13
+ "title_owner-changed": "Owner has been successfully changed",
14
+ "description_explicit-rights": "Direct granted permissions",
15
+ "description_effective-rights": "Total active permissions from inheritance and direct grants",
16
+ "action_revoke": "Revoke",
17
+ "label_revoke-all-rights": "Revoke all explicit rights",
18
+ "descripition_no-rights-to-revoke": "No rights to revoke",
19
+ "description_grant-explicit-rights": "Grant explicit rights",
20
+ "description_revoke-all-rights": "Are you sure you want to revoke all explicit rights for:",
21
+ "description_rights-revoked": "Explicit rights has been successfully revoked"
22
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "title_owner" | "action_change-owner" | "description_owner" | "action_grant-access" | "label_explicit-rights" | "label_effective-rights" | "label_subject" | "descrtiption_empty-rights" | "decription_enter-subject" | "action_cancel" | "action_apply" | "title_owner-changed" | "description_explicit-rights" | "description_effective-rights" | "action_revoke" | "label_revoke-all-rights" | "descripition_no-rights-to-revoke" | "description_grant-explicit-rights" | "description_revoke-all-rights" | "description_rights-revoked", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-access-rights';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/AccessRights/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const block: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,3 @@
1
+ import { cn } from '../../../../utils/cn';
2
+ export const block = cn('ydb-access-rights');
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/AccessRights/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC"}
@@ -1,11 +1,6 @@
1
1
  import type { AdditionalNodesProps, AdditionalTenantsProps } from '../../../types/additionalProps';
2
- import type { EPathSubType, EPathType } from '../../../types/api/schema';
3
2
  import './Diagnostics.scss';
4
3
  interface DiagnosticsProps {
5
- type?: EPathType;
6
- subType?: EPathSubType;
7
- tenantName: string;
8
- path: string;
9
4
  additionalTenantProps?: AdditionalTenantsProps;
10
5
  additionalNodesProps?: AdditionalNodesProps;
11
6
  }
@@ -8,6 +8,7 @@ import { DrawerContextProvider } from '../../../components/Drawer/DrawerContext'
8
8
  import { useFeatureFlagsAvailable, useTopicDataAvailable, } from '../../../store/reducers/capabilities/hooks';
9
9
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../store/reducers/tenant/constants';
10
10
  import { setDiagnosticsTab } from '../../../store/reducers/tenant/tenant';
11
+ import { uiFactory } from '../../../uiFactory/uiFactory';
11
12
  import { cn } from '../../../utils/cn';
12
13
  import { useTypedDispatch, useTypedSelector } from '../../../utils/hooks';
13
14
  import { Heatmap } from '../../Heatmap';
@@ -16,7 +17,9 @@ import { Operations } from '../../Operations';
16
17
  import { PaginatedStorage } from '../../Storage/PaginatedStorage';
17
18
  import { Tablets } from '../../Tablets/Tablets';
18
19
  import { SchemaViewer } from '../Schema/SchemaViewer/SchemaViewer';
20
+ import { useCurrentSchema } from '../TenantContext';
19
21
  import { isDatabaseEntityType } from '../utils/schema';
22
+ import { AccessRights } from './AccessRights/AccessRights';
20
23
  import { Configs } from './Configs/Configs';
21
24
  import { Consumers } from './Consumers';
22
25
  import Describe from './Describe/Describe';
@@ -31,17 +34,19 @@ import { TopicData } from './TopicData/TopicData';
31
34
  import './Diagnostics.scss';
32
35
  const b = cn('kv-tenant-diagnostics');
33
36
  function Diagnostics(props) {
37
+ const { path, database, type, subType } = useCurrentSchema();
34
38
  const containerRef = React.useRef(null);
35
39
  const dispatch = useTypedDispatch();
36
40
  const { diagnosticsTab = TENANT_DIAGNOSTICS_TABS_IDS.overview } = useTypedSelector((state) => state.tenant);
37
41
  const getDiagnosticsPageLink = useDiagnosticsPageLinkGetter();
38
- const tenantName = isDatabaseEntityType(props.type) ? props.path : props.tenantName;
42
+ const tenantName = isDatabaseEntityType(type) ? path : database;
39
43
  const hasFeatureFlags = useFeatureFlagsAvailable();
40
44
  const hasTopicData = useTopicDataAvailable();
41
- const pages = getPagesByType(props.type, props.subType, {
45
+ const pages = getPagesByType(type, subType, {
42
46
  hasFeatureFlags,
43
47
  hasTopicData,
44
- isTopLevel: props.path === props.tenantName,
48
+ isTopLevel: path === database,
49
+ hasBackups: typeof uiFactory.renderBackups === 'function',
45
50
  });
46
51
  let activeTab = pages.find((el) => el.id === diagnosticsTab);
47
52
  if (!activeTab) {
@@ -52,8 +57,9 @@ function Diagnostics(props) {
52
57
  dispatch(setDiagnosticsTab(activeTab.id));
53
58
  }
54
59
  }, [activeTab, diagnosticsTab, dispatch]);
60
+ // eslint-disable-next-line complexity
55
61
  const renderTabContent = () => {
56
- const { type, path } = props;
62
+ var _a;
57
63
  switch (activeTab === null || activeTab === void 0 ? void 0 : activeTab.id) {
58
64
  case TENANT_DIAGNOSTICS_TABS_IDS.overview: {
59
65
  return (_jsx(DetailedOverview, { type: type, tenantName: tenantName, path: path, additionalTenantProps: props.additionalTenantProps, additionalNodesProps: props.additionalNodesProps }));
@@ -70,6 +76,9 @@ function Diagnostics(props) {
70
76
  case TENANT_DIAGNOSTICS_TABS_IDS.nodes: {
71
77
  return (_jsx(Nodes, { path: path, database: tenantName, additionalNodesProps: props.additionalNodesProps, scrollContainerRef: containerRef }));
72
78
  }
79
+ case TENANT_DIAGNOSTICS_TABS_IDS.access: {
80
+ return _jsx(AccessRights, {});
81
+ }
73
82
  case TENANT_DIAGNOSTICS_TABS_IDS.tablets: {
74
83
  return (_jsx(Tablets, { scrollContainerRef: containerRef, path: path, database: tenantName }));
75
84
  }
@@ -103,6 +112,12 @@ function Diagnostics(props) {
103
112
  case TENANT_DIAGNOSTICS_TABS_IDS.operations: {
104
113
  return _jsx(Operations, { database: tenantName });
105
114
  }
115
+ case TENANT_DIAGNOSTICS_TABS_IDS.backups: {
116
+ return (_a = uiFactory.renderBackups) === null || _a === void 0 ? void 0 : _a.call(uiFactory, {
117
+ database: tenantName,
118
+ scrollContainerRef: containerRef,
119
+ });
120
+ }
106
121
  default: {
107
122
  return _jsx("div", { children: "No data..." });
108
123
  }
@@ -112,11 +127,7 @@ function Diagnostics(props) {
112
127
  return (_jsx("div", { className: b('header-wrapper'), children: _jsxs("div", { className: b('tabs'), children: [_jsx(Tabs, { size: "l", items: pages, activeTab: activeTab === null || activeTab === void 0 ? void 0 : activeTab.id, wrapTo: ({ id }, node) => {
113
128
  const path = getDiagnosticsPageLink(id);
114
129
  return (_jsx(Link, { to: path, className: b('tab'), children: node }, id));
115
- }, allowNotSelected: true }), _jsx(AutoRefreshControl, { onManualRefresh: () => {
116
- //this is needed to collect healthcheck if it is disabled by default https://github.com/ydb-platform/ydb-embedded-ui/issues/1889
117
- const event = new CustomEvent('diagnosticsRefresh');
118
- document.dispatchEvent(event);
119
- } })] }) }));
130
+ }, allowNotSelected: true }), _jsx(AutoRefreshControl, {})] }) }));
120
131
  };
121
132
  return (_jsxs("div", { className: b(), children: [activeTab ? (_jsx(Helmet, { children: _jsx("title", { children: activeTab.title }) })) : null, renderTabs(), _jsx(DrawerContextProvider, { children: _jsx("div", { className: b('page-wrapper'), ref: containerRef, children: renderTabContent() }) })] }));
122
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/Diagnostics/Diagnostics.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EACH,wBAAwB,EACxB,qBAAqB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,2BAA2B,EAAC,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAGxE,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAC,cAAc,EAAE,4BAA4B,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,oBAAoB,CAAC;AAW5B,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAEtC,SAAS,WAAW,CAAC,KAAuB;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,EAAC,cAAc,GAAG,2BAA2B,CAAC,QAAQ,EAAC,GAAG,gBAAgB,CAC5E,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC;IAEF,MAAM,sBAAsB,GAAG,4BAA4B,EAAE,CAAC;IAE9D,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAEpF,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;IACnD,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACpD,eAAe;QACf,YAAY;QACZ,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU;KAC9C,CAAC,CAAC;IACH,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;YAC/C,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1C,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QAE3B,QAAQ,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,EAAE,CAAC;YACpB,KAAK,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxC,OAAO,CACH,KAAC,gBAAgB,IACb,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAClD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,GAClD,CACL,CAAC;YACN,CAAC;YACD,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtC,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,SAAG,CAAC;YACrF,CAAC;YACD,KAAK,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1C,OAAO,KAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC;YAClD,CAAC;YACD,KAAK,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,KAAC,SAAS,IAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;YAC7D,CAAC;YACD,KAAK,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,OAAO,CACH,KAAC,KAAK,IACF,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAChD,kBAAkB,EAAE,YAAY,GAClC,CACL,CAAC;YACN,CAAC;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,CACH,KAAC,OAAO,IAAC,kBAAkB,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAI,CAClF,CAAC;YACN,CAAC;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAC,gBAAgB,IAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,GAAI,CAAC;YACxF,CAAC;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,CACH,KAAC,cAAc,IACX,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAChD,kBAAkB,EAAE,YAAY,GAClC,CACL,CAAC;YACN,CAAC;YACD,KAAK,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxC,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAI,CAAC;YAC1D,CAAC;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAI,CAAC;YACzD,CAAC;YACD,KAAK,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAI,CAAC;YACzD,CAAC;YACD,KAAK,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;YACvE,CAAC;YACD,KAAK,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1C,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAI,CAAC;YAC5D,CAAC;YACD,KAAK,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,CACH,KAAC,SAAS,IAEN,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,kBAAkB,EAAE,YAAY,IAH3B,IAAI,CAIX,CACL,CAAC;YACN,CAAC;YACD,KAAK,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAC,OAAO,IAAC,QAAQ,EAAE,UAAU,GAAI,CAAC;YAC7C,CAAC;YACD,KAAK,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1C,OAAO,KAAC,UAAU,IAAC,QAAQ,EAAE,UAAU,GAAI,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,uCAAqB,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC/B,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,IAAI,IACD,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,EACxB,MAAM,EAAE,CAAC,EAAC,EAAE,EAAC,EAAE,IAAI,EAAE,EAAE;4BACnB,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;4BAExC,OAAO,CACH,KAAC,IAAI,IAAC,EAAE,EAAE,IAAI,EAAW,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YACvC,IAAI,IADY,EAAE,CAEhB,CACV,CAAC;wBACN,CAAC,EACD,gBAAgB,EAAE,IAAI,GACxB,EACF,KAAC,kBAAkB,IACf,eAAe,EAAE,GAAG,EAAE;4BAClB,gIAAgI;4BAChI,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAC;4BACpD,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAClC,CAAC,GACH,IACA,GACJ,CACT,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACd,SAAS,CAAC,CAAC,CAAC,CACT,KAAC,MAAM,cACH,0BAAQ,SAAS,CAAC,KAAK,GAAS,GAC3B,CACZ,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,EAAE,EACb,KAAC,qBAAqB,cAClB,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,YAAY,YAC/C,gBAAgB,EAAE,GACjB,GACc,IACtB,CACT,CAAC;AACN,CAAC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/Diagnostics/Diagnostics.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare const getPagesByType: (type?: EPathType, subType?: EPathSubType,
9
9
  hasFeatureFlags?: boolean;
10
10
  hasTopicData?: boolean;
11
11
  isTopLevel?: boolean;
12
+ hasBackups?: boolean;
12
13
  }) => Page[];
13
14
  export declare const useDiagnosticsPageLinkGetter: () => (tab: string, params?: TenantQuery) => string;
14
15
  export {};
@@ -20,6 +20,14 @@ const topShards = {
20
20
  id: TENANT_DIAGNOSTICS_TABS_IDS.topShards,
21
21
  title: 'Top shards',
22
22
  };
23
+ const access = {
24
+ id: TENANT_DIAGNOSTICS_TABS_IDS.access,
25
+ title: 'Access',
26
+ };
27
+ const backups = {
28
+ id: TENANT_DIAGNOSTICS_TABS_IDS.backups,
29
+ title: 'Backups',
30
+ };
23
31
  const nodes = {
24
32
  id: TENANT_DIAGNOSTICS_TABS_IDS.nodes,
25
33
  title: 'Nodes',
@@ -68,8 +76,8 @@ const operations = {
68
76
  id: TENANT_DIAGNOSTICS_TABS_IDS.operations,
69
77
  title: 'Operations',
70
78
  };
71
- const ASYNC_REPLICATION_PAGES = [overview, tablets, describe];
72
- const TRANSFER_PAGES = [overview, tablets, describe];
79
+ const ASYNC_REPLICATION_PAGES = [overview, tablets, describe, access];
80
+ const TRANSFER_PAGES = [overview, tablets, describe, access];
73
81
  const DATABASE_PAGES = [
74
82
  overview,
75
83
  topQueries,
@@ -80,17 +88,19 @@ const DATABASE_PAGES = [
80
88
  network,
81
89
  describe,
82
90
  configs,
91
+ access,
83
92
  operations,
93
+ backups,
84
94
  ];
85
- const TABLE_PAGES = [overview, schema, topShards, nodes, graph, tablets, hotKeys, describe];
86
- const COLUMN_TABLE_PAGES = [overview, schema, topShards, nodes, tablets, describe];
87
- const DIR_PAGES = [overview, topShards, nodes, describe];
88
- const CDC_STREAM_PAGES = [overview, consumers, partitions, nodes, describe];
89
- const CDC_STREAM_IMPL_PAGES = [overview, nodes, tablets, describe];
90
- const TOPIC_PAGES = [overview, consumers, partitions, topicData, nodes, tablets, describe];
91
- const EXTERNAL_DATA_SOURCE_PAGES = [overview, describe];
92
- const EXTERNAL_TABLE_PAGES = [overview, schema, describe];
93
- const VIEW_PAGES = [overview, schema, describe];
95
+ const TABLE_PAGES = [overview, schema, topShards, nodes, graph, tablets, hotKeys, describe, access];
96
+ const COLUMN_TABLE_PAGES = [overview, schema, topShards, nodes, tablets, describe, access];
97
+ const DIR_PAGES = [overview, topShards, nodes, describe, access];
98
+ const CDC_STREAM_PAGES = [overview, consumers, partitions, nodes, describe, access];
99
+ const CDC_STREAM_IMPL_PAGES = [overview, nodes, tablets, describe, access];
100
+ const TOPIC_PAGES = [overview, consumers, partitions, topicData, nodes, tablets, describe, access];
101
+ const EXTERNAL_DATA_SOURCE_PAGES = [overview, describe, access];
102
+ const EXTERNAL_TABLE_PAGES = [overview, schema, describe, access];
103
+ const VIEW_PAGES = [overview, schema, describe, access];
94
104
  // verbose mapping to guarantee correct tabs for new path types
95
105
  // TS will error when a new type is added but not mapped here
96
106
  const pathTypeToPages = {
@@ -130,6 +140,9 @@ export const getPagesByType = (type, subType, options) => {
130
140
  return pages.filter((item) => item.id !== TENANT_DIAGNOSTICS_TABS_IDS.configs);
131
141
  }
132
142
  }
143
+ if (!(options === null || options === void 0 ? void 0 : options.hasBackups)) {
144
+ return pages.filter((item) => item.id !== TENANT_DIAGNOSTICS_TABS_IDS.backups);
145
+ }
133
146
  return pages;
134
147
  };
135
148
  export const useDiagnosticsPageLinkGetter = () => {