@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
@@ -7,36 +7,36 @@ function sendResponse(_req, res, data) {
|
|
7
7
|
return res.set('content-type', 'application/json').status(200).send(JSON.stringify(data));
|
8
8
|
}
|
9
9
|
function settingsCreate(req, res) {
|
10
|
-
const { ctx, params: { username }, } = req;
|
11
|
-
return (0, settings_1.create)({ ctx, username })
|
10
|
+
const { ctx, params: { username, ytAuthCluster }, } = req;
|
11
|
+
return (0, settings_1.create)({ ctx, username, cluster: ytAuthCluster })
|
12
12
|
.then(sendResponse.bind(null, req, res))
|
13
13
|
.catch(utils_1.sendError.bind(null, res));
|
14
14
|
}
|
15
15
|
exports.settingsCreate = settingsCreate;
|
16
16
|
function settingsGet(req, res) {
|
17
|
-
const { ctx, params: { username }, } = req;
|
18
|
-
return (0, settings_1.get)({ ctx, username })
|
17
|
+
const { ctx, params: { username, ytAuthCluster }, } = req;
|
18
|
+
return (0, settings_1.get)({ ctx, username, cluster: ytAuthCluster })
|
19
19
|
.then(sendResponse.bind(null, req, res))
|
20
20
|
.catch(utils_1.sendError.bind(null, res));
|
21
21
|
}
|
22
22
|
exports.settingsGet = settingsGet;
|
23
23
|
async function settingsGetItem(req, res) {
|
24
|
-
const { ctx, params: { username, path }, } = req;
|
25
|
-
return (0, settings_1.getItem)({ ctx, username, path })
|
24
|
+
const { ctx, params: { username, path, ytAuthCluster }, } = req;
|
25
|
+
return (0, settings_1.getItem)({ ctx, username, path, cluster: ytAuthCluster })
|
26
26
|
.then(sendResponse.bind(null, req, res))
|
27
27
|
.catch(utils_1.sendError.bind(null, res));
|
28
28
|
}
|
29
29
|
exports.settingsGetItem = settingsGetItem;
|
30
30
|
function settingsSetItem(req, res) {
|
31
|
-
const { ctx, params: { username, path }, body: { value } = {}, } = req;
|
32
|
-
return (0, settings_1.setItem)({ ctx, username, path, value })
|
31
|
+
const { ctx, params: { username, path, ytAuthCluster }, body: { value } = {}, } = req;
|
32
|
+
return (0, settings_1.setItem)({ ctx, username, path, value, cluster: ytAuthCluster })
|
33
33
|
.then(sendResponse.bind(null, req, res))
|
34
34
|
.catch(utils_1.sendError.bind(null, res));
|
35
35
|
}
|
36
36
|
exports.settingsSetItem = settingsSetItem;
|
37
37
|
function settingsDeleteItem(req, res) {
|
38
|
-
const { ctx, params: { username, path }, } = req;
|
39
|
-
return (0, settings_1.deleteItem)({ ctx, username, path })
|
38
|
+
const { ctx, params: { username, path, ytAuthCluster }, } = req;
|
39
|
+
return (0, settings_1.deleteItem)({ ctx, username, path, cluster: ytAuthCluster })
|
40
40
|
.then(sendResponse.bind(null, req, res))
|
41
41
|
.catch(utils_1.sendError.bind(null, res));
|
42
42
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_settings","require","_utils","_interopRequireDefault","obj","__esModule","default","sendResponse","_req","res","data","set","status","send","JSON","stringify","settingsCreate","req","ctx","
|
1
|
+
{"version":3,"names":["_settings","require","_utils","_interopRequireDefault","obj","__esModule","default","sendResponse","_req","res","data","set","status","send","JSON","stringify","settingsCreate","req","ctx","_req$params","params","username","ytAuthCluster","create","cluster","then","bind","sendError","settingsGet","_req$params2","get","settingsGetItem","_x","_x2","_settingsGetItem","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$params5","path","wrap","_callee$","_context","prev","next","abrupt","getItem","stop","settingsSetItem","_req$params3","_req$body","body","_req$body2","value","setItem","settingsDeleteItem","_req$params4","deleteItem"],"sources":["settings.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {create, deleteItem, get, getItem, setItem} from '../components/settings';\nimport {sendError} from '../utils';\n\nfunction sendResponse(_req: Request, res: Response, data: object) {\n return res.set('content-type', 'application/json').status(200).send(JSON.stringify(data));\n}\n\nexport function settingsCreate(req: Request, res: Response) {\n const {\n ctx,\n params: {username, ytAuthCluster},\n } = req;\n\n return create({ctx, username, cluster: ytAuthCluster})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\nexport function settingsGet(req: Request, res: Response) {\n const {\n ctx,\n params: {username, ytAuthCluster},\n } = req;\n\n return get({ctx, username, cluster: ytAuthCluster})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\nexport async function settingsGetItem(req: Request, res: Response) {\n const {\n ctx,\n params: {username, path, ytAuthCluster},\n } = req;\n\n return getItem({ctx, username, path, cluster: ytAuthCluster})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\nexport function settingsSetItem(req: Request, res: Response) {\n const {\n ctx,\n params: {username, path, ytAuthCluster},\n body: {value} = {},\n } = req;\n\n return setItem({ctx, username, path, value, cluster: ytAuthCluster})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\nexport function settingsDeleteItem(req: Request, res: Response) {\n const {\n ctx,\n params: {username, path, ytAuthCluster},\n } = req;\n\n return deleteItem({ctx, username, path, cluster: ytAuthCluster})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\n"],"mappings":"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"}
|
@@ -4,10 +4,10 @@ exports.isUserColumnPresetsEnabled = exports.tableColumnPresetSave = exports.tab
|
|
4
4
|
const table_1 = require("../components/table");
|
5
5
|
const utils_1 = require("../utils");
|
6
6
|
async function tableColumnPresetGet(req, res) {
|
7
|
-
const { params: { hash }, } = req;
|
7
|
+
const { params: { hash, ytAuthCluster }, } = req;
|
8
8
|
try {
|
9
9
|
const presetsConfig = checkEnabled(req);
|
10
|
-
const columns = await (0, table_1.getColumnPreset)(presetsConfig, hash);
|
10
|
+
const columns = await (0, table_1.getColumnPreset)(presetsConfig, hash, ytAuthCluster);
|
11
11
|
if (!columns) {
|
12
12
|
const err = new Error(`Cannot find column-preset by the hash '${hash}'`);
|
13
13
|
req.ctx.logError('Failed to get preset of columns', err);
|
@@ -23,9 +23,10 @@ async function tableColumnPresetGet(req, res) {
|
|
23
23
|
exports.tableColumnPresetGet = tableColumnPresetGet;
|
24
24
|
async function tableColumnPresetSave(req, res) {
|
25
25
|
const { body } = req;
|
26
|
+
const { params: { ytAuthCluster }, } = req;
|
26
27
|
try {
|
27
28
|
const presetsConfig = checkEnabled(req);
|
28
|
-
const result = await (0, table_1.saveColumnPreset)(presetsConfig, body);
|
29
|
+
const result = await (0, table_1.saveColumnPreset)(presetsConfig, body, ytAuthCluster);
|
29
30
|
res.status(200).send(result);
|
30
31
|
}
|
31
32
|
catch (err) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_table","require","_utils","_interopRequireDefault","obj","__esModule","default","tableColumnPresetGet","_x","_x2","_tableColumnPresetGet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","hash","presetsConfig","columns","err","wrap","_callee$","_context","prev","next","params","checkEnabled","getColumnPreset","sent","Error","concat","ctx","logError","status","send","prepareErrorToSend","t0","stop","tableColumnPresetSave","_x3","_x4","_tableColumnPresetSave","_callee2","body","result","_callee2$","_context2","saveColumnPreset","userColumnPresets","config","isUserColumnPresetsEnabled","Boolean"],"sources":["table-column-preset.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {getColumnPreset, saveColumnPreset} from '../components/table';\nimport {prepareErrorToSend} from '../utils';\n\nexport async function tableColumnPresetGet(req: Request, res: Response) {\n const {\n params: {hash},\n } = req;\n try {\n const presetsConfig = checkEnabled(req);\n const columns = await getColumnPreset(presetsConfig, hash);\n if (!columns) {\n const err = new Error(`Cannot find column-preset by the hash '${hash}'`);\n req.ctx.logError('Failed to get preset of columns', err);\n res.status(404).send(prepareErrorToSend(err));\n }\n\n res.status(200).send({hash, columns});\n } catch (err) {\n req.ctx.logError('Failed to get preset of columns', err);\n res.status(500).send(prepareErrorToSend(err));\n }\n}\n\nexport async function tableColumnPresetSave(req: Request, res: Response) {\n const {body} = req;\n try {\n const presetsConfig = checkEnabled(req);\n const result = await saveColumnPreset(presetsConfig, body);\n res.status(200).send(result);\n } catch (err) {\n req.ctx.logError('Failed to save preset of columns', err);\n res.status(500).send(prepareErrorToSend(err));\n }\n}\n\nfunction checkEnabled(req: Request) {\n const {userColumnPresets} = req.ctx.config;\n\n if (!userColumnPresets) {\n throw new Error(\n \"Users' table column presets are not enabled. You have to provide 'userColumnPresets' section in your config to use it.\",\n );\n }\n return userColumnPresets;\n}\n\nexport function isUserColumnPresetsEnabled(req: Request) {\n return Boolean(req.ctx.config.userColumnPresets);\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAA2C,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3C,SAAsBG,oBAAoBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAkBzC,SAAAF,sBAAA;EAAAA,qBAAA,OAAAG,0BAAA,gBAAAC,oBAAA,CAAAC,IAAA,CAlBM,SAAAC,QAAoCC,GAAY,EAAEC,GAAa;IAAA,IAAAC,IAAA,EAAAC,aAAA,EAAAC,OAAA,EAAAC,GAAA;IAAA,
|
1
|
+
{"version":3,"names":["_table","require","_utils","_interopRequireDefault","obj","__esModule","default","tableColumnPresetGet","_x","_x2","_tableColumnPresetGet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","_req$params","hash","ytAuthCluster","presetsConfig","columns","err","wrap","_callee$","_context","prev","next","params","checkEnabled","getColumnPreset","sent","Error","concat","ctx","logError","status","send","prepareErrorToSend","t0","stop","tableColumnPresetSave","_x3","_x4","_tableColumnPresetSave","_callee2","body","result","_callee2$","_context2","saveColumnPreset","userColumnPresets","config","isUserColumnPresetsEnabled","Boolean"],"sources":["table-column-preset.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {getColumnPreset, saveColumnPreset} from '../components/table';\nimport {prepareErrorToSend} from '../utils';\n\nexport async function tableColumnPresetGet(req: Request, res: Response) {\n const {\n params: {hash, ytAuthCluster},\n } = req;\n try {\n const presetsConfig = checkEnabled(req);\n const columns = await getColumnPreset(presetsConfig, hash, ytAuthCluster);\n if (!columns) {\n const err = new Error(`Cannot find column-preset by the hash '${hash}'`);\n req.ctx.logError('Failed to get preset of columns', err);\n res.status(404).send(prepareErrorToSend(err));\n }\n\n res.status(200).send({hash, columns});\n } catch (err) {\n req.ctx.logError('Failed to get preset of columns', err);\n res.status(500).send(prepareErrorToSend(err));\n }\n}\n\nexport async function tableColumnPresetSave(req: Request, res: Response) {\n const {body} = req;\n const {\n params: {ytAuthCluster},\n } = req;\n\n try {\n const presetsConfig = checkEnabled(req);\n const result = await saveColumnPreset(presetsConfig, body, ytAuthCluster);\n res.status(200).send(result);\n } catch (err) {\n req.ctx.logError('Failed to save preset of columns', err);\n res.status(500).send(prepareErrorToSend(err));\n }\n}\n\nfunction checkEnabled(req: Request) {\n const {userColumnPresets} = req.ctx.config;\n\n if (!userColumnPresets) {\n throw new Error(\n \"Users' table column presets are not enabled. You have to provide 'userColumnPresets' section in your config to use it.\",\n );\n }\n return userColumnPresets;\n}\n\nexport function isUserColumnPresetsEnabled(req: Request) {\n return Boolean(req.ctx.config.userColumnPresets);\n}\n"],"mappings":"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"}
|
@@ -65,7 +65,7 @@ async function ytTvmApiHandler(req, res) {
|
|
65
65
|
}
|
66
66
|
let cfg;
|
67
67
|
try {
|
68
|
-
cfg = (0, requestsSetup_1.getUserYTApiSetup)(params.
|
68
|
+
cfg = (0, requestsSetup_1.getUserYTApiSetup)(params.ytAuthCluster, req);
|
69
69
|
}
|
70
70
|
catch (e) {
|
71
71
|
return sendError(e, 400);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_javascriptWrapper","_utils","os","_interopRequireWildcard","_utils2","_constants","_requestsSetup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","yt","ytLib","YT_API_REQUEST_ID_HEADER_LOWER","YT_API_REQUEST_ID_HEADER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getYtPageIdParts","getPage","_sendError3","_callee2","statusCode","_args2","_callee2$","_context2","length","undefined","sendAndLogError","method","query","stop","_sendError2","_x3","headers","getUserYTApiSetup","cluster","t0","abrupt","version","Error","concat","command","heavy","log","axios","request","url","getMetadata","sent","data","_isEmpty","qs","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","pipeAxiosResponse","UNEXPECTED_PIPE_AXIOS_RESPONSE","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n cluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.cluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\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 sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_javascriptWrapper","_utils","os","_interopRequireWildcard","_utils2","_constants","_requestsSetup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","yt","ytLib","YT_API_REQUEST_ID_HEADER_LOWER","YT_API_REQUEST_ID_HEADER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getYtPageIdParts","getPage","_sendError3","_callee2","statusCode","_args2","_callee2$","_context2","length","undefined","sendAndLogError","method","query","stop","_sendError2","_x3","headers","getUserYTApiSetup","ytAuthCluster","t0","abrupt","version","Error","concat","command","heavy","log","axios","request","url","getMetadata","sent","data","_isEmpty","qs","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","pipeAxiosResponse","UNEXPECTED_PIPE_AXIOS_RESPONSE","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n ytAuthCluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.ytAuthCluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\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 sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
@@ -28,7 +28,7 @@ const ALLOWED_ACTION = {
|
|
28
28
|
};
|
29
29
|
async function ytProxyApiImpl(req, res) {
|
30
30
|
const { ctx, query } = req;
|
31
|
-
const { command,
|
31
|
+
const { command, ytAuthCluster } = req.params;
|
32
32
|
const proxyAction = ALLOWED_ACTION[command];
|
33
33
|
if (!proxyAction) {
|
34
34
|
throw new Error('Unexpected action ' + command);
|
@@ -36,7 +36,7 @@ async function ytProxyApiImpl(req, res) {
|
|
36
36
|
const search = lodash_1.default.isEmpty(query) ? '' : `?${qs_1.default.stringify(query)}`;
|
37
37
|
let cfg;
|
38
38
|
try {
|
39
|
-
cfg = (0, requestsSetup_1.getUserYTApiSetup)(
|
39
|
+
cfg = (0, requestsSetup_1.getUserYTApiSetup)(ytAuthCluster, req);
|
40
40
|
}
|
41
41
|
catch (e) {
|
42
42
|
return (0, utils_1.sendAndLogError)(req.ctx, res, 400, e);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_utils","_requestsSetup","obj","__esModule","default","ytProxyApi","_x","_x2","_ytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","ytProxyApiImpl","t0","sendAndLogError","ctx","method","query","page","headers","referer","stop","ALLOWED_ACTION","_ALLOWED_ACTION","_defineProperty","_x3","_x4","_ytProxyApiImpl","_callee3","_req$params","command","
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_utils","_requestsSetup","obj","__esModule","default","ytProxyApi","_x","_x2","_ytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","ytProxyApiImpl","t0","sendAndLogError","ctx","method","query","page","headers","referer","stop","ALLOWED_ACTION","_ALLOWED_ACTION","_defineProperty","_x3","_x4","_ytProxyApiImpl","_callee3","_req$params","command","ytAuthCluster","proxyAction","search","cfg","_cfg","authHeaders","proxyBaseUrl","_callee3$","_context3","params","Error","_isEmpty","concat","qs","stringify","getUserYTApiSetup","abrupt","axios","request","url","_objectSpread","getMetadata","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","pipeAxiosResponse","sent","UNEXPECTED_PIPE_AXIOS_RESPONSE","_x5"],"sources":["yt-proxy-api.ts"],"sourcesContent":["import _ from 'lodash';\nimport axios from 'axios';\nimport qs from 'qs';\n\nimport type {Request, Response} from 'express';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nexport async function ytProxyApi(req: Request, res: Response) {\n try {\n await ytProxyApiImpl(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\nconst ALLOWED_ACTION: Record<string, string> = {\n ['hosts-all']: '/hosts/all',\n ['internal-discover_versions']: '/internal/discover_versions/v2',\n};\n\nasync function ytProxyApiImpl(req: Request, res: Response) {\n const {ctx, query} = req;\n const {command, ytAuthCluster} = req.params;\n\n const proxyAction = ALLOWED_ACTION[command];\n if (!proxyAction) {\n throw new Error('Unexpected action ' + command);\n }\n\n const search = _.isEmpty(query) ? '' : `?${qs.stringify(query)}`;\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n return sendAndLogError(req.ctx, res, 400, e);\n }\n\n const {authHeaders, proxyBaseUrl} = cfg;\n\n return axios\n .request({\n url: `${proxyBaseUrl}${proxyAction}${search}`,\n method: req.method as any,\n headers: {...ctx.getMetadata(), ...authHeaders, 'accept-encoding': 'gzip'},\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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"}
|
@@ -21,17 +21,20 @@ nodekit.ctx.log('AppConfig details', {
|
|
21
21
|
appInstallation,
|
22
22
|
appDevMode,
|
23
23
|
});
|
24
|
-
const {
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
const { allowPasswordAuth, ytOAuthSettings } = nodekit.config;
|
25
|
+
const authMiddlewares = [];
|
26
|
+
if (ytOAuthSettings) {
|
27
|
+
authMiddlewares.push((0, authorization_2.authorizationResolver)((0, oauth_1.createOAuthAuthorizationResolver)()));
|
28
|
+
}
|
29
|
+
if (allowPasswordAuth) {
|
30
|
+
authMiddlewares.push((0, authorization_2.authorizationResolver)((0, yt_auth_1.createYTAuthorizationResolver)()));
|
31
|
+
}
|
32
|
+
if (authMiddlewares.length) {
|
29
33
|
nodekit.config.appBeforeAuthMiddleware = [
|
30
34
|
...(nodekit.config.appBeforeAuthMiddleware || []),
|
31
|
-
|
32
|
-
(0, authorization_2.authorizationResolver)((0, yt_auth_1.createYTAuthorizationResolver)()),
|
35
|
+
...authMiddlewares,
|
33
36
|
];
|
34
|
-
nodekit.config.appAuthHandler = (0, authorization_1.createAuthMiddleware)(
|
37
|
+
nodekit.config.appAuthHandler = (0, authorization_1.createAuthMiddleware)();
|
35
38
|
}
|
36
39
|
(_b = (_a = nodekit.config).adjustAppConfig) === null || _b === void 0 ? void 0 : _b.call(_a, nodekit);
|
37
40
|
const app = new expresskit_1.ExpressKit(nodekit, routes_1.default);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_path","_interopRequireDefault","require","_nodekit","_expresskit","_configureApp","_ytAuth","_routes","_oauth","_authorization","_authorization2","obj","__esModule","default","nodekit","NodeKit","configsPath","path","resolve","__dirname","_nodekit$config","config","appName","appEnv","appInstallation","appDevMode","ctx","log","_nodekit$config2","
|
1
|
+
{"version":3,"names":["_path","_interopRequireDefault","require","_nodekit","_expresskit","_configureApp","_ytAuth","_routes","_oauth","_authorization","_authorization2","obj","__esModule","default","nodekit","NodeKit","configsPath","path","resolve","__dirname","_nodekit$config","config","appName","appEnv","appInstallation","appDevMode","ctx","log","_nodekit$config2","allowPasswordAuth","ytOAuthSettings","authMiddlewares","push","authorizationResolver","createOAuthAuthorizationResolver","createYTAuthorizationResolver","length","appBeforeAuthMiddleware","concat","_toConsumableArray","appAuthHandler","createAuthMiddleware","_nodekit$config$adjus","_nodekit$config3","adjustAppConfig","call","app","ExpressKit","routes","configureApp","main","module","run","_default","exports"],"sources":["index.ts"],"sourcesContent":["import path from 'path';\nimport _reduce from 'lodash/reduce';\nimport {NodeKit} from '@gravity-ui/nodekit';\nimport {ExpressKit} from '@gravity-ui/expresskit';\n\nimport {configureApp} from './configure-app';\n\nimport {createYTAuthorizationResolver} from './middlewares/yt-auth';\nimport routes from './routes';\nimport {createOAuthAuthorizationResolver} from './middlewares/oauth';\nimport {createAuthMiddleware} from './middlewares/authorization';\nimport {authorizationResolver} from './utils/authorization';\n\nconst nodekit = new NodeKit({configsPath: path.resolve(__dirname, './configs')});\n\nconst {appName, appEnv, appInstallation, appDevMode} = nodekit.config;\nnodekit.ctx.log('AppConfig details', {\n appName,\n appEnv,\n appInstallation,\n appDevMode,\n});\n\nconst {allowPasswordAuth, ytOAuthSettings} = nodekit.config;\n\nconst authMiddlewares = [];\n\nif (ytOAuthSettings) {\n authMiddlewares.push(authorizationResolver(createOAuthAuthorizationResolver()));\n}\n\nif (allowPasswordAuth) {\n authMiddlewares.push(authorizationResolver(createYTAuthorizationResolver()));\n}\n\nif (authMiddlewares.length) {\n nodekit.config.appBeforeAuthMiddleware = [\n ...(nodekit.config.appBeforeAuthMiddleware || []),\n ...authMiddlewares,\n ];\n\n nodekit.config.appAuthHandler = createAuthMiddleware();\n}\n\nnodekit.config.adjustAppConfig?.(nodekit);\n\nconst app = new ExpressKit(nodekit, routes);\nconfigureApp(app);\n\nif (require.main === module) {\n app.run();\n}\n\nexport default app;\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAA2D,SAAAD,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAE3D,IAAMG,OAAO,GAAG,IAAIC,gBAAO,CAAC;EAACC,WAAW,EAAEC,aAAI,CAACC,OAAO,CAACC,SAAS,EAAE,WAAW;AAAC,CAAC,CAAC;AAEhF,IAAAC,eAAA,GAAuDN,OAAO,CAACO,MAAM;EAA9DC,OAAO,GAAAF,eAAA,CAAPE,OAAO;EAAEC,MAAM,GAAAH,eAAA,CAANG,MAAM;EAAEC,eAAe,GAAAJ,eAAA,CAAfI,eAAe;EAAEC,UAAU,GAAAL,eAAA,CAAVK,UAAU;AACnDX,OAAO,CAACY,GAAG,CAACC,GAAG,CAAC,mBAAmB,EAAE;EACjCL,OAAO,EAAPA,OAAO;EACPC,MAAM,EAANA,MAAM;EACNC,eAAe,EAAfA,eAAe;EACfC,UAAU,EAAVA;AACJ,CAAC,CAAC;AAEF,IAAAG,gBAAA,GAA6Cd,OAAO,CAACO,MAAM;EAApDQ,iBAAiB,GAAAD,gBAAA,CAAjBC,iBAAiB;EAAEC,eAAe,GAAAF,gBAAA,CAAfE,eAAe;AAEzC,IAAMC,eAAe,GAAG,EAAE;AAE1B,IAAID,eAAe,EAAE;EACjBC,eAAe,CAACC,IAAI,CAAC,IAAAC,qCAAqB,EAAC,IAAAC,uCAAgC,EAAC,CAAC,CAAC,CAAC;AACnF;AAEA,IAAIL,iBAAiB,EAAE;EACnBE,eAAe,CAACC,IAAI,CAAC,IAAAC,qCAAqB,EAAC,IAAAE,qCAA6B,EAAC,CAAC,CAAC,CAAC;AAChF;AAEA,IAAIJ,eAAe,CAACK,MAAM,EAAE;EACxBtB,OAAO,CAACO,MAAM,CAACgB,uBAAuB,MAAAC,MAAA,KAAAC,2BAAA,EAC9BzB,OAAO,CAACO,MAAM,CAACgB,uBAAuB,IAAI,EAAE,GAC7CN,eAAe,CACrB;EAEDjB,OAAO,CAACO,MAAM,CAACmB,cAAc,GAAG,IAAAC,mCAAoB,EAAC,CAAC;AAC1D;AAEA,CAAAC,qBAAA,IAAAC,gBAAA,GAAA7B,OAAO,CAACO,MAAM,EAACuB,eAAe,cAAAF,qBAAA,eAA9BA,qBAAA,CAAAG,IAAA,CAAAF,gBAAA,EAAiC7B,OAAO,CAAC;AAEzC,IAAMgC,GAAG,GAAG,IAAIC,sBAAU,CAACjC,OAAO,EAAEkC,eAAM,CAAC;AAC3C,IAAAC,0BAAY,EAACH,GAAG,CAAC;AAEjB,IAAI5C,OAAO,CAACgD,IAAI,KAAKC,MAAM,EAAE;EACzBL,GAAG,CAACM,GAAG,CAAC,CAAC;AACb;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAzC,OAAA,GAEeiC,GAAG"}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import { AppMiddleware } from '@gravity-ui/expresskit';
|
2
|
-
export declare function createAuthMiddleware(
|
2
|
+
export declare function createAuthMiddleware(): AppMiddleware;
|
@@ -18,8 +18,9 @@ function isAuthError(e) {
|
|
18
18
|
var _a;
|
19
19
|
return e instanceof AuthError || (axios_1.default.isAxiosError(e) && ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401);
|
20
20
|
}
|
21
|
-
function createAuthMiddleware(
|
21
|
+
function createAuthMiddleware() {
|
22
22
|
return async function authMiddleware(req, res, next) {
|
23
|
+
const { ytAuthCluster } = req.params;
|
23
24
|
try {
|
24
25
|
if (!(0, authorization_1.isAuthorized)(req)) {
|
25
26
|
throw new AuthError();
|
@@ -30,7 +31,7 @@ function createAuthMiddleware(ytAuthCluster) {
|
|
30
31
|
}
|
31
32
|
catch (e) {
|
32
33
|
const isAuthFailed = isAuthError(e);
|
33
|
-
const error = isAuthFailed ?
|
34
|
+
const error = isAuthFailed ? { extraData: { ytAuthCluster } } : e;
|
34
35
|
if (!req.routeInfo.ui && isAuthFailed) {
|
35
36
|
(0, utils_1.sendError)(res, error, 401);
|
36
37
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_authorization","_requestsSetup","_clusterQueries","_utils","obj","__esModule","default","AuthError","_Error","_inherits","_super","_createSuper","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","isAuthError","e","_e$response","axios","isAxiosError","response","status","createAuthMiddleware","
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_authorization","_requestsSetup","_clusterQueries","_utils","obj","__esModule","default","AuthError","_Error","_inherits","_super","_createSuper","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","isAuthError","e","_e$response","axios","isAxiosError","response","status","createAuthMiddleware","_authMiddleware","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","next","ytAuthCluster","cfg","_yield$getXSRFToken","login","isAuthFailed","error","wrap","_callee$","_context","prev","params","isAuthorized","getUserYTApiSetup","getXSRFToken","sent","yt","t0","extraData","routeInfo","ui","sendError","abrupt","stop","authMiddleware","_x","_x2","_x3","apply","arguments"],"sources":["authorization.ts"],"sourcesContent":["import axios from 'axios';\nimport {isAuthorized} from '../utils/authorization';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {AppMiddleware} from '@gravity-ui/expresskit';\nimport {getXSRFToken} from '../components/cluster-queries';\nimport {sendError} from '../utils';\n\nclass AuthError extends Error {\n constructor() {\n super('Authorization required');\n }\n}\n\nfunction isAuthError(e: unknown) {\n return e instanceof AuthError || (axios.isAxiosError(e) && e.response?.status === 401);\n}\n\nexport function createAuthMiddleware(): AppMiddleware {\n return async function authMiddleware(req, res, next) {\n const {ytAuthCluster} = req.params;\n\n try {\n if (!isAuthorized(req)) {\n throw new AuthError();\n }\n\n const cfg = getUserYTApiSetup(ytAuthCluster, req);\n const {login} = await getXSRFToken(req, cfg);\n req.yt.login = login;\n } catch (e) {\n const isAuthFailed = isAuthError(e);\n const error = isAuthFailed ? {extraData: {ytAuthCluster}} : e;\n\n if (!req.routeInfo.ui && isAuthFailed) {\n sendError(res, error, 401);\n return;\n }\n }\n\n next();\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAkC,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAC,IAE7BG,SAAS,0BAAAC,MAAA;EAAA,IAAAC,kBAAA,EAAAF,SAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,OAAAC,qBAAA,EAAAJ,SAAA;EACX,SAAAA,UAAA,EAAc;IAAA,IAAAK,wBAAA,QAAAL,SAAA;IAAA,OAAAG,MAAA,CAAAG,IAAA,OACJ,wBAAwB;EAClC;EAAC,WAAAC,qBAAA,EAAAP,SAAA;AAAA,oBAAAQ,yBAAA,EAHmBC,KAAK;AAM7B,SAASC,WAAWA,CAACC,CAAU,EAAE;EAAA,IAAAC,WAAA;EAC7B,OAAOD,CAAC,YAAYX,SAAS,IAAKa,cAAK,CAACC,YAAY,CAACH,CAAC,CAAC,IAAI,EAAAC,WAAA,GAAAD,CAAC,CAACI,QAAQ,cAAAH,WAAA,uBAAVA,WAAA,CAAYI,MAAM,MAAK,GAAI;AAC1F;AAEO,SAASC,oBAAoBA,CAAA,EAAkB;EAClD;IAAA,IAAAC,eAAA,OAAAC,0BAAA,gBAAAC,oBAAA,CAAAC,IAAA,CAAO,SAAAC,QAA8BC,GAAG,EAAEC,GAAG,EAAEC,IAAI;MAAA,IAAAC,aAAA,EAAAC,GAAA,EAAAC,mBAAA,EAAAC,KAAA,EAAAC,YAAA,EAAAC,KAAA;MAAA,OAAAX,oBAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAT,IAAA;UAAA;YACxCC,aAAa,GAAIH,GAAG,CAACa,MAAM,CAA3BV,aAAa;YAAAQ,QAAA,CAAAC,IAAA;YAAA,IAGX,IAAAE,2BAAY,EAACd,GAAG,CAAC;cAAAW,QAAA,CAAAT,IAAA;cAAA;YAAA;YAAA,MACZ,IAAIzB,SAAS,CAAC,CAAC;UAAA;YAGnB2B,GAAG,GAAG,IAAAW,gCAAiB,EAACZ,aAAa,EAAEH,GAAG,CAAC;YAAAW,QAAA,CAAAT,IAAA;YAAA,OAC3B,IAAAc,4BAAY,EAAChB,GAAG,EAAEI,GAAG,CAAC;UAAA;YAAAC,mBAAA,GAAAM,QAAA,CAAAM,IAAA;YAArCX,KAAK,GAAAD,mBAAA,CAALC,KAAK;YACZN,GAAG,CAACkB,EAAE,CAACZ,KAAK,GAAGA,KAAK;YAACK,QAAA,CAAAT,IAAA;YAAA;UAAA;YAAAS,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAQ,EAAA,GAAAR,QAAA;YAEfJ,YAAY,GAAGpB,WAAW,CAAAwB,QAAA,CAAAQ,EAAE,CAAC;YAC7BX,KAAK,GAAGD,YAAY,GAAG;cAACa,SAAS,EAAE;gBAACjB,aAAa,EAAbA;cAAa;YAAC,CAAC,GAAAQ,QAAA,CAAAQ,EAAI;YAAA,MAEzD,CAACnB,GAAG,CAACqB,SAAS,CAACC,EAAE,IAAIf,YAAY;cAAAI,QAAA,CAAAT,IAAA;cAAA;YAAA;YACjC,IAAAqB,gBAAS,EAACtB,GAAG,EAAEO,KAAK,EAAE,GAAG,CAAC;YAAC,OAAAG,QAAA,CAAAa,MAAA;UAAA;YAKnCtB,IAAI,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAS,QAAA,CAAAc,IAAA;QAAA;MAAA,GAAA1B,OAAA;IAAA,CACV;IAAA,SAtBqB2B,cAAcA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAlC,eAAA,CAAAmC,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAdL,cAAc;EAAA;AAuBxC"}
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createYTAuthorizationResolver = void 0;
|
4
4
|
const constants_1 = require("../../shared/constants");
|
5
5
|
function createYTAuthorizationResolver() {
|
6
|
-
return async function
|
7
|
-
const
|
6
|
+
return async function resolveYTAuthorization(req, _, next) {
|
7
|
+
const { ytAuthCluster } = req.params;
|
8
|
+
const secret = req.cookies[`${ytAuthCluster}:${constants_1.YT_CYPRESS_COOKIE_NAME}`];
|
8
9
|
req.yt = {
|
9
10
|
ytApiAuthHeaders: {
|
10
11
|
Cookie: `${constants_1.YT_CYPRESS_COOKIE_NAME}=${secret};`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_constants","require","_interopRequireDefault","obj","__esModule","default","createYTAuthorizationResolver","
|
1
|
+
{"version":3,"names":["_constants","require","_interopRequireDefault","obj","__esModule","default","createYTAuthorizationResolver","_resolveYTAuthorization","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","_","next","ytAuthCluster","secret","wrap","_callee$","_context","prev","params","cookies","concat","YT_CYPRESS_COOKIE_NAME","yt","ytApiAuthHeaders","Cookie","stop","resolveYTAuthorization","_x","_x2","_x3","apply","arguments"],"sources":["yt-auth.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport {AppMiddleware} from '@gravity-ui/expresskit';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\n\nexport function createYTAuthorizationResolver(): AppMiddleware {\n return async function resolveYTAuthorization(req: Request, _: Response, next) {\n const {ytAuthCluster} = req.params;\n\n const secret: string = req.cookies[`${ytAuthCluster}:${YT_CYPRESS_COOKIE_NAME}`];\n\n req.yt = {\n ytApiAuthHeaders: {\n Cookie: `${YT_CYPRESS_COOKIE_NAME}=${secret};`,\n },\n };\n\n next();\n };\n}\n"],"mappings":";;;;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAA6D,SAAAC,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtD,SAASG,6BAA6BA,CAAA,EAAkB;EAC3D;IAAA,IAAAC,uBAAA,OAAAC,0BAAA,gBAAAC,oBAAA,CAAAC,IAAA,CAAO,SAAAC,QAAsCC,GAAY,EAAEC,CAAW,EAAEC,IAAI;MAAA,IAAAC,aAAA,EAAAC,MAAA;MAAA,OAAAP,oBAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAL,IAAA;UAAA;YACjEC,aAAa,GAAIH,GAAG,CAACS,MAAM,CAA3BN,aAAa;YAEdC,MAAc,GAAGJ,GAAG,CAACU,OAAO,IAAAC,MAAA,CAAIR,aAAa,OAAAQ,MAAA,CAAIC,iCAAsB,EAAG;YAEhFZ,GAAG,CAACa,EAAE,GAAG;cACLC,gBAAgB,EAAE;gBACdC,MAAM,KAAAJ,MAAA,CAAKC,iCAAsB,OAAAD,MAAA,CAAIP,MAAM;cAC/C;YACJ,CAAC;YAEDF,IAAI,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAK,QAAA,CAAAS,IAAA;QAAA;MAAA,GAAAjB,OAAA;IAAA,CACV;IAAA,SAZqBkB,sBAAsBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAzB,uBAAA,CAAA0B,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAtBL,sBAAsB;EAAA;AAahD"}
|
@@ -21,42 +21,43 @@ const oauth_login_1 = require("./controllers/oauth-login");
|
|
21
21
|
const logout_1 = require("./controllers/logout");
|
22
22
|
const HOME_INDEX_TARGET = { handler: home_1.homeIndex, ui: true };
|
23
23
|
const routes = {
|
24
|
-
'GET /change-password/': HOME_INDEX_TARGET,
|
24
|
+
'GET /:ytAuthCluster/change-password/': HOME_INDEX_TARGET,
|
25
25
|
'GET /': HOME_INDEX_TARGET,
|
26
26
|
'GET /ping': { handler: ping_1.ping, authPolicy: expresskit_1.AuthPolicy.disabled },
|
27
|
-
'GET /api/cluster-info/:
|
28
|
-
'GET /api/cluster-params/:
|
27
|
+
'GET /api/cluster-info/:ytAuthCluster': { handler: cluster_info_1.handleClusterInfo },
|
28
|
+
'GET /api/cluster-params/:ytAuthCluster': { handler: cluster_params_1.clusterParams },
|
29
29
|
'GET /api/clusters/versions': { handler: clusters_1.clusterVersions },
|
30
|
-
'GET /api/
|
31
|
-
'
|
30
|
+
'GET /api/clusters/auth-status': { handler: clusters_1.clusterAuthStatus },
|
31
|
+
'GET /api/pool-names/:ytAuthCluster': { handler: scheduling_pools_1.getClusterPools },
|
32
|
+
'POST /api/yt/:ytAuthCluster/login': { handler: login_1.handleLogin, ui: true },
|
32
33
|
'GET /api/yt/logout': { handler: logout_1.handleLogout, ui: true },
|
33
34
|
'GET /oauth/login': { handler: oauth_login_1.oauthLogin, ui: true },
|
34
35
|
'GET /api/oauth/callback': { handler: oauth_login_1.oauthCallback, ui: true },
|
35
36
|
'GET /api/oauth/logout/callback': { handler: oauth_login_1.oauthLogout, ui: true },
|
36
|
-
'POST /api/yt/change-password': { handler: login_1.handleChangePassword, ui: true },
|
37
|
+
'POST /api/yt/:ytAuthCluster/change-password': { handler: login_1.handleChangePassword, ui: true },
|
37
38
|
'POST /api/remote-copy': { handler: remote_copy_1.handleRemoteCopy },
|
38
39
|
'POST /api/markdown-to-html': { handler: markdown_to_html_1.markdownToHtmlHandler },
|
39
|
-
'GET /api/yt/:
|
40
|
-
'POST /api/yt/:
|
41
|
-
'PUT /api/yt/:
|
42
|
-
'GET /api/yt-proxy/:
|
43
|
-
'GET /api/odin/proxy/:action/:
|
40
|
+
'GET /api/yt/:ytAuthCluster/api/:version/:command': { handler: yt_api_1.ytTvmApiHandler },
|
41
|
+
'POST /api/yt/:ytAuthCluster/api/:version/:command': { handler: yt_api_1.ytTvmApiHandler },
|
42
|
+
'PUT /api/yt/:ytAuthCluster/api/:version/:command': { handler: yt_api_1.ytTvmApiHandler },
|
43
|
+
'GET /api/yt-proxy/:ytAuthCluster/:command': { handler: yt_proxy_api_1.ytProxyApi },
|
44
|
+
'GET /api/odin/proxy/:action/:ytAuthCluster?': { handler: odin_proxy_api_1.odinProxyApi },
|
44
45
|
'GET /api/odin/clusters/availability': { handler: availability_1.getClustersAvailability },
|
45
|
-
'POST /api/chyt/:
|
46
|
-
'GET /api/settings/:username': { handler: settings_1.settingsGet },
|
47
|
-
'POST /api/settings/:username': { handler: settings_1.settingsCreate },
|
48
|
-
'GET /api/settings/:username/:path': { handler: settings_1.settingsGetItem },
|
49
|
-
'PUT /api/settings/:username/:path': { handler: settings_1.settingsSetItem },
|
50
|
-
'DELETE /api/settings/:username/:path': { handler: settings_1.settingsDeleteItem },
|
51
|
-
'GET /api/table-column-preset/:hash': {
|
46
|
+
'POST /api/chyt/:ytAuthCluster/:action': { handler: chyt_api_1.chytProxyApi },
|
47
|
+
'GET /api/settings/:ytAuthCluster/:username': { handler: settings_1.settingsGet },
|
48
|
+
'POST /api/settings/:ytAuthCluster/:username': { handler: settings_1.settingsCreate },
|
49
|
+
'GET /api/settings/:ytAuthCluster/:username/:path': { handler: settings_1.settingsGetItem },
|
50
|
+
'PUT /api/settings/:ytAuthCluster/:username/:path': { handler: settings_1.settingsSetItem },
|
51
|
+
'DELETE /api/settings/:ytAuthCluster/:username/:path': { handler: settings_1.settingsDeleteItem },
|
52
|
+
'GET /api/table-column-preset/:ytAuthCluster/:hash': {
|
52
53
|
handler: table_column_preset_1.tableColumnPresetGet,
|
53
54
|
},
|
54
|
-
'POST /api/table-column-preset': { handler: table_column_preset_1.tableColumnPresetSave },
|
55
|
-
'GET /:
|
56
|
-
'GET /:
|
57
|
-
'GET /:
|
58
|
-
'GET /:
|
59
|
-
'GET /:
|
60
|
-
'GET /:
|
55
|
+
'POST /api/table-column-preset/:ytAuthCluster': { handler: table_column_preset_1.tableColumnPresetSave },
|
56
|
+
'GET /:ytAuthCluster/': HOME_INDEX_TARGET,
|
57
|
+
'GET /:ytAuthCluster/maintenance': { handler: home_1.homeRedirect },
|
58
|
+
'GET /:ytAuthCluster/:page': HOME_INDEX_TARGET,
|
59
|
+
'GET /:ytAuthCluster/:page/:tab': HOME_INDEX_TARGET,
|
60
|
+
'GET /:ytAuthCluster/:page/:operation/:tab': HOME_INDEX_TARGET,
|
61
|
+
'GET /:ytAuthCluster/:page/:operation/:job/:tab': HOME_INDEX_TARGET,
|
61
62
|
};
|
62
63
|
exports.default = routes;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_expresskit","require","_clusterParams","_ytApi","_remoteCopy","_ytProxyApi","_settings","_home","_clusterInfo","_clusters","_tableColumnPreset","_ping","_login","_schedulingPools","_markdownToHtml","_odinProxyApi","_availability","_chytApi","_oauthLogin","_logout","HOME_INDEX_TARGET","handler","homeIndex","ui","routes","ping","authPolicy","AuthPolicy","disabled","handleClusterInfo","clusterParams","clusterVersions","getClusterPools","handleLogin","handleLogout","oauthLogin","oauthCallback","oauthLogout","handleChangePassword","handleRemoteCopy","markdownToHtmlHandler","ytTvmApiHandler","ytProxyApi","odinProxyApi","getClustersAvailability","chytProxyApi","settingsGet","settingsCreate","settingsGetItem","settingsSetItem","settingsDeleteItem","tableColumnPresetGet","tableColumnPresetSave","homeRedirect","_default","exports","default"],"sources":["routes.ts"],"sourcesContent":["import {AppRouteDescription, AppRoutes, AuthPolicy} from '@gravity-ui/expresskit';\nimport {clusterParams} from './controllers/cluster-params';\nimport {ytTvmApiHandler} from './controllers/yt-api';\nimport {handleRemoteCopy} from './controllers/remote-copy';\nimport {ytProxyApi} from './controllers/yt-proxy-api';\nimport {\n settingsCreate,\n settingsDeleteItem,\n settingsGet,\n settingsGetItem,\n settingsSetItem,\n} from './controllers/settings';\nimport {homeIndex, homeRedirect} from './controllers/home';\nimport {handleClusterInfo} from './controllers/cluster-info';\n\nimport {clusterVersions} from './controllers/clusters';\nimport {tableColumnPresetGet, tableColumnPresetSave} from './controllers/table-column-preset';\nimport {ping} from './controllers/ping';\nimport {handleChangePassword, handleLogin} from './controllers/login';\nimport {getClusterPools} from './controllers/scheduling-pools';\nimport {markdownToHtmlHandler} from './controllers/markdown-to-html';\nimport {odinProxyApi} from './controllers/odin-proxy-api';\nimport {getClustersAvailability} from './controllers/availability';\nimport {chytProxyApi} from './controllers/chyt-api';\nimport {oauthCallback, oauthLogin, oauthLogout} from './controllers/oauth-login';\nimport {handleLogout} from './controllers/logout';\n\nconst HOME_INDEX_TARGET: AppRouteDescription = {handler: homeIndex, ui: true};\n\nconst routes: AppRoutes = {\n 'GET /change-password/': HOME_INDEX_TARGET,\n 'GET /': HOME_INDEX_TARGET,\n 'GET /ping': {handler: ping, authPolicy: AuthPolicy.disabled},\n 'GET /api/cluster-info/:
|
1
|
+
{"version":3,"names":["_expresskit","require","_clusterParams","_ytApi","_remoteCopy","_ytProxyApi","_settings","_home","_clusterInfo","_clusters","_tableColumnPreset","_ping","_login","_schedulingPools","_markdownToHtml","_odinProxyApi","_availability","_chytApi","_oauthLogin","_logout","HOME_INDEX_TARGET","handler","homeIndex","ui","routes","ping","authPolicy","AuthPolicy","disabled","handleClusterInfo","clusterParams","clusterVersions","clusterAuthStatus","getClusterPools","handleLogin","handleLogout","oauthLogin","oauthCallback","oauthLogout","handleChangePassword","handleRemoteCopy","markdownToHtmlHandler","ytTvmApiHandler","ytProxyApi","odinProxyApi","getClustersAvailability","chytProxyApi","settingsGet","settingsCreate","settingsGetItem","settingsSetItem","settingsDeleteItem","tableColumnPresetGet","tableColumnPresetSave","homeRedirect","_default","exports","default"],"sources":["routes.ts"],"sourcesContent":["import {AppRouteDescription, AppRoutes, AuthPolicy} from '@gravity-ui/expresskit';\nimport {clusterParams} from './controllers/cluster-params';\nimport {ytTvmApiHandler} from './controllers/yt-api';\nimport {handleRemoteCopy} from './controllers/remote-copy';\nimport {ytProxyApi} from './controllers/yt-proxy-api';\nimport {\n settingsCreate,\n settingsDeleteItem,\n settingsGet,\n settingsGetItem,\n settingsSetItem,\n} from './controllers/settings';\nimport {homeIndex, homeRedirect} from './controllers/home';\nimport {handleClusterInfo} from './controllers/cluster-info';\n\nimport {clusterAuthStatus, clusterVersions} from './controllers/clusters';\nimport {tableColumnPresetGet, tableColumnPresetSave} from './controllers/table-column-preset';\nimport {ping} from './controllers/ping';\nimport {handleChangePassword, handleLogin} from './controllers/login';\nimport {getClusterPools} from './controllers/scheduling-pools';\nimport {markdownToHtmlHandler} from './controllers/markdown-to-html';\nimport {odinProxyApi} from './controllers/odin-proxy-api';\nimport {getClustersAvailability} from './controllers/availability';\nimport {chytProxyApi} from './controllers/chyt-api';\nimport {oauthCallback, oauthLogin, oauthLogout} from './controllers/oauth-login';\nimport {handleLogout} from './controllers/logout';\n\nconst HOME_INDEX_TARGET: AppRouteDescription = {handler: homeIndex, ui: true};\n\nconst routes: AppRoutes = {\n 'GET /:ytAuthCluster/change-password/': HOME_INDEX_TARGET,\n 'GET /': HOME_INDEX_TARGET,\n 'GET /ping': {handler: ping, authPolicy: AuthPolicy.disabled},\n 'GET /api/cluster-info/:ytAuthCluster': {handler: handleClusterInfo},\n 'GET /api/cluster-params/:ytAuthCluster': {handler: clusterParams},\n 'GET /api/clusters/versions': {handler: clusterVersions},\n 'GET /api/clusters/auth-status': {handler: clusterAuthStatus},\n 'GET /api/pool-names/:ytAuthCluster': {handler: getClusterPools},\n 'POST /api/yt/:ytAuthCluster/login': {handler: handleLogin, ui: true},\n 'GET /api/yt/logout': {handler: handleLogout, ui: true},\n\n 'GET /oauth/login': {handler: oauthLogin, ui: true},\n 'GET /api/oauth/callback': {handler: oauthCallback, ui: true},\n 'GET /api/oauth/logout/callback': {handler: oauthLogout, ui: true},\n\n 'POST /api/yt/:ytAuthCluster/change-password': {handler: handleChangePassword, ui: true},\n 'POST /api/remote-copy': {handler: handleRemoteCopy},\n\n 'POST /api/markdown-to-html': {handler: markdownToHtmlHandler},\n\n 'GET /api/yt/:ytAuthCluster/api/:version/:command': {handler: ytTvmApiHandler},\n 'POST /api/yt/:ytAuthCluster/api/:version/:command': {handler: ytTvmApiHandler},\n 'PUT /api/yt/:ytAuthCluster/api/:version/:command': {handler: ytTvmApiHandler},\n\n 'GET /api/yt-proxy/:ytAuthCluster/:command': {handler: ytProxyApi},\n\n 'GET /api/odin/proxy/:action/:ytAuthCluster?': {handler: odinProxyApi},\n 'GET /api/odin/clusters/availability': {handler: getClustersAvailability},\n\n 'POST /api/chyt/:ytAuthCluster/:action': {handler: chytProxyApi},\n\n 'GET /api/settings/:ytAuthCluster/:username': {handler: settingsGet},\n 'POST /api/settings/:ytAuthCluster/:username': {handler: settingsCreate},\n 'GET /api/settings/:ytAuthCluster/:username/:path': {handler: settingsGetItem},\n 'PUT /api/settings/:ytAuthCluster/:username/:path': {handler: settingsSetItem},\n 'DELETE /api/settings/:ytAuthCluster/:username/:path': {handler: settingsDeleteItem},\n\n 'GET /api/table-column-preset/:ytAuthCluster/:hash': {\n handler: tableColumnPresetGet,\n },\n 'POST /api/table-column-preset/:ytAuthCluster': {handler: tableColumnPresetSave},\n\n 'GET /:ytAuthCluster/': HOME_INDEX_TARGET,\n 'GET /:ytAuthCluster/maintenance': {handler: homeRedirect},\n 'GET /:ytAuthCluster/:page': HOME_INDEX_TARGET,\n 'GET /:ytAuthCluster/:page/:tab': HOME_INDEX_TARGET,\n 'GET /:ytAuthCluster/:page/:operation/:tab': HOME_INDEX_TARGET,\n 'GET /:ytAuthCluster/:page/:operation/:job/:tab': HOME_INDEX_TARGET,\n};\n\nexport default routes;\n"],"mappings":"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"}
|
@@ -6,7 +6,7 @@ import { AppContext } from '@gravity-ui/nodekit';
|
|
6
6
|
export declare function isProductionEnv(): boolean;
|
7
7
|
export declare function isLocalModeByEnvironment(): boolean;
|
8
8
|
export declare function getInterfaceVersion(): any;
|
9
|
-
export declare function prepareErrorToSend(e: unknown): import("../../@types/types").YTError
|
9
|
+
export declare function prepareErrorToSend(e: unknown): import("../../@types/types").YTError | Record<string, any>;
|
10
10
|
export declare function sendResponse(res: Response, data: object): Response<any, Record<string, any>>;
|
11
11
|
export declare function sendError(res: Response, error: unknown, errCode?: number): Response<any, Record<string, any>>;
|
12
12
|
export declare const UNEXPECTED_PIPE_AXIOS_RESPONSE = "Unexpected behavior: response.data should be an instance of stream.Readable";
|