@ytsaurus/ui 1.16.1 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -11
- package/build/cjs/@types/core.d.ts +7 -7
- package/build/cjs/server/components/layout-config.js +3 -3
- package/build/cjs/server/components/layout-config.js.map +1 -1
- package/build/cjs/server/components/requestsSetup.js +13 -5
- package/build/cjs/server/components/requestsSetup.js.map +1 -1
- package/build/cjs/server/components/settings.d.ts +10 -5
- package/build/cjs/server/components/settings.js +24 -23
- package/build/cjs/server/components/settings.js.map +1 -1
- package/build/cjs/server/components/table.d.ts +3 -3
- package/build/cjs/server/components/table.js +4 -4
- package/build/cjs/server/components/table.js.map +1 -1
- package/build/cjs/server/components/yt-auth.d.ts +0 -2
- package/build/cjs/server/components/yt-auth.js +5 -14
- package/build/cjs/server/components/yt-auth.js.map +1 -1
- package/build/cjs/server/configs/common.js +5 -13
- package/build/cjs/server/configs/common.js.map +1 -1
- package/build/cjs/server/configs/local.js +0 -5
- package/build/cjs/server/configs/local.js.map +1 -1
- package/build/cjs/server/controllers/chyt-api.js +1 -1
- package/build/cjs/server/controllers/chyt-api.js.map +1 -1
- package/build/cjs/server/controllers/cluster-info.js +2 -2
- package/build/cjs/server/controllers/cluster-info.js.map +1 -1
- package/build/cjs/server/controllers/cluster-params.js +1 -1
- package/build/cjs/server/controllers/cluster-params.js.map +1 -1
- package/build/cjs/server/controllers/clusters.d.ts +1 -0
- package/build/cjs/server/controllers/clusters.js +24 -1
- package/build/cjs/server/controllers/clusters.js.map +1 -1
- package/build/cjs/server/controllers/home.js +10 -6
- package/build/cjs/server/controllers/home.js.map +1 -1
- package/build/cjs/server/controllers/login.js +18 -5
- package/build/cjs/server/controllers/login.js.map +1 -1
- package/build/cjs/server/controllers/odin-proxy-api.js +1 -1
- package/build/cjs/server/controllers/odin-proxy-api.js.map +1 -1
- package/build/cjs/server/controllers/scheduling-pools.js +2 -2
- package/build/cjs/server/controllers/scheduling-pools.js.map +1 -1
- package/build/cjs/server/controllers/settings.js +10 -10
- package/build/cjs/server/controllers/settings.js.map +1 -1
- package/build/cjs/server/controllers/table-column-preset.js +4 -3
- package/build/cjs/server/controllers/table-column-preset.js.map +1 -1
- package/build/cjs/server/controllers/yt-api.js +1 -1
- package/build/cjs/server/controllers/yt-api.js.map +1 -1
- package/build/cjs/server/controllers/yt-proxy-api.js +2 -2
- package/build/cjs/server/controllers/yt-proxy-api.js.map +1 -1
- package/build/cjs/server/index.js +11 -8
- package/build/cjs/server/index.js.map +1 -1
- package/build/cjs/server/middlewares/authorization.d.ts +1 -1
- package/build/cjs/server/middlewares/authorization.js +3 -2
- package/build/cjs/server/middlewares/authorization.js.map +1 -1
- package/build/cjs/server/middlewares/yt-auth.js +3 -2
- package/build/cjs/server/middlewares/yt-auth.js.map +1 -1
- package/build/cjs/server/routes.js +26 -25
- package/build/cjs/server/routes.js.map +1 -1
- package/build/cjs/server/utils/index.d.ts +1 -1
- package/build/cjs/server/utils/index.js +12 -4
- package/build/cjs/server/utils/index.js.map +1 -1
- package/build/cjs/shared/yt-types.d.ts +1 -0
- package/build/cjs/ui/common/utils/settings-remote-provider.d.ts +5 -5
- package/build/cjs/ui/common/utils/settings-remote-provider.js +42 -16
- package/build/cjs/ui/common/utils/settings-remote-provider.js.map +1 -1
- package/build/cjs/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
- package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
- package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
- package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
- package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js +7 -4
- package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
- package/build/cjs/ui/config/ui-settings.d.ts +1 -0
- package/build/cjs/ui/config/ui-settings.js +3 -2
- package/build/cjs/ui/config/ui-settings.js.map +1 -1
- package/build/cjs/ui/constants/index.d.ts +7 -0
- package/build/cjs/ui/constants/index.js +3 -1
- package/build/cjs/ui/constants/index.js.map +1 -1
- package/build/cjs/ui/containers/App/App.js +4 -3
- package/build/cjs/ui/containers/App/App.js.map +1 -1
- package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
- package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +3 -1
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
- package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
- package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
- package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js +11 -3
- package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
- package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
- package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
- package/build/cjs/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
- package/build/cjs/ui/entries/main.js +4 -1
- package/build/cjs/ui/entries/main.js.map +1 -1
- package/build/cjs/ui/pages/operations/selectors.d.ts +5 -0
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
- package/build/cjs/ui/pages/system/Chunks/Chunks.d.ts +1 -1
- package/build/cjs/ui/store/actions/cluster-params.d.ts +1 -0
- package/build/cjs/ui/store/actions/cluster-params.js +13 -0
- package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
- package/build/cjs/ui/store/actions/clusters-menu.d.ts +1 -0
- package/build/cjs/ui/store/actions/clusters-menu.js +22 -2
- package/build/cjs/ui/store/actions/clusters-menu.js.map +1 -1
- package/build/cjs/ui/store/actions/global/index.d.ts +3 -1
- package/build/cjs/ui/store/actions/global/index.js +19 -4
- package/build/cjs/ui/store/actions/global/index.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
- package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
- package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/table/table.js +2 -1
- package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
- package/build/cjs/ui/store/actions/settings/index.js +25 -19
- package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/accounts/usage/index.d.ts +1 -1
- package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
- package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js +8 -0
- package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
- package/build/cjs/ui/store/reducers/index.d.ts +5 -0
- package/build/cjs/ui/store/reducers/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/settings.js +1 -1
- package/build/cjs/ui/store/reducers/settings.js.map +1 -1
- package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +40 -0
- package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
- package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
- package/build/cjs/ui/store/selectors/chyt/index.d.ts +35 -0
- package/build/cjs/ui/store/selectors/components/node/memory.d.ts +35 -0
- package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
- package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
- package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
- package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
- package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
- package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
- package/build/cjs/ui/store/selectors/global/index.d.ts +912 -0
- package/build/cjs/ui/store/selectors/global/index.js +10 -1
- package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/global/supported-features.d.ts +30 -0
- package/build/cjs/ui/store/selectors/modals/errors.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
- package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +35 -0
- package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
- package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +10 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
- package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
- package/build/cjs/ui/store/selectors/operations/index.d.ts +60 -0
- package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
- package/build/cjs/ui/store/selectors/operations/operation.d.ts +60 -0
- package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +15 -0
- package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
- package/build/cjs/ui/store/selectors/scheduling/index.d.ts +5 -0
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
- package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
- package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
- package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
- package/build/cjs/ui/store/selectors/thor/support.d.ts +25 -0
- package/build/esm/@types/core.d.ts +7 -7
- package/build/esm/server/components/layout-config.js +4 -3
- package/build/esm/server/components/layout-config.js.map +1 -1
- package/build/esm/server/components/requestsSetup.js +12 -5
- package/build/esm/server/components/requestsSetup.js.map +1 -1
- package/build/esm/server/components/settings.d.ts +10 -5
- package/build/esm/server/components/settings.js +33 -22
- package/build/esm/server/components/settings.js.map +1 -1
- package/build/esm/server/components/table.d.ts +3 -3
- package/build/esm/server/components/table.js +10 -10
- package/build/esm/server/components/table.js.map +1 -1
- package/build/esm/server/components/yt-auth.d.ts +0 -2
- package/build/esm/server/components/yt-auth.js +6 -11
- package/build/esm/server/components/yt-auth.js.map +1 -1
- package/build/esm/server/configs/common.js +4 -14
- package/build/esm/server/configs/common.js.map +1 -1
- package/build/esm/server/configs/local.js +0 -5
- package/build/esm/server/configs/local.js.map +1 -1
- package/build/esm/server/controllers/chyt-api.js +1 -1
- package/build/esm/server/controllers/chyt-api.js.map +1 -1
- package/build/esm/server/controllers/cluster-info.js +3 -3
- package/build/esm/server/controllers/cluster-info.js.map +1 -1
- package/build/esm/server/controllers/cluster-params.js +1 -1
- package/build/esm/server/controllers/cluster-params.js.map +1 -1
- package/build/esm/server/controllers/clusters.d.ts +1 -0
- package/build/esm/server/controllers/clusters.js +23 -0
- package/build/esm/server/controllers/clusters.js.map +1 -1
- package/build/esm/server/controllers/home.js +32 -28
- package/build/esm/server/controllers/home.js.map +1 -1
- package/build/esm/server/controllers/login.js +35 -21
- package/build/esm/server/controllers/login.js.map +1 -1
- package/build/esm/server/controllers/odin-proxy-api.js +1 -1
- package/build/esm/server/controllers/odin-proxy-api.js.map +1 -1
- package/build/esm/server/controllers/scheduling-pools.js +3 -3
- package/build/esm/server/controllers/scheduling-pools.js.map +1 -1
- package/build/esm/server/controllers/settings.js +26 -15
- package/build/esm/server/controllers/settings.js.map +1 -1
- package/build/esm/server/controllers/table-column-preset.js +15 -14
- package/build/esm/server/controllers/table-column-preset.js.map +1 -1
- package/build/esm/server/controllers/yt-api.js +1 -1
- package/build/esm/server/controllers/yt-api.js.map +1 -1
- package/build/esm/server/controllers/yt-proxy-api.js +3 -3
- package/build/esm/server/controllers/yt-proxy-api.js.map +1 -1
- package/build/esm/server/index.js +12 -8
- package/build/esm/server/index.js.map +1 -1
- package/build/esm/server/middlewares/authorization.d.ts +1 -1
- package/build/esm/server/middlewares/authorization.js +21 -16
- package/build/esm/server/middlewares/authorization.js.map +1 -1
- package/build/esm/server/middlewares/yt-auth.js +8 -7
- package/build/esm/server/middlewares/yt-auth.js.map +1 -1
- package/build/esm/server/routes.js +29 -26
- package/build/esm/server/routes.js.map +1 -1
- package/build/esm/server/utils/index.d.ts +1 -1
- package/build/esm/server/utils/index.js +12 -6
- package/build/esm/server/utils/index.js.map +1 -1
- package/build/esm/shared/yt-types.d.ts +1 -0
- package/build/esm/ui/common/utils/settings-remote-provider.d.ts +5 -5
- package/build/esm/ui/common/utils/settings-remote-provider.js +42 -16
- package/build/esm/ui/common/utils/settings-remote-provider.js.map +1 -1
- package/build/esm/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
- package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
- package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
- package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
- package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js +8 -5
- package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
- package/build/esm/ui/config/ui-settings.d.ts +1 -0
- package/build/esm/ui/config/ui-settings.js +2 -1
- package/build/esm/ui/config/ui-settings.js.map +1 -1
- package/build/esm/ui/constants/index.d.ts +7 -0
- package/build/esm/ui/constants/index.js +1 -0
- package/build/esm/ui/constants/index.js.map +1 -1
- package/build/esm/ui/containers/App/App.js +4 -3
- package/build/esm/ui/containers/App/App.js.map +1 -1
- package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
- package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js +4 -2
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
- package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
- package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.scss +6 -0
- package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
- package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js +12 -4
- package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
- package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
- package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
- package/build/esm/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
- package/build/esm/ui/entries/main.js +4 -1
- package/build/esm/ui/entries/main.js.map +1 -1
- package/build/esm/ui/pages/operations/selectors.d.ts +5 -0
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
- package/build/esm/ui/pages/system/Chunks/Chunks.d.ts +1 -1
- package/build/esm/ui/store/actions/cluster-params.d.ts +1 -0
- package/build/esm/ui/store/actions/cluster-params.js +12 -0
- package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
- package/build/esm/ui/store/actions/clusters-menu.d.ts +1 -0
- package/build/esm/ui/store/actions/clusters-menu.js +22 -3
- package/build/esm/ui/store/actions/clusters-menu.js.map +1 -1
- package/build/esm/ui/store/actions/global/index.d.ts +3 -1
- package/build/esm/ui/store/actions/global/index.js +19 -4
- package/build/esm/ui/store/actions/global/index.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
- package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
- package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/table/table.js +2 -1
- package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
- package/build/esm/ui/store/actions/settings/index.js +25 -19
- package/build/esm/ui/store/actions/settings/index.js.map +1 -1
- package/build/esm/ui/store/reducers/accounts/usage/index.d.ts +1 -1
- package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
- package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js +9 -1
- package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
- package/build/esm/ui/store/reducers/index.d.ts +5 -0
- package/build/esm/ui/store/reducers/index.js.map +1 -1
- package/build/esm/ui/store/reducers/settings.js +1 -1
- package/build/esm/ui/store/reducers/settings.js.map +1 -1
- package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +40 -0
- package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
- package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
- package/build/esm/ui/store/selectors/chyt/index.d.ts +35 -0
- package/build/esm/ui/store/selectors/components/node/memory.d.ts +35 -0
- package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
- package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
- package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
- package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
- package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
- package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
- package/build/esm/ui/store/selectors/global/index.d.ts +912 -0
- package/build/esm/ui/store/selectors/global/index.js +10 -1
- package/build/esm/ui/store/selectors/global/index.js.map +1 -1
- package/build/esm/ui/store/selectors/global/supported-features.d.ts +30 -0
- package/build/esm/ui/store/selectors/modals/errors.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/content/document.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
- package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +35 -0
- package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
- package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/navigation.d.ts +10 -0
- package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
- package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
- package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
- package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
- package/build/esm/ui/store/selectors/operations/index.d.ts +60 -0
- package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
- package/build/esm/ui/store/selectors/operations/operation.d.ts +60 -0
- package/build/esm/ui/store/selectors/operations/operations-list.d.ts +15 -0
- package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
- package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
- package/build/esm/ui/store/selectors/scheduling/index.d.ts +5 -0
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
- package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
- package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
- package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
- package/build/esm/ui/store/selectors/thor/support.d.ts +25 -0
- package/dist/public/build/assets-manifest.json +12 -12
- package/dist/public/build/css/main.8a4cd357.css +2 -0
- package/dist/public/build/css/main.8a4cd357.css.map +1 -0
- package/dist/public/build/js/{861.9703a31c.chunk.js → 861.a0939319.chunk.js} +2 -2
- package/dist/public/build/js/861.a0939319.chunk.js.map +1 -0
- package/dist/public/build/js/main.c39cff0d.js +3 -0
- package/dist/public/build/js/{main.5b132a95.js.map → main.c39cff0d.js.map} +1 -1
- package/dist/public/build/js/runtime.0ac0f2e8.js +2 -0
- package/dist/public/build/js/{runtime.a87a1f88.js.map → runtime.0ac0f2e8.js.map} +1 -1
- package/dist/public/build/manifest.json +8 -8
- package/dist/server/components/layout-config.js +3 -3
- package/dist/server/components/requestsSetup.js +13 -5
- package/dist/server/components/settings.d.ts +10 -5
- package/dist/server/components/settings.js +24 -23
- package/dist/server/components/table.d.ts +3 -3
- package/dist/server/components/table.js +4 -4
- package/dist/server/components/yt-auth.d.ts +0 -2
- package/dist/server/components/yt-auth.js +5 -14
- package/dist/server/configs/common.js +5 -13
- package/dist/server/configs/local.js +0 -5
- package/dist/server/controllers/chyt-api.js +1 -1
- package/dist/server/controllers/cluster-info.js +2 -2
- package/dist/server/controllers/cluster-params.js +1 -1
- package/dist/server/controllers/clusters.d.ts +1 -0
- package/dist/server/controllers/clusters.js +24 -1
- package/dist/server/controllers/home.js +10 -6
- package/dist/server/controllers/login.js +18 -5
- package/dist/server/controllers/odin-proxy-api.js +1 -1
- package/dist/server/controllers/scheduling-pools.js +2 -2
- package/dist/server/controllers/settings.js +10 -10
- package/dist/server/controllers/table-column-preset.js +4 -3
- package/dist/server/controllers/yt-api.js +1 -1
- package/dist/server/controllers/yt-proxy-api.js +2 -2
- package/dist/server/index.js +11 -8
- package/dist/server/middlewares/authorization.d.ts +1 -1
- package/dist/server/middlewares/authorization.js +3 -2
- package/dist/server/middlewares/yt-auth.js +3 -2
- package/dist/server/routes.js +26 -25
- package/dist/server/utils/index.d.ts +1 -1
- package/dist/server/utils/index.js +12 -4
- package/package.json +2 -2
- package/dist/public/build/css/main.4aa70d7b.css +0 -2
- package/dist/public/build/css/main.4aa70d7b.css.map +0 -1
- package/dist/public/build/js/861.9703a31c.chunk.js.map +0 -1
- package/dist/public/build/js/main.5b132a95.js +0 -3
- package/dist/public/build/js/runtime.a87a1f88.js +0 -2
- /package/dist/public/build/js/{main.5b132a95.js.LICENSE.txt → main.c39cff0d.js.LICENSE.txt} +0 -0
@@ -63,18 +63,26 @@ function getInterfaceVersion() {
|
|
63
63
|
}
|
64
64
|
}
|
65
65
|
exports.getInterfaceVersion = getInterfaceVersion;
|
66
|
+
function isExtraDataError(error) {
|
67
|
+
return error.extraData !== undefined;
|
68
|
+
}
|
66
69
|
function prepareErrorToSend(e) {
|
67
|
-
|
70
|
+
const res = {
|
71
|
+
message: '',
|
72
|
+
};
|
68
73
|
if (e instanceof Error) {
|
69
|
-
message = lodash_1.default.toString(e);
|
74
|
+
res.message = lodash_1.default.toString(e);
|
70
75
|
}
|
71
76
|
else if ((0, utils_1.isYTError)(e)) {
|
72
77
|
return e;
|
73
78
|
}
|
74
79
|
else {
|
75
|
-
message = JSON.stringify(e);
|
80
|
+
res.message = JSON.stringify(e);
|
81
|
+
}
|
82
|
+
if (isExtraDataError(e)) {
|
83
|
+
res.extraData = e.extraData;
|
76
84
|
}
|
77
|
-
return
|
85
|
+
return res;
|
78
86
|
}
|
79
87
|
exports.prepareErrorToSend = prepareErrorToSend;
|
80
88
|
function sendResponse(res, data) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["stream","_interopRequireWildcard","require","_utils","_ServerFactory","_path","_interopRequireDefault","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","isProductionEnv","getApp","config","appEnv","isLocalModeByEnvironment","process","env","APP_ENV","getInterfaceVersion","INIT_CWD","packageJsonPath","path","resolve","version","nodekit","ctx","logError","concat","prepareErrorToSend","message","Error","_toString","isYTError","JSON","stringify","sendResponse","res","data","status","send","sendError","error","errCode","arguments","length","undefined","errData","asAxiosError","isAxiosError","UNEXPECTED_PIPE_AXIOS_RESPONSE","exports","UNEXPECTED_PIPE_AXIOS_ERROR","pipeAxiosErrorOrFalse","_x","_x2","_x3","_pipeAxiosErrorOrFalse","apply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dst","wrap","_callee$","_context","prev","next","pipeAxiosResponse","response","abrupt","sent","stop","LOG_HEADERS","_x4","_x5","_x6","_pipeAxiosResponse","_callee2","src","logMsgPrefix","transformHeaders","_args2","_callee2$","_context2","v","Readable","pipeResponse","headers","Promise","_x7","_x8","_x9","_x10","_x11","_x12","_pipeResponse","_callee3","headersToLog","pipedDataSize","_args3","_callee3$","_context3","_forEach","value","key","setHeader","_pick","log","pipeReadableToWriteable","headerContentLength","_x13","_x14","_x15","_x16","_pipeReadableToWriteable","_callee4","firstChunk","closePromise","_callee4$","_context4","reject","on","chunk","pipe","sendAndLogError","_x17","_x18","_x19","_x20","_sendAndLogError","_callee5","extra","ae","_ae$response","_args5","_callee5$","_context5","toJSON","append","statusText","mesasge"],"sources":["index.ts"],"sourcesContent":["import * as stream from 'stream';\nimport _ from 'lodash';\nimport type {Response} from 'express';\nimport {AxiosError, AxiosResponse} from 'axios';\nimport {AppContext} from '@gravity-ui/nodekit';\nimport {isYTError} from '../../shared/utils';\nimport {getApp} from '../ServerFactory';\nimport path from 'path';\n\nexport function isProductionEnv() {\n return getApp().config.appEnv !== 'development';\n}\n\nexport function isLocalModeByEnvironment() {\n return process.env.APP_ENV === 'local';\n}\n\nexport function getInterfaceVersion() {\n if (isProductionEnv()) {\n const {INIT_CWD} = process.env;\n const packageJsonPath = INIT_CWD\n ? path.resolve(INIT_CWD, 'package.json')\n : path.resolve('./package.json');\n try {\n /* eslint-disable-next-line global-require, security/detect-non-literal-require */\n return require(packageJsonPath).version;\n } catch (e) {\n getApp().nodekit.ctx.logError(`Failed to get version from ${packageJsonPath}`, e, {\n INIT_CWD,\n packageJsonPath,\n });\n return 'unkonwn';\n }\n } else {\n return 'local';\n }\n}\n\nexport function prepareErrorToSend(e: unknown) {\n let message = '';\n if (e instanceof Error) {\n message = _.toString(e);\n } else if (isYTError(e)) {\n return e;\n } else {\n message = JSON.stringify(e);\n }\n return {message};\n}\n\nexport function sendResponse(res: Response, data: object) {\n return res.set('content-type', 'application/json').status(200).send(JSON.stringify(data));\n}\n\nexport function sendError(res: Response, error: unknown, errCode = 500) {\n const errData = prepareErrorToSend(error);\n return res.set('content-type', 'application/json').status(errCode).send(errData);\n}\n\nfunction asAxiosError<T>(e: Error | AxiosError<T>): AxiosError<T> | undefined {\n return (e as AxiosError).isAxiosError ? (e as AxiosError<T>) : undefined;\n}\n\nexport const UNEXPECTED_PIPE_AXIOS_RESPONSE =\n 'Unexpected behavior: response.data should be an instance of stream.Readable';\nexport const UNEXPECTED_PIPE_AXIOS_ERROR =\n 'Unexpected behavior: e.response.data should be an instance of stream.Readable';\n\nexport async function pipeAxiosErrorOrFalse(ctx: AppContext, dst: Response, e: AxiosError) {\n return await pipeAxiosResponse(ctx, dst, e.response, '[Send error]');\n}\n\ninterface PipedResponseSize {\n headerContentLength?: string;\n pipedDataSize: number;\n}\n\nconst LOG_HEADERS = ['x-yt-proxy', 'x-yt-request-id', 'x-yt-trace-id', 'content-length'];\n\nexport async function pipeAxiosResponse(\n ctx: AppContext,\n dst: Response,\n src?: AxiosResponse<stream.Readable | unknown>,\n logMsgPrefix = '',\n transformHeaders: (headers: any) => typeof headers = (v) => v,\n): Promise<PipedResponseSize | undefined> {\n if (src?.data instanceof stream.Readable) {\n return await pipeResponse(\n logMsgPrefix,\n ctx,\n dst,\n src.data,\n src.headers,\n src.status,\n transformHeaders,\n );\n } else {\n return Promise.resolve(undefined);\n }\n}\n\nexport async function pipeResponse(\n logMsgPrefix: string,\n ctx: AppContext,\n dst: Response,\n data: stream.Readable,\n headers?: any,\n status?: number,\n transformHeaders: (headers: any) => typeof headers = (v) => v,\n) {\n dst.status(status ?? 500);\n\n _.forEach(transformHeaders(headers), (value, key) => {\n if (key !== 'content-length' && key !== 'vary' && key !== 'www-authenticate') {\n dst.setHeader(key, value);\n }\n });\n\n const headersToLog = _.pick(headers, LOG_HEADERS);\n ctx.log(logMsgPrefix + ' Headers', headersToLog);\n\n const pipedDataSize = await pipeReadableToWriteable(ctx, dst, data, logMsgPrefix);\n return {headerContentLength: headers['content-length'], pipedDataSize};\n}\n\nexport async function pipeReadableToWriteable(\n ctx: AppContext,\n dst: stream.Writable,\n src: stream.Readable,\n logMsgPrefix: string,\n) {\n let firstChunk = true;\n let pipedDataSize = 0;\n const closePromise = new Promise<void>((resolve, reject) => {\n src.on('data', (chunk) => {\n if (firstChunk) {\n ctx.log(logMsgPrefix + ' TTFB');\n firstChunk = false;\n }\n pipedDataSize += chunk?.length;\n });\n src.on('error', (e: any) => {\n resolve = () => {};\n reject(e);\n });\n src.on('close', () => {\n ctx.log(logMsgPrefix + ' Response stream closed', {\n pipedDataSize,\n });\n resolve();\n });\n });\n src.pipe(dst);\n await closePromise;\n\n return pipedDataSize;\n}\n\nexport async function sendAndLogError(\n ctx: AppContext,\n res: Response,\n status: number | null,\n e: Error | AxiosError,\n extra: any = {},\n) {\n const ae = asAxiosError(e);\n if (ae) {\n ctx.logError('AxiosError', ae.toJSON(), extra);\n if (await pipeAxiosErrorOrFalse(ctx, res, ae)) {\n return;\n }\n\n if (ae.response?.status) {\n _.forEach(ae.response.headers, (value, key) => {\n res.append(key, value);\n });\n return res.status(ae.response.status).send(ae.response.data || ae.response.statusText);\n }\n\n return res.status(504).send({message: _.toString(e)});\n }\n\n ctx.logError('Error', e, extra);\n\n if (e instanceof Error) {\n return res.status(status || 500).send({message: _.toString(e)});\n }\n\n if (typeof e === 'string') {\n return res.status(status || 500).send({mesasge: e});\n }\n\n if (isYTError(e)) {\n return res.status(status || 500).send(e);\n }\n\n return res.status(status || 500).send({message: JSON.stringify(e)});\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["stream","_interopRequireWildcard","require","_utils","_ServerFactory","_path","_interopRequireDefault","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","isProductionEnv","getApp","config","appEnv","isLocalModeByEnvironment","process","env","APP_ENV","getInterfaceVersion","INIT_CWD","packageJsonPath","path","resolve","version","nodekit","ctx","logError","concat","isExtraDataError","error","extraData","undefined","prepareErrorToSend","res","message","Error","_toString","isYTError","JSON","stringify","sendResponse","data","status","send","sendError","errCode","arguments","length","errData","asAxiosError","isAxiosError","UNEXPECTED_PIPE_AXIOS_RESPONSE","exports","UNEXPECTED_PIPE_AXIOS_ERROR","pipeAxiosErrorOrFalse","_x","_x2","_x3","_pipeAxiosErrorOrFalse","apply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dst","wrap","_callee$","_context","prev","next","pipeAxiosResponse","response","abrupt","sent","stop","LOG_HEADERS","_x4","_x5","_x6","_pipeAxiosResponse","_callee2","src","logMsgPrefix","transformHeaders","_args2","_callee2$","_context2","v","Readable","pipeResponse","headers","Promise","_x7","_x8","_x9","_x10","_x11","_x12","_pipeResponse","_callee3","headersToLog","pipedDataSize","_args3","_callee3$","_context3","_forEach","value","key","setHeader","_pick","log","pipeReadableToWriteable","headerContentLength","_x13","_x14","_x15","_x16","_pipeReadableToWriteable","_callee4","firstChunk","closePromise","_callee4$","_context4","reject","on","chunk","pipe","sendAndLogError","_x17","_x18","_x19","_x20","_sendAndLogError","_callee5","extra","ae","_ae$response","_args5","_callee5$","_context5","toJSON","append","statusText","mesasge"],"sources":["index.ts"],"sourcesContent":["import * as stream from 'stream';\nimport _ from 'lodash';\nimport type {Response} from 'express';\nimport {AxiosError, AxiosResponse} from 'axios';\nimport {AppContext} from '@gravity-ui/nodekit';\nimport {isYTError} from '../../shared/utils';\nimport {getApp} from '../ServerFactory';\nimport path from 'path';\n\nexport function isProductionEnv() {\n return getApp().config.appEnv !== 'development';\n}\n\nexport function isLocalModeByEnvironment() {\n return process.env.APP_ENV === 'local';\n}\n\nexport function getInterfaceVersion() {\n if (isProductionEnv()) {\n const {INIT_CWD} = process.env;\n const packageJsonPath = INIT_CWD\n ? path.resolve(INIT_CWD, 'package.json')\n : path.resolve('./package.json');\n try {\n /* eslint-disable-next-line global-require, security/detect-non-literal-require */\n return require(packageJsonPath).version;\n } catch (e) {\n getApp().nodekit.ctx.logError(`Failed to get version from ${packageJsonPath}`, e, {\n INIT_CWD,\n packageJsonPath,\n });\n return 'unkonwn';\n }\n } else {\n return 'local';\n }\n}\n\ntype ExtraError = {\n extraData: Record<string, unknown>;\n};\n\nfunction isExtraDataError(error: ExtraError | unknown): error is ExtraError {\n return (error as ExtraError).extraData !== undefined;\n}\n\nexport function prepareErrorToSend(e: unknown) {\n const res: Record<string, any> = {\n message: '',\n };\n\n if (e instanceof Error) {\n res.message = _.toString(e);\n } else if (isYTError(e)) {\n return e;\n } else {\n res.message = JSON.stringify(e);\n }\n\n if (isExtraDataError(e)) {\n res.extraData = e.extraData;\n }\n\n return res;\n}\n\nexport function sendResponse(res: Response, data: object) {\n return res.set('content-type', 'application/json').status(200).send(JSON.stringify(data));\n}\n\nexport function sendError(res: Response, error: unknown, errCode = 500) {\n const errData = prepareErrorToSend(error);\n return res.set('content-type', 'application/json').status(errCode).send(errData);\n}\n\nfunction asAxiosError<T>(e: Error | AxiosError<T>): AxiosError<T> | undefined {\n return (e as AxiosError).isAxiosError ? (e as AxiosError<T>) : undefined;\n}\n\nexport const UNEXPECTED_PIPE_AXIOS_RESPONSE =\n 'Unexpected behavior: response.data should be an instance of stream.Readable';\nexport const UNEXPECTED_PIPE_AXIOS_ERROR =\n 'Unexpected behavior: e.response.data should be an instance of stream.Readable';\n\nexport async function pipeAxiosErrorOrFalse(ctx: AppContext, dst: Response, e: AxiosError) {\n return await pipeAxiosResponse(ctx, dst, e.response, '[Send error]');\n}\n\ninterface PipedResponseSize {\n headerContentLength?: string;\n pipedDataSize: number;\n}\n\nconst LOG_HEADERS = ['x-yt-proxy', 'x-yt-request-id', 'x-yt-trace-id', 'content-length'];\n\nexport async function pipeAxiosResponse(\n ctx: AppContext,\n dst: Response,\n src?: AxiosResponse<stream.Readable | unknown>,\n logMsgPrefix = '',\n transformHeaders: (headers: any) => typeof headers = (v) => v,\n): Promise<PipedResponseSize | undefined> {\n if (src?.data instanceof stream.Readable) {\n return await pipeResponse(\n logMsgPrefix,\n ctx,\n dst,\n src.data,\n src.headers,\n src.status,\n transformHeaders,\n );\n } else {\n return Promise.resolve(undefined);\n }\n}\n\nexport async function pipeResponse(\n logMsgPrefix: string,\n ctx: AppContext,\n dst: Response,\n data: stream.Readable,\n headers?: any,\n status?: number,\n transformHeaders: (headers: any) => typeof headers = (v) => v,\n) {\n dst.status(status ?? 500);\n\n _.forEach(transformHeaders(headers), (value, key) => {\n if (key !== 'content-length' && key !== 'vary' && key !== 'www-authenticate') {\n dst.setHeader(key, value);\n }\n });\n\n const headersToLog = _.pick(headers, LOG_HEADERS);\n ctx.log(logMsgPrefix + ' Headers', headersToLog);\n\n const pipedDataSize = await pipeReadableToWriteable(ctx, dst, data, logMsgPrefix);\n return {headerContentLength: headers['content-length'], pipedDataSize};\n}\n\nexport async function pipeReadableToWriteable(\n ctx: AppContext,\n dst: stream.Writable,\n src: stream.Readable,\n logMsgPrefix: string,\n) {\n let firstChunk = true;\n let pipedDataSize = 0;\n const closePromise = new Promise<void>((resolve, reject) => {\n src.on('data', (chunk) => {\n if (firstChunk) {\n ctx.log(logMsgPrefix + ' TTFB');\n firstChunk = false;\n }\n pipedDataSize += chunk?.length;\n });\n src.on('error', (e: any) => {\n resolve = () => {};\n reject(e);\n });\n src.on('close', () => {\n ctx.log(logMsgPrefix + ' Response stream closed', {\n pipedDataSize,\n });\n resolve();\n });\n });\n src.pipe(dst);\n await closePromise;\n\n return pipedDataSize;\n}\n\nexport async function sendAndLogError(\n ctx: AppContext,\n res: Response,\n status: number | null,\n e: Error | AxiosError,\n extra: any = {},\n) {\n const ae = asAxiosError(e);\n if (ae) {\n ctx.logError('AxiosError', ae.toJSON(), extra);\n if (await pipeAxiosErrorOrFalse(ctx, res, ae)) {\n return;\n }\n\n if (ae.response?.status) {\n _.forEach(ae.response.headers, (value, key) => {\n res.append(key, value);\n });\n return res.status(ae.response.status).send(ae.response.data || ae.response.statusText);\n }\n\n return res.status(504).send({message: _.toString(e)});\n }\n\n ctx.logError('Error', e, extra);\n\n if (e instanceof Error) {\n return res.status(status || 500).send({message: _.toString(e)});\n }\n\n if (typeof e === 'string') {\n return res.status(status || 500).send({mesasge: e});\n }\n\n if (isYTError(e)) {\n return res.status(status || 500).send(e);\n }\n\n return res.status(status || 500).send({message: JSON.stringify(e)});\n}\n"],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { PromiseOrValue } from '../../../@types/types';
|
2
2
|
declare const provider: SettingsProvider;
|
3
3
|
export interface SettingsProvider {
|
4
|
-
get<T>(username: string, path: string): Promise<T | undefined>;
|
5
|
-
set<T>(username: string, path: string, value: T): Promise<void>;
|
6
|
-
remove(username: string, path: string): Promise<void>;
|
7
|
-
getAll<Data extends object>(username: string): PromiseOrValue<Data | undefined>;
|
8
|
-
create(username: string): Promise<void>;
|
4
|
+
get<T>(username: string, path: string, cluster: string): Promise<T | undefined>;
|
5
|
+
set<T>(username: string, path: string, value: T, cluster: string): Promise<void>;
|
6
|
+
remove(username: string, path: string, cluster: string): Promise<void>;
|
7
|
+
getAll<Data extends object>(username: string, cluster: string): PromiseOrValue<Data | undefined>;
|
8
|
+
create(username: string, cluster: string): Promise<void>;
|
9
9
|
}
|
10
10
|
export default provider;
|
@@ -9,14 +9,14 @@ var _yt = _interopRequireDefault(require("@ytsaurus/javascript-wrapper/lib/yt"))
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
10
|
// @ts-expect-error
|
11
11
|
|
12
|
-
function api(
|
12
|
+
function api(options) {
|
13
13
|
return _axios.default.request({
|
14
|
-
method: method,
|
15
|
-
url:
|
14
|
+
method: options.method,
|
15
|
+
url: "/api/settings/".concat(options.cluster, "/").concat(options.username).concat(options.path),
|
16
16
|
headers: {
|
17
17
|
'content-type': 'application/json'
|
18
18
|
},
|
19
|
-
data: JSON.stringify(data)
|
19
|
+
data: JSON.stringify(options.data)
|
20
20
|
}).then(function (response) {
|
21
21
|
return response.data;
|
22
22
|
})["catch"](function (error) {
|
@@ -34,30 +34,56 @@ function api(method, username, path, data) {
|
|
34
34
|
});
|
35
35
|
}
|
36
36
|
var provider = {
|
37
|
-
get: function get(username, path) {
|
38
|
-
return api(
|
37
|
+
get: function get(username, path, cluster) {
|
38
|
+
return api({
|
39
|
+
method: 'get',
|
40
|
+
username: username,
|
41
|
+
path: '/' + path,
|
42
|
+
cluster: cluster
|
43
|
+
});
|
39
44
|
},
|
40
|
-
set: function set(username, path, value) {
|
45
|
+
set: function set(username, path, value, cluster) {
|
41
46
|
if (value === undefined) {
|
42
47
|
/**
|
43
48
|
* data-ui/core uses body-parser which interprets empty body of request as empty object {},
|
44
49
|
* i.e. setItem from src/server/controllers/settings.js will receive req.body === {} if value === undefined,
|
45
50
|
* so we have to remove it explicitly
|
46
51
|
*/
|
47
|
-
return provider.remove(username, path);
|
52
|
+
return provider.remove(username, path, cluster);
|
48
53
|
}
|
49
|
-
return api(
|
50
|
-
|
54
|
+
return api({
|
55
|
+
method: 'put',
|
56
|
+
username: username,
|
57
|
+
path: '/' + path,
|
58
|
+
data: {
|
59
|
+
value: value
|
60
|
+
},
|
61
|
+
cluster: cluster
|
51
62
|
});
|
52
63
|
},
|
53
|
-
remove: function remove(username, path) {
|
54
|
-
return api(
|
64
|
+
remove: function remove(username, path, cluster) {
|
65
|
+
return api({
|
66
|
+
method: 'delete',
|
67
|
+
username: username,
|
68
|
+
path: '/' + path,
|
69
|
+
cluster: cluster
|
70
|
+
});
|
55
71
|
},
|
56
|
-
getAll: function getAll(username) {
|
57
|
-
return api(
|
72
|
+
getAll: function getAll(username, cluster) {
|
73
|
+
return api({
|
74
|
+
method: 'get',
|
75
|
+
username: username,
|
76
|
+
path: '/',
|
77
|
+
cluster: cluster
|
78
|
+
});
|
58
79
|
},
|
59
|
-
create: function create(username) {
|
60
|
-
return api(
|
80
|
+
create: function create(username, cluster) {
|
81
|
+
return api({
|
82
|
+
method: 'post',
|
83
|
+
username: username,
|
84
|
+
path: '/',
|
85
|
+
cluster: cluster
|
86
|
+
});
|
61
87
|
}
|
62
88
|
};
|
63
89
|
var _default = exports.default = provider;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_yt","obj","__esModule","default","api","
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_yt","obj","__esModule","default","api","options","axios","request","method","url","concat","cluster","username","path","headers","data","JSON","stringify","then","response","error","Promise","reject","code","message","yt","codes","NODE_DOES_NOT_EXIST","undefined","provider","get","set","value","remove","getAll","create","_default","exports"],"sources":["settings-remote-provider.ts"],"sourcesContent":["import axios from 'axios';\n\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {PromiseOrValue} from '../../../@types/types';\n\ntype Method = 'get' | 'put' | 'post' | 'delete';\n\ninterface ApiOptions {\n method: Method;\n username: string;\n path: string;\n data?: unknown;\n cluster: string;\n}\n\nfunction api<T>(options: ApiOptions) {\n return axios\n .request<T | undefined>({\n method: options.method,\n url: `/api/settings/${options.cluster}/${options.username}${options.path}`,\n headers: {\n 'content-type': 'application/json',\n },\n data: JSON.stringify(options.data),\n })\n .then((response) => {\n return response.data;\n })\n .catch((error) => {\n if (!error.response) {\n return Promise.reject({\n code: 0,\n message: 'Network error',\n });\n }\n\n const {data} = error.response;\n if (data.code === yt.codes.NODE_DOES_NOT_EXIST) {\n return undefined;\n }\n\n return Promise.reject(data);\n });\n}\n\nconst provider: SettingsProvider = {\n get<T>(username: string, path: string, cluster: string) {\n return api<T>({method: 'get', username, path: '/' + path, cluster});\n },\n set<T>(username: string, path: string, value: T, cluster: string) {\n if (value === undefined) {\n /**\n * data-ui/core uses body-parser which interprets empty body of request as empty object {},\n * i.e. setItem from src/server/controllers/settings.js will receive req.body === {} if value === undefined,\n * so we have to remove it explicitly\n */\n return provider.remove(username, path, cluster);\n }\n return api({method: 'put', username, path: '/' + path, data: {value}, cluster});\n },\n remove(username: string, path: string, cluster: string) {\n return api({method: 'delete', username, path: '/' + path, cluster});\n },\n getAll<T>(username: string, cluster: string) {\n return api<T>({method: 'get', username, path: '/', cluster});\n },\n create(username: string, cluster: string) {\n return api({method: 'post', username, path: '/', cluster});\n },\n};\n\nexport interface SettingsProvider {\n get<T>(username: string, path: string, cluster: string): Promise<T | undefined>;\n set<T>(username: string, path: string, value: T, cluster: string): Promise<void>;\n remove(username: string, path: string, cluster: string): Promise<void>;\n getAll<Data extends object>(\n username: string,\n cluster: string,\n ): PromiseOrValue<Data | undefined>;\n create(username: string, cluster: string): Promise<void>;\n}\n\nexport default provider;\n"],"mappings":"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"}
|
@@ -48,7 +48,7 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Elements
|
|
48
48
|
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
|
49
49
|
rowClassName: PropTypes.Requireable<(...args: any[]) => any>;
|
50
50
|
colSpan: PropTypes.Requireable<(...args: any[]) => any>;
|
51
|
-
}>, "columns" | "
|
51
|
+
}>, "columns" | "sortState" | "isLoading" | "onMouseMove" | "colSpan" | "rowClassName" | "onSort" | "selectedIndex" | "onItemClick" | "itemHeight" | "css" | "getItemLink" | "cssTableMods" | "onItemSelect" | "itemMods" | "onItemHover" | "tableId" | "toggleColumnSortOrder" | "computeKey" | "columnsMode" | "onItemToggleState" | "sortInfo" | "emptyDataDescription"> & {
|
52
52
|
theme?: string | null | undefined;
|
53
53
|
body?: any;
|
54
54
|
templates?: NonNullable<PropTypes.InferProps<{
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
interface Props {
|
3
3
|
theme?: 'light' | 'dark';
|
4
|
+
cluster: string;
|
4
5
|
}
|
5
|
-
export declare function ChangePasswordFormPage({ theme }: Props): React.JSX.Element;
|
6
|
+
export declare function ChangePasswordFormPage({ theme, cluster }: Props): React.JSX.Element;
|
6
7
|
export {};
|
@@ -37,7 +37,8 @@ var validate = function validate(_ref) {
|
|
37
37
|
return result;
|
38
38
|
};
|
39
39
|
function ChangePasswordForm(_ref2) {
|
40
|
-
var theme = _ref2.theme
|
40
|
+
var theme = _ref2.theme,
|
41
|
+
cluster = _ref2.cluster;
|
41
42
|
var history = (0, _reactRouter.useHistory)();
|
42
43
|
var location = (0, _reactRouter.useLocation)();
|
43
44
|
var _useState = (0, _react.useState)(''),
|
@@ -90,7 +91,8 @@ function ChangePasswordForm(_ref2) {
|
|
90
91
|
setLoading(true);
|
91
92
|
changePassword({
|
92
93
|
newPassword: newPassword,
|
93
|
-
currentPassword: currentPassword
|
94
|
+
currentPassword: currentPassword,
|
95
|
+
cluster: cluster
|
94
96
|
}).then(function () {
|
95
97
|
goBack();
|
96
98
|
(0, _utils.wrapApiPromiseByToaster)(Promise.resolve(), {
|
@@ -190,18 +192,21 @@ function ChangePasswordForm(_ref2) {
|
|
190
192
|
}
|
191
193
|
function changePassword(_ref4) {
|
192
194
|
var newPassword = _ref4.newPassword,
|
193
|
-
currentPassword = _ref4.currentPassword
|
194
|
-
|
195
|
+
currentPassword = _ref4.currentPassword,
|
196
|
+
cluster = _ref4.cluster;
|
197
|
+
return _axios.default.post("/api/yt/".concat(cluster, "/change-password"), {
|
195
198
|
newPassword: newPassword,
|
196
199
|
currentPassword: currentPassword
|
197
200
|
});
|
198
201
|
}
|
199
202
|
function ChangePasswordFormPage(_ref5) {
|
200
|
-
var theme = _ref5.theme
|
203
|
+
var theme = _ref5.theme,
|
204
|
+
cluster = _ref5.cluster;
|
201
205
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoginPageWrapper.default, {
|
202
206
|
theme: theme,
|
203
207
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChangePasswordForm, {
|
204
|
-
theme: theme
|
208
|
+
theme: theme,
|
209
|
+
cluster: cluster
|
205
210
|
})
|
206
211
|
});
|
207
212
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_bemCnLite","_interopRequireDefault","_LoginPageWrapper","_axios","_reactRouter","_utils","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","validate","_ref","currentPassword","newPassword","confirmPassword","result","ChangePasswordForm","_ref2","theme","history","useHistory","location","useLocation","_useState","useState","_useState2","_slicedToArray","setCurrentPassword","_useState3","_useState4","setNewPassword","_useState5","_useState6","setConfirmPassword","_React$useState","React","_React$useState2","errors","setErrors","_useState7","_useState8","loading","setLoading","goBack","useCallback","key","push","handleFormSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validationErrors","wrap","_callee$","_context","prev","next","preventDefault","_isEmpty","abrupt","changePassword","then","wrapApiPromiseByToaster","Promise","resolve","skipSuccessToast","toasterName","successTitle","error","_error$response$data$","_error$response","msg","response","data","message","stop","_x","apply","arguments","_jsxs","_Fragment","children","_jsx","className","onSubmit","TextInput","password","type","size","placeholder","name","value","onUpdate","Button","solid","width","pin","view","outline","onClick","_ref4","axios","post","ChangePasswordFormPage","_ref5","LoginPageWrapper"],"sources":["ChangePasswordFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {Button, TextInput} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport axios from 'axios';\nimport {useHistory, useLocation} from 'react-router';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport _ from 'lodash';\n\nconst block = cn('login-page');\n\ninterface Props {\n theme?: 'light' | 'dark';\n}\n\ninterface ErrorFields {\n currentPassword?: string;\n newPassword?: string;\n confirmPassword?: string;\n}\n\nconst validate = ({\n currentPassword,\n newPassword,\n confirmPassword,\n}: Record<keyof ErrorFields, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (currentPassword === '') {\n result.currentPassword = 'Current password must not be empty';\n }\n\n if (newPassword === '') {\n result.newPassword = 'New password must not be empty';\n }\n\n if (newPassword !== confirmPassword) {\n result.confirmPassword = 'New and confirm password must be equal';\n }\n\n return result;\n};\n\nfunction ChangePasswordForm({theme}: Props) {\n const history = useHistory();\n const location = useLocation();\n const [currentPassword, setCurrentPassword] = useState('');\n const [newPassword, setNewPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [errors, setErrors] = React.useState<ErrorFields>({});\n const [loading, setLoading] = useState<boolean>(false);\n\n const goBack = useCallback(() => {\n if (location.key) {\n history.goBack();\n } else {\n history.push('/');\n }\n }, [history, location]);\n\n const handleFormSubmit = useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n\n const validationErrors = validate({currentPassword, newPassword, confirmPassword});\n if (!_.isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n\n setLoading(true);\n changePassword({newPassword, currentPassword})\n .then(() => {\n goBack();\n wrapApiPromiseByToaster(Promise.resolve(), {\n skipSuccessToast: false,\n toasterName: 'change-password-success',\n successTitle: 'Password was changed.',\n });\n })\n .catch((error: any) => {\n const msg = error.response?.data?.message ?? error.message;\n setErrors({currentPassword: msg});\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [currentPassword, newPassword, confirmPassword, goBack],\n );\n\n return (\n <>\n <h1 className={block('title')}>Create new password</h1>\n <p className={block('text')}>\n Your new password must be different from previous used passwords.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Current password\"\n name=\"current-password\"\n value={currentPassword}\n onUpdate={setCurrentPassword}\n error={errors.currentPassword}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"New password\"\n name=\"new-password\"\n value={newPassword}\n onUpdate={setNewPassword}\n error={errors.newPassword}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Confirm password\"\n name=\"confirm-password\"\n value={confirmPassword}\n onUpdate={setConfirmPassword}\n error={errors.confirmPassword}\n />\n <Button\n className={block('button', {solid: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Reset Password\n </Button>\n </form>\n <div className={block('navigate')}>\n <Button\n className={block('button', {outline: true})}\n type=\"button\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n onClick={goBack}\n view=\"outlined\"\n >\n Back\n </Button>\n </div>\n </>\n );\n}\n\nfunction changePassword({\n newPassword,\n currentPassword,\n}: {\n newPassword: string;\n currentPassword: string;\n}) {\n return axios.post(`/api/yt/change-password`, {\n newPassword,\n currentPassword,\n });\n}\n\nexport function ChangePasswordFormPage({theme}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <ChangePasswordForm theme={theme} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_bemCnLite","_interopRequireDefault","_LoginPageWrapper","_axios","_reactRouter","_utils","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","validate","_ref","currentPassword","newPassword","confirmPassword","result","ChangePasswordForm","_ref2","theme","cluster","history","useHistory","location","useLocation","_useState","useState","_useState2","_slicedToArray","setCurrentPassword","_useState3","_useState4","setNewPassword","_useState5","_useState6","setConfirmPassword","_React$useState","React","_React$useState2","errors","setErrors","_useState7","_useState8","loading","setLoading","goBack","useCallback","key","push","handleFormSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","validationErrors","wrap","_callee$","_context","prev","next","preventDefault","_isEmpty","abrupt","changePassword","then","wrapApiPromiseByToaster","Promise","resolve","skipSuccessToast","toasterName","successTitle","error","_error$response$data$","_error$response","msg","response","data","message","stop","_x","apply","arguments","_jsxs","_Fragment","children","_jsx","className","onSubmit","TextInput","password","type","size","placeholder","name","value","onUpdate","Button","solid","width","pin","view","outline","onClick","_ref4","axios","post","concat","ChangePasswordFormPage","_ref5","LoginPageWrapper"],"sources":["ChangePasswordFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {Button, TextInput} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport axios from 'axios';\nimport {useHistory, useLocation} from 'react-router';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport _ from 'lodash';\n\nconst block = cn('login-page');\n\ninterface Props {\n theme?: 'light' | 'dark';\n cluster: string;\n}\n\ninterface ErrorFields {\n currentPassword?: string;\n newPassword?: string;\n confirmPassword?: string;\n}\n\nconst validate = ({\n currentPassword,\n newPassword,\n confirmPassword,\n}: Record<keyof ErrorFields, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (currentPassword === '') {\n result.currentPassword = 'Current password must not be empty';\n }\n\n if (newPassword === '') {\n result.newPassword = 'New password must not be empty';\n }\n\n if (newPassword !== confirmPassword) {\n result.confirmPassword = 'New and confirm password must be equal';\n }\n\n return result;\n};\n\nfunction ChangePasswordForm({theme, cluster}: Props) {\n const history = useHistory();\n const location = useLocation();\n const [currentPassword, setCurrentPassword] = useState('');\n const [newPassword, setNewPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [errors, setErrors] = React.useState<ErrorFields>({});\n const [loading, setLoading] = useState<boolean>(false);\n\n const goBack = useCallback(() => {\n if (location.key) {\n history.goBack();\n } else {\n history.push('/');\n }\n }, [history, location]);\n\n const handleFormSubmit = useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n\n const validationErrors = validate({currentPassword, newPassword, confirmPassword});\n if (!_.isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n\n setLoading(true);\n changePassword({newPassword, currentPassword, cluster})\n .then(() => {\n goBack();\n wrapApiPromiseByToaster(Promise.resolve(), {\n skipSuccessToast: false,\n toasterName: 'change-password-success',\n successTitle: 'Password was changed.',\n });\n })\n .catch((error: any) => {\n const msg = error.response?.data?.message ?? error.message;\n setErrors({currentPassword: msg});\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [currentPassword, newPassword, confirmPassword, goBack],\n );\n\n return (\n <>\n <h1 className={block('title')}>Create new password</h1>\n <p className={block('text')}>\n Your new password must be different from previous used passwords.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Current password\"\n name=\"current-password\"\n value={currentPassword}\n onUpdate={setCurrentPassword}\n error={errors.currentPassword}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"New password\"\n name=\"new-password\"\n value={newPassword}\n onUpdate={setNewPassword}\n error={errors.newPassword}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Confirm password\"\n name=\"confirm-password\"\n value={confirmPassword}\n onUpdate={setConfirmPassword}\n error={errors.confirmPassword}\n />\n <Button\n className={block('button', {solid: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Reset Password\n </Button>\n </form>\n <div className={block('navigate')}>\n <Button\n className={block('button', {outline: true})}\n type=\"button\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n onClick={goBack}\n view=\"outlined\"\n >\n Back\n </Button>\n </div>\n </>\n );\n}\n\nfunction changePassword({\n newPassword,\n currentPassword,\n cluster,\n}: {\n newPassword: string;\n currentPassword: string;\n cluster: string;\n}) {\n return axios.post(`/api/yt/${cluster}/change-password`, {\n newPassword,\n currentPassword,\n });\n}\n\nexport function ChangePasswordFormPage({theme, cluster}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <ChangePasswordForm theme={theme} cluster={cluster} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,MAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAA6D,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAA2B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAG7D,IAAMC,KAAK,GAAG,IAAAC,kBAAE,EAAC,YAAY,CAAC;AAa9B,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAIwC;EAAA,IAHlDC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,eAAe,GAAAH,IAAA,CAAfG,eAAe;EAEf,IAAMC,MAAmB,GAAG,CAAC,CAAC;EAC9B,IAAIH,eAAe,KAAK,EAAE,EAAE;IACxBG,MAAM,CAACH,eAAe,GAAG,oCAAoC;EACjE;EAEA,IAAIC,WAAW,KAAK,EAAE,EAAE;IACpBE,MAAM,CAACF,WAAW,GAAG,gCAAgC;EACzD;EAEA,IAAIA,WAAW,KAAKC,eAAe,EAAE;IACjCC,MAAM,CAACD,eAAe,GAAG,wCAAwC;EACrE;EAEA,OAAOC,MAAM;AACjB,CAAC;AAED,SAASC,kBAAkBA,CAAAC,KAAA,EAA0B;EAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;EACvC,IAAMC,OAAO,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC5B,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAC9B,IAAAC,SAAA,GAA8C,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAAC,UAAA,OAAAC,uBAAA,EAAAH,SAAA;IAAnDZ,eAAe,GAAAc,UAAA;IAAEE,kBAAkB,GAAAF,UAAA;EAC1C,IAAAG,UAAA,GAAsC,IAAAJ,eAAQ,EAAC,EAAE,CAAC;IAAAK,UAAA,OAAAH,uBAAA,EAAAE,UAAA;IAA3ChB,WAAW,GAAAiB,UAAA;IAAEC,cAAc,GAAAD,UAAA;EAClC,IAAAE,UAAA,GAA8C,IAAAP,eAAQ,EAAC,EAAE,CAAC;IAAAQ,UAAA,OAAAN,uBAAA,EAAAK,UAAA;IAAnDlB,eAAe,GAAAmB,UAAA;IAAEC,kBAAkB,GAAAD,UAAA;EAC1C,IAAAE,eAAA,GAA4BC,cAAK,CAACX,QAAQ,CAAc,CAAC,CAAC,CAAC;IAAAY,gBAAA,OAAAV,uBAAA,EAAAQ,eAAA;IAApDG,MAAM,GAAAD,gBAAA;IAAEE,SAAS,GAAAF,gBAAA;EACxB,IAAAG,UAAA,GAA8B,IAAAf,eAAQ,EAAU,KAAK,CAAC;IAAAgB,UAAA,OAAAd,uBAAA,EAAAa,UAAA;IAA/CE,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAE1B,IAAMG,MAAM,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAC7B,IAAIvB,QAAQ,CAACwB,GAAG,EAAE;MACd1B,OAAO,CAACwB,MAAM,CAAC,CAAC;IACpB,CAAC,MAAM;MACHxB,OAAO,CAAC2B,IAAI,CAAC,GAAG,CAAC;IACrB;EACJ,CAAC,EAAE,CAAC3B,OAAO,EAAEE,QAAQ,CAAC,CAAC;EAEvB,IAAM0B,gBAAgB,GAAG,IAAAH,kBAAW;IAAA,IAAAI,KAAA,OAAAC,0BAAA,gBAAAC,oBAAA,CAAAC,IAAA,CAChC,SAAAC,QAAOlE,CAAkB;MAAA,IAAAmE,gBAAA;MAAA,OAAAH,oBAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACrBxE,CAAC,CAACyE,cAAc,CAAC,CAAC;YAClBrB,SAAS,CAAC,CAAC,CAAC,CAAC;YAEPe,gBAAgB,GAAG5C,QAAQ,CAAC;cAACE,eAAe,EAAfA,eAAe;cAAEC,WAAW,EAAXA,WAAW;cAAEC,eAAe,EAAfA;YAAe,CAAC,CAAC;YAAA,IAC7E,IAAA+C,iBAAA,EAAUP,gBAAgB,CAAC;cAAAG,QAAA,CAAAE,IAAA;cAAA;YAAA;YAC5BpB,SAAS,CAACe,gBAAgB,CAAC;YAAC,OAAAG,QAAA,CAAAK,MAAA;UAAA;YAIhCnB,UAAU,CAAC,IAAI,CAAC;YAChBoB,cAAc,CAAC;cAAClD,WAAW,EAAXA,WAAW;cAAED,eAAe,EAAfA,eAAe;cAAEO,OAAO,EAAPA;YAAO,CAAC,CAAC,CAClD6C,IAAI,CAAC,YAAM;cACRpB,MAAM,CAAC,CAAC;cACR,IAAAqB,8BAAuB,EAACC,OAAO,CAACC,OAAO,CAAC,CAAC,EAAE;gBACvCC,gBAAgB,EAAE,KAAK;gBACvBC,WAAW,EAAE,yBAAyB;gBACtCC,YAAY,EAAE;cAClB,CAAC,CAAC;YACN,CAAC,CAAC,SACI,CAAC,UAACC,KAAU,EAAK;cAAA,IAAAC,qBAAA,EAAAC,eAAA;cACnB,IAAMC,GAAG,IAAAF,qBAAA,IAAAC,eAAA,GAAGF,KAAK,CAACI,QAAQ,cAAAF,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBG,IAAI,cAAAH,eAAA,uBAApBA,eAAA,CAAsBI,OAAO,cAAAL,qBAAA,cAAAA,qBAAA,GAAID,KAAK,CAACM,OAAO;cAC1DtC,SAAS,CAAC;gBAAC3B,eAAe,EAAE8D;cAAG,CAAC,CAAC;YACrC,CAAC,CAAC,WACM,CAAC,YAAM;cACX/B,UAAU,CAAC,KAAK,CAAC;YACrB,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAc,QAAA,CAAAqB,IAAA;QAAA;MAAA,GAAAzB,OAAA;IAAA,CACV;IAAA,iBAAA0B,EAAA;MAAA,OAAA9B,KAAA,CAAA+B,KAAA,OAAAC,SAAA;IAAA;EAAA,KACD,CAACrE,eAAe,EAAEC,WAAW,EAAEC,eAAe,EAAE8B,MAAM,CAC1D,CAAC;EAED,oBACI,IAAAsC,gBAAA,EAAAC,oBAAA;IAAAC,QAAA,gBACI,IAAAC,eAAA;MAAIC,SAAS,EAAE9E,KAAK,CAAC,OAAO,CAAE;MAAA4E,QAAA,EAAC;IAAmB,CAAI,CAAC,eACvD,IAAAC,eAAA;MAAGC,SAAS,EAAE9E,KAAK,CAAC,MAAM,CAAE;MAAA4E,QAAA,EAAC;IAE7B,CAAG,CAAC,eACJ,IAAAF,gBAAA;MAAMK,QAAQ,EAAEvC,gBAAiB;MAAAoC,QAAA,gBAC7B,IAAAC,eAAA,EAACG,gBAAS;QACNF,SAAS,EAAE9E,KAAK,CAAC,OAAO,EAAE;UAACiF,QAAQ,EAAE;QAAI,CAAC,CAAE;QAC5CC,IAAI,EAAC,UAAU;QACfC,IAAI,EAAC,GAAG;QACRC,WAAW,EAAC,kBAAkB;QAC9BC,IAAI,EAAC,kBAAkB;QACvBC,KAAK,EAAElF,eAAgB;QACvBmF,QAAQ,EAAEnE,kBAAmB;QAC7B2C,KAAK,EAAEjC,MAAM,CAAC1B;MAAgB,CACjC,CAAC,eACF,IAAAyE,eAAA,EAACG,gBAAS;QACNF,SAAS,EAAE9E,KAAK,CAAC,OAAO,EAAE;UAACiF,QAAQ,EAAE;QAAI,CAAC,CAAE;QAC5CC,IAAI,EAAC,UAAU;QACfC,IAAI,EAAC,GAAG;QACRC,WAAW,EAAC,cAAc;QAC1BC,IAAI,EAAC,cAAc;QACnBC,KAAK,EAAEjF,WAAY;QACnBkF,QAAQ,EAAEhE,cAAe;QACzBwC,KAAK,EAAEjC,MAAM,CAACzB;MAAY,CAC7B,CAAC,eACF,IAAAwE,eAAA,EAACG,gBAAS;QACNF,SAAS,EAAE9E,KAAK,CAAC,OAAO,EAAE;UAACiF,QAAQ,EAAE;QAAI,CAAC,CAAE;QAC5CC,IAAI,EAAC,UAAU;QACfC,IAAI,EAAC,GAAG;QACRC,WAAW,EAAC,kBAAkB;QAC9BC,IAAI,EAAC,kBAAkB;QACvBC,KAAK,EAAEhF,eAAgB;QACvBiF,QAAQ,EAAE7D,kBAAmB;QAC7BqC,KAAK,EAAEjC,MAAM,CAACxB;MAAgB,CACjC,CAAC,eACF,IAAAuE,eAAA,EAACW,aAAM;QACHV,SAAS,EAAE9E,KAAK,CAAC,QAAQ,EAAE;UAACyF,KAAK,EAAE;QAAI,CAAC,CAAE;QAC1CP,IAAI,EAAC,QAAQ;QACbQ,KAAK,EAAC,KAAK;QACXP,IAAI,EAAC,GAAG;QACRQ,GAAG,EAAC,eAAe;QACnBC,IAAI,EAAElF,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,iBAAkB;QACvDwB,OAAO,EAAEA,OAAQ;QAAA0C,QAAA,EACpB;MAED,CAAQ,CAAC;IAAA,CACP,CAAC,eACP,IAAAC,eAAA;MAAKC,SAAS,EAAE9E,KAAK,CAAC,UAAU,CAAE;MAAA4E,QAAA,eAC9B,IAAAC,eAAA,EAACW,aAAM;QACHV,SAAS,EAAE9E,KAAK,CAAC,QAAQ,EAAE;UAAC6F,OAAO,EAAE;QAAI,CAAC,CAAE;QAC5CX,IAAI,EAAC,QAAQ;QACbQ,KAAK,EAAC,KAAK;QACXP,IAAI,EAAC,GAAG;QACRQ,GAAG,EAAC,eAAe;QACnBG,OAAO,EAAE1D,MAAO;QAChBwD,IAAI,EAAC,UAAU;QAAAhB,QAAA,EAClB;MAED,CAAQ;IAAC,CACR,CAAC;EAAA,CACR,CAAC;AAEX;AAEA,SAASrB,cAAcA,CAAAwC,KAAA,EAQpB;EAAA,IAPC1F,WAAW,GAAA0F,KAAA,CAAX1F,WAAW;IACXD,eAAe,GAAA2F,KAAA,CAAf3F,eAAe;IACfO,OAAO,GAAAoF,KAAA,CAAPpF,OAAO;EAMP,OAAOqF,cAAK,CAACC,IAAI,YAAAC,MAAA,CAAYvF,OAAO,uBAAoB;IACpDN,WAAW,EAAXA,WAAW;IACXD,eAAe,EAAfA;EACJ,CAAC,CAAC;AACN;AAEO,SAAS+F,sBAAsBA,CAAAC,KAAA,EAA0B;EAAA,IAAxB1F,KAAK,GAAA0F,KAAA,CAAL1F,KAAK;IAAEC,OAAO,GAAAyF,KAAA,CAAPzF,OAAO;EAClD,oBACI,IAAAkE,eAAA,EAACwB,yBAAgB;IAAC3F,KAAK,EAAEA,KAAM;IAAAkE,QAAA,eAC3B,IAAAC,eAAA,EAACrE,kBAAkB;MAACE,KAAK,EAAEA,KAAM;MAACC,OAAO,EAAEA;IAAQ,CAAE;EAAC,CACxC,CAAC;AAE3B"}
|
@@ -35,7 +35,7 @@ var validate = function validate(_ref) {
|
|
35
35
|
return result;
|
36
36
|
};
|
37
37
|
function LoginForm(_ref2) {
|
38
|
-
var _ytLocalStorage$get;
|
38
|
+
var _ytLocalStorage$get, _useSelector;
|
39
39
|
var theme = _ref2.theme;
|
40
40
|
var dispatch = (0, _reactRedux.useDispatch)();
|
41
41
|
var _useState = (0, _react.useState)(((_ytLocalStorage$get = _ytLocalStorage.default.get('loginDialog')) === null || _ytLocalStorage$get === void 0 ? void 0 : _ytLocalStorage$get.username) || ''),
|
@@ -44,6 +44,7 @@ function LoginForm(_ref2) {
|
|
44
44
|
setUsername = _useState2[1];
|
45
45
|
var allowOAuth = (0, _reactRedux.useSelector)(_global2.getOAuthEnabled);
|
46
46
|
var buttonLabel = (0, _reactRedux.useSelector)(_global2.getOAuthButtonLabel);
|
47
|
+
var ytAuthCluster = (_useSelector = (0, _reactRedux.useSelector)(_global2.getGlobalYTAuthCluster)) !== null && _useSelector !== void 0 ? _useSelector : '';
|
47
48
|
var _useState3 = (0, _react.useState)(''),
|
48
49
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
49
50
|
password = _useState4[0],
|
@@ -70,7 +71,8 @@ function LoginForm(_ref2) {
|
|
70
71
|
setLoading(true);
|
71
72
|
authorize({
|
72
73
|
username: username,
|
73
|
-
password: password
|
74
|
+
password: password,
|
75
|
+
ytAuthCluster: ytAuthCluster
|
74
76
|
}).then( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
75
77
|
return _regenerator.default.wrap(function _callee$(_context) {
|
76
78
|
while (1) switch (_context.prev = _context.next) {
|
@@ -164,8 +166,9 @@ function LoginForm(_ref2) {
|
|
164
166
|
}
|
165
167
|
function authorize(_ref4) {
|
166
168
|
var username = _ref4.username,
|
167
|
-
password = _ref4.password
|
168
|
-
|
169
|
+
password = _ref4.password,
|
170
|
+
ytAuthCluster = _ref4.ytAuthCluster;
|
171
|
+
return _axios.default.post("/api/yt/".concat(ytAuthCluster, "/login"), {
|
169
172
|
username: username,
|
170
173
|
password: password
|
171
174
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_axios","_interopRequireDefault","_reactRedux","_uikit","_global","_ytLocalStorage","_global2","_LoginPageWrapper","_isEmpty","_bemCnLite","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","validate","_ref","username","password","result","LoginForm","_ref2","_ytLocalStorage$get","theme","dispatch","useDispatch","_useState","useState","ytLocalStorage","_useState2","_slicedToArray","setUsername","allowOAuth","useSelector","getOAuthEnabled","buttonLabel","getOAuthButtonLabel","_useState3","_useState4","setPassword","_useState5","_useState6","loading","setLoading","_React$useState","React","_React$useState2","errors","setErrors","handleFormSubmit","useCallback","preventDefault","validationErrors","isEmpty","authorize","then","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","onSuccessLogin","stop","error","response","data","message","_jsxs","_Fragment","children","_jsx","className","onSubmit","TextInput","type","size","placeholder","name","value","onUpdate","Button","solid","submit","width","pin","view","link","href","Text","as","color","_ref4","axios","post","LoginFormPage","_ref5","LoginPageWrapper"],"sources":["LoginFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport axios, {AxiosError} from 'axios';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Button, Text, TextInput} from '@gravity-ui/uikit';\nimport {onSuccessLogin} from '../../../store/actions/global';\nimport ytLocalStorage from '../../../utils/yt-local-storage';\nimport {getOAuthButtonLabel, getOAuthEnabled} from '../../../store/selectors/global';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport isEmpty from 'lodash/isEmpty';\n\nimport cn from 'bem-cn-lite';\n\nconst block = cn('login-page');\n\ninterface ErrorFields {\n username?: string;\n password?: string;\n response?: string;\n}\n\ninterface Props {\n theme?: 'light' | 'dark';\n}\n\nconst validate = ({\n username,\n password,\n}: Record<keyof Omit<ErrorFields, 'response'>, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (username === '') {\n result.username = 'Username must not be empty';\n }\n\n if (password === '') {\n result.password = 'Password must not be empty';\n }\n\n return result;\n};\n\nfunction LoginForm({theme}: Props) {\n const dispatch = useDispatch();\n const [username, setUsername] = useState(ytLocalStorage.get('loginDialog')?.username || '');\n const allowOAuth = useSelector(getOAuthEnabled);\n const buttonLabel = useSelector(getOAuthButtonLabel);\n const [password, setPassword] = useState('');\n const [loading, setLoading] = useState<boolean>(false);\n const [errors, setErrors] = React.useState<ErrorFields>({});\n\n const handleFormSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n const validationErrors = validate({username, password});\n if (!isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n setLoading(true);\n authorize({username, password})\n .then(async () => {\n ytLocalStorage.set('loginDialog', {username});\n dispatch(onSuccessLogin(username));\n })\n .catch((error: AxiosError<Error>) => {\n if (error.response && error.response.data && error.response.data.message) {\n setErrors({\n response: error.response.data.message,\n });\n } else {\n setErrors({response: error.message});\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [username, password, dispatch],\n );\n\n return (\n <>\n <h1 className={block('title')}>Welcome to YTsaurus!</h1>\n <p className={block('text')}>\n A unified scalable platform for storing and processing large volumes of data.\n <br />\n <br />\n Login to your account.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field')}\n type=\"text\"\n size=\"l\"\n placeholder=\"Login\"\n name=\"username\"\n value={username}\n onUpdate={setUsername}\n error={errors.username}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Password\"\n name=\"password\"\n value={password}\n onUpdate={setPassword}\n error={errors.password}\n />\n\n <Button\n className={block('button', {solid: true, submit: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Login\n </Button>\n\n {allowOAuth && (\n <Button\n className={block('button', {solid: true, link: true, submit: true})}\n type=\"submit\"\n href=\"/oauth/login\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n {buttonLabel || 'Login via SSO'}\n </Button>\n )}\n\n {errors.response && (\n <Text as=\"p\" color=\"danger\" className={block('error')}>\n {errors.response}\n </Text>\n )}\n </form>\n </>\n );\n}\n\nfunction authorize({username, password}: {username: string; password: string}) {\n return axios.post(`/api/yt/login`, {\n username,\n password,\n });\n}\n\nexport function LoginFormPage({theme}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <LoginForm theme={theme} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_axios","_interopRequireDefault","_reactRedux","_uikit","_global","_ytLocalStorage","_global2","_LoginPageWrapper","_isEmpty","_bemCnLite","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","validate","_ref","username","password","result","LoginForm","_ref2","_ytLocalStorage$get","_useSelector","theme","dispatch","useDispatch","_useState","useState","ytLocalStorage","_useState2","_slicedToArray","setUsername","allowOAuth","useSelector","getOAuthEnabled","buttonLabel","getOAuthButtonLabel","ytAuthCluster","getGlobalYTAuthCluster","_useState3","_useState4","setPassword","_useState5","_useState6","loading","setLoading","_React$useState","React","_React$useState2","errors","setErrors","handleFormSubmit","useCallback","preventDefault","validationErrors","isEmpty","authorize","then","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","onSuccessLogin","stop","error","response","data","message","_jsxs","_Fragment","children","_jsx","className","onSubmit","TextInput","type","size","placeholder","name","value","onUpdate","Button","solid","submit","width","pin","view","link","href","Text","as","color","_ref4","axios","post","concat","LoginFormPage","_ref5","LoginPageWrapper"],"sources":["LoginFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport axios, {AxiosError} from 'axios';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Button, Text, TextInput} from '@gravity-ui/uikit';\nimport {onSuccessLogin} from '../../../store/actions/global';\nimport ytLocalStorage from '../../../utils/yt-local-storage';\nimport {\n getGlobalYTAuthCluster,\n getOAuthButtonLabel,\n getOAuthEnabled,\n} from '../../../store/selectors/global';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport isEmpty from 'lodash/isEmpty';\n\nimport cn from 'bem-cn-lite';\n\nconst block = cn('login-page');\n\ninterface ErrorFields {\n username?: string;\n password?: string;\n response?: string;\n}\n\ninterface Props {\n theme?: 'light' | 'dark';\n}\n\nconst validate = ({\n username,\n password,\n}: Record<keyof Omit<ErrorFields, 'response'>, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (username === '') {\n result.username = 'Username must not be empty';\n }\n\n if (password === '') {\n result.password = 'Password must not be empty';\n }\n\n return result;\n};\n\nfunction LoginForm({theme}: Props) {\n const dispatch = useDispatch();\n const [username, setUsername] = useState(ytLocalStorage.get('loginDialog')?.username || '');\n const allowOAuth = useSelector(getOAuthEnabled);\n const buttonLabel = useSelector(getOAuthButtonLabel);\n const ytAuthCluster = useSelector(getGlobalYTAuthCluster) ?? '';\n const [password, setPassword] = useState('');\n const [loading, setLoading] = useState<boolean>(false);\n const [errors, setErrors] = React.useState<ErrorFields>({});\n\n const handleFormSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n const validationErrors = validate({username, password});\n if (!isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n setLoading(true);\n authorize({username, password, ytAuthCluster})\n .then(async () => {\n ytLocalStorage.set('loginDialog', {username});\n dispatch(onSuccessLogin(username));\n })\n .catch((error: AxiosError<Error>) => {\n if (error.response && error.response.data && error.response.data.message) {\n setErrors({\n response: error.response.data.message,\n });\n } else {\n setErrors({response: error.message});\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [username, password, dispatch],\n );\n\n return (\n <>\n <h1 className={block('title')}>Welcome to YTsaurus!</h1>\n <p className={block('text')}>\n A unified scalable platform for storing and processing large volumes of data.\n <br />\n <br />\n Login to your account.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field')}\n type=\"text\"\n size=\"l\"\n placeholder=\"Login\"\n name=\"username\"\n value={username}\n onUpdate={setUsername}\n error={errors.username}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Password\"\n name=\"password\"\n value={password}\n onUpdate={setPassword}\n error={errors.password}\n />\n\n <Button\n className={block('button', {solid: true, submit: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Login\n </Button>\n\n {allowOAuth && (\n <Button\n className={block('button', {solid: true, link: true, submit: true})}\n type=\"submit\"\n href=\"/oauth/login\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n {buttonLabel || 'Login via SSO'}\n </Button>\n )}\n\n {errors.response && (\n <Text as=\"p\" color=\"danger\" className={block('error')}>\n {errors.response}\n </Text>\n )}\n </form>\n </>\n );\n}\n\nfunction authorize({\n username,\n password,\n ytAuthCluster,\n}: {\n username: string;\n password: string;\n ytAuthCluster: string;\n}) {\n return axios.post(`/api/yt/${ytAuthCluster}/login`, {\n username,\n password,\n });\n}\n\nexport function LoginFormPage({theme}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <LoginForm theme={theme} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":"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"}
|
@@ -4,10 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.getConfigData = getConfigData;
|
7
|
-
exports.uiSettings = void 0;
|
8
|
-
var _getConfigData;
|
7
|
+
exports.userSettingsCluster = exports.uiSettings = void 0;
|
8
|
+
var _getConfigData, _getConfigData2;
|
9
9
|
function getConfigData() {
|
10
10
|
return window.__DATA__;
|
11
11
|
}
|
12
12
|
var uiSettings = exports.uiSettings = ((_getConfigData = getConfigData()) === null || _getConfigData === void 0 ? void 0 : _getConfigData.uiSettings) || {};
|
13
|
+
var userSettingsCluster = exports.userSettingsCluster = (_getConfigData2 = getConfigData()) === null || _getConfigData2 === void 0 ? void 0 : _getConfigData2.userSettingsCluster;
|
13
14
|
// #sourceMappingURL=ui-settings.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getConfigData","window","__DATA__","uiSettings","exports","_getConfigData"],"sources":["ui-settings.ts"],"sourcesContent":["import type {ConfigData} from '../../shared/yt-types';\n\nexport function getConfigData(): ConfigData {\n return (window as any).__DATA__;\n}\n\nexport const uiSettings: Partial<Required<ConfigData>['uiSettings']> =\n getConfigData()?.uiSettings || {};\n"],"mappings":";;;;;;;;AAEO,SAASA,aAAaA,CAAA,EAAe;EACxC,OAAQC,MAAM,CAASC,QAAQ;AACnC;AAEO,IAAMC,UAAuD,GAAAC,OAAA,CAAAD,UAAA,GAChE,EAAAE,cAAA,GAAAL,aAAa,CAAC,CAAC,cAAAK,cAAA,uBAAfA,cAAA,CAAiBF,UAAU,KAAI,CAAC,CAAC"}
|
1
|
+
{"version":3,"names":["getConfigData","window","__DATA__","uiSettings","exports","_getConfigData","userSettingsCluster","_getConfigData2"],"sources":["ui-settings.ts"],"sourcesContent":["import type {ConfigData} from '../../shared/yt-types';\n\nexport function getConfigData(): ConfigData {\n return (window as any).__DATA__;\n}\n\nexport const uiSettings: Partial<Required<ConfigData>['uiSettings']> =\n getConfigData()?.uiSettings || {};\n\nexport const userSettingsCluster: ConfigData['userSettingsCluster'] =\n getConfigData()?.userSettingsCluster;\n"],"mappings":";;;;;;;;AAEO,SAASA,aAAaA,CAAA,EAAe;EACxC,OAAQC,MAAM,CAASC,QAAQ;AACnC;AAEO,IAAMC,UAAuD,GAAAC,OAAA,CAAAD,UAAA,GAChE,EAAAE,cAAA,GAAAL,aAAa,CAAC,CAAC,cAAAK,cAAA,uBAAfA,cAAA,CAAiBF,UAAU,KAAI,CAAC,CAAC;AAE9B,IAAMG,mBAAsD,GAAAF,OAAA,CAAAE,mBAAA,IAAAC,eAAA,GAC/DP,aAAa,CAAC,CAAC,cAAAO,eAAA,uBAAfA,eAAA,CAAiBD,mBAAmB"}
|
@@ -75,6 +75,13 @@ export declare const FETCH_CLUSTER_AVAILABILITY: {
|
|
75
75
|
readonly FAILURE: `${string}_FAILURE`;
|
76
76
|
readonly CANCELLED: `${string}_CANCELLED`;
|
77
77
|
};
|
78
|
+
export declare const FETCH_CLUSTER_AUTH_STATUS: {
|
79
|
+
readonly REQUEST: "FETCH_CLUSTER_AUTH_STATUS_REQUEST";
|
80
|
+
readonly PARTITION: "FETCH_CLUSTER_AUTH_STATUS_PARTITION";
|
81
|
+
readonly SUCCESS: "FETCH_CLUSTER_AUTH_STATUS_SUCCESS";
|
82
|
+
readonly FAILURE: "FETCH_CLUSTER_AUTH_STATUS_FAILURE";
|
83
|
+
readonly CANCELLED: "FETCH_CLUSTER_AUTH_STATUS_CANCELLED";
|
84
|
+
};
|
78
85
|
export declare const UPDATE_VIEWMODE: string;
|
79
86
|
export declare const UPDATE_FILTER: string;
|
80
87
|
export declare const SPLIT_PANE_ID = "split-portal";
|
@@ -29,6 +29,7 @@ var _exportNames = {
|
|
29
29
|
MediumType: true,
|
30
30
|
FETCH_CLUSTER_VERSIONS: true,
|
31
31
|
FETCH_CLUSTER_AVAILABILITY: true,
|
32
|
+
FETCH_CLUSTER_AUTH_STATUS: true,
|
32
33
|
UPDATE_VIEWMODE: true,
|
33
34
|
UPDATE_FILTER: true,
|
34
35
|
SPLIT_PANE_ID: true,
|
@@ -36,7 +37,7 @@ var _exportNames = {
|
|
36
37
|
GENERIC_ERROR_MESSAGE: true,
|
37
38
|
Page: true
|
38
39
|
};
|
39
|
-
exports.MediumType = exports.MERGE_SCREEN = exports.LOAD_ERROR = exports.LOADING_STATUS = exports.KeyCode = exports.JOIN_MENU_ITEMS = exports.INIT_CLUSTER_PARAMS = exports.INC_NAV_BLOCKER_COUNTER = exports.HEADER_HEIGHT = exports.GLOBAL_SET_THEME = exports.GENERIC_ERROR_MESSAGE = exports.FETCH_CLUSTER_VERSIONS = exports.FETCH_CLUSTER_AVAILABILITY = exports.DEC_NAV_BLOCKER_COUNTER = exports.DASHBOARD_VIEW_CONTEXT = exports.BLOCK_USER = exports.BAN_USER = void 0;
|
40
|
+
exports.MediumType = exports.MERGE_SCREEN = exports.LOAD_ERROR = exports.LOADING_STATUS = exports.KeyCode = exports.JOIN_MENU_ITEMS = exports.INIT_CLUSTER_PARAMS = exports.INC_NAV_BLOCKER_COUNTER = exports.HEADER_HEIGHT = exports.GLOBAL_SET_THEME = exports.GENERIC_ERROR_MESSAGE = exports.FETCH_CLUSTER_VERSIONS = exports.FETCH_CLUSTER_AVAILABILITY = exports.FETCH_CLUSTER_AUTH_STATUS = exports.DEC_NAV_BLOCKER_COUNTER = exports.DASHBOARD_VIEW_CONTEXT = exports.BLOCK_USER = exports.BAN_USER = void 0;
|
40
41
|
Object.defineProperty(exports, "Page", {
|
41
42
|
enumerable: true,
|
42
43
|
get: function () {
|
@@ -126,6 +127,7 @@ var MediumType = exports.MediumType = {
|
|
126
127
|
var CLUSTER_MENU_PREFIX = (0, _utils.createPrefix)('CLUSTER_MENU');
|
127
128
|
var FETCH_CLUSTER_VERSIONS = exports.FETCH_CLUSTER_VERSIONS = (0, _utils.default)(CLUSTER_MENU_PREFIX + 'FETCH_CLUSTER_VERSIONS');
|
128
129
|
var FETCH_CLUSTER_AVAILABILITY = exports.FETCH_CLUSTER_AVAILABILITY = (0, _utils.default)(CLUSTER_MENU_PREFIX + 'FETCH_CLUSTER_AVAILABILITY');
|
130
|
+
var FETCH_CLUSTER_AUTH_STATUS = exports.FETCH_CLUSTER_AUTH_STATUS = (0, _utils.default)('FETCH_CLUSTER_AUTH_STATUS');
|
129
131
|
var UPDATE_VIEWMODE = exports.UPDATE_VIEWMODE = CLUSTER_MENU_PREFIX + 'UPDATE_VIEWMODE';
|
130
132
|
var UPDATE_FILTER = exports.UPDATE_FILTER = CLUSTER_MENU_PREFIX + 'UPDATE_FILTER';
|
131
133
|
var SPLIT_PANE_ID = exports.SPLIT_PANE_ID = 'split-portal';
|