@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
@@ -1,17 +1,12 @@
|
|
1
1
|
import { YT_CYPRESS_COOKIE_NAME } from '../../shared/constants';
|
2
|
+
import { getClustersFromConfig } from './utils';
|
2
3
|
export function isYtAuthEnabled(config) {
|
3
|
-
return Boolean(config.
|
4
|
-
}
|
5
|
-
export function assertAuthEnabled(ytAuthCluster) {
|
6
|
-
if (!ytAuthCluster) {
|
7
|
-
throw new Error('Cluster for password authentication is disabled. You have to define ytAuthCluster to use it.');
|
8
|
-
}
|
9
|
-
}
|
10
|
-
export function getAuthCluster(config) {
|
11
|
-
assertAuthEnabled(config.ytAuthCluster);
|
12
|
-
return config.ytAuthCluster;
|
4
|
+
return Boolean(config.allowPasswordAuth);
|
13
5
|
}
|
14
6
|
export function YTAuthLogout(res) {
|
15
|
-
|
7
|
+
var clusters = getClustersFromConfig();
|
8
|
+
res.setHeader('set-cookie', ["".concat(YT_CYPRESS_COOKIE_NAME, "=deleted; Path=/; Max-Age=0;")].concat(Object.keys(clusters).map(function (cluster) {
|
9
|
+
return "".concat(cluster, ":").concat(YT_CYPRESS_COOKIE_NAME, "=deleted; Path=/; Max-Age=0;");
|
10
|
+
})));
|
16
11
|
}
|
17
12
|
// #sourceMappingURL=yt-auth.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["YT_CYPRESS_COOKIE_NAME","isYtAuthEnabled","config","Boolean","
|
1
|
+
{"version":3,"names":["YT_CYPRESS_COOKIE_NAME","getClustersFromConfig","isYtAuthEnabled","config","Boolean","allowPasswordAuth","YTAuthLogout","res","clusters","setHeader","concat","Object","keys","map","cluster"],"sources":["yt-auth.ts"],"sourcesContent":["import {AppConfig} from '@gravity-ui/nodekit';\nimport type {Response} from 'express';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {getClustersFromConfig} from './utils';\n\nexport function isYtAuthEnabled(config: AppConfig) {\n return Boolean(config.allowPasswordAuth);\n}\n\nexport function YTAuthLogout(res: Response) {\n const clusters = getClustersFromConfig();\n\n res.setHeader(\n 'set-cookie',\n [`${YT_CYPRESS_COOKIE_NAME}=deleted; Path=/; Max-Age=0;`].concat(\n Object.keys(clusters).map(\n (cluster) => `${cluster}:${YT_CYPRESS_COOKIE_NAME}=deleted; Path=/; Max-Age=0;`,\n ),\n ),\n );\n}\n"],"mappings":"AAEA,SAAQA,sBAAsB,QAAO,wBAAwB;AAC7D,SAAQC,qBAAqB,QAAO,SAAS;AAE7C,OAAO,SAASC,eAAeA,CAACC,MAAiB,EAAE;EAC/C,OAAOC,OAAO,CAACD,MAAM,CAACE,iBAAiB,CAAC;AAC5C;AAEA,OAAO,SAASC,YAAYA,CAACC,GAAa,EAAE;EACxC,IAAMC,QAAQ,GAAGP,qBAAqB,CAAC,CAAC;EAExCM,GAAG,CAACE,SAAS,CACT,YAAY,EACZ,IAAAC,MAAA,CAAIV,sBAAsB,kCAA+B,CAACU,MAAM,CAC5DC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAAC,CAACK,GAAG,CACrB,UAACC,OAAO;IAAA,UAAAJ,MAAA,CAAQI,OAAO,OAAAJ,MAAA,CAAIV,sBAAsB;EAAA,CACrD,CACJ,CACJ,CAAC;AACL"}
|
@@ -1,22 +1,12 @@
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
2
|
-
var _process$env$YT_USER_;
|
3
2
|
import typeis from 'type-is';
|
4
3
|
import { AuthPolicy } from '@gravity-ui/expresskit';
|
5
4
|
var path = require('path');
|
6
|
-
var ytAuthConfig =
|
7
|
-
|
5
|
+
var ytAuthConfig = {
|
6
|
+
allowPasswordAuth: Boolean(process.env.ALLOW_PASSWORD_AUTH),
|
8
7
|
ytAuthAllowInsecure: Boolean(process.env.YT_AUTH_ALLOW_INSECURE),
|
9
|
-
appAuthPolicy: AuthPolicy.required
|
10
|
-
|
11
|
-
cluster: process.env.YT_AUTH_CLUSTER_ID,
|
12
|
-
mapNodePath: (_process$env$YT_USER_ = process.env.YT_USER_SETTINGS_PATH) !== null && _process$env$YT_USER_ !== void 0 ? _process$env$YT_USER_ : '//tmp'
|
13
|
-
}
|
14
|
-
}, process.env.YT_USER_COLUMN_PRESETS_PATH ? {
|
15
|
-
userColumnPresets: {
|
16
|
-
cluster: process.env.YT_AUTH_CLUSTER_ID,
|
17
|
-
dynamicTablePath: process.env.YT_USER_COLUMN_PRESETS_PATH
|
18
|
-
}
|
19
|
-
} : {}) : {};
|
8
|
+
appAuthPolicy: AuthPolicy.required
|
9
|
+
};
|
20
10
|
var config = _objectSpread(_objectSpread({
|
21
11
|
appName: 'YTSaurus',
|
22
12
|
appSocket: 'dist/run/server.sock',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["typeis","AuthPolicy","path","require","ytAuthConfig","
|
1
|
+
{"version":3,"names":["typeis","AuthPolicy","path","require","ytAuthConfig","allowPasswordAuth","Boolean","process","env","ALLOW_PASSWORD_AUTH","ytAuthAllowInsecure","YT_AUTH_ALLOW_INSECURE","appAuthPolicy","required","config","_objectSpread","appName","appSocket","AUTH_POLICY","ytInterfaceSecret","resolve","__dirname","clustersConfigPath","expressBodyParserJSONConfig","strict","type","req","_req$url","url","startsWith","expressBodyParserURLEncodedConfig","_req$url2","expressBodyParserRawConfig","limit","_req$url3","uiSettings","reHashFromNodeVersion","directDownload","docsBaseUrl","YT_DOCS_BASE_URL"],"sources":["common.ts"],"sourcesContent":["import typeis from 'type-is';\n\nimport {AuthPolicy} from '@gravity-ui/expresskit';\nimport {AppConfig} from '@gravity-ui/nodekit';\n\nconst path = require('path');\n\nconst ytAuthConfig: Partial<AppConfig> = {\n allowPasswordAuth: Boolean(process.env.ALLOW_PASSWORD_AUTH),\n ytAuthAllowInsecure: Boolean(process.env.YT_AUTH_ALLOW_INSECURE),\n appAuthPolicy: AuthPolicy.required,\n};\n\nconst config: Partial<AppConfig> = {\n appName: 'YTSaurus',\n appSocket: 'dist/run/server.sock',\n appAuthPolicy: (process.env.AUTH_POLICY as AuthPolicy) || 'redirect',\n\n ...ytAuthConfig,\n // TODO: fix me\n // csp: 'disabled',\n\n ytInterfaceSecret: path.resolve(__dirname, '../../../secrets/yt-interface-secret.json'),\n clustersConfigPath: path.resolve(__dirname, '../../../clusters-config.json'),\n expressBodyParserJSONConfig: {\n strict: false,\n type(req: any) {\n // Disable JSON parser on yt-api to allow requests piping\n if (req.url?.startsWith('/api/yt/')) return false;\n\n // Simulate default logic given that 'type' option is 'application/json'\n return Boolean(typeis(req, 'application/json'));\n },\n },\n expressBodyParserURLEncodedConfig: {\n type(req) {\n // Disable urlencoded parser on yt-api\n if (req.url?.startsWith('/api/yt/')) return false;\n\n // Simulate default logic given that 'type' option is 'application/x-www-form-urlencoded'\n return Boolean(typeis(req, 'application/x-www-form-urlencoded'));\n },\n },\n expressBodyParserRawConfig: {\n limit: '21mb',\n type(req) {\n // Enable raw parser for all content-types on yt-api\n if (req.url?.startsWith('/api/yt/')) return true;\n\n // Simulate default logic given that 'type' option is 'multiform-data'\n return Boolean(typeis(req, 'multipart/form-data'));\n },\n },\n\n uiSettings: {\n reHashFromNodeVersion: '[^~]+~(?<hash>[^+]+)',\n directDownload: true,\n docsBaseUrl: process.env.YT_DOCS_BASE_URL || 'https://ytsaurus.tech/docs/en',\n },\n};\n\nexport default config;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,SAAS;AAE5B,SAAQC,UAAU,QAAO,wBAAwB;AAGjD,IAAMC,IAAI,GAAGC,OAAO,CAAC,MAAM,CAAC;AAE5B,IAAMC,YAAgC,GAAG;EACrCC,iBAAiB,EAAEC,OAAO,CAACC,OAAO,CAACC,GAAG,CAACC,mBAAmB,CAAC;EAC3DC,mBAAmB,EAAEJ,OAAO,CAACC,OAAO,CAACC,GAAG,CAACG,sBAAsB,CAAC;EAChEC,aAAa,EAAEX,UAAU,CAACY;AAC9B,CAAC;AAED,IAAMC,MAA0B,GAAAC,aAAA,CAAAA,aAAA;EAC5BC,OAAO,EAAE,UAAU;EACnBC,SAAS,EAAE,sBAAsB;EACjCL,aAAa,EAAGL,OAAO,CAACC,GAAG,CAACU,WAAW,IAAmB;AAAU,GAEjEd,YAAY;EACf;EACA;;EAEAe,iBAAiB,EAAEjB,IAAI,CAACkB,OAAO,CAACC,SAAS,EAAE,2CAA2C,CAAC;EACvFC,kBAAkB,EAAEpB,IAAI,CAACkB,OAAO,CAACC,SAAS,EAAE,+BAA+B,CAAC;EAC5EE,2BAA2B,EAAE;IACzBC,MAAM,EAAE,KAAK;IACbC,IAAI,WAAAA,KAACC,GAAQ,EAAE;MAAA,IAAAC,QAAA;MACX;MACA,KAAAA,QAAA,GAAID,GAAG,CAACE,GAAG,cAAAD,QAAA,eAAPA,QAAA,CAASE,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;;MAEjD;MACA,OAAOvB,OAAO,CAACN,MAAM,CAAC0B,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnD;EACJ,CAAC;EACDI,iCAAiC,EAAE;IAC/BL,IAAI,WAAAA,KAACC,GAAG,EAAE;MAAA,IAAAK,SAAA;MACN;MACA,KAAAA,SAAA,GAAIL,GAAG,CAACE,GAAG,cAAAG,SAAA,eAAPA,SAAA,CAASF,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;;MAEjD;MACA,OAAOvB,OAAO,CAACN,MAAM,CAAC0B,GAAG,EAAE,mCAAmC,CAAC,CAAC;IACpE;EACJ,CAAC;EACDM,0BAA0B,EAAE;IACxBC,KAAK,EAAE,MAAM;IACbR,IAAI,WAAAA,KAACC,GAAG,EAAE;MAAA,IAAAQ,SAAA;MACN;MACA,KAAAA,SAAA,GAAIR,GAAG,CAACE,GAAG,cAAAM,SAAA,eAAPA,SAAA,CAASL,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI;;MAEhD;MACA,OAAOvB,OAAO,CAACN,MAAM,CAAC0B,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACtD;EACJ,CAAC;EAEDS,UAAU,EAAE;IACRC,qBAAqB,EAAE,sBAAsB;IAC7CC,cAAc,EAAE,IAAI;IACpBC,WAAW,EAAE/B,OAAO,CAACC,GAAG,CAAC+B,gBAAgB,IAAI;EACjD;AAAC,EACJ;AAED,eAAezB,MAAM"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import typeis from 'type-is';
|
2
2
|
import { AuthPolicy } from '@gravity-ui/expresskit';
|
3
|
-
import { YT_LOCAL_CLUSTER_ID } from '../../shared/constants';
|
4
3
|
var localModeConfig = {
|
5
4
|
appAuthPolicy: AuthPolicy.disabled,
|
6
5
|
ytInterfaceSecret: undefined,
|
@@ -23,10 +22,6 @@ var localModeConfig = {
|
|
23
22
|
queryTrackerStage: 'testing',
|
24
23
|
directDownload: false,
|
25
24
|
reportBugUrl: 'https://github.com/ytsaurus/ytsaurus-ui/issues/new'
|
26
|
-
},
|
27
|
-
userSettingsConfig: {
|
28
|
-
cluster: YT_LOCAL_CLUSTER_ID,
|
29
|
-
mapNodePath: '//tmp'
|
30
25
|
}
|
31
26
|
};
|
32
27
|
export default localModeConfig;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["typeis","AuthPolicy","
|
1
|
+
{"version":3,"names":["typeis","AuthPolicy","localModeConfig","appAuthPolicy","disabled","ytInterfaceSecret","undefined","expressBodyParserJSONConfig","limit","type","req","_req$url","_req$url2","url","startsWith","Boolean","uiSettings","newTableReplicasCount","uploadTableMaxSize","uploadTableUseLocalmode","queryTrackerStage","directDownload","reportBugUrl"],"sources":["local.ts"],"sourcesContent":["import typeis from 'type-is';\n\nimport {AuthPolicy} from '@gravity-ui/expresskit';\nimport {AppConfig} from '@gravity-ui/nodekit';\n\nconst localModeConfig: Partial<AppConfig> = {\n appAuthPolicy: AuthPolicy.disabled,\n ytInterfaceSecret: undefined,\n\n expressBodyParserJSONConfig: {\n limit: '51mb',\n type(req) {\n // Enable raw parser for all content-types on yt-api for piping requests\n if (req.url?.startsWith('/api/yt/')) return false;\n if (req.url?.startsWith('/localmode/api/yt/')) return false;\n\n // Simulate default logic given that 'type' option is 'application/json'\n return Boolean(typeis(req, 'application/json'));\n },\n },\n\n uiSettings: {\n newTableReplicasCount: 1,\n uploadTableMaxSize: 50 * 1024 * 1024,\n uploadTableUseLocalmode: true,\n queryTrackerStage: 'testing',\n\n directDownload: false,\n\n reportBugUrl: 'https://github.com/ytsaurus/ytsaurus-ui/issues/new',\n },\n};\n\nexport default localModeConfig;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,SAAS;AAE5B,SAAQC,UAAU,QAAO,wBAAwB;AAGjD,IAAMC,eAAmC,GAAG;EACxCC,aAAa,EAAEF,UAAU,CAACG,QAAQ;EAClCC,iBAAiB,EAAEC,SAAS;EAE5BC,2BAA2B,EAAE;IACzBC,KAAK,EAAE,MAAM;IACbC,IAAI,WAAAA,KAACC,GAAG,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MACN;MACA,KAAAD,QAAA,GAAID,GAAG,CAACG,GAAG,cAAAF,QAAA,eAAPA,QAAA,CAASG,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;MACjD,KAAAF,SAAA,GAAIF,GAAG,CAACG,GAAG,cAAAD,SAAA,eAAPA,SAAA,CAASE,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,KAAK;;MAE3D;MACA,OAAOC,OAAO,CAACf,MAAM,CAACU,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnD;EACJ,CAAC;EAEDM,UAAU,EAAE;IACRC,qBAAqB,EAAE,CAAC;IACxBC,kBAAkB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACpCC,uBAAuB,EAAE,IAAI;IAC7BC,iBAAiB,EAAE,SAAS;IAE5BC,cAAc,EAAE,KAAK;IAErBC,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,eAAepB,eAAe"}
|
@@ -45,7 +45,7 @@ function _chytProxyApiImpl() {
|
|
45
45
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
46
46
|
while (1) switch (_context3.prev = _context3.next) {
|
47
47
|
case 0:
|
48
|
-
_req$params = req.params, action = _req$params.action, cluster = _req$params.
|
48
|
+
_req$params = req.params, action = _req$params.action, cluster = _req$params.ytAuthCluster;
|
49
49
|
ALLOWED_ACTIONS = new Set(['list', 'create', 'remove', 'start', 'stop', 'get_brief_info', 'describe_options', 'edit_options', 'get_speclet']);
|
50
50
|
if (ALLOWED_ACTIONS.has(action)) {
|
51
51
|
_context3.next = 4;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["axios","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getUserYTApiSetup","getPreloadedClusterUiConfig","chytProxyApi","_x","_x2","_chytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","chytProxyApiImpl","t0","ctx","method","query","page","headers","referer","stop","_x3","_x4","_chytProxyApiImpl","_callee3","_req$params","action","cluster","ALLOWED_ACTIONS","isDeveloper","_yield$getPreloadedCl","baseUrl","_getUserYTApiSetup","authHeaders","_callee3$","_context3","params","Set","has","abrupt","Error","concat","sent","chyt_controller_base_url","_objectSpread","getMetadata","accept","request","url","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","_x5"],"sources":["chyt-api.ts"],"sourcesContent":["import _ from 'lodash';\nimport axios from 'axios';\n\nimport type {Request, Response} from 'express';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {getPreloadedClusterUiConfig} from '../components/cluster-params';\n\nexport async function chytProxyApi(req: Request, res: Response) {\n try {\n await chytProxyApiImpl(req, res);\n } catch (e: any) {\n await sendAndLogError(req.ctx, res, 500, e, {\n method: 'nodejs',\n query: req.query,\n page: req.headers.referer,\n });\n }\n}\n\nasync function chytProxyApiImpl(req: Request, res: Response) {\n const {action, cluster} = req.params;\n const ALLOWED_ACTIONS = new Set([\n 'list',\n 'create',\n 'remove',\n 'start',\n 'stop',\n 'get_brief_info',\n 'describe_options',\n 'edit_options',\n 'get_speclet',\n ]);\n\n if (!ALLOWED_ACTIONS.has(action)) {\n return sendAndLogError(\n req.ctx,\n res,\n 400,\n new Error(`CHYT action - '${action}', is not supported`),\n );\n }\n\n const isDeveloper = req.query.isDeveloper === 'true';\n\n const {chyt_controller_base_url: baseUrl} = await getPreloadedClusterUiConfig(\n cluster,\n req.ctx,\n isDeveloper,\n );\n\n if (!baseUrl) {\n return sendAndLogError(\n req.ctx,\n res,\n 500,\n new Error('//sys/@ui_config/chyt_controller_base_url is not defined'),\n );\n }\n const {ctx} = req;\n\n const {authHeaders} = getUserYTApiSetup(cluster, req);\n const headers = {\n ...ctx.getMetadata(),\n 'accept-encoding': 'gzip',\n ...authHeaders,\n accept: 'application/json',\n };\n\n return axios\n .request({\n url: `${baseUrl}/${cluster}/${action}`,\n method: 'POST',\n headers,\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n}\n"],"mappings":";;;AACA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAAQC,8BAA8B,EAAEC,iBAAiB,EAAEC,eAAe,QAAO,UAAU;AAC3F,SAAQC,iBAAiB,QAAO,6BAA6B;AAC7D,SAAQC,2BAA2B,QAAO,8BAA8B;AAExE,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAVM,SAAAC,QAA4BC,GAAY,EAAEC,GAAa;IAAA,OAAAJ,mBAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAEhDC,gBAAgB,CAACP,GAAG,EAAEC,GAAG,CAAC;QAAA;UAAAG,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA;UAAAA,QAAA,CAAAE,IAAA;UAAA,OAE1BnB,eAAe,CAACa,GAAG,CAACS,GAAG,EAAER,GAAG,EAAE,GAAG,EAAAG,QAAA,CAAAI,EAAA,EAAK;YACxCE,MAAM,EAAE,QAAQ;YAChBC,KAAK,EAAEX,GAAG,CAACW,KAAK;YAChBC,IAAI,EAAEZ,GAAG,CAACa,OAAO,CAACC;UACtB,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAV,QAAA,CAAAW,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CAET;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEcY,gBAAgBA,CAAAS,GAAA,EAAAC,GAAA;EAAA,OAAAC,iBAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuB,kBAAA;EAAAA,iBAAA,GAAAtB,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAA/B,SAAAqB,SAAgCnB,GAAY,EAAEC,GAAa;IAAA,IAAAmB,WAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,eAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,OAAA,EAAAjB,GAAA,EAAAkB,kBAAA,EAAAC,WAAA,EAAAf,OAAA;IAAA,OAAAhB,mBAAA,CAAAK,IAAA,UAAA2B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;QAAA;UAAAc,WAAA,
|
1
|
+
{"version":3,"names":["axios","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getUserYTApiSetup","getPreloadedClusterUiConfig","chytProxyApi","_x","_x2","_chytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","chytProxyApiImpl","t0","ctx","method","query","page","headers","referer","stop","_x3","_x4","_chytProxyApiImpl","_callee3","_req$params","action","cluster","ALLOWED_ACTIONS","isDeveloper","_yield$getPreloadedCl","baseUrl","_getUserYTApiSetup","authHeaders","_callee3$","_context3","params","ytAuthCluster","Set","has","abrupt","Error","concat","sent","chyt_controller_base_url","_objectSpread","getMetadata","accept","request","url","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","_x5"],"sources":["chyt-api.ts"],"sourcesContent":["import _ from 'lodash';\nimport axios from 'axios';\n\nimport type {Request, Response} from 'express';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {getPreloadedClusterUiConfig} from '../components/cluster-params';\n\nexport async function chytProxyApi(req: Request, res: Response) {\n try {\n await chytProxyApiImpl(req, res);\n } catch (e: any) {\n await sendAndLogError(req.ctx, res, 500, e, {\n method: 'nodejs',\n query: req.query,\n page: req.headers.referer,\n });\n }\n}\n\nasync function chytProxyApiImpl(req: Request, res: Response) {\n const {action, ytAuthCluster: cluster} = req.params;\n const ALLOWED_ACTIONS = new Set([\n 'list',\n 'create',\n 'remove',\n 'start',\n 'stop',\n 'get_brief_info',\n 'describe_options',\n 'edit_options',\n 'get_speclet',\n ]);\n\n if (!ALLOWED_ACTIONS.has(action)) {\n return sendAndLogError(\n req.ctx,\n res,\n 400,\n new Error(`CHYT action - '${action}', is not supported`),\n );\n }\n\n const isDeveloper = req.query.isDeveloper === 'true';\n\n const {chyt_controller_base_url: baseUrl} = await getPreloadedClusterUiConfig(\n cluster,\n req.ctx,\n isDeveloper,\n );\n\n if (!baseUrl) {\n return sendAndLogError(\n req.ctx,\n res,\n 500,\n new Error('//sys/@ui_config/chyt_controller_base_url is not defined'),\n );\n }\n const {ctx} = req;\n\n const {authHeaders} = getUserYTApiSetup(cluster, req);\n const headers = {\n ...ctx.getMetadata(),\n 'accept-encoding': 'gzip',\n ...authHeaders,\n accept: 'application/json',\n };\n\n return axios\n .request({\n url: `${baseUrl}/${cluster}/${action}`,\n method: 'POST',\n headers,\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n}\n"],"mappings":"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"}
|
@@ -8,13 +8,13 @@ function handleClusterInfoImpl(_x, _x2) {
|
|
8
8
|
}
|
9
9
|
function _handleClusterInfoImpl() {
|
10
10
|
_handleClusterInfoImpl = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res) {
|
11
|
-
var
|
11
|
+
var ytAuthCluster, cfg, results;
|
12
12
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
13
13
|
while (1) switch (_context.prev = _context.next) {
|
14
14
|
case 0:
|
15
15
|
_context.prev = 0;
|
16
|
-
|
17
|
-
cfg = getUserYTApiSetup(
|
16
|
+
ytAuthCluster = req.params.ytAuthCluster;
|
17
|
+
cfg = getUserYTApiSetup(ytAuthCluster, req);
|
18
18
|
_context.next = 5;
|
19
19
|
return getClusterInfo(req, cfg);
|
20
20
|
case 5:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getClusterInfo","getUserYTApiSetup","sendAndLogError","handleClusterInfoImpl","_x","_x2","_handleClusterInfoImpl","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","
|
1
|
+
{"version":3,"names":["getClusterInfo","getUserYTApiSetup","sendAndLogError","handleClusterInfoImpl","_x","_x2","_handleClusterInfoImpl","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","ytAuthCluster","cfg","results","wrap","_callee$","_context","prev","next","params","sent","abrupt","send","t0","ctx","stop","handleClusterInfo","_x3","_x4","_handleClusterInfo","_callee2","_callee2$","_context2"],"sources":["cluster-info.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {getClusterInfo} from '../components/cluster-queries';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {sendAndLogError} from '../utils';\n\nasync function handleClusterInfoImpl(req: Request, res: Response) {\n try {\n const {\n params: {ytAuthCluster},\n } = req;\n\n const cfg = getUserYTApiSetup(ytAuthCluster, req);\n\n const results = await getClusterInfo(req, cfg);\n return res.send(results);\n } catch (err: any) {\n return sendAndLogError(req.ctx, res, 500, err);\n }\n}\n\nexport async function handleClusterInfo(req: Request, res: Response) {\n await handleClusterInfoImpl(req, res);\n}\n"],"mappings":";;AACA,SAAQA,cAAc,QAAO,+BAA+B;AAC5D,SAAQC,iBAAiB,QAAO,6BAA6B;AAC7D,SAAQC,eAAe,QAAO,UAAU;AAAC,SAE1BC,qBAAqBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,sBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,uBAAA;EAAAA,sBAAA,GAAAG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAApC,SAAAC,QAAqCC,GAAY,EAAEC,GAAa;IAAA,IAAAC,aAAA,EAAAC,GAAA,EAAAC,OAAA;IAAA,OAAAP,mBAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAG3CN,aAAa,GACtBF,GAAG,CADHU,MAAM,CAAGR,aAAa;UAGpBC,GAAG,GAAGf,iBAAiB,CAACc,aAAa,EAAEF,GAAG,CAAC;UAAAO,QAAA,CAAAE,IAAA;UAAA,OAE3BtB,cAAc,CAACa,GAAG,EAAEG,GAAG,CAAC;QAAA;UAAxCC,OAAO,GAAAG,QAAA,CAAAI,IAAA;UAAA,OAAAJ,QAAA,CAAAK,MAAA,WACNX,GAAG,CAACY,IAAI,CAACT,OAAO,CAAC;QAAA;UAAAG,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAO,EAAA,GAAAP,QAAA;UAAA,OAAAA,QAAA,CAAAK,MAAA,WAEjBvB,eAAe,CAACW,GAAG,CAACe,GAAG,EAAEd,GAAG,EAAE,GAAG,EAAAM,QAAA,CAAAO,EAAK,CAAC;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAS,IAAA;MAAA;IAAA,GAAAjB,OAAA;EAAA,CAErD;EAAA,OAAAN,sBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,gBAAsBsB,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAA1B,KAAA,OAAAC,SAAA;AAAA;AAEtC,SAAAyB,mBAAA;EAAAA,kBAAA,GAAAxB,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAFM,SAAAuB,SAAiCrB,GAAY,EAAEC,GAAa;IAAA,OAAAJ,mBAAA,CAAAQ,IAAA,UAAAiB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;QAAA;UAAAc,SAAA,CAAAd,IAAA;UAAA,OACzDnB,qBAAqB,CAACU,GAAG,EAAEC,GAAG,CAAC;QAAA;QAAA;UAAA,OAAAsB,SAAA,CAAAP,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CACxC;EAAA,OAAAD,kBAAA,CAAA1B,KAAA,OAAAC,SAAA;AAAA"}
|
@@ -13,7 +13,7 @@ function _clusterParams() {
|
|
13
13
|
case 0:
|
14
14
|
_context.prev = 0;
|
15
15
|
_context.next = 3;
|
16
|
-
return getPreloadedClusterParams(req.params.
|
16
|
+
return getPreloadedClusterParams(req.params.ytAuthCluster, req.ctx);
|
17
17
|
case 3:
|
18
18
|
response = _context.sent;
|
19
19
|
res.status(200).send(response);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getPreloadedClusterParams","sendAndLogError","clusterParams","_x","_x2","_clusterParams","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","response","wrap","_callee$","_context","prev","next","params","
|
1
|
+
{"version":3,"names":["getPreloadedClusterParams","sendAndLogError","clusterParams","_x","_x2","_clusterParams","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","response","wrap","_callee$","_context","prev","next","params","ytAuthCluster","ctx","sent","status","send","t0","stop"],"sources":["cluster-params.ts"],"sourcesContent":["import type {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\n\nimport {getPreloadedClusterParams} from '../components/cluster-params';\nimport {sendAndLogError} from '../utils';\n\nexport async function clusterParams(req: Request, res: Response) {\n try {\n const response = await getPreloadedClusterParams(req.params.ytAuthCluster, req.ctx);\n res.status(200).send(response);\n } catch (error) {\n sendAndLogError(req.ctx, res, 500, error as Error | AxiosError);\n }\n}\n"],"mappings":";;AAGA,SAAQA,yBAAyB,QAAO,8BAA8B;AACtE,SAAQC,eAAe,QAAO,UAAU;AAExC,gBAAsBC,aAAaA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAOlC,SAAAF,eAAA;EAAAA,cAAA,GAAAG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAPM,SAAAC,QAA6BC,GAAY,EAAEC,GAAa;IAAA,IAAAC,QAAA;IAAA,OAAAL,mBAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAEhCnB,yBAAyB,CAACY,GAAG,CAACQ,MAAM,CAACC,aAAa,EAAET,GAAG,CAACU,GAAG,CAAC;QAAA;UAA7ER,QAAQ,GAAAG,QAAA,CAAAM,IAAA;UACdV,GAAG,CAACW,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAACX,QAAQ,CAAC;UAACG,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAS,EAAA,GAAAT,QAAA;UAE/BhB,eAAe,CAACW,GAAG,CAACU,GAAG,EAAET,GAAG,EAAE,GAAG,EAAAI,QAAA,CAAAS,EAA6B,CAAC;QAAC;QAAA;UAAA,OAAAT,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CAEvE;EAAA,OAAAN,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { YT_CYPRESS_COOKIE_NAME } from '../../shared/constants';
|
1
2
|
import { sendError, sendResponse } from '../utils';
|
2
3
|
import { getVersions } from '../components/cluster-queries';
|
3
4
|
import { getClustersFromConfig } from '../components/utils';
|
@@ -9,4 +10,26 @@ export function clusterVersions(req, res) {
|
|
9
10
|
return sendError(res, error);
|
10
11
|
});
|
11
12
|
}
|
13
|
+
export function clusterAuthStatus(req, res) {
|
14
|
+
var allowPasswordAuth = req.ctx.config.allowPasswordAuth;
|
15
|
+
var data = {};
|
16
|
+
if (allowPasswordAuth) {
|
17
|
+
var clusters = getClustersFromConfig();
|
18
|
+
data = Object.keys(clusters).reduce(function (ret, cluster) {
|
19
|
+
ret[cluster] = {
|
20
|
+
authorized: Boolean(req.cookies["".concat(cluster, ":").concat(YT_CYPRESS_COOKIE_NAME)])
|
21
|
+
};
|
22
|
+
return ret;
|
23
|
+
}, {});
|
24
|
+
} else {
|
25
|
+
var _clusters = getClustersFromConfig();
|
26
|
+
data = Object.keys(_clusters).reduce(function (ret, clusterName) {
|
27
|
+
ret[clusterName] = {
|
28
|
+
authorized: true
|
29
|
+
};
|
30
|
+
return ret;
|
31
|
+
}, {});
|
32
|
+
}
|
33
|
+
sendResponse(res, data);
|
34
|
+
}
|
12
35
|
// #sourceMappingURL=clusters.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["sendError","sendResponse","getVersions","getClustersFromConfig","clusterVersions","req","res","clusters","then","data","error"],"sources":["clusters.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {sendError, sendResponse} from '../utils';\
|
1
|
+
{"version":3,"names":["YT_CYPRESS_COOKIE_NAME","sendError","sendResponse","getVersions","getClustersFromConfig","clusterVersions","req","res","clusters","then","data","error","clusterAuthStatus","allowPasswordAuth","ctx","config","Object","keys","reduce","ret","cluster","authorized","Boolean","cookies","concat","clusterName"],"sources":["clusters.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {sendError, sendResponse} from '../utils';\nimport {getVersions} from '../components/cluster-queries';\nimport {getClustersFromConfig} from '../components/utils';\n\nexport function clusterVersions(req: Request, res: Response) {\n const clusters = getClustersFromConfig();\n\n getVersions(req, clusters)\n .then((data: {}) => sendResponse(res, data))\n .catch((error: any) => sendError(res, error));\n}\n\ntype ClusterAuthStatus = Record<string, {authorized: boolean}>;\n\nexport function clusterAuthStatus(req: Request, res: Response) {\n const allowPasswordAuth = req.ctx.config.allowPasswordAuth;\n\n let data = {};\n\n if (allowPasswordAuth) {\n const clusters = getClustersFromConfig();\n\n data = Object.keys(clusters).reduce((ret, cluster) => {\n ret[cluster] = {\n authorized: Boolean(req.cookies[`${cluster}:${YT_CYPRESS_COOKIE_NAME}`]),\n };\n\n return ret;\n }, {} as ClusterAuthStatus);\n } else {\n const clusters = getClustersFromConfig();\n\n data = Object.keys(clusters).reduce((ret, clusterName) => {\n ret[clusterName] = {authorized: true};\n\n return ret;\n }, {} as ClusterAuthStatus);\n }\n\n sendResponse(res, data);\n}\n"],"mappings":"AACA,SAAQA,sBAAsB,QAAO,wBAAwB;AAC7D,SAAQC,SAAS,EAAEC,YAAY,QAAO,UAAU;AAChD,SAAQC,WAAW,QAAO,+BAA+B;AACzD,SAAQC,qBAAqB,QAAO,qBAAqB;AAEzD,OAAO,SAASC,eAAeA,CAACC,GAAY,EAAEC,GAAa,EAAE;EACzD,IAAMC,QAAQ,GAAGJ,qBAAqB,CAAC,CAAC;EAExCD,WAAW,CAACG,GAAG,EAAEE,QAAQ,CAAC,CACrBC,IAAI,CAAC,UAACC,IAAQ;IAAA,OAAKR,YAAY,CAACK,GAAG,EAAEG,IAAI,CAAC;EAAA,EAAC,SACtC,CAAC,UAACC,KAAU;IAAA,OAAKV,SAAS,CAACM,GAAG,EAAEI,KAAK,CAAC;EAAA,EAAC;AACrD;AAIA,OAAO,SAASC,iBAAiBA,CAACN,GAAY,EAAEC,GAAa,EAAE;EAC3D,IAAMM,iBAAiB,GAAGP,GAAG,CAACQ,GAAG,CAACC,MAAM,CAACF,iBAAiB;EAE1D,IAAIH,IAAI,GAAG,CAAC,CAAC;EAEb,IAAIG,iBAAiB,EAAE;IACnB,IAAML,QAAQ,GAAGJ,qBAAqB,CAAC,CAAC;IAExCM,IAAI,GAAGM,MAAM,CAACC,IAAI,CAACT,QAAQ,CAAC,CAACU,MAAM,CAAC,UAACC,GAAG,EAAEC,OAAO,EAAK;MAClDD,GAAG,CAACC,OAAO,CAAC,GAAG;QACXC,UAAU,EAAEC,OAAO,CAAChB,GAAG,CAACiB,OAAO,IAAAC,MAAA,CAAIJ,OAAO,OAAAI,MAAA,CAAIxB,sBAAsB,EAAG;MAC3E,CAAC;MAED,OAAOmB,GAAG;IACd,CAAC,EAAE,CAAC,CAAsB,CAAC;EAC/B,CAAC,MAAM;IACH,IAAMX,SAAQ,GAAGJ,qBAAqB,CAAC,CAAC;IAExCM,IAAI,GAAGM,MAAM,CAACC,IAAI,CAACT,SAAQ,CAAC,CAACU,MAAM,CAAC,UAACC,GAAG,EAAEM,WAAW,EAAK;MACtDN,GAAG,CAACM,WAAW,CAAC,GAAG;QAACJ,UAAU,EAAE;MAAI,CAAC;MAErC,OAAOF,GAAG;IACd,CAAC,EAAE,CAAC,CAAsB,CAAC;EAC/B;EAEAjB,YAAY,CAACK,GAAG,EAAEG,IAAI,CAAC;AAC3B"}
|
@@ -10,13 +10,14 @@ import ServerFactory, { getApp } from '../ServerFactory';
|
|
10
10
|
import { isLocalModeByEnvironment } from '../utils';
|
11
11
|
import { getDafaultUserSettings } from '../utils/default-settings';
|
12
12
|
import { ODIN_PAGE_ID } from '../../shared/constants';
|
13
|
+
import { getSettingsConfig } from '../../server/components/settings';
|
13
14
|
function isRootPage(page) {
|
14
15
|
var _getApp$config;
|
15
16
|
var rootPages = [].concat(_toConsumableArray((_getApp$config = getApp().config) !== null && _getApp$config !== void 0 && _getApp$config.odinBaseUrl ? [ODIN_PAGE_ID] : []), _toConsumableArray(ServerFactory.getExtraRootPages()));
|
16
17
|
return -1 !== rootPages.indexOf(page);
|
17
18
|
}
|
18
19
|
export function homeRedirect(req, res) {
|
19
|
-
var cluster = req.params.
|
20
|
+
var cluster = req.params.ytAuthCluster;
|
20
21
|
var referrer = req.query.referrer;
|
21
22
|
var url = referrer ? referrer : "/".concat(cluster);
|
22
23
|
res.redirect(url);
|
@@ -27,12 +28,12 @@ export function homeIndex(_x, _x2) {
|
|
27
28
|
function _homeIndex() {
|
28
29
|
_homeIndex = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res) {
|
29
30
|
var _req$yt, _req$yt2;
|
30
|
-
var isRoot, cluster, url, ctx, _getClusterConfig, clusterConfig, ytConfig, login, useRemoteSettings, settings, userSettings, message, errorMessage, layoutConfig, html;
|
31
|
+
var isRoot, cluster, url, ctx, _getClusterConfig, clusterConfig, ytConfig, login, useRemoteSettings, settings, settingsConfig, userSettings, message, errorMessage, layoutConfig, html;
|
31
32
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
32
33
|
while (1) switch (_context.prev = _context.next) {
|
33
34
|
case 0:
|
34
|
-
isRoot = isRootPage(req.params.
|
35
|
-
cluster = isRoot ? undefined : req.params.
|
35
|
+
isRoot = isRootPage(req.params.ytAuthCluster);
|
36
|
+
cluster = isRoot ? undefined : req.params.ytAuthCluster;
|
36
37
|
_context.prev = 2;
|
37
38
|
_context.next = 5;
|
38
39
|
return ServerFactory.getHomeRedirectedUrl(cluster, req);
|
@@ -77,40 +78,43 @@ function _homeIndex() {
|
|
77
78
|
errorMessage: undefined
|
78
79
|
}
|
79
80
|
};
|
80
|
-
|
81
|
-
|
81
|
+
settingsConfig = getSettingsConfig(cluster);
|
82
|
+
if (!(login && useRemoteSettings && settingsConfig.cluster)) {
|
83
|
+
_context.next = 46;
|
82
84
|
break;
|
83
85
|
}
|
84
|
-
_context.prev =
|
85
|
-
_context.next =
|
86
|
+
_context.prev = 26;
|
87
|
+
_context.next = 29;
|
86
88
|
return create({
|
87
89
|
ctx: ctx,
|
88
|
-
username: login
|
90
|
+
username: login,
|
91
|
+
cluster: settingsConfig.cluster
|
89
92
|
});
|
90
|
-
case
|
93
|
+
case 29:
|
91
94
|
if (!login) {
|
92
|
-
_context.next =
|
95
|
+
_context.next = 35;
|
93
96
|
break;
|
94
97
|
}
|
95
|
-
_context.next =
|
98
|
+
_context.next = 32;
|
96
99
|
return get({
|
97
100
|
ctx: ctx,
|
98
|
-
username: login
|
101
|
+
username: login,
|
102
|
+
cluster: settingsConfig.cluster
|
99
103
|
});
|
100
|
-
case
|
104
|
+
case 32:
|
101
105
|
_context.t1 = _context.sent;
|
102
|
-
_context.next =
|
106
|
+
_context.next = 36;
|
103
107
|
break;
|
104
|
-
case 34:
|
105
|
-
_context.t1 = {};
|
106
108
|
case 35:
|
109
|
+
_context.t1 = {};
|
110
|
+
case 36:
|
107
111
|
userSettings = _context.t1;
|
108
112
|
settings.data = _objectSpread(_objectSpread({}, settings.data), userSettings);
|
109
|
-
_context.next =
|
113
|
+
_context.next = 46;
|
110
114
|
break;
|
111
|
-
case
|
112
|
-
_context.prev =
|
113
|
-
_context.t2 = _context["catch"](
|
115
|
+
case 40:
|
116
|
+
_context.prev = 40;
|
117
|
+
_context.t2 = _context["catch"](26);
|
114
118
|
message = "Error in getting user settings for ".concat(login);
|
115
119
|
req.ctx.logError(message, _context.t2);
|
116
120
|
errorMessage = "Oh, no. ".concat(message, ". You are using default settings. ") + 'All settings changes will be saved in browser only.\n' + 'Try to reload page. If problem persists please report it via Bug Reporter.';
|
@@ -118,8 +122,8 @@ function _homeIndex() {
|
|
118
122
|
useRemoteSettings: false,
|
119
123
|
errorMessage: errorMessage
|
120
124
|
});
|
121
|
-
case
|
122
|
-
_context.next =
|
125
|
+
case 46:
|
126
|
+
_context.next = 48;
|
123
127
|
return getLayoutConfig(req, {
|
124
128
|
login: login,
|
125
129
|
uid: (_req$yt2 = req.yt) === null || _req$yt2 === void 0 ? void 0 : _req$yt2.uid,
|
@@ -127,18 +131,18 @@ function _homeIndex() {
|
|
127
131
|
ytConfig: ytConfig,
|
128
132
|
settings: settings
|
129
133
|
});
|
130
|
-
case
|
134
|
+
case 48:
|
131
135
|
layoutConfig = _context.sent;
|
132
|
-
_context.next =
|
136
|
+
_context.next = 51;
|
133
137
|
return ServerFactory.renderLayout(layoutConfig, req, res);
|
134
|
-
case
|
138
|
+
case 51:
|
135
139
|
html = _context.sent;
|
136
140
|
res.send(html);
|
137
|
-
case
|
141
|
+
case 53:
|
138
142
|
case "end":
|
139
143
|
return _context.stop();
|
140
144
|
}
|
141
|
-
}, _callee, null, [[2, 10], [
|
145
|
+
}, _callee, null, [[2, 10], [26, 40]]);
|
142
146
|
}));
|
143
147
|
return _homeIndex.apply(this, arguments);
|
144
148
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","encodeURIComponent","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.
|
1
|
+
{"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","getSettingsConfig","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","ytAuthCluster","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","settingsConfig","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","encodeURIComponent","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\nimport {getSettingsConfig} from '../../server/components/settings';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.ytAuthCluster;\n const {referrer} = req.query;\n const url = referrer ? (referrer as string) : `/${cluster}`;\n\n res.redirect(url);\n}\n\nexport async function homeIndex(req: Request, res: Response) {\n const isRoot = isRootPage(req.params.ytAuthCluster);\n const cluster = isRoot ? undefined : req.params.ytAuthCluster;\n\n try {\n const url = await ServerFactory.getHomeRedirectedUrl(cluster, req);\n if (url) {\n return res.redirect(url);\n }\n } catch (e) {\n req.ctx.logError('Failed to calculate redirects', e);\n }\n\n const {ctx} = req;\n\n const {clusterConfig, ytConfig} = getClusterConfig(cluster);\n const login = ytConfig.isLocalCluster ? 'root' : req.yt?.login;\n // Refuse to serve localRemoteProxy requests erroneously delegated from main interface to another\n // interface running in a container (instead of YT container)\n if (_.isEmpty(clusterConfig) && cluster) {\n if (!req.ctx.config.ytAllowRemoteLocalProxy && !isLocalModeByEnvironment()) {\n res.redirect('/');\n return;\n }\n res.status(404).send(\n `No config for cluster <b>${encodeURIComponent(cluster)}</b> exists.` +\n '<div>If you are trying to connect to your local cluster please make sure:</div>' +\n '<ol><li>FQDN of the cluster is correct</li>' +\n '<li>The port is greater than or equal to 1000.</li></ol>',\n );\n return;\n }\n\n const useRemoteSettings = isRemoteSettingsConfigured();\n\n const settings = {\n data: getDafaultUserSettings(req.ctx.config),\n meta: {\n useRemoteSettings,\n errorMessage: undefined as string | undefined,\n },\n };\n\n const settingsConfig = getSettingsConfig(cluster!);\n\n if (login && useRemoteSettings && settingsConfig.cluster) {\n try {\n await create({ctx, username: login, cluster: settingsConfig.cluster});\n const userSettings = login\n ? await get({ctx, username: login, cluster: settingsConfig.cluster})\n : {};\n settings.data = {...settings.data, ...userSettings};\n } catch (e) {\n const message = `Error in getting user settings for ${login}`;\n req.ctx.logError(message, e);\n\n const errorMessage =\n `Oh, no. ${message}. You are using default settings. ` +\n 'All settings changes will be saved in browser only.\\n' +\n 'Try to reload page. If problem persists please report it via Bug Reporter.';\n\n settings.meta = {\n ...settings.meta,\n useRemoteSettings: false,\n errorMessage,\n };\n }\n }\n\n const layoutConfig = await getLayoutConfig(req, {\n login,\n uid: req.yt?.uid,\n cluster,\n ytConfig,\n settings,\n });\n const html = await ServerFactory.renderLayout(layoutConfig, req, res);\n res.send(html);\n}\n"],"mappings":"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"}
|
@@ -12,7 +12,6 @@ import crypto from 'crypto';
|
|
12
12
|
// @ts-ignore
|
13
13
|
import ytLib from '@ytsaurus/javascript-wrapper';
|
14
14
|
import { getXSRFToken } from '../components/cluster-queries';
|
15
|
-
import { getAuthCluster } from '../components/yt-auth';
|
16
15
|
var yt = ytLib();
|
17
16
|
export function handleLogin(_x, _x2) {
|
18
17
|
return _handleLogin.apply(this, arguments);
|
@@ -24,7 +23,7 @@ function _handleLogin() {
|
|
24
23
|
while (1) switch (_context2.prev = _context2.next) {
|
25
24
|
case 0:
|
26
25
|
_context2.prev = 0;
|
27
|
-
ytAuthCluster =
|
26
|
+
ytAuthCluster = req.params.ytAuthCluster;
|
28
27
|
_ref = JSON.parse(req.body) || {}, username = _ref.username, password = _ref.password;
|
29
28
|
if (!(!username || !password)) {
|
30
29
|
_context2.next = 5;
|
@@ -52,6 +51,15 @@ function _handleLogin() {
|
|
52
51
|
case 0:
|
53
52
|
_context.next = 2;
|
54
53
|
return pipeAxiosResponse(req.ctx, res, response, undefined, function (headers) {
|
54
|
+
if (headers['set-cookie']) {
|
55
|
+
headers['set-cookie'] = headers['set-cookie'].reduce(function (ret, item) {
|
56
|
+
ret.push(item);
|
57
|
+
if (item.startsWith(YT_CYPRESS_COOKIE_NAME)) {
|
58
|
+
ret.push(item.replace(YT_CYPRESS_COOKIE_NAME, "".concat(ytAuthCluster, ":").concat(YT_CYPRESS_COOKIE_NAME)));
|
59
|
+
}
|
60
|
+
return ret;
|
61
|
+
}, []);
|
62
|
+
}
|
55
63
|
return removeSecureFlagIfOriginInsecure(req, headers);
|
56
64
|
});
|
57
65
|
case 2:
|
@@ -97,7 +105,7 @@ function removeSecureFlagIfOriginInsecure(req, headers) {
|
|
97
105
|
acc[k] = v;
|
98
106
|
} else {
|
99
107
|
var tmp = _map(v, function (item) {
|
100
|
-
if (item.
|
108
|
+
if (item.includes(YT_CYPRESS_COOKIE_NAME)) {
|
101
109
|
return item.replace(/\s*Secure;/, '');
|
102
110
|
}
|
103
111
|
return item;
|
@@ -117,37 +125,43 @@ function _handleChangePassword() {
|
|
117
125
|
while (1) switch (_context3.prev = _context3.next) {
|
118
126
|
case 0:
|
119
127
|
_context3.prev = 0;
|
120
|
-
ytAuthCluster =
|
128
|
+
ytAuthCluster = req.params.ytAuthCluster;
|
129
|
+
if (ytAuthCluster) {
|
130
|
+
_context3.next = 4;
|
131
|
+
break;
|
132
|
+
}
|
133
|
+
throw new Error('You have to define ytAuthCluster.');
|
134
|
+
case 4:
|
121
135
|
_ref3 = JSON.parse(req.body) || {}, newPassword = _ref3.newPassword, currentPassword = _ref3.currentPassword;
|
122
136
|
if (!(!newPassword || !currentPassword)) {
|
123
|
-
_context3.next =
|
137
|
+
_context3.next = 7;
|
124
138
|
break;
|
125
139
|
}
|
126
140
|
throw new Error('New and current password must not be empty');
|
127
|
-
case
|
141
|
+
case 7:
|
128
142
|
new_password_sha256 = crypto.createHash('sha256').update(newPassword).digest('hex');
|
129
143
|
current_password_sha256 = crypto.createHash('sha256').update(currentPassword).digest('hex');
|
130
|
-
_context3.prev =
|
144
|
+
_context3.prev = 9;
|
131
145
|
cfg = getUserYTApiSetup(ytAuthCluster, req);
|
132
|
-
_context3.next =
|
146
|
+
_context3.next = 17;
|
133
147
|
break;
|
134
|
-
case
|
135
|
-
_context3.prev =
|
136
|
-
_context3.t0 = _context3["catch"](
|
148
|
+
case 13:
|
149
|
+
_context3.prev = 13;
|
150
|
+
_context3.t0 = _context3["catch"](9);
|
137
151
|
sendAndLogError(req.ctx, res, 400, _context3.t0);
|
138
152
|
return _context3.abrupt("return");
|
139
|
-
case
|
153
|
+
case 17:
|
140
154
|
_cfg = cfg, setup = _cfg.setup;
|
141
|
-
_context3.next =
|
155
|
+
_context3.next = 20;
|
142
156
|
return getXSRFToken(req, cfg);
|
143
|
-
case
|
157
|
+
case 20:
|
144
158
|
_yield$getXSRFToken = _context3.sent;
|
145
159
|
login = _yield$getXSRFToken.login;
|
146
160
|
csrf_token = _yield$getXSRFToken.csrf_token;
|
147
161
|
yt.setup.createOption('requestHeaders', 'object', {
|
148
162
|
'X-Csrf-Token': csrf_token
|
149
163
|
});
|
150
|
-
_context3.next =
|
164
|
+
_context3.next = 26;
|
151
165
|
return yt.v4.setUserPassword({
|
152
166
|
setup: setup,
|
153
167
|
parameters: {
|
@@ -162,18 +176,18 @@ function _handleChangePassword() {
|
|
162
176
|
})["catch"](function (err) {
|
163
177
|
sendAndLogError(req.ctx, res, 500, err);
|
164
178
|
});
|
165
|
-
case 24:
|
166
|
-
_context3.next = 29;
|
167
|
-
break;
|
168
179
|
case 26:
|
169
|
-
_context3.
|
180
|
+
_context3.next = 31;
|
181
|
+
break;
|
182
|
+
case 28:
|
183
|
+
_context3.prev = 28;
|
170
184
|
_context3.t1 = _context3["catch"](0);
|
171
185
|
sendAndLogError(req.ctx, res, 500, _context3.t1);
|
172
|
-
case
|
186
|
+
case 31:
|
173
187
|
case "end":
|
174
188
|
return _context3.stop();
|
175
189
|
}
|
176
|
-
}, _callee3, null, [[0,
|
190
|
+
}, _callee3, null, [[0, 28], [9, 13]]);
|
177
191
|
}));
|
178
192
|
return _handleChangePassword.apply(this, arguments);
|
179
193
|
}
|