@ytsaurus/ui 1.14.1 → 1.14.2
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.
- package/build/cjs/@types/types.d.ts +1 -0
- package/build/cjs/shared/utils/index.js +3 -3
- package/build/cjs/shared/utils/index.js.map +1 -1
- package/build/cjs/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
- package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
- package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
- package/build/cjs/ui/pages/operations/selectors.d.ts +1 -1
- package/build/cjs/ui/pages/query-tracker/module/api.js +1 -1
- package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
- package/build/cjs/ui/rum/constants.d.ts +2 -0
- package/build/cjs/ui/rum/constants.js +4 -1
- package/build/cjs/ui/rum/constants.js.map +1 -1
- package/build/cjs/ui/rum/rum-counter.js +28 -1
- package/build/cjs/ui/rum/rum-counter.js.map +1 -1
- package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
- package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/components/nodes/nodes.js +1 -1
- package/build/cjs/ui/store/actions/components/nodes/nodes.js.map +1 -1
- package/build/cjs/ui/store/actions/execute-batch.d.ts +2 -1
- package/build/cjs/ui/store/actions/execute-batch.js +3 -3
- package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/map-node.js +1 -1
- package/build/cjs/ui/store/actions/navigation/content/map-node.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/index.js +1 -1
- package/build/cjs/ui/store/actions/navigation/index.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
- package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +3 -10
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/delete-object.js +13 -14
- package/build/cjs/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
- package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js +3 -10
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/restore-object.js +3 -11
- package/build/cjs/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/tabs/locks.js +1 -1
- package/build/cjs/ui/store/actions/navigation/tabs/locks.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -3
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +3 -3
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/actions/system/nodes.js +1 -1
- package/build/cjs/ui/store/actions/system/nodes.js.map +1 -1
- package/build/cjs/ui/store/actions/system/schedulers.js +2 -2
- package/build/cjs/ui/store/actions/system/schedulers.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet/stores.js +1 -1
- package/build/cjs/ui/store/actions/tablet/stores.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
- package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/users.js +1 -1
- package/build/cjs/ui/store/actions/users.js.map +1 -1
- package/build/cjs/ui/store/reducers/execute-batch.d.ts +1 -1
- package/build/cjs/ui/store/reducers/execute-batch.js.map +1 -1
- package/build/cjs/ui/store/reducers/index.d.ts +1 -1
- package/build/cjs/ui/store/reducers/navigation/index.d.ts +1 -1
- package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +8 -8
- package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
- package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
- package/build/cjs/ui/store/selectors/chyt/index.d.ts +7 -7
- package/build/cjs/ui/store/selectors/components/node/memory.d.ts +7 -7
- package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
- package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
- package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
- package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
- package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
- package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
- package/build/cjs/ui/store/selectors/global/index.d.ts +14 -14
- package/build/cjs/ui/store/selectors/global/supported-features.d.ts +6 -6
- package/build/cjs/ui/store/selectors/modals/errors.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
- package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +7 -7
- package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
- package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +4 -4
- package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
- package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
- package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
- package/build/cjs/ui/store/selectors/operations/index.d.ts +12 -12
- package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
- package/build/cjs/ui/store/selectors/operations/operation.d.ts +12 -12
- package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +3 -3
- package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/index.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
- package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
- package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
- package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
- package/build/cjs/ui/store/selectors/thor/support.d.ts +5 -5
- package/build/cjs/ui/utils/acl/acl-api.js +4 -4
- package/build/cjs/ui/utils/acl/acl-api.js.map +1 -1
- package/build/cjs/ui/utils/batch.d.ts +2 -2
- package/build/cjs/ui/utils/cypress-attributes.js +1 -1
- package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
- package/build/cjs/ui/utils/errors/ui-error.d.ts +14 -0
- package/build/cjs/ui/utils/errors/ui-error.js +24 -0
- package/build/cjs/ui/utils/errors/ui-error.js.map +1 -0
- package/build/cjs/ui/utils/utils.d.ts +14 -8
- package/build/cjs/ui/utils/utils.js +9 -14
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/@types/types.d.ts +1 -0
- package/build/esm/shared/utils/index.js +4 -8
- package/build/esm/shared/utils/index.js.map +1 -1
- package/build/esm/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
- package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
- package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
- package/build/esm/ui/pages/operations/selectors.d.ts +1 -1
- package/build/esm/ui/pages/query-tracker/module/api.js +1 -1
- package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
- package/build/esm/ui/rum/constants.d.ts +2 -0
- package/build/esm/ui/rum/constants.js +4 -1
- package/build/esm/ui/rum/constants.js.map +1 -1
- package/build/esm/ui/rum/rum-counter.js +28 -1
- package/build/esm/ui/rum/rum-counter.js.map +1 -1
- package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
- package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/esm/ui/store/actions/components/nodes/nodes.js +1 -1
- package/build/esm/ui/store/actions/components/nodes/nodes.js.map +1 -1
- package/build/esm/ui/store/actions/execute-batch.d.ts +2 -1
- package/build/esm/ui/store/actions/execute-batch.js +3 -3
- package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/map-node.js +1 -1
- package/build/esm/ui/store/actions/navigation/content/map-node.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/index.js +1 -1
- package/build/esm/ui/store/actions/navigation/index.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
- package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js +4 -11
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/delete-object.js +14 -15
- package/build/esm/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
- package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/move-object.js +4 -11
- package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/restore-object.js +4 -12
- package/build/esm/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/tabs/locks.js +1 -1
- package/build/esm/ui/store/actions/navigation/tabs/locks.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -3
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +3 -3
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.js +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/actions/system/nodes.js +1 -1
- package/build/esm/ui/store/actions/system/nodes.js.map +1 -1
- package/build/esm/ui/store/actions/system/schedulers.js +2 -2
- package/build/esm/ui/store/actions/system/schedulers.js.map +1 -1
- package/build/esm/ui/store/actions/tablet/stores.js +1 -1
- package/build/esm/ui/store/actions/tablet/stores.js.map +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
- package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/esm/ui/store/actions/users.js +1 -1
- package/build/esm/ui/store/actions/users.js.map +1 -1
- package/build/esm/ui/store/reducers/execute-batch.d.ts +1 -1
- package/build/esm/ui/store/reducers/execute-batch.js.map +1 -1
- package/build/esm/ui/store/reducers/index.d.ts +1 -1
- package/build/esm/ui/store/reducers/navigation/index.d.ts +1 -1
- package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +8 -8
- package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
- package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
- package/build/esm/ui/store/selectors/chyt/index.d.ts +7 -7
- package/build/esm/ui/store/selectors/components/node/memory.d.ts +7 -7
- package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
- package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
- package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
- package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
- package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
- package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
- package/build/esm/ui/store/selectors/global/index.d.ts +14 -14
- package/build/esm/ui/store/selectors/global/supported-features.d.ts +6 -6
- package/build/esm/ui/store/selectors/modals/errors.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/document.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
- package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +7 -7
- package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
- package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/navigation.d.ts +4 -4
- package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
- package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
- package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
- package/build/esm/ui/store/selectors/operations/index.d.ts +12 -12
- package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
- package/build/esm/ui/store/selectors/operations/operation.d.ts +12 -12
- package/build/esm/ui/store/selectors/operations/operations-list.d.ts +3 -3
- package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/index.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
- package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
- package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
- package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
- package/build/esm/ui/store/selectors/thor/support.d.ts +5 -5
- package/build/esm/ui/utils/acl/acl-api.js +4 -4
- package/build/esm/ui/utils/acl/acl-api.js.map +1 -1
- package/build/esm/ui/utils/batch.d.ts +2 -2
- package/build/esm/ui/utils/cypress-attributes.js +1 -1
- package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
- package/build/esm/ui/utils/errors/ui-error.d.ts +14 -0
- package/build/esm/ui/utils/errors/ui-error.js +17 -0
- package/build/esm/ui/utils/errors/ui-error.js.map +1 -0
- package/build/esm/ui/utils/utils.d.ts +14 -8
- package/build/esm/ui/utils/utils.js +9 -14
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/main.8e777909.js +3 -0
- package/dist/public/build/js/{main.652b0208.js.map → main.8e777909.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/dist/shared/utils/index.js +3 -3
- package/package.json +3 -3
- package/dist/public/build/js/main.652b0208.js +0 -3
- /package/dist/public/build/js/{main.652b0208.js.LICENSE.txt → main.8e777909.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ypath","YTApiId","ytApiV3Id","splitBatchResults","USE_SUPRESS_SYNC","getSchedulers","list","systemSchedulers","_objectSpread","path","attributes","then","hosts","ordered","_sortBy","host","getValue","getSchedulersState","requests","command","parameters","timeout","_forEach","name","push","executeBatch","systemSchedulersState","data","_splitBatchResults","outputs","alerts","connectedHosts","_map","index","connected","schedulers","schedulerAlerts","getAgentsState","basePath","systemCAStates","_splitBatchResults2","agents","agentAlerts","_reduce","value","concat","getAgents","systemCAInstances","res"],"sources":["schedulers.js"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\n\nexport function getSchedulers() {\n return ytApiV3Id\n .list(YTApiId.systemSchedulers, {\n path: '//sys/scheduler/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n })\n .then((hosts) => {\n const ordered = _.sortBy(hosts, (host) => {\n return ypath.getValue(host, '');\n });\n return getSchedulersState(ordered);\n });\n}\n\nfunction getSchedulersState(hosts) {\n const requests = [\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/@alerts',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n _.forEach(hosts, (host) => {\n const name = ypath.getValue(host, '');\n requests.push({\n command: 'get',\n parameters: {\n path: '//sys/scheduler/instances/' + name + '/orchid/scheduler/service/connected',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n });\n });\n\n return ytApiV3Id.executeBatch(YTApiId.systemSchedulersState, {requests}).then((data) => {\n const {outputs} = splitBatchResults(data);\n const alerts = outputs[0];\n const connectedHosts = _.map(hosts, (host, index) => {\n return {\n host: host,\n connected: outputs[index + 1],\n };\n });\n return {schedulers: connectedHosts, schedulerAlerts: alerts};\n });\n}\n\nfunction getAgentsState(hosts) {\n const requests = [];\n _.forEach(hosts, (host) => {\n const basePath = '//sys/controller_agents/instances/' + ypath.getValue(host, '');\n\n requests.push(\n {\n command: 'get',\n parameters: {\n path: basePath + '/orchid/controller_agent/service/connected',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: basePath + '/@alerts',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n );\n });\n\n return ytApiV3Id.executeBatch(YTApiId.systemCAStates, {requests}).then((data) => {\n const {outputs} = splitBatchResults(data);\n const agents = _.map(hosts, (host, index) => ({\n host,\n connected: outputs[2 * index],\n }));\n const agentAlerts = _.reduce(\n outputs,\n (alerts, value, index) => {\n if (index % 2) {\n return alerts.concat(value);\n }\n return alerts;\n },\n [],\n );\n\n return {agents, agentAlerts};\n });\n}\n\nexport function getAgents() {\n return ytApiV3Id\n .list(YTApiId.systemCAInstances, {\n path: '//sys/controller_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n })\n .then((hosts) => {\n hosts = hosts || [];\n const res = _.sortBy(hosts, (host) => {\n return ypath.getValue(host, '');\n });\n return getAgentsState(res);\n });\n}\n"],"mappings":";;;;;AACA,OAAOA,KAAK,MAAM,uCAAuC;AAEzD,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAC5D,SAAQC,iBAAiB,QAAO,sBAAsB;AACtD,SAAQC,gBAAgB,QAAO,8BAA8B;AAE7D,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC5B,OAAOH,SAAS,CACXI,IAAI,CAACL,OAAO,CAACM,gBAAgB,EAAAC,aAAA;IAC1BC,IAAI,EAAE,2BAA2B;IACjCC,UAAU,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,qBAAqB;EAAC,GAC9DN,gBAAgB,CACtB,CAAC,CACDO,IAAI,CAAC,UAACC,KAAK,EAAK;IACb,IAAMC,OAAO,GAAGC,OAAA,CAASF,KAAK,EAAE,UAACG,IAAI,EAAK;MACtC,OAAOf,KAAK,CAACgB,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC;IACnC,CAAC,CAAC;IACF,OAAOE,kBAAkB,CAACJ,OAAO,CAAC;EACtC,CAAC,CAAC;AACV;AAEA,SAASI,kBAAkBA,CAACL,KAAK,EAAE;EAC/B,IAAMM,QAAQ,GAAG,CACb;IACIC,OAAO,EAAE,KAAK;IACdC,UAAU,EAAAZ,aAAA;MACNC,IAAI,EAAE,yBAAyB;MAC/BY,OAAO,EAAE,EAAE,GAAG;IAAI,GACfjB,gBAAgB;EAE3B,CAAC,CACJ;EAEDkB,QAAA,CAAUV,KAAK,EAAE,UAACG,IAAI,EAAK;IACvB,IAAMQ,IAAI,GAAGvB,KAAK,CAACgB,QAAQ,CAACD,IAAI,EAAE,EAAE,CAAC;IACrCG,QAAQ,CAACM,IAAI,CAAC;MACVL,OAAO,EAAE,KAAK;MACdC,UAAU,EAAAZ,aAAA;QACNC,IAAI,EAAE,4BAA4B,GAAGc,IAAI,GAAG,qCAAqC;QACjFF,OAAO,EAAE,EAAE,GAAG;MAAI,GACfjB,gBAAgB;IAE3B,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOF,SAAS,CAACuB,YAAY,CAACxB,OAAO,CAACyB,qBAAqB,EAAE;IAACR,QAAQ,EAARA;EAAQ,CAAC,CAAC,CAACP,IAAI,CAAC,UAACgB,IAAI,EAAK;IACpF,IAAAC,kBAAA,GAAkBzB,iBAAiB,CAACwB,IAAI,CAAC;
|
1
|
+
{"version":3,"names":["ypath","YTApiId","ytApiV3Id","splitBatchResults","USE_SUPRESS_SYNC","getSchedulers","list","systemSchedulers","_objectSpread","path","attributes","then","hosts","ordered","_sortBy","host","getValue","getSchedulersState","requests","command","parameters","timeout","_forEach","name","push","executeBatch","systemSchedulersState","data","_splitBatchResults","outputs","alerts","connectedHosts","_map","index","connected","schedulers","schedulerAlerts","getAgentsState","basePath","systemCAStates","_splitBatchResults2","agents","agentAlerts","_reduce","value","concat","getAgents","systemCAInstances","res"],"sources":["schedulers.js"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\n\nexport function getSchedulers() {\n return ytApiV3Id\n .list(YTApiId.systemSchedulers, {\n path: '//sys/scheduler/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n })\n .then((hosts) => {\n const ordered = _.sortBy(hosts, (host) => {\n return ypath.getValue(host, '');\n });\n return getSchedulersState(ordered);\n });\n}\n\nfunction getSchedulersState(hosts) {\n const requests = [\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/@alerts',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n _.forEach(hosts, (host) => {\n const name = ypath.getValue(host, '');\n requests.push({\n command: 'get',\n parameters: {\n path: '//sys/scheduler/instances/' + name + '/orchid/scheduler/service/connected',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n });\n });\n\n return ytApiV3Id.executeBatch(YTApiId.systemSchedulersState, {requests}).then((data) => {\n const {outputs} = splitBatchResults(data, 'Failed to get scheduler states');\n const alerts = outputs[0];\n const connectedHosts = _.map(hosts, (host, index) => {\n return {\n host: host,\n connected: outputs[index + 1],\n };\n });\n return {schedulers: connectedHosts, schedulerAlerts: alerts};\n });\n}\n\nfunction getAgentsState(hosts) {\n const requests = [];\n _.forEach(hosts, (host) => {\n const basePath = '//sys/controller_agents/instances/' + ypath.getValue(host, '');\n\n requests.push(\n {\n command: 'get',\n parameters: {\n path: basePath + '/orchid/controller_agent/service/connected',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: basePath + '/@alerts',\n timeout: 10 * 1000,\n ...USE_SUPRESS_SYNC,\n },\n },\n );\n });\n\n return ytApiV3Id.executeBatch(YTApiId.systemCAStates, {requests}).then((data) => {\n const {outputs} = splitBatchResults(data, 'Failed to get CA states');\n const agents = _.map(hosts, (host, index) => ({\n host,\n connected: outputs[2 * index],\n }));\n const agentAlerts = _.reduce(\n outputs,\n (alerts, value, index) => {\n if (index % 2) {\n return alerts.concat(value);\n }\n return alerts;\n },\n [],\n );\n\n return {agents, agentAlerts};\n });\n}\n\nexport function getAgents() {\n return ytApiV3Id\n .list(YTApiId.systemCAInstances, {\n path: '//sys/controller_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n })\n .then((hosts) => {\n hosts = hosts || [];\n const res = _.sortBy(hosts, (host) => {\n return ypath.getValue(host, '');\n });\n return getAgentsState(res);\n });\n}\n"],"mappings":"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"}
|
@@ -28,7 +28,7 @@ export function loadStoresData(storesId, index, unorderedDynamicTable) {
|
|
28
28
|
output_format: TYPED_OUTPUT_FORMAT
|
29
29
|
}
|
30
30
|
}).then(function (data) {
|
31
|
-
var _splitBatchResults = splitBatchResults(data),
|
31
|
+
var _splitBatchResults = splitBatchResults(data, 'Failed to fetch stores'),
|
32
32
|
error = _splitBatchResults.error,
|
33
33
|
results = _splitBatchResults.results;
|
34
34
|
if (error) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["yt","CancelHelper","TYPED_OUTPUT_FORMAT","LOAD_STORES","preparePath","prepareStores","YTApiId","ytApiV3Id","splitBatchResults","requests","loadStoresData","storesId","index","unorderedDynamicTable","dispatch","getState","type","REQUEST","tabletPath","tablet","_map","storeId","path","command","parameters","executeBatch","tabletStoresByIds","output_format","then","data","_splitBatchResults","error","results","Promise","reject","SUCCESS","stores","code","codes","CANCELLED","FAILURE","abortAndReset","removeAllRequests"],"sources":["stores.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {LOAD_STORES} from '../../../constants/tablet';\nimport {preparePath, prepareStores} from '../../../utils/tablet/stores';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nexport function loadStoresData(storesId, index, unorderedDynamicTable) {\n return (dispatch, getState) => {\n dispatch({type: LOAD_STORES.REQUEST});\n\n const {tabletPath} = getState().tablet.tablet;\n\n const requests = _.map(storesId, (storeId) => {\n const path = unorderedDynamicTable\n ? tabletPath + '/stores/' + storeId\n : preparePath(tabletPath, index, storeId);\n return {\n command: 'get',\n parameters: {\n path,\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.tabletStoresByIds, {\n parameters: {requests, output_format: TYPED_OUTPUT_FORMAT},\n })\n .then((data) => {\n const {error, results} = splitBatchResults(data);\n if (error) {\n return Promise.reject(error);\n }\n dispatch({\n type: LOAD_STORES.SUCCESS,\n data: {\n stores: prepareStores(results, storesId),\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: LOAD_STORES.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: LOAD_STORES.CANCELLED});\n };\n}\n"],"mappings":";AAAA,OAAOA,EAAE,MAAM,qCAAqC;AAEpD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,SAAQC,mBAAmB,QAAO,0BAA0B;AAC5D,SAAQC,WAAW,QAAO,2BAA2B;AACrD,SAAQC,WAAW,EAAEC,aAAa,QAAO,8BAA8B;AACvE,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAC5D,SAAQC,iBAAiB,QAAO,sBAAsB;AAEtD,IAAMC,QAAQ,GAAG,IAAIR,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASS,cAAcA,CAACC,QAAQ,EAAEC,KAAK,EAAEC,qBAAqB,EAAE;EACnE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3BD,QAAQ,CAAC;MAACE,IAAI,EAAEb,WAAW,CAACc;IAAO,CAAC,CAAC;IAErC,IAAOC,UAAU,GAAIH,QAAQ,CAAC,CAAC,CAACI,MAAM,CAACA,MAAM,CAAtCD,UAAU;IAEjB,IAAMT,QAAQ,GAAGW,IAAA,CAAMT,QAAQ,EAAE,UAACU,OAAO,EAAK;MAC1C,IAAMC,IAAI,GAAGT,qBAAqB,GAC5BK,UAAU,GAAG,UAAU,GAAGG,OAAO,GACjCjB,WAAW,CAACc,UAAU,EAAEN,KAAK,EAAES,OAAO,CAAC;MAC7C,OAAO;QACHE,OAAO,EAAE,KAAK;QACdC,UAAU,EAAE;UACRF,IAAI,EAAJA;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,OAAOf,SAAS,CACXkB,YAAY,CAACnB,OAAO,CAACoB,iBAAiB,EAAE;MACrCF,UAAU,EAAE;QAACf,QAAQ,EAARA,QAAQ;QAAEkB,aAAa,EAAEzB;MAAmB;IAC7D,CAAC,CAAC,CACD0B,IAAI,CAAC,UAACC,IAAI,EAAK;MACZ,IAAAC,kBAAA,GAAyBtB,iBAAiB,CAACqB,IAAI,CAAC;
|
1
|
+
{"version":3,"names":["yt","CancelHelper","TYPED_OUTPUT_FORMAT","LOAD_STORES","preparePath","prepareStores","YTApiId","ytApiV3Id","splitBatchResults","requests","loadStoresData","storesId","index","unorderedDynamicTable","dispatch","getState","type","REQUEST","tabletPath","tablet","_map","storeId","path","command","parameters","executeBatch","tabletStoresByIds","output_format","then","data","_splitBatchResults","error","results","Promise","reject","SUCCESS","stores","code","codes","CANCELLED","FAILURE","abortAndReset","removeAllRequests"],"sources":["stores.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {LOAD_STORES} from '../../../constants/tablet';\nimport {preparePath, prepareStores} from '../../../utils/tablet/stores';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nexport function loadStoresData(storesId, index, unorderedDynamicTable) {\n return (dispatch, getState) => {\n dispatch({type: LOAD_STORES.REQUEST});\n\n const {tabletPath} = getState().tablet.tablet;\n\n const requests = _.map(storesId, (storeId) => {\n const path = unorderedDynamicTable\n ? tabletPath + '/stores/' + storeId\n : preparePath(tabletPath, index, storeId);\n return {\n command: 'get',\n parameters: {\n path,\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.tabletStoresByIds, {\n parameters: {requests, output_format: TYPED_OUTPUT_FORMAT},\n })\n .then((data) => {\n const {error, results} = splitBatchResults(data, 'Failed to fetch stores');\n if (error) {\n return Promise.reject(error);\n }\n dispatch({\n type: LOAD_STORES.SUCCESS,\n data: {\n stores: prepareStores(results, storesId),\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: LOAD_STORES.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: LOAD_STORES.CANCELLED});\n };\n}\n"],"mappings":";AAAA,OAAOA,EAAE,MAAM,qCAAqC;AAEpD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,SAAQC,mBAAmB,QAAO,0BAA0B;AAC5D,SAAQC,WAAW,QAAO,2BAA2B;AACrD,SAAQC,WAAW,EAAEC,aAAa,QAAO,8BAA8B;AACvE,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAC5D,SAAQC,iBAAiB,QAAO,sBAAsB;AAEtD,IAAMC,QAAQ,GAAG,IAAIR,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASS,cAAcA,CAACC,QAAQ,EAAEC,KAAK,EAAEC,qBAAqB,EAAE;EACnE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3BD,QAAQ,CAAC;MAACE,IAAI,EAAEb,WAAW,CAACc;IAAO,CAAC,CAAC;IAErC,IAAOC,UAAU,GAAIH,QAAQ,CAAC,CAAC,CAACI,MAAM,CAACA,MAAM,CAAtCD,UAAU;IAEjB,IAAMT,QAAQ,GAAGW,IAAA,CAAMT,QAAQ,EAAE,UAACU,OAAO,EAAK;MAC1C,IAAMC,IAAI,GAAGT,qBAAqB,GAC5BK,UAAU,GAAG,UAAU,GAAGG,OAAO,GACjCjB,WAAW,CAACc,UAAU,EAAEN,KAAK,EAAES,OAAO,CAAC;MAC7C,OAAO;QACHE,OAAO,EAAE,KAAK;QACdC,UAAU,EAAE;UACRF,IAAI,EAAJA;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,OAAOf,SAAS,CACXkB,YAAY,CAACnB,OAAO,CAACoB,iBAAiB,EAAE;MACrCF,UAAU,EAAE;QAACf,QAAQ,EAARA,QAAQ;QAAEkB,aAAa,EAAEzB;MAAmB;IAC7D,CAAC,CAAC,CACD0B,IAAI,CAAC,UAACC,IAAI,EAAK;MACZ,IAAAC,kBAAA,GAAyBtB,iBAAiB,CAACqB,IAAI,EAAE,wBAAwB,CAAC;QAAnEE,KAAK,GAAAD,kBAAA,CAALC,KAAK;QAAEC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;MACrB,IAAID,KAAK,EAAE;QACP,OAAOE,OAAO,CAACC,MAAM,CAACH,KAAK,CAAC;MAChC;MACAjB,QAAQ,CAAC;QACLE,IAAI,EAAEb,WAAW,CAACgC,OAAO;QACzBN,IAAI,EAAE;UACFO,MAAM,EAAE/B,aAAa,CAAC2B,OAAO,EAAErB,QAAQ;QAC3C;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACoB,KAAK,EAAK;MACd,IAAIA,KAAK,CAACM,IAAI,KAAKrC,EAAE,CAACsC,KAAK,CAACC,SAAS,EAAE;QACnCzB,QAAQ,CAAC;UACLE,IAAI,EAAEb,WAAW,CAACqC,OAAO;UACzBX,IAAI,EAAE;YAACE,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASU,aAAaA,CAAA,EAAG;EAC5B,OAAO,UAAC3B,QAAQ,EAAK;IACjBL,QAAQ,CAACiC,iBAAiB,CAAC,CAAC;IAC5B5B,QAAQ,CAAC;MAACE,IAAI,EAAEb,WAAW,CAACoC;IAAS,CAAC,CAAC;EAC3C,CAAC;AACL"}
|
@@ -142,7 +142,7 @@ export function fetchWritePermissions() {
|
|
142
142
|
},
|
143
143
|
cancellation: cancelHelper.saveCancelToken
|
144
144
|
}).then(function (data) {
|
145
|
-
var _splitBatchResults = splitBatchResults(data),
|
145
|
+
var _splitBatchResults = splitBatchResults(data, 'Failed to get bundle permissions'),
|
146
146
|
error = _splitBatchResults.error,
|
147
147
|
outputs = _splitBatchResults.outputs;
|
148
148
|
var writableByName = reduce_(outputs, function (acc, item, index) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["map_","reduce_","ypath","TABLETS_BUNDLES_ACTIVE_ACCOUNT","TABLETS_BUNDLES_LOAD_FAILURE","TABLETS_BUNDLES_LOAD_REQUEST","TABLETS_BUNDLES_LOAD_SUCCESS","TABLETS_BUNDLES_PARTIAL","prepareBundles","prepareTabletCells","tabletActiveBundleLink","bundlesTrackVisit","filterTabletCellsByBundle","getTabletsBundlesSorted","getTabletsCells","prepareHostsFromCells","copy","getBatchError","splitBatchResults","wrapApiPromiseByToaster","getCluster","getCurrentUserName","YTApiId","ytApiV3Id","getAppBrowserHistory","makeCheckPermissionBatchSubRequestUI","CancelHelper","isCancelled","getZones","allBundles","map","Map","forEach","_ref","bundle","has","set","_toConsumableArray","keys","prepareBundleDefaultConfig","result","Object","entries","reduce","acc","_ref2","_ref3","_slicedToArray","k","v","getValue","create","cancelHelper","fetchTabletsBundles","dispatch","type","requests","command","parameters","path","attributes","removeAllRequests","executeBatch","tabletCellBundles","cancellation","saveCancelToken","then","results","_results","_toArray","isBundleControllerSupported","output","rest","slice","_rest","cells","bundles","error","allCells","zones","fetchWritePermissions","length","data","get","bundleControllerZones","bundleDefaultConfig","e","arguments","undefined","getState","user","item","concat","permission","tabletBundlesCheckWrite","_splitBatchResults","outputs","writableByName","index","action","name","Promise","reject","toasterName","skipSuccessToast","errorTitle","setTabletsBundlesSortState","bundlesSort","setTabletsBundlesNameFilter","bundlesNameFilter","setTabletsBundlesAccountFilter","bundlesAccountFilter","setTabletsBundlesTagNodeFilter","bundlesTagNodeFilter","setTabletsPartial","setTabletsActiveBundle","activeBundle","setTabletsFirstBundleAsActive","state","_bundles","first","cluster","push","copyHostListToClipboard","_dispatch","hosts"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {RootState} from '../../reducers';\nimport {\n TabletBundle,\n TabletsBundlesAction,\n TabletsPartialAction,\n} from '../../reducers/tablet_cell_bundles';\nimport {\n TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n TABLETS_BUNDLES_LOAD_FAILURE,\n TABLETS_BUNDLES_LOAD_REQUEST,\n TABLETS_BUNDLES_LOAD_SUCCESS,\n TABLETS_BUNDLES_PARTIAL,\n} from '../../../constants/tablets';\nimport {\n prepareBundles,\n prepareTabletCells,\n tabletActiveBundleLink,\n} from '../../../utils/components/tablet-cells';\nimport {SortState} from '../../../types';\nimport {bundlesTrackVisit} from '../favourites';\nimport {\n filterTabletCellsByBundle,\n getTabletsBundlesSorted,\n getTabletsCells,\n prepareHostsFromCells,\n} from '../../selectors/tablet_cell_bundles';\n\nimport copy from 'copy-to-clipboard';\nimport {getBatchError, splitBatchResults, wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {getCluster, getCurrentUserName} from '../../selectors/global';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getAppBrowserHistory} from '../../../store/window-store';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {\n CheckPermissionResult,\n makeCheckPermissionBatchSubRequestUI,\n} from '../../../utils/acl/acl-api';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\n\nfunction getZones(allBundles: TabletBundle[]) {\n const map = new Map<string, boolean>();\n allBundles.forEach(({bundle}) => {\n if (!map.has(bundle)) {\n map.set(bundle, true);\n }\n });\n\n return [...map.keys()];\n}\n\nfunction prepareBundleDefaultConfig(result: object) {\n return Object.entries(result).reduce((acc, [k, v]) => {\n acc[k] = ypath.getValue(v, '/@');\n return acc;\n }, Object.create(null));\n}\n\ntype TabletsBundlesThunkAction = ThunkAction<any, RootState, any, TabletsBundlesAction>;\n\nconst cancelHelper = new CancelHelper();\n\nexport function fetchTabletsBundles(): TabletsBundlesThunkAction {\n return (dispatch) => {\n dispatch({type: TABLETS_BUNDLES_LOAD_REQUEST});\n const requests = [\n {\n command: 'exists' as const,\n parameters: {\n path: '//sys/bundle_controller/orchid/bundle_controller/state/bundles',\n },\n },\n {\n command: 'list' as const,\n parameters: {\n path: '//sys/tablet_cells',\n attributes: ['peers', 'id', 'tablet_cell_bundle', 'total_statistics', 'status'],\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/tablet_cell_bundles',\n attributes: [\n 'nodes',\n 'enable_bundle_balancer',\n 'health',\n 'options',\n 'node_tag_filter',\n 'resource_limits',\n 'resource_usage',\n 'folder_id',\n 'abc',\n 'dynamic_options',\n 'bundle_controller_target_config',\n 'enable_bundle_controller',\n 'zone',\n ],\n },\n },\n ];\n\n cancelHelper.removeAllRequests();\n\n return ytApiV3Id\n .executeBatch(YTApiId.tabletCellBundles, {\n parameters: {requests},\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((results: Array<any>) => {\n const [{output: isBundleControllerSupported}, ...rest] = results;\n\n const [{output: cells}, {output: bundles}] = rest;\n\n const error = getBatchError(rest, 'Tablet cell bundles cannot be loaded');\n if (error) {\n throw error;\n }\n\n const allCells = prepareTabletCells(cells);\n const allBundles = prepareBundles(allCells, bundles);\n\n const zones = getZones(allBundles);\n\n dispatch(fetchWritePermissions(allBundles));\n\n if (!zones.length || !isBundleControllerSupported) {\n dispatch({\n type: TABLETS_BUNDLES_LOAD_SUCCESS,\n data: {\n cells: allCells,\n bundles: allBundles,\n },\n });\n return;\n }\n\n ytApiV3Id\n .get(YTApiId.bundleControllerZones, {\n parameters: {\n path: `//sys/bundle_controller/controller/zones`,\n attributes: ['tablet_node_sizes', 'rpc_proxy_sizes', 'data_centers'],\n },\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((result: object) => {\n const bundleDefaultConfig = prepareBundleDefaultConfig(result);\n dispatch({\n type: TABLETS_BUNDLES_LOAD_SUCCESS,\n data: {\n cells: allCells,\n bundles: allBundles,\n bundleDefaultConfig,\n },\n });\n })\n .catch((e: any) => {\n if (!isCancelled(e)) {\n dispatch({type: TABLETS_BUNDLES_LOAD_FAILURE, data: e});\n }\n });\n })\n .catch((e: any) => {\n if (!isCancelled(e)) {\n dispatch({type: TABLETS_BUNDLES_LOAD_FAILURE, data: e});\n }\n });\n };\n}\n\nexport function fetchWritePermissions(\n bundles: Array<{bundle: string}> = [],\n): TabletsBundlesThunkAction {\n return (dispatch, getState) => {\n const user = getCurrentUserName(getState());\n const requests: Array<BatchSubRequest> = map_(bundles, (item) => {\n return makeCheckPermissionBatchSubRequestUI({\n path: `//sys/tablet_cell_bundles/${item.bundle}`,\n user,\n permission: 'write',\n });\n });\n return wrapApiPromiseByToaster(\n ytApiV3Id\n .executeBatch(YTApiId.tabletBundlesCheckWrite, {\n parameters: {requests},\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((data) => {\n const {error, outputs} = splitBatchResults<CheckPermissionResult>(data);\n const writableByName = reduce_(\n outputs,\n (acc, item, index) => {\n if (item?.action === 'allow') {\n const name = bundles[index].bundle;\n acc.set(name, true);\n }\n return acc;\n },\n new Map<string, boolean>(),\n );\n\n dispatch({type: TABLETS_BUNDLES_PARTIAL, data: {writableByName}});\n\n return error ? Promise.reject(error) : undefined;\n }),\n {\n toasterName: 'bundleWritePermissions',\n skipSuccessToast: true,\n errorTitle: 'Fetch write permissions',\n },\n );\n };\n}\n\nexport function setTabletsBundlesSortState(\n bundlesSort: SortState<keyof TabletBundle>,\n): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesSort}};\n}\n\nexport function setTabletsBundlesNameFilter(bundlesNameFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesNameFilter}};\n}\n\nexport function setTabletsBundlesAccountFilter(bundlesAccountFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesAccountFilter}};\n}\n\nexport function setTabletsBundlesTagNodeFilter(bundlesTagNodeFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesTagNodeFilter}};\n}\n\nexport function setTabletsPartial(data: TabletsPartialAction['data']) {\n return {type: TABLETS_BUNDLES_PARTIAL, data};\n}\n\nexport function setTabletsActiveBundle(activeBundle: string): TabletsBundlesThunkAction {\n return (dispatch) => {\n dispatch(bundlesTrackVisit(activeBundle));\n dispatch({\n type: TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n data: {activeBundle},\n });\n };\n}\n\nexport function setTabletsFirstBundleAsActive(): TabletsBundlesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const bundles = getTabletsBundlesSorted(state);\n const [first] = bundles;\n if (!first) {\n return;\n }\n\n const cluster = getCluster(state);\n dispatch(setTabletsActiveBundle(first.bundle));\n getAppBrowserHistory().push(tabletActiveBundleLink(cluster, first.bundle));\n };\n}\n\nexport function copyHostListToClipboard(bundle: string): TabletsBundlesThunkAction {\n return (_dispatch, getState) => {\n const cells = filterTabletCellsByBundle(bundle, getTabletsCells(getState()));\n const hosts = prepareHostsFromCells(cells);\n copy(hosts || '');\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["map_","reduce_","ypath","TABLETS_BUNDLES_ACTIVE_ACCOUNT","TABLETS_BUNDLES_LOAD_FAILURE","TABLETS_BUNDLES_LOAD_REQUEST","TABLETS_BUNDLES_LOAD_SUCCESS","TABLETS_BUNDLES_PARTIAL","prepareBundles","prepareTabletCells","tabletActiveBundleLink","bundlesTrackVisit","filterTabletCellsByBundle","getTabletsBundlesSorted","getTabletsCells","prepareHostsFromCells","copy","getBatchError","splitBatchResults","wrapApiPromiseByToaster","getCluster","getCurrentUserName","YTApiId","ytApiV3Id","getAppBrowserHistory","makeCheckPermissionBatchSubRequestUI","CancelHelper","isCancelled","getZones","allBundles","map","Map","forEach","_ref","bundle","has","set","_toConsumableArray","keys","prepareBundleDefaultConfig","result","Object","entries","reduce","acc","_ref2","_ref3","_slicedToArray","k","v","getValue","create","cancelHelper","fetchTabletsBundles","dispatch","type","requests","command","parameters","path","attributes","removeAllRequests","executeBatch","tabletCellBundles","cancellation","saveCancelToken","then","results","_results","_toArray","isBundleControllerSupported","output","rest","slice","_rest","cells","bundles","error","allCells","zones","fetchWritePermissions","length","data","get","bundleControllerZones","bundleDefaultConfig","e","arguments","undefined","getState","user","item","concat","permission","tabletBundlesCheckWrite","_splitBatchResults","outputs","writableByName","index","action","name","Promise","reject","toasterName","skipSuccessToast","errorTitle","setTabletsBundlesSortState","bundlesSort","setTabletsBundlesNameFilter","bundlesNameFilter","setTabletsBundlesAccountFilter","bundlesAccountFilter","setTabletsBundlesTagNodeFilter","bundlesTagNodeFilter","setTabletsPartial","setTabletsActiveBundle","activeBundle","setTabletsFirstBundleAsActive","state","_bundles","first","cluster","push","copyHostListToClipboard","_dispatch","hosts"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {RootState} from '../../reducers';\nimport {\n TabletBundle,\n TabletsBundlesAction,\n TabletsPartialAction,\n} from '../../reducers/tablet_cell_bundles';\nimport {\n TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n TABLETS_BUNDLES_LOAD_FAILURE,\n TABLETS_BUNDLES_LOAD_REQUEST,\n TABLETS_BUNDLES_LOAD_SUCCESS,\n TABLETS_BUNDLES_PARTIAL,\n} from '../../../constants/tablets';\nimport {\n prepareBundles,\n prepareTabletCells,\n tabletActiveBundleLink,\n} from '../../../utils/components/tablet-cells';\nimport {SortState} from '../../../types';\nimport {bundlesTrackVisit} from '../favourites';\nimport {\n filterTabletCellsByBundle,\n getTabletsBundlesSorted,\n getTabletsCells,\n prepareHostsFromCells,\n} from '../../selectors/tablet_cell_bundles';\n\nimport copy from 'copy-to-clipboard';\nimport {getBatchError, splitBatchResults, wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {getCluster, getCurrentUserName} from '../../selectors/global';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getAppBrowserHistory} from '../../../store/window-store';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {\n CheckPermissionResult,\n makeCheckPermissionBatchSubRequestUI,\n} from '../../../utils/acl/acl-api';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\n\nfunction getZones(allBundles: TabletBundle[]) {\n const map = new Map<string, boolean>();\n allBundles.forEach(({bundle}) => {\n if (!map.has(bundle)) {\n map.set(bundle, true);\n }\n });\n\n return [...map.keys()];\n}\n\nfunction prepareBundleDefaultConfig(result: object) {\n return Object.entries(result).reduce((acc, [k, v]) => {\n acc[k] = ypath.getValue(v, '/@');\n return acc;\n }, Object.create(null));\n}\n\ntype TabletsBundlesThunkAction = ThunkAction<any, RootState, any, TabletsBundlesAction>;\n\nconst cancelHelper = new CancelHelper();\n\nexport function fetchTabletsBundles(): TabletsBundlesThunkAction {\n return (dispatch) => {\n dispatch({type: TABLETS_BUNDLES_LOAD_REQUEST});\n const requests = [\n {\n command: 'exists' as const,\n parameters: {\n path: '//sys/bundle_controller/orchid/bundle_controller/state/bundles',\n },\n },\n {\n command: 'list' as const,\n parameters: {\n path: '//sys/tablet_cells',\n attributes: ['peers', 'id', 'tablet_cell_bundle', 'total_statistics', 'status'],\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/tablet_cell_bundles',\n attributes: [\n 'nodes',\n 'enable_bundle_balancer',\n 'health',\n 'options',\n 'node_tag_filter',\n 'resource_limits',\n 'resource_usage',\n 'folder_id',\n 'abc',\n 'dynamic_options',\n 'bundle_controller_target_config',\n 'enable_bundle_controller',\n 'zone',\n ],\n },\n },\n ];\n\n cancelHelper.removeAllRequests();\n\n return ytApiV3Id\n .executeBatch(YTApiId.tabletCellBundles, {\n parameters: {requests},\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((results: Array<any>) => {\n const [{output: isBundleControllerSupported}, ...rest] = results;\n\n const [{output: cells}, {output: bundles}] = rest;\n\n const error = getBatchError(rest, 'Tablet cell bundles cannot be loaded');\n if (error) {\n throw error;\n }\n\n const allCells = prepareTabletCells(cells);\n const allBundles = prepareBundles(allCells, bundles);\n\n const zones = getZones(allBundles);\n\n dispatch(fetchWritePermissions(allBundles));\n\n if (!zones.length || !isBundleControllerSupported) {\n dispatch({\n type: TABLETS_BUNDLES_LOAD_SUCCESS,\n data: {\n cells: allCells,\n bundles: allBundles,\n },\n });\n return;\n }\n\n ytApiV3Id\n .get(YTApiId.bundleControllerZones, {\n parameters: {\n path: `//sys/bundle_controller/controller/zones`,\n attributes: ['tablet_node_sizes', 'rpc_proxy_sizes', 'data_centers'],\n },\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((result: object) => {\n const bundleDefaultConfig = prepareBundleDefaultConfig(result);\n dispatch({\n type: TABLETS_BUNDLES_LOAD_SUCCESS,\n data: {\n cells: allCells,\n bundles: allBundles,\n bundleDefaultConfig,\n },\n });\n })\n .catch((e: any) => {\n if (!isCancelled(e)) {\n dispatch({type: TABLETS_BUNDLES_LOAD_FAILURE, data: e});\n }\n });\n })\n .catch((e: any) => {\n if (!isCancelled(e)) {\n dispatch({type: TABLETS_BUNDLES_LOAD_FAILURE, data: e});\n }\n });\n };\n}\n\nexport function fetchWritePermissions(\n bundles: Array<{bundle: string}> = [],\n): TabletsBundlesThunkAction {\n return (dispatch, getState) => {\n const user = getCurrentUserName(getState());\n const requests: Array<BatchSubRequest> = map_(bundles, (item) => {\n return makeCheckPermissionBatchSubRequestUI({\n path: `//sys/tablet_cell_bundles/${item.bundle}`,\n user,\n permission: 'write',\n });\n });\n return wrapApiPromiseByToaster(\n ytApiV3Id\n .executeBatch(YTApiId.tabletBundlesCheckWrite, {\n parameters: {requests},\n cancellation: cancelHelper.saveCancelToken,\n })\n .then((data) => {\n const {error, outputs} = splitBatchResults<CheckPermissionResult>(\n data,\n 'Failed to get bundle permissions',\n );\n const writableByName = reduce_(\n outputs,\n (acc, item, index) => {\n if (item?.action === 'allow') {\n const name = bundles[index].bundle;\n acc.set(name, true);\n }\n return acc;\n },\n new Map<string, boolean>(),\n );\n\n dispatch({type: TABLETS_BUNDLES_PARTIAL, data: {writableByName}});\n\n return error ? Promise.reject(error) : undefined;\n }),\n {\n toasterName: 'bundleWritePermissions',\n skipSuccessToast: true,\n errorTitle: 'Fetch write permissions',\n },\n );\n };\n}\n\nexport function setTabletsBundlesSortState(\n bundlesSort: SortState<keyof TabletBundle>,\n): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesSort}};\n}\n\nexport function setTabletsBundlesNameFilter(bundlesNameFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesNameFilter}};\n}\n\nexport function setTabletsBundlesAccountFilter(bundlesAccountFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesAccountFilter}};\n}\n\nexport function setTabletsBundlesTagNodeFilter(bundlesTagNodeFilter: string): TabletsBundlesAction {\n return {type: TABLETS_BUNDLES_PARTIAL, data: {bundlesTagNodeFilter}};\n}\n\nexport function setTabletsPartial(data: TabletsPartialAction['data']) {\n return {type: TABLETS_BUNDLES_PARTIAL, data};\n}\n\nexport function setTabletsActiveBundle(activeBundle: string): TabletsBundlesThunkAction {\n return (dispatch) => {\n dispatch(bundlesTrackVisit(activeBundle));\n dispatch({\n type: TABLETS_BUNDLES_ACTIVE_ACCOUNT,\n data: {activeBundle},\n });\n };\n}\n\nexport function setTabletsFirstBundleAsActive(): TabletsBundlesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const bundles = getTabletsBundlesSorted(state);\n const [first] = bundles;\n if (!first) {\n return;\n }\n\n const cluster = getCluster(state);\n dispatch(setTabletsActiveBundle(first.bundle));\n getAppBrowserHistory().push(tabletActiveBundleLink(cluster, first.bundle));\n };\n}\n\nexport function copyHostListToClipboard(bundle: string): TabletsBundlesThunkAction {\n return (_dispatch, getState) => {\n const cells = filterTabletCellsByBundle(bundle, getTabletsCells(getState()));\n const hosts = prepareHostsFromCells(cells);\n copy(hosts || '');\n };\n}\n"],"mappings":"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"}
|
@@ -48,7 +48,7 @@ export function fetchTabletCellBundleEditor(bundleName) {
|
|
48
48
|
}).then(function (results) {
|
49
49
|
var _results$;
|
50
50
|
var bundleControllerIsUnavailable = toEdit.enable_bundle_controller && ((_results$ = results[1]) === null || _results$ === void 0 || (_results$ = _results$.error) === null || _results$ === void 0 ? void 0 : _results$.code) === yt.codes.NODE_DOES_NOT_EXIST;
|
51
|
-
var error = getBatchError(bundleControllerIsUnavailable ? [results[0]] : results);
|
51
|
+
var error = getBatchError(bundleControllerIsUnavailable ? [results[0]] : results, 'Failed to get bundle edit data');
|
52
52
|
if (error) {
|
53
53
|
throw error;
|
54
54
|
}
|
@@ -188,8 +188,8 @@ export function setBundleEditorController(params) {
|
|
188
188
|
}), {
|
189
189
|
toasterName: "edit_bundle_".concat(bundleName),
|
190
190
|
successContent: "Set bundle edit data",
|
191
|
-
|
192
|
-
|
191
|
+
isBatch: true,
|
192
|
+
errorTitle: 'Failed to set bundle edit data'
|
193
193
|
}).then(function () {
|
194
194
|
dispatch(fetchTabletsBundles());
|
195
195
|
});
|
@@ -209,8 +209,8 @@ export function setBunndleAttributes(bundle, attrs) {
|
|
209
209
|
}), {
|
210
210
|
toasterName: "update-bundle_".concat(bundle),
|
211
211
|
successContent: "".concat(bundle, " successfully updated"),
|
212
|
-
|
213
|
-
|
212
|
+
isBatch: true,
|
213
|
+
errorTitle: 'Failed to edit bundle'
|
214
214
|
}).then(function () {
|
215
215
|
dispatch(showTabletCellBundleEditor(bundle));
|
216
216
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["hammer","TABLETS_BUNDLES_EDITOR_LOAD_FAILURE","TABLETS_BUNDLES_EDITOR_LOAD_REQUREST","TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS","TABLETS_BUNDLES_EDITOR_PARTIAL","YTApiId","ytApiV3Id","fetchTabletsBundles","getBatchError","wrapApiPromiseByToaster","makeBatchSubRequest","prepareSetCommandForBatch","yt","getTabletsBundles","fetchTabletCellBundleEditor","bundleName","dispatch","getState","type","data","bundles","toEdit","find","_ref","bundle","Promise","resolve","requests","command","parameters","path","concat","attributes","enable_bundle_controller","push","executeBatch","tabletCellBundlesEditData","then","results","_results$","bundleControllerIsUnavailable","error","code","codes","NODE_DOES_NOT_EXIST","toasterName","skipSuccessToast","errorContent","_ref2","_ref3","_slicedToArray","output","_ref3$","_ref3$2","undefined","bundleControllerData","bundleData","requestGroups","_toConsumableArray","_map","allocated_tablet_nodes","_item","key","allocated_rpc_proxies","errors","tabletCellBundlesInstancesDetails","item","nodesResults","keys","_keys","instanceDetailsMap","_forEach","_ref4","index","_output","nanny_service","_output$","_output$2","tablet_static_memory","e","reject","showTabletCellBundleEditor","visibleEditor","hideTabletCellBundleEditor","loaded","setBundleQuota","params","resourceType","limit","resource","format","v3","set","successContent","setBundleEditorController","bundlePath","value","tabletCellBundlesSetAttrs","isBatch","setBunndleAttributes","attrs","options","v"],"sources":["tablet-cell-bundle-editor.ts"],"sourcesContent":["import type {ThunkAction} from 'redux-thunk';\nimport _ from 'lodash';\n\nimport hammer from '../../../common/hammer';\nimport {\n TABLETS_BUNDLES_EDITOR_LOAD_FAILURE,\n TABLETS_BUNDLES_EDITOR_LOAD_REQUREST,\n TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS,\n TABLETS_BUNDLES_EDITOR_PARTIAL,\n} from '../../../constants/tablets';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport type {RootState} from '../../../store/reducers';\nimport type {\n BundleControllerInstanceDetails,\n TabletCellBundleEditorAction,\n} from '../../../store/reducers/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {fetchTabletsBundles} from '../../../store/actions/tablet_cell_bundles';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {makeBatchSubRequest, prepareSetCommandForBatch} from '../../../utils/cypress-attributes';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {getTabletsBundles} from '../../../store/selectors/tablet_cell_bundles';\nimport {OrchidBundlesData} from '../../../store/reducers/tablet_cell_bundles';\nimport {BatchResults, BatchSubRequest} from '../../../../shared/yt-types';\n\ntype TabletCellBundleEditorThunkAction = ThunkAction<\n any,\n RootState,\n any,\n TabletCellBundleEditorAction\n>;\n\nexport function fetchTabletCellBundleEditor(bundleName: string): TabletCellBundleEditorThunkAction {\n return (dispatch, getState) => {\n dispatch({type: TABLETS_BUNDLES_EDITOR_LOAD_REQUREST, data: {bundleName}});\n\n const bundles = getTabletsBundles(getState());\n const toEdit = bundles.find(({bundle}) => bundle === bundleName);\n if (!toEdit) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [\n {\n command: 'get',\n parameters: {\n path: `//sys/tablet_cell_bundles/${bundleName}`,\n attributes: [\n 'resource_usage',\n 'resource_limits',\n 'options',\n 'abc',\n 'folder_id',\n 'zone',\n 'enable_bundle_controller',\n ],\n },\n },\n ];\n\n if (toEdit.enable_bundle_controller) {\n requests.push({\n command: 'get',\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${bundleName}`,\n },\n });\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id\n .executeBatch(YTApiId.tabletCellBundlesEditData, {requests})\n .then((results) => {\n const bundleControllerIsUnavailable =\n toEdit.enable_bundle_controller &&\n results[1]?.error?.code === yt.codes.NODE_DOES_NOT_EXIST;\n const error = getBatchError(\n bundleControllerIsUnavailable ? [results[0]] : results,\n );\n\n if (error) {\n throw error;\n }\n return results;\n }),\n {\n toasterName: 'edit-bundle-data',\n skipSuccessToast: true,\n errorContent: 'Failed to load bundle details',\n },\n )\n .then((results) => {\n const [{output: data}, {output: bundleControllerData} = {output: undefined}] =\n results as BatchResults<[unknown, OrchidBundlesData]>;\n\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS,\n data: {\n bundleData: toEdit,\n data,\n bundleControllerData,\n },\n });\n\n const requestGroups: Array<Array<BatchSubRequest>> = [\n ..._.map(bundleControllerData?.allocated_tablet_nodes, (_item, key) => {\n return [\n makeBatchSubRequest('get', {\n path: `//sys/cluster_nodes/${key}/@bundle_controller_annotations/nanny_service`,\n }),\n makeBatchSubRequest('get', {\n path: `//sys/cluster_nodes/${key}/@statistics/memory/tablet_static`,\n }),\n ];\n }),\n ..._.map(bundleControllerData?.allocated_rpc_proxies, (_item, key) => {\n return [\n makeBatchSubRequest('get', {\n path: `//sys/rpc_proxies/${key}/@bundle_controller_annotations/nanny_service`,\n }),\n ];\n }),\n ];\n const errors = [];\n wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesInstancesDetails, {\n requests: _.map(requestGroups, (item) => {\n return makeBatchSubRequest('execute_batch', {requests: item});\n }),\n }),\n {\n toasterName: 'bundle-controller-tablet-static-memory',\n skipSuccessToast: true,\n errorContent:\n 'BundleController: Cannot load tablet static memory of isntances',\n },\n ).then((nodesResults) => {\n const keys = [\n ..._.keys(bundleControllerData?.allocated_tablet_nodes),\n ..._.keys(bundleControllerData?.allocated_rpc_proxies),\n ];\n const instanceDetailsMap: Record<string, BundleControllerInstanceDetails> = {};\n _.forEach(nodesResults, ({output, error}, index) => {\n if (error) {\n errors.push(error);\n } else {\n const [\n {output: nanny_service},\n {output: tablet_static_memory} = {output: undefined},\n ] = output;\n instanceDetailsMap[keys[index]] = {\n nanny_service,\n tablet_static_memory,\n };\n }\n });\n dispatch({type: TABLETS_BUNDLES_EDITOR_PARTIAL, data: {instanceDetailsMap}});\n });\n })\n .catch((e: any) => {\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_LOAD_FAILURE,\n data: e,\n });\n return Promise.reject(e);\n });\n };\n}\n\nexport function showTabletCellBundleEditor(bundle: string): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n dispatch(fetchTabletCellBundleEditor(bundle)).then(() => {\n dispatch({type: TABLETS_BUNDLES_EDITOR_PARTIAL, data: {visibleEditor: true}});\n });\n };\n}\n\nexport function hideTabletCellBundleEditor(): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_PARTIAL,\n data: {bundleName: undefined, loaded: true, visibleEditor: false},\n });\n };\n}\n\nexport type BundleResourceType = 'tablet_count' | 'tablet_static_memory';\n\nexport function setBundleQuota(params: {\n bundleName: string;\n resourceType: BundleResourceType;\n limit: number;\n}): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {bundleName, resourceType, limit} = params;\n\n const resource = hammer.format['Readable'](resourceType);\n\n return wrapApiPromiseByToaster(\n yt.v3.set(\n {\n path: `//sys/tablet_cell_bundles/${bundleName}/@resource_limits/${resourceType}`,\n },\n limit,\n ),\n {\n toasterName: `edit_bundle_${bundleName}`,\n successContent: `Set quota limit for ${resource}`,\n errorContent: `Cannot set quota limit for ${resource}`,\n },\n ).then(() => {\n dispatch(showTabletCellBundleEditor(bundleName));\n });\n };\n}\n\nexport function setBundleEditorController(params: {\n bundleName: string;\n data: Record<string, unknown>;\n}): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {bundleName, data} = params;\n\n const bundlePath = `//sys/tablet_cell_bundles/${bundleName}`;\n\n const requests = _.map(data, (value, path) =>\n prepareSetCommandForBatch(`${bundlePath}/${path}`, value),\n );\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesSetAttrs, {\n requests,\n } as any),\n {\n toasterName: `edit_bundle_${bundleName}`,\n successContent: `Set bundle edit data`,\n errorContent: `Cannot set bundle edit data`,\n isBatch: true,\n },\n ).then(() => {\n dispatch(fetchTabletsBundles());\n });\n };\n}\n\nexport interface EditBundleParams {\n attributes: {\n abc?: {\n id: number;\n slug: string;\n };\n };\n options: {\n changelog_account?: string;\n snapshot_account?: string;\n };\n}\n\nexport function setBunndleAttributes(\n bundle: string,\n attrs: Partial<EditBundleParams>,\n): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {attributes, options} = attrs;\n\n const bundlePath = `//sys/tablet_cell_bundles/${bundle}`;\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesSetAttrs, {\n requests: [\n ..._.map(attributes, (v, key) =>\n prepareSetCommandForBatch(`${bundlePath}/@${key}`, v),\n ),\n ..._.map(options, (v, key) =>\n prepareSetCommandForBatch(`${bundlePath}/@options/${key}`, v),\n ),\n ],\n } as any),\n {\n toasterName: `update-bundle_${bundle}`,\n successContent: `${bundle} successfully updated`,\n errorContent: `${bundle} cannot be updated`,\n isBatch: true,\n },\n ).then(() => {\n dispatch(showTabletCellBundleEditor(bundle));\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["hammer","TABLETS_BUNDLES_EDITOR_LOAD_FAILURE","TABLETS_BUNDLES_EDITOR_LOAD_REQUREST","TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS","TABLETS_BUNDLES_EDITOR_PARTIAL","YTApiId","ytApiV3Id","fetchTabletsBundles","getBatchError","wrapApiPromiseByToaster","makeBatchSubRequest","prepareSetCommandForBatch","yt","getTabletsBundles","fetchTabletCellBundleEditor","bundleName","dispatch","getState","type","data","bundles","toEdit","find","_ref","bundle","Promise","resolve","requests","command","parameters","path","concat","attributes","enable_bundle_controller","push","executeBatch","tabletCellBundlesEditData","then","results","_results$","bundleControllerIsUnavailable","error","code","codes","NODE_DOES_NOT_EXIST","toasterName","skipSuccessToast","errorContent","_ref2","_ref3","_slicedToArray","output","_ref3$","_ref3$2","undefined","bundleControllerData","bundleData","requestGroups","_toConsumableArray","_map","allocated_tablet_nodes","_item","key","allocated_rpc_proxies","errors","tabletCellBundlesInstancesDetails","item","nodesResults","keys","_keys","instanceDetailsMap","_forEach","_ref4","index","_output","nanny_service","_output$","_output$2","tablet_static_memory","e","reject","showTabletCellBundleEditor","visibleEditor","hideTabletCellBundleEditor","loaded","setBundleQuota","params","resourceType","limit","resource","format","v3","set","successContent","setBundleEditorController","bundlePath","value","tabletCellBundlesSetAttrs","isBatch","errorTitle","setBunndleAttributes","attrs","options","v"],"sources":["tablet-cell-bundle-editor.ts"],"sourcesContent":["import type {ThunkAction} from 'redux-thunk';\nimport _ from 'lodash';\n\nimport hammer from '../../../common/hammer';\nimport {\n TABLETS_BUNDLES_EDITOR_LOAD_FAILURE,\n TABLETS_BUNDLES_EDITOR_LOAD_REQUREST,\n TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS,\n TABLETS_BUNDLES_EDITOR_PARTIAL,\n} from '../../../constants/tablets';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport type {RootState} from '../../../store/reducers';\nimport type {\n BundleControllerInstanceDetails,\n TabletCellBundleEditorAction,\n} from '../../../store/reducers/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {fetchTabletsBundles} from '../../../store/actions/tablet_cell_bundles';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {makeBatchSubRequest, prepareSetCommandForBatch} from '../../../utils/cypress-attributes';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {getTabletsBundles} from '../../../store/selectors/tablet_cell_bundles';\nimport {OrchidBundlesData} from '../../../store/reducers/tablet_cell_bundles';\nimport {BatchResults, BatchSubRequest} from '../../../../shared/yt-types';\n\ntype TabletCellBundleEditorThunkAction = ThunkAction<\n any,\n RootState,\n any,\n TabletCellBundleEditorAction\n>;\n\nexport function fetchTabletCellBundleEditor(bundleName: string): TabletCellBundleEditorThunkAction {\n return (dispatch, getState) => {\n dispatch({type: TABLETS_BUNDLES_EDITOR_LOAD_REQUREST, data: {bundleName}});\n\n const bundles = getTabletsBundles(getState());\n const toEdit = bundles.find(({bundle}) => bundle === bundleName);\n if (!toEdit) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [\n {\n command: 'get',\n parameters: {\n path: `//sys/tablet_cell_bundles/${bundleName}`,\n attributes: [\n 'resource_usage',\n 'resource_limits',\n 'options',\n 'abc',\n 'folder_id',\n 'zone',\n 'enable_bundle_controller',\n ],\n },\n },\n ];\n\n if (toEdit.enable_bundle_controller) {\n requests.push({\n command: 'get',\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${bundleName}`,\n },\n });\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id\n .executeBatch(YTApiId.tabletCellBundlesEditData, {requests})\n .then((results) => {\n const bundleControllerIsUnavailable =\n toEdit.enable_bundle_controller &&\n results[1]?.error?.code === yt.codes.NODE_DOES_NOT_EXIST;\n const error = getBatchError(\n bundleControllerIsUnavailable ? [results[0]] : results,\n 'Failed to get bundle edit data',\n );\n\n if (error) {\n throw error;\n }\n return results;\n }),\n {\n toasterName: 'edit-bundle-data',\n skipSuccessToast: true,\n errorContent: 'Failed to load bundle details',\n },\n )\n .then((results) => {\n const [{output: data}, {output: bundleControllerData} = {output: undefined}] =\n results as BatchResults<[unknown, OrchidBundlesData]>;\n\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_LOAD_SUCCESS,\n data: {\n bundleData: toEdit,\n data,\n bundleControllerData,\n },\n });\n\n const requestGroups: Array<Array<BatchSubRequest>> = [\n ..._.map(bundleControllerData?.allocated_tablet_nodes, (_item, key) => {\n return [\n makeBatchSubRequest('get', {\n path: `//sys/cluster_nodes/${key}/@bundle_controller_annotations/nanny_service`,\n }),\n makeBatchSubRequest('get', {\n path: `//sys/cluster_nodes/${key}/@statistics/memory/tablet_static`,\n }),\n ];\n }),\n ..._.map(bundleControllerData?.allocated_rpc_proxies, (_item, key) => {\n return [\n makeBatchSubRequest('get', {\n path: `//sys/rpc_proxies/${key}/@bundle_controller_annotations/nanny_service`,\n }),\n ];\n }),\n ];\n const errors = [];\n wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesInstancesDetails, {\n requests: _.map(requestGroups, (item) => {\n return makeBatchSubRequest('execute_batch', {requests: item});\n }),\n }),\n {\n toasterName: 'bundle-controller-tablet-static-memory',\n skipSuccessToast: true,\n errorContent:\n 'BundleController: Cannot load tablet static memory of isntances',\n },\n ).then((nodesResults) => {\n const keys = [\n ..._.keys(bundleControllerData?.allocated_tablet_nodes),\n ..._.keys(bundleControllerData?.allocated_rpc_proxies),\n ];\n const instanceDetailsMap: Record<string, BundleControllerInstanceDetails> = {};\n _.forEach(nodesResults, ({output, error}, index) => {\n if (error) {\n errors.push(error);\n } else {\n const [\n {output: nanny_service},\n {output: tablet_static_memory} = {output: undefined},\n ] = output;\n instanceDetailsMap[keys[index]] = {\n nanny_service,\n tablet_static_memory,\n };\n }\n });\n dispatch({type: TABLETS_BUNDLES_EDITOR_PARTIAL, data: {instanceDetailsMap}});\n });\n })\n .catch((e: any) => {\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_LOAD_FAILURE,\n data: e,\n });\n return Promise.reject(e);\n });\n };\n}\n\nexport function showTabletCellBundleEditor(bundle: string): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n dispatch(fetchTabletCellBundleEditor(bundle)).then(() => {\n dispatch({type: TABLETS_BUNDLES_EDITOR_PARTIAL, data: {visibleEditor: true}});\n });\n };\n}\n\nexport function hideTabletCellBundleEditor(): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n dispatch({\n type: TABLETS_BUNDLES_EDITOR_PARTIAL,\n data: {bundleName: undefined, loaded: true, visibleEditor: false},\n });\n };\n}\n\nexport type BundleResourceType = 'tablet_count' | 'tablet_static_memory';\n\nexport function setBundleQuota(params: {\n bundleName: string;\n resourceType: BundleResourceType;\n limit: number;\n}): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {bundleName, resourceType, limit} = params;\n\n const resource = hammer.format['Readable'](resourceType);\n\n return wrapApiPromiseByToaster(\n yt.v3.set(\n {\n path: `//sys/tablet_cell_bundles/${bundleName}/@resource_limits/${resourceType}`,\n },\n limit,\n ),\n {\n toasterName: `edit_bundle_${bundleName}`,\n successContent: `Set quota limit for ${resource}`,\n errorContent: `Cannot set quota limit for ${resource}`,\n },\n ).then(() => {\n dispatch(showTabletCellBundleEditor(bundleName));\n });\n };\n}\n\nexport function setBundleEditorController(params: {\n bundleName: string;\n data: Record<string, unknown>;\n}): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {bundleName, data} = params;\n\n const bundlePath = `//sys/tablet_cell_bundles/${bundleName}`;\n\n const requests = _.map(data, (value, path) =>\n prepareSetCommandForBatch(`${bundlePath}/${path}`, value),\n );\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesSetAttrs, {\n requests,\n } as any),\n {\n toasterName: `edit_bundle_${bundleName}`,\n successContent: `Set bundle edit data`,\n isBatch: true,\n errorTitle: 'Failed to set bundle edit data',\n },\n ).then(() => {\n dispatch(fetchTabletsBundles());\n });\n };\n}\n\nexport interface EditBundleParams {\n attributes: {\n abc?: {\n id: number;\n slug: string;\n };\n };\n options: {\n changelog_account?: string;\n snapshot_account?: string;\n };\n}\n\nexport function setBunndleAttributes(\n bundle: string,\n attrs: Partial<EditBundleParams>,\n): TabletCellBundleEditorThunkAction {\n return (dispatch) => {\n const {attributes, options} = attrs;\n\n const bundlePath = `//sys/tablet_cell_bundles/${bundle}`;\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletCellBundlesSetAttrs, {\n requests: [\n ..._.map(attributes, (v, key) =>\n prepareSetCommandForBatch(`${bundlePath}/@${key}`, v),\n ),\n ..._.map(options, (v, key) =>\n prepareSetCommandForBatch(`${bundlePath}/@options/${key}`, v),\n ),\n ],\n } as any),\n {\n toasterName: `update-bundle_${bundle}`,\n successContent: `${bundle} successfully updated`,\n isBatch: true,\n errorTitle: 'Failed to edit bundle',\n },\n ).then(() => {\n dispatch(showTabletCellBundleEditor(bundle));\n });\n };\n}\n"],"mappings":"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"}
|
@@ -178,7 +178,7 @@ export function saveUserData(username, attributes, groupsToAdd, groupsToRemove)
|
|
178
178
|
addRes = _ref3[0],
|
179
179
|
removeRes = _ref3[1],
|
180
180
|
batchRes = _ref3[2];
|
181
|
-
var batchError = getBatchError(batchRes,
|
181
|
+
var batchError = getBatchError(batchRes, "Failed to save user's data");
|
182
182
|
if (batchError) {
|
183
183
|
throw batchError;
|
184
184
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["USERS_EDIT_USER","USERS_EDIT_USER_DATA_FIELDS","USERS_TABLE","USERS_TABLE_DATA_FIELDS","getCluster","listAllUsers","flags","getBatchError","YTApiId","ytApiV3Id","UIFactory","USER_ATTRIBUTES","prepareUserData","item","_item$$attributes","$attributes","groups","member_of","allGroups","member_of_closure","idm","upravlyator_managed","sort","get","_difference","fetchUsers","dispatch","type","REQUEST","usersData","attributes","then","data","users","_forEach","push","SUCCESS","error","FAILURE","setUsersNameFilter","nameFilter","setUsersGroupFilter","filter","groupFilter","setUsersBannedFilter","bannedFilter","setUsersPageSorting","_ref","column","order","showUserEditorModal","username","path","concat","usersEditData","res","showModal","closeUserEditorModal","removeUserFromGroups","cluster","Promise","all","_map","groupname","getAclApi","removeUserFromGroup","addUserToGroups","comment","addUserToGroup","saveUserData","groupsToAdd","groupsToRemove","getState","requests","restAttrs","_objectWithoutProperties","_excluded","value","key","command","parameters","input","state","length","executeBatch","usersSaveData","Boolean","_ref2","_ref3","_slicedToArray","addRes","removeRes","batchRes","batchError","_error$response","response","reject"],"sources":["users.js"],"sourcesContent":["import _ from 'lodash';\nimport {\n USERS_EDIT_USER,\n USERS_EDIT_USER_DATA_FIELDS,\n USERS_TABLE,\n USERS_TABLE_DATA_FIELDS,\n} from '../../constants/users';\nimport {getCluster} from '../../store/selectors/global';\nimport {listAllUsers} from '../../utils/users-groups';\nimport {flags} from '../../utils/index';\nimport {getBatchError} from '../../utils/utils';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport UIFactory from '../../UIFactory';\n\nconst USER_ATTRIBUTES = [\n 'name',\n 'banned',\n 'ban_message',\n 'member_of',\n 'member_of_closure',\n 'read_request_rate_limit',\n 'request_queue_size_limit',\n 'write_request_rate_limit',\n 'upravlyator_managed',\n];\n\nexport function prepareUserData(item) {\n const {\n $attributes: {member_of: groups, member_of_closure: allGroups, upravlyator_managed: idm},\n } = item;\n groups.sort();\n allGroups.sort();\n item.$attributes.idm = flags.get(idm || false);\n item.$attributes['transitiveGroups'] = _.difference(allGroups, groups);\n return item.$attributes;\n}\n\nexport function fetchUsers() {\n return (dispatch) => {\n dispatch({type: USERS_TABLE.REQUEST});\n\n return listAllUsers(YTApiId.usersData, {attributes: USER_ATTRIBUTES})\n .then((data) => {\n const users = [];\n _.forEach(data, (item) => {\n users.push(prepareUserData(item));\n });\n dispatch({type: USERS_TABLE.SUCCESS, data: {users}});\n })\n .catch((error) => {\n dispatch({type: USERS_TABLE.FAILURE, data: error});\n });\n };\n}\n\nexport function setUsersNameFilter(nameFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {nameFilter}};\n}\n\nexport function setUsersGroupFilter(filter) {\n return {\n type: USERS_TABLE_DATA_FIELDS,\n data: {groupFilter: filter || ''},\n };\n}\n\nexport function setUsersBannedFilter(bannedFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {bannedFilter}};\n}\n\nexport function setUsersPageSorting({column, order}) {\n const sort = {column, order};\n if (!order) {\n sort.column = '';\n }\n return {type: USERS_TABLE_DATA_FIELDS, data: {sort}};\n}\n\nexport function showUserEditorModal(username) {\n return (dispatch) => {\n dispatch({type: USERS_EDIT_USER.REQUEST});\n const path = `//sys/users/${username}`;\n return ytApiV3Id\n .get(YTApiId.usersEditData, {path, attributes: USER_ATTRIBUTES})\n .then((res) => {\n dispatch({\n type: USERS_EDIT_USER.SUCCESS,\n data: {data: prepareUserData(res)},\n });\n dispatch({\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: true, username},\n });\n })\n .catch((error) => {\n return dispatch({type: USERS_EDIT_USER.FAILURE, data: error});\n });\n };\n}\n\nexport function closeUserEditorModal() {\n return {\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: false, username: ''},\n };\n}\n\nfunction removeUserFromGroups(cluster, username, groups) {\n return Promise.all(\n _.map(groups, (groupname) => {\n return UIFactory.getAclApi().removeUserFromGroup({cluster, username, groupname});\n }),\n );\n}\n\nfunction addUserToGroups(cluster, username, groups, comment) {\n return Promise.all(\n _.map(groups, (groupname) => {\n return UIFactory.getAclApi().addUserToGroup({cluster, username, groupname, comment});\n }),\n );\n}\n\nexport function saveUserData(username, attributes, groupsToAdd, groupsToRemove) {\n return (dispatch, getState) => {\n dispatch({type: USERS_EDIT_USER.REQUEST});\n\n const path = `//sys/users/${username}`;\n const requests = [];\n const {comment, ...restAttrs} = attributes;\n _.forEach(restAttrs, (value, key) => {\n requests.push({\n command: 'set',\n parameters: {\n path: `${path}/@${key}`,\n },\n input: value,\n });\n });\n\n const state = getState();\n const cluster = getCluster(state);\n\n return (\n Promise.all(\n [\n addUserToGroups(cluster, username, groupsToAdd, comment),\n removeUserFromGroups(cluster, username, groupsToRemove),\n requests.length && ytApiV3Id.executeBatch(YTApiId.usersSaveData, {requests}),\n ].filter(Boolean),\n )\n // eslint-disable-next-line no-unused-vars\n .then(([addRes, removeRes, batchRes]) => {\n const batchError = getBatchError(batchRes, 'Attributes cannot be modified');\n if (batchError) {\n throw batchError;\n }\n\n dispatch({type: USERS_EDIT_USER.SUCCESS, data: {}});\n dispatch(fetchUsers());\n\n return;\n })\n .catch((error) => {\n const data = error?.response?.data || error;\n dispatch({type: USERS_EDIT_USER.FAILURE, data: data});\n return Promise.reject(data);\n })\n );\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["USERS_EDIT_USER","USERS_EDIT_USER_DATA_FIELDS","USERS_TABLE","USERS_TABLE_DATA_FIELDS","getCluster","listAllUsers","flags","getBatchError","YTApiId","ytApiV3Id","UIFactory","USER_ATTRIBUTES","prepareUserData","item","_item$$attributes","$attributes","groups","member_of","allGroups","member_of_closure","idm","upravlyator_managed","sort","get","_difference","fetchUsers","dispatch","type","REQUEST","usersData","attributes","then","data","users","_forEach","push","SUCCESS","error","FAILURE","setUsersNameFilter","nameFilter","setUsersGroupFilter","filter","groupFilter","setUsersBannedFilter","bannedFilter","setUsersPageSorting","_ref","column","order","showUserEditorModal","username","path","concat","usersEditData","res","showModal","closeUserEditorModal","removeUserFromGroups","cluster","Promise","all","_map","groupname","getAclApi","removeUserFromGroup","addUserToGroups","comment","addUserToGroup","saveUserData","groupsToAdd","groupsToRemove","getState","requests","restAttrs","_objectWithoutProperties","_excluded","value","key","command","parameters","input","state","length","executeBatch","usersSaveData","Boolean","_ref2","_ref3","_slicedToArray","addRes","removeRes","batchRes","batchError","_error$response","response","reject"],"sources":["users.js"],"sourcesContent":["import _ from 'lodash';\nimport {\n USERS_EDIT_USER,\n USERS_EDIT_USER_DATA_FIELDS,\n USERS_TABLE,\n USERS_TABLE_DATA_FIELDS,\n} from '../../constants/users';\nimport {getCluster} from '../../store/selectors/global';\nimport {listAllUsers} from '../../utils/users-groups';\nimport {flags} from '../../utils/index';\nimport {getBatchError} from '../../utils/utils';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport UIFactory from '../../UIFactory';\n\nconst USER_ATTRIBUTES = [\n 'name',\n 'banned',\n 'ban_message',\n 'member_of',\n 'member_of_closure',\n 'read_request_rate_limit',\n 'request_queue_size_limit',\n 'write_request_rate_limit',\n 'upravlyator_managed',\n];\n\nexport function prepareUserData(item) {\n const {\n $attributes: {member_of: groups, member_of_closure: allGroups, upravlyator_managed: idm},\n } = item;\n groups.sort();\n allGroups.sort();\n item.$attributes.idm = flags.get(idm || false);\n item.$attributes['transitiveGroups'] = _.difference(allGroups, groups);\n return item.$attributes;\n}\n\nexport function fetchUsers() {\n return (dispatch) => {\n dispatch({type: USERS_TABLE.REQUEST});\n\n return listAllUsers(YTApiId.usersData, {attributes: USER_ATTRIBUTES})\n .then((data) => {\n const users = [];\n _.forEach(data, (item) => {\n users.push(prepareUserData(item));\n });\n dispatch({type: USERS_TABLE.SUCCESS, data: {users}});\n })\n .catch((error) => {\n dispatch({type: USERS_TABLE.FAILURE, data: error});\n });\n };\n}\n\nexport function setUsersNameFilter(nameFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {nameFilter}};\n}\n\nexport function setUsersGroupFilter(filter) {\n return {\n type: USERS_TABLE_DATA_FIELDS,\n data: {groupFilter: filter || ''},\n };\n}\n\nexport function setUsersBannedFilter(bannedFilter) {\n return {type: USERS_TABLE_DATA_FIELDS, data: {bannedFilter}};\n}\n\nexport function setUsersPageSorting({column, order}) {\n const sort = {column, order};\n if (!order) {\n sort.column = '';\n }\n return {type: USERS_TABLE_DATA_FIELDS, data: {sort}};\n}\n\nexport function showUserEditorModal(username) {\n return (dispatch) => {\n dispatch({type: USERS_EDIT_USER.REQUEST});\n const path = `//sys/users/${username}`;\n return ytApiV3Id\n .get(YTApiId.usersEditData, {path, attributes: USER_ATTRIBUTES})\n .then((res) => {\n dispatch({\n type: USERS_EDIT_USER.SUCCESS,\n data: {data: prepareUserData(res)},\n });\n dispatch({\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: true, username},\n });\n })\n .catch((error) => {\n return dispatch({type: USERS_EDIT_USER.FAILURE, data: error});\n });\n };\n}\n\nexport function closeUserEditorModal() {\n return {\n type: USERS_EDIT_USER_DATA_FIELDS,\n data: {showModal: false, username: ''},\n };\n}\n\nfunction removeUserFromGroups(cluster, username, groups) {\n return Promise.all(\n _.map(groups, (groupname) => {\n return UIFactory.getAclApi().removeUserFromGroup({cluster, username, groupname});\n }),\n );\n}\n\nfunction addUserToGroups(cluster, username, groups, comment) {\n return Promise.all(\n _.map(groups, (groupname) => {\n return UIFactory.getAclApi().addUserToGroup({cluster, username, groupname, comment});\n }),\n );\n}\n\nexport function saveUserData(username, attributes, groupsToAdd, groupsToRemove) {\n return (dispatch, getState) => {\n dispatch({type: USERS_EDIT_USER.REQUEST});\n\n const path = `//sys/users/${username}`;\n const requests = [];\n const {comment, ...restAttrs} = attributes;\n _.forEach(restAttrs, (value, key) => {\n requests.push({\n command: 'set',\n parameters: {\n path: `${path}/@${key}`,\n },\n input: value,\n });\n });\n\n const state = getState();\n const cluster = getCluster(state);\n\n return (\n Promise.all(\n [\n addUserToGroups(cluster, username, groupsToAdd, comment),\n removeUserFromGroups(cluster, username, groupsToRemove),\n requests.length && ytApiV3Id.executeBatch(YTApiId.usersSaveData, {requests}),\n ].filter(Boolean),\n )\n // eslint-disable-next-line no-unused-vars\n .then(([addRes, removeRes, batchRes]) => {\n const batchError = getBatchError(batchRes, \"Failed to save user's data\");\n if (batchError) {\n throw batchError;\n }\n\n dispatch({type: USERS_EDIT_USER.SUCCESS, data: {}});\n dispatch(fetchUsers());\n\n return;\n })\n .catch((error) => {\n const data = error?.response?.data || error;\n dispatch({type: USERS_EDIT_USER.FAILURE, data: data});\n return Promise.reject(data);\n })\n );\n };\n}\n"],"mappings":"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"}
|
@@ -14,7 +14,7 @@ export interface HandleExecuteBatchRetryParams {
|
|
14
14
|
error: YTError;
|
15
15
|
resolveCb: (results: Array<BatchResultsItem<any>>) => void;
|
16
16
|
rejectCb: (error: YTError) => void;
|
17
|
-
options
|
17
|
+
options: ExecuteBatchOptions;
|
18
18
|
}
|
19
19
|
export default function executeBatchReducer(state: ExecuteBatchState | undefined, action: ExecuteBatchAction): ExecuteBatchState;
|
20
20
|
export type ExecuteBatchAction = ActionD<typeof EXECUTE_BATCH_RETRY_SHOW_MODAL, HandleExecuteBatchRetryParams & Pick<ExecuteBatchStateItem, 'id' | 'ytApiId'>> | ActionD<typeof EXECUTE_BATCH_RETRY_HIDE_MODAL, Pick<ExecuteBatchStateItem, 'id'>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EXECUTE_BATCH_RETRY_HIDE_MODAL","EXECUTE_BATCH_RETRY_SHOW_MODAL","initialState","executeBatchReducer","state","arguments","length","undefined","action","type","res","_objectSpread","data","id","showModal"],"sources":["execute-batch.ts"],"sourcesContent":["import {ActionD, YTError} from '../../types';\nimport {\n EXECUTE_BATCH_RETRY_HIDE_MODAL,\n EXECUTE_BATCH_RETRY_SHOW_MODAL,\n} from '../../constants/execute-batch';\nimport {ExecuteBatchOptions} from '../actions/execute-batch';\nimport {YTApiId} from '../../rum/rum-wrap-api';\nimport {BatchResultsItem, BatchSubRequest} from '../../../shared/yt-types';\n\nexport interface ExecuteBatchStateItem extends HandleExecuteBatchRetryParams {\n id: string;\n showModal: boolean;\n ytApiId: YTApiId;\n}\n\nexport type ExecuteBatchState = Record<string, ExecuteBatchStateItem>;\n\nexport interface HandleExecuteBatchRetryParams {\n failed_requests: Array<BatchSubRequest>;\n error: YTError;\n resolveCb: (results: Array<BatchResultsItem<any>>) => void;\n rejectCb: (error: YTError) => void;\n options
|
1
|
+
{"version":3,"names":["EXECUTE_BATCH_RETRY_HIDE_MODAL","EXECUTE_BATCH_RETRY_SHOW_MODAL","initialState","executeBatchReducer","state","arguments","length","undefined","action","type","res","_objectSpread","data","id","showModal"],"sources":["execute-batch.ts"],"sourcesContent":["import {ActionD, YTError} from '../../types';\nimport {\n EXECUTE_BATCH_RETRY_HIDE_MODAL,\n EXECUTE_BATCH_RETRY_SHOW_MODAL,\n} from '../../constants/execute-batch';\nimport {ExecuteBatchOptions} from '../actions/execute-batch';\nimport {YTApiId} from '../../rum/rum-wrap-api';\nimport {BatchResultsItem, BatchSubRequest} from '../../../shared/yt-types';\n\nexport interface ExecuteBatchStateItem extends HandleExecuteBatchRetryParams {\n id: string;\n showModal: boolean;\n ytApiId: YTApiId;\n}\n\nexport type ExecuteBatchState = Record<string, ExecuteBatchStateItem>;\n\nexport interface HandleExecuteBatchRetryParams {\n failed_requests: Array<BatchSubRequest>;\n error: YTError;\n resolveCb: (results: Array<BatchResultsItem<any>>) => void;\n rejectCb: (error: YTError) => void;\n options: ExecuteBatchOptions;\n}\n\nconst initialState: ExecuteBatchState = {};\n\nexport default function executeBatchReducer(\n state = initialState,\n action: ExecuteBatchAction,\n): ExecuteBatchState {\n switch (action.type) {\n case EXECUTE_BATCH_RETRY_SHOW_MODAL: {\n const res = {...state};\n res[action.data.id] = {\n ...action.data,\n showModal: true,\n };\n return res;\n }\n case EXECUTE_BATCH_RETRY_HIDE_MODAL: {\n const res = {...state};\n delete res[action.data.id];\n return res;\n }\n }\n return state;\n}\n\nexport type ExecuteBatchAction =\n | ActionD<\n typeof EXECUTE_BATCH_RETRY_SHOW_MODAL,\n HandleExecuteBatchRetryParams & Pick<ExecuteBatchStateItem, 'id' | 'ytApiId'>\n >\n | ActionD<typeof EXECUTE_BATCH_RETRY_HIDE_MODAL, Pick<ExecuteBatchStateItem, 'id'>>;\n"],"mappings":";AACA,SACIA,8BAA8B,EAC9BC,8BAA8B,QAC3B,+BAA+B;AAqBtC,IAAMC,YAA+B,GAAG,CAAC,CAAC;AAE1C,eAAe,SAASC,mBAAmBA,CAAA,EAGtB;EAAA,IAFjBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,YAAY;EAAA,IACpBM,MAA0B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE1B,QAAQC,MAAM,CAACC,IAAI;IACf,KAAKR,8BAA8B;MAAE;QACjC,IAAMS,GAAG,GAAAC,aAAA,KAAOP,KAAK,CAAC;QACtBM,GAAG,CAACF,MAAM,CAACI,IAAI,CAACC,EAAE,CAAC,GAAAF,aAAA,CAAAA,aAAA,KACZH,MAAM,CAACI,IAAI;UACdE,SAAS,EAAE;QAAI,EAClB;QACD,OAAOJ,GAAG;MACd;IACA,KAAKV,8BAA8B;MAAE;QACjC,IAAMU,IAAG,GAAAC,aAAA,KAAOP,KAAK,CAAC;QACtB,OAAOM,IAAG,CAACF,MAAM,CAACI,IAAI,CAACC,EAAE,CAAC;QAC1B,OAAOH,IAAG;MACd;EACJ;EACA,OAAON,KAAK;AAChB"}
|
@@ -143,7 +143,7 @@ export declare function makeRootReducer(): import("redux").Reducer<import("redux
|
|
143
143
|
checkPermissionsError: undefined;
|
144
144
|
} & {
|
145
145
|
path: string;
|
146
|
-
mode: "
|
146
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
147
147
|
};
|
148
148
|
content: import("redux").CombinedState<{
|
149
149
|
replicatedTable: import("./navigation/content/replicated-table").ReplicatedTableState;
|
@@ -28,7 +28,7 @@ declare const _default: import("redux").Reducer<import("redux").CombinedState<{
|
|
28
28
|
checkPermissionsError: undefined;
|
29
29
|
} & {
|
30
30
|
path: string;
|
31
|
-
mode: "
|
31
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
32
32
|
};
|
33
33
|
content: import("redux").CombinedState<{
|
34
34
|
replicatedTable: import("./content/replicated-table").ReplicatedTableState;
|
@@ -185,7 +185,7 @@ export declare const isAccountsUsageDiffView: ((state: Omit<import("redux").Comb
|
|
185
185
|
checkPermissionsError: undefined;
|
186
186
|
} & {
|
187
187
|
path: string;
|
188
|
-
mode: "
|
188
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
189
189
|
};
|
190
190
|
content: import("redux").CombinedState<{
|
191
191
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -1039,7 +1039,7 @@ export declare const getAccountUsageTreeItemsBasePathSplitted: ((state: Omit<imp
|
|
1039
1039
|
checkPermissionsError: undefined;
|
1040
1040
|
} & {
|
1041
1041
|
path: string;
|
1042
|
-
mode: "
|
1042
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
1043
1043
|
};
|
1044
1044
|
content: import("redux").CombinedState<{
|
1045
1045
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -1899,7 +1899,7 @@ export declare const getAccountUsageFieldFiltersRequestParameter: ((state: Omit<
|
|
1899
1899
|
checkPermissionsError: undefined;
|
1900
1900
|
} & {
|
1901
1901
|
path: string;
|
1902
|
-
mode: "
|
1902
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
1903
1903
|
};
|
1904
1904
|
content: import("redux").CombinedState<{
|
1905
1905
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -2769,7 +2769,7 @@ export declare const getAccountUsagePageCount: ((state: Omit<import("redux").Com
|
|
2769
2769
|
checkPermissionsError: undefined;
|
2770
2770
|
} & {
|
2771
2771
|
path: string;
|
2772
|
-
mode: "
|
2772
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
2773
2773
|
};
|
2774
2774
|
content: import("redux").CombinedState<{
|
2775
2775
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -3623,7 +3623,7 @@ export declare const getAccountUsagePageIndex: ((state: Omit<import("redux").Com
|
|
3623
3623
|
checkPermissionsError: undefined;
|
3624
3624
|
} & {
|
3625
3625
|
path: string;
|
3626
|
-
mode: "
|
3626
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
3627
3627
|
};
|
3628
3628
|
content: import("redux").CombinedState<{
|
3629
3629
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -4477,7 +4477,7 @@ export declare const getAccountUsageSortStateByColumn: ((state: Omit<import("red
|
|
4477
4477
|
checkPermissionsError: undefined;
|
4478
4478
|
} & {
|
4479
4479
|
path: string;
|
4480
|
-
mode: "
|
4480
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
4481
4481
|
};
|
4482
4482
|
content: import("redux").CombinedState<{
|
4483
4483
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -5337,7 +5337,7 @@ export declare const getAccountUsageAvailableColumns: ((state: Omit<import("redu
|
|
5337
5337
|
checkPermissionsError: undefined;
|
5338
5338
|
} & {
|
5339
5339
|
path: string;
|
5340
|
-
mode: "
|
5340
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
5341
5341
|
};
|
5342
5342
|
content: import("redux").CombinedState<{
|
5343
5343
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|
@@ -6191,7 +6191,7 @@ export declare const getAccountUsageSelectableColumns: ((state: Omit<import("red
|
|
6191
6191
|
checkPermissionsError: undefined;
|
6192
6192
|
} & {
|
6193
6193
|
path: string;
|
6194
|
-
mode: "
|
6194
|
+
mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
|
6195
6195
|
};
|
6196
6196
|
content: import("redux").CombinedState<{
|
6197
6197
|
replicatedTable: import("../../reducers/navigation/content/replicated-table").ReplicatedTableState;
|