@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.
Files changed (371) hide show
  1. package/README.md +6 -11
  2. package/build/cjs/@types/core.d.ts +7 -7
  3. package/build/cjs/server/components/layout-config.js +3 -3
  4. package/build/cjs/server/components/layout-config.js.map +1 -1
  5. package/build/cjs/server/components/requestsSetup.js +13 -5
  6. package/build/cjs/server/components/requestsSetup.js.map +1 -1
  7. package/build/cjs/server/components/settings.d.ts +10 -5
  8. package/build/cjs/server/components/settings.js +24 -23
  9. package/build/cjs/server/components/settings.js.map +1 -1
  10. package/build/cjs/server/components/table.d.ts +3 -3
  11. package/build/cjs/server/components/table.js +4 -4
  12. package/build/cjs/server/components/table.js.map +1 -1
  13. package/build/cjs/server/components/yt-auth.d.ts +0 -2
  14. package/build/cjs/server/components/yt-auth.js +5 -14
  15. package/build/cjs/server/components/yt-auth.js.map +1 -1
  16. package/build/cjs/server/configs/common.js +5 -13
  17. package/build/cjs/server/configs/common.js.map +1 -1
  18. package/build/cjs/server/configs/local.js +0 -5
  19. package/build/cjs/server/configs/local.js.map +1 -1
  20. package/build/cjs/server/controllers/chyt-api.js +1 -1
  21. package/build/cjs/server/controllers/chyt-api.js.map +1 -1
  22. package/build/cjs/server/controllers/cluster-info.js +2 -2
  23. package/build/cjs/server/controllers/cluster-info.js.map +1 -1
  24. package/build/cjs/server/controllers/cluster-params.js +1 -1
  25. package/build/cjs/server/controllers/cluster-params.js.map +1 -1
  26. package/build/cjs/server/controllers/clusters.d.ts +1 -0
  27. package/build/cjs/server/controllers/clusters.js +24 -1
  28. package/build/cjs/server/controllers/clusters.js.map +1 -1
  29. package/build/cjs/server/controllers/home.js +10 -6
  30. package/build/cjs/server/controllers/home.js.map +1 -1
  31. package/build/cjs/server/controllers/login.js +18 -5
  32. package/build/cjs/server/controllers/login.js.map +1 -1
  33. package/build/cjs/server/controllers/odin-proxy-api.js +1 -1
  34. package/build/cjs/server/controllers/odin-proxy-api.js.map +1 -1
  35. package/build/cjs/server/controllers/scheduling-pools.js +2 -2
  36. package/build/cjs/server/controllers/scheduling-pools.js.map +1 -1
  37. package/build/cjs/server/controllers/settings.js +10 -10
  38. package/build/cjs/server/controllers/settings.js.map +1 -1
  39. package/build/cjs/server/controllers/table-column-preset.js +4 -3
  40. package/build/cjs/server/controllers/table-column-preset.js.map +1 -1
  41. package/build/cjs/server/controllers/yt-api.js +1 -1
  42. package/build/cjs/server/controllers/yt-api.js.map +1 -1
  43. package/build/cjs/server/controllers/yt-proxy-api.js +2 -2
  44. package/build/cjs/server/controllers/yt-proxy-api.js.map +1 -1
  45. package/build/cjs/server/index.js +11 -8
  46. package/build/cjs/server/index.js.map +1 -1
  47. package/build/cjs/server/middlewares/authorization.d.ts +1 -1
  48. package/build/cjs/server/middlewares/authorization.js +3 -2
  49. package/build/cjs/server/middlewares/authorization.js.map +1 -1
  50. package/build/cjs/server/middlewares/yt-auth.js +3 -2
  51. package/build/cjs/server/middlewares/yt-auth.js.map +1 -1
  52. package/build/cjs/server/routes.js +26 -25
  53. package/build/cjs/server/routes.js.map +1 -1
  54. package/build/cjs/server/utils/index.d.ts +1 -1
  55. package/build/cjs/server/utils/index.js +12 -4
  56. package/build/cjs/server/utils/index.js.map +1 -1
  57. package/build/cjs/shared/yt-types.d.ts +1 -0
  58. package/build/cjs/ui/common/utils/settings-remote-provider.d.ts +5 -5
  59. package/build/cjs/ui/common/utils/settings-remote-provider.js +42 -16
  60. package/build/cjs/ui/common/utils/settings-remote-provider.js.map +1 -1
  61. package/build/cjs/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
  62. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
  63. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
  64. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
  65. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js +7 -4
  66. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  67. package/build/cjs/ui/config/ui-settings.d.ts +1 -0
  68. package/build/cjs/ui/config/ui-settings.js +3 -2
  69. package/build/cjs/ui/config/ui-settings.js.map +1 -1
  70. package/build/cjs/ui/constants/index.d.ts +7 -0
  71. package/build/cjs/ui/constants/index.js +3 -1
  72. package/build/cjs/ui/constants/index.js.map +1 -1
  73. package/build/cjs/ui/containers/App/App.js +4 -3
  74. package/build/cjs/ui/containers/App/App.js.map +1 -1
  75. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
  76. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  77. package/build/cjs/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
  78. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +3 -1
  79. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  80. package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
  81. package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
  82. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
  83. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js +11 -3
  84. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
  85. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
  86. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
  87. package/build/cjs/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
  88. package/build/cjs/ui/entries/main.js +4 -1
  89. package/build/cjs/ui/entries/main.js.map +1 -1
  90. package/build/cjs/ui/pages/operations/selectors.d.ts +5 -0
  91. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
  92. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
  93. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
  94. package/build/cjs/ui/pages/system/Chunks/Chunks.d.ts +1 -1
  95. package/build/cjs/ui/store/actions/cluster-params.d.ts +1 -0
  96. package/build/cjs/ui/store/actions/cluster-params.js +13 -0
  97. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  98. package/build/cjs/ui/store/actions/clusters-menu.d.ts +1 -0
  99. package/build/cjs/ui/store/actions/clusters-menu.js +22 -2
  100. package/build/cjs/ui/store/actions/clusters-menu.js.map +1 -1
  101. package/build/cjs/ui/store/actions/global/index.d.ts +3 -1
  102. package/build/cjs/ui/store/actions/global/index.js +19 -4
  103. package/build/cjs/ui/store/actions/global/index.js.map +1 -1
  104. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
  105. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
  106. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
  107. package/build/cjs/ui/store/actions/navigation/content/table/table.js +2 -1
  108. package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
  109. package/build/cjs/ui/store/actions/settings/index.js +25 -19
  110. package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
  111. package/build/cjs/ui/store/reducers/accounts/usage/index.d.ts +1 -1
  112. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
  113. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js +8 -0
  114. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
  115. package/build/cjs/ui/store/reducers/index.d.ts +5 -0
  116. package/build/cjs/ui/store/reducers/index.js.map +1 -1
  117. package/build/cjs/ui/store/reducers/settings.js +1 -1
  118. package/build/cjs/ui/store/reducers/settings.js.map +1 -1
  119. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +40 -0
  120. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
  121. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
  122. package/build/cjs/ui/store/selectors/chyt/index.d.ts +35 -0
  123. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +35 -0
  124. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
  125. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
  126. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
  127. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
  128. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
  129. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
  130. package/build/cjs/ui/store/selectors/global/index.d.ts +912 -0
  131. package/build/cjs/ui/store/selectors/global/index.js +10 -1
  132. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  133. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +30 -0
  134. package/build/cjs/ui/store/selectors/modals/errors.d.ts +5 -0
  135. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +5 -0
  136. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
  137. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
  138. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
  139. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +35 -0
  140. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
  141. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
  142. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +10 -0
  143. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
  144. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
  145. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
  146. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
  147. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
  148. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
  149. package/build/cjs/ui/store/selectors/operations/index.d.ts +60 -0
  150. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
  151. package/build/cjs/ui/store/selectors/operations/operation.d.ts +60 -0
  152. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +15 -0
  153. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
  154. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
  155. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
  156. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
  157. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +5 -0
  158. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
  159. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
  160. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
  161. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
  162. package/build/cjs/ui/store/selectors/thor/support.d.ts +25 -0
  163. package/build/esm/@types/core.d.ts +7 -7
  164. package/build/esm/server/components/layout-config.js +4 -3
  165. package/build/esm/server/components/layout-config.js.map +1 -1
  166. package/build/esm/server/components/requestsSetup.js +12 -5
  167. package/build/esm/server/components/requestsSetup.js.map +1 -1
  168. package/build/esm/server/components/settings.d.ts +10 -5
  169. package/build/esm/server/components/settings.js +33 -22
  170. package/build/esm/server/components/settings.js.map +1 -1
  171. package/build/esm/server/components/table.d.ts +3 -3
  172. package/build/esm/server/components/table.js +10 -10
  173. package/build/esm/server/components/table.js.map +1 -1
  174. package/build/esm/server/components/yt-auth.d.ts +0 -2
  175. package/build/esm/server/components/yt-auth.js +6 -11
  176. package/build/esm/server/components/yt-auth.js.map +1 -1
  177. package/build/esm/server/configs/common.js +4 -14
  178. package/build/esm/server/configs/common.js.map +1 -1
  179. package/build/esm/server/configs/local.js +0 -5
  180. package/build/esm/server/configs/local.js.map +1 -1
  181. package/build/esm/server/controllers/chyt-api.js +1 -1
  182. package/build/esm/server/controllers/chyt-api.js.map +1 -1
  183. package/build/esm/server/controllers/cluster-info.js +3 -3
  184. package/build/esm/server/controllers/cluster-info.js.map +1 -1
  185. package/build/esm/server/controllers/cluster-params.js +1 -1
  186. package/build/esm/server/controllers/cluster-params.js.map +1 -1
  187. package/build/esm/server/controllers/clusters.d.ts +1 -0
  188. package/build/esm/server/controllers/clusters.js +23 -0
  189. package/build/esm/server/controllers/clusters.js.map +1 -1
  190. package/build/esm/server/controllers/home.js +32 -28
  191. package/build/esm/server/controllers/home.js.map +1 -1
  192. package/build/esm/server/controllers/login.js +35 -21
  193. package/build/esm/server/controllers/login.js.map +1 -1
  194. package/build/esm/server/controllers/odin-proxy-api.js +1 -1
  195. package/build/esm/server/controllers/odin-proxy-api.js.map +1 -1
  196. package/build/esm/server/controllers/scheduling-pools.js +3 -3
  197. package/build/esm/server/controllers/scheduling-pools.js.map +1 -1
  198. package/build/esm/server/controllers/settings.js +26 -15
  199. package/build/esm/server/controllers/settings.js.map +1 -1
  200. package/build/esm/server/controllers/table-column-preset.js +15 -14
  201. package/build/esm/server/controllers/table-column-preset.js.map +1 -1
  202. package/build/esm/server/controllers/yt-api.js +1 -1
  203. package/build/esm/server/controllers/yt-api.js.map +1 -1
  204. package/build/esm/server/controllers/yt-proxy-api.js +3 -3
  205. package/build/esm/server/controllers/yt-proxy-api.js.map +1 -1
  206. package/build/esm/server/index.js +12 -8
  207. package/build/esm/server/index.js.map +1 -1
  208. package/build/esm/server/middlewares/authorization.d.ts +1 -1
  209. package/build/esm/server/middlewares/authorization.js +21 -16
  210. package/build/esm/server/middlewares/authorization.js.map +1 -1
  211. package/build/esm/server/middlewares/yt-auth.js +8 -7
  212. package/build/esm/server/middlewares/yt-auth.js.map +1 -1
  213. package/build/esm/server/routes.js +29 -26
  214. package/build/esm/server/routes.js.map +1 -1
  215. package/build/esm/server/utils/index.d.ts +1 -1
  216. package/build/esm/server/utils/index.js +12 -6
  217. package/build/esm/server/utils/index.js.map +1 -1
  218. package/build/esm/shared/yt-types.d.ts +1 -0
  219. package/build/esm/ui/common/utils/settings-remote-provider.d.ts +5 -5
  220. package/build/esm/ui/common/utils/settings-remote-provider.js +42 -16
  221. package/build/esm/ui/common/utils/settings-remote-provider.js.map +1 -1
  222. package/build/esm/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
  223. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
  224. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
  225. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
  226. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js +8 -5
  227. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  228. package/build/esm/ui/config/ui-settings.d.ts +1 -0
  229. package/build/esm/ui/config/ui-settings.js +2 -1
  230. package/build/esm/ui/config/ui-settings.js.map +1 -1
  231. package/build/esm/ui/constants/index.d.ts +7 -0
  232. package/build/esm/ui/constants/index.js +1 -0
  233. package/build/esm/ui/constants/index.js.map +1 -1
  234. package/build/esm/ui/containers/App/App.js +4 -3
  235. package/build/esm/ui/containers/App/App.js.map +1 -1
  236. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
  237. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  238. package/build/esm/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
  239. package/build/esm/ui/containers/ClusterPage/ClusterPage.js +4 -2
  240. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  241. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
  242. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
  243. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.scss +6 -0
  244. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
  245. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js +12 -4
  246. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
  247. package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
  248. package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
  249. package/build/esm/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
  250. package/build/esm/ui/entries/main.js +4 -1
  251. package/build/esm/ui/entries/main.js.map +1 -1
  252. package/build/esm/ui/pages/operations/selectors.d.ts +5 -0
  253. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
  254. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
  255. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
  256. package/build/esm/ui/pages/system/Chunks/Chunks.d.ts +1 -1
  257. package/build/esm/ui/store/actions/cluster-params.d.ts +1 -0
  258. package/build/esm/ui/store/actions/cluster-params.js +12 -0
  259. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  260. package/build/esm/ui/store/actions/clusters-menu.d.ts +1 -0
  261. package/build/esm/ui/store/actions/clusters-menu.js +22 -3
  262. package/build/esm/ui/store/actions/clusters-menu.js.map +1 -1
  263. package/build/esm/ui/store/actions/global/index.d.ts +3 -1
  264. package/build/esm/ui/store/actions/global/index.js +19 -4
  265. package/build/esm/ui/store/actions/global/index.js.map +1 -1
  266. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
  267. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
  268. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
  269. package/build/esm/ui/store/actions/navigation/content/table/table.js +2 -1
  270. package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
  271. package/build/esm/ui/store/actions/settings/index.js +25 -19
  272. package/build/esm/ui/store/actions/settings/index.js.map +1 -1
  273. package/build/esm/ui/store/reducers/accounts/usage/index.d.ts +1 -1
  274. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
  275. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js +9 -1
  276. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
  277. package/build/esm/ui/store/reducers/index.d.ts +5 -0
  278. package/build/esm/ui/store/reducers/index.js.map +1 -1
  279. package/build/esm/ui/store/reducers/settings.js +1 -1
  280. package/build/esm/ui/store/reducers/settings.js.map +1 -1
  281. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +40 -0
  282. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
  283. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
  284. package/build/esm/ui/store/selectors/chyt/index.d.ts +35 -0
  285. package/build/esm/ui/store/selectors/components/node/memory.d.ts +35 -0
  286. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
  287. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
  288. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
  289. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
  290. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
  291. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
  292. package/build/esm/ui/store/selectors/global/index.d.ts +912 -0
  293. package/build/esm/ui/store/selectors/global/index.js +10 -1
  294. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  295. package/build/esm/ui/store/selectors/global/supported-features.d.ts +30 -0
  296. package/build/esm/ui/store/selectors/modals/errors.d.ts +5 -0
  297. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +5 -0
  298. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
  299. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
  300. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
  301. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +35 -0
  302. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
  303. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
  304. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +10 -0
  305. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
  306. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
  307. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
  308. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
  309. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
  310. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
  311. package/build/esm/ui/store/selectors/operations/index.d.ts +60 -0
  312. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
  313. package/build/esm/ui/store/selectors/operations/operation.d.ts +60 -0
  314. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +15 -0
  315. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
  316. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
  317. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
  318. package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
  319. package/build/esm/ui/store/selectors/scheduling/index.d.ts +5 -0
  320. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
  321. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
  322. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
  323. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
  324. package/build/esm/ui/store/selectors/thor/support.d.ts +25 -0
  325. package/dist/public/build/assets-manifest.json +12 -12
  326. package/dist/public/build/css/main.8a4cd357.css +2 -0
  327. package/dist/public/build/css/main.8a4cd357.css.map +1 -0
  328. package/dist/public/build/js/{861.9703a31c.chunk.js → 861.a0939319.chunk.js} +2 -2
  329. package/dist/public/build/js/861.a0939319.chunk.js.map +1 -0
  330. package/dist/public/build/js/main.c39cff0d.js +3 -0
  331. package/dist/public/build/js/{main.5b132a95.js.map → main.c39cff0d.js.map} +1 -1
  332. package/dist/public/build/js/runtime.0ac0f2e8.js +2 -0
  333. package/dist/public/build/js/{runtime.a87a1f88.js.map → runtime.0ac0f2e8.js.map} +1 -1
  334. package/dist/public/build/manifest.json +8 -8
  335. package/dist/server/components/layout-config.js +3 -3
  336. package/dist/server/components/requestsSetup.js +13 -5
  337. package/dist/server/components/settings.d.ts +10 -5
  338. package/dist/server/components/settings.js +24 -23
  339. package/dist/server/components/table.d.ts +3 -3
  340. package/dist/server/components/table.js +4 -4
  341. package/dist/server/components/yt-auth.d.ts +0 -2
  342. package/dist/server/components/yt-auth.js +5 -14
  343. package/dist/server/configs/common.js +5 -13
  344. package/dist/server/configs/local.js +0 -5
  345. package/dist/server/controllers/chyt-api.js +1 -1
  346. package/dist/server/controllers/cluster-info.js +2 -2
  347. package/dist/server/controllers/cluster-params.js +1 -1
  348. package/dist/server/controllers/clusters.d.ts +1 -0
  349. package/dist/server/controllers/clusters.js +24 -1
  350. package/dist/server/controllers/home.js +10 -6
  351. package/dist/server/controllers/login.js +18 -5
  352. package/dist/server/controllers/odin-proxy-api.js +1 -1
  353. package/dist/server/controllers/scheduling-pools.js +2 -2
  354. package/dist/server/controllers/settings.js +10 -10
  355. package/dist/server/controllers/table-column-preset.js +4 -3
  356. package/dist/server/controllers/yt-api.js +1 -1
  357. package/dist/server/controllers/yt-proxy-api.js +2 -2
  358. package/dist/server/index.js +11 -8
  359. package/dist/server/middlewares/authorization.d.ts +1 -1
  360. package/dist/server/middlewares/authorization.js +3 -2
  361. package/dist/server/middlewares/yt-auth.js +3 -2
  362. package/dist/server/routes.js +26 -25
  363. package/dist/server/utils/index.d.ts +1 -1
  364. package/dist/server/utils/index.js +12 -4
  365. package/package.json +2 -2
  366. package/dist/public/build/css/main.4aa70d7b.css +0 -2
  367. package/dist/public/build/css/main.4aa70d7b.css.map +0 -1
  368. package/dist/public/build/js/861.9703a31c.chunk.js.map +0 -1
  369. package/dist/public/build/js/main.5b132a95.js +0 -3
  370. package/dist/public/build/js/runtime.a87a1f88.js +0 -2
  371. /package/dist/public/build/js/{main.5b132a95.js.LICENSE.txt → main.c39cff0d.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["axios","YT_CYPRESS_COOKIE_NAME","getUserYTApiSetup","getYTApiClusterSetup","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","crypto","ytLib","getXSRFToken","getAuthCluster","yt","handleLogin","_x","_x2","_handleLogin","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","req","res","ytAuthCluster","_ref","username","password","_getYTApiClusterSetup","proxyBaseUrl","requestUrl","basicAuth","wrap","_callee2$","_context2","prev","next","ctx","config","JSON","parse","body","Error","concat","Buffer","from","toString","request","url","method","headers","_objectSpread","getMetadata","Authorization","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","undefined","removeSecureFlagIfOriginInsecure","sent","stop","_x5","t0","ytAuthAllowInsecure","origin","startsWith","_reduce","acc","v","k","tmp","_map","item","replace","handleChangePassword","_x3","_x4","_handleChangePassword","_callee3","_ref3","newPassword","currentPassword","new_password_sha256","current_password_sha256","cfg","_cfg","setup","_yield$getXSRFToken","login","csrf_token","_callee3$","_context3","createHash","update","digest","abrupt","createOption","v4","setUserPassword","parameters","user","result","status","send","err","t1"],"sources":["login.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport axios from 'axios';\nimport _ from 'lodash';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {getUserYTApiSetup, getYTApiClusterSetup} from '../components/requestsSetup';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport crypto from 'crypto';\n\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {getXSRFToken} from '../components/cluster-queries';\nimport {getAuthCluster} from '../components/yt-auth';\n\nconst yt = ytLib();\n\nexport async function handleLogin(req: Request, res: Response) {\n try {\n const ytAuthCluster = getAuthCluster(req.ctx.config);\n\n const {username, password} = JSON.parse(req.body) || {};\n if (!username || !password) {\n throw new Error('Username and password must not be empty');\n }\n\n const {proxyBaseUrl} = getYTApiClusterSetup(ytAuthCluster);\n const requestUrl = `${proxyBaseUrl}/login`;\n\n const basicAuth = Buffer.from(`${username}:${password}`).toString('base64');\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {...req.ctx.getMetadata(), Authorization: `Basic ${basicAuth}`},\n timeout: 10000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(\n req.ctx,\n res,\n response,\n undefined,\n (headers) => removeSecureFlagIfOriginInsecure(req, headers),\n );\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nfunction removeSecureFlagIfOriginInsecure(\n req: Request,\n headers: Record<string, string | Array<string>>,\n) {\n const {ytAuthAllowInsecure} = req.ctx.config;\n const {origin} = req.headers;\n\n if (!ytAuthAllowInsecure || 'string' !== typeof origin || !origin.startsWith('http://')) {\n return headers;\n }\n\n return _.reduce(\n headers,\n (acc, v, k) => {\n if (k !== 'set-cookie') {\n acc[k] = v;\n } else {\n const tmp = _.map(v as Array<string>, (item) => {\n if (item.startsWith(YT_CYPRESS_COOKIE_NAME)) {\n return item.replace(/\\s*Secure;/, '');\n }\n return item;\n });\n acc[k] = tmp;\n }\n return acc;\n },\n {} as typeof headers,\n );\n}\n\nexport async function handleChangePassword(req: Request, res: Response) {\n try {\n const ytAuthCluster = getAuthCluster(req.ctx.config);\n\n const {newPassword, currentPassword} = JSON.parse(req.body) || {};\n if (!newPassword || !currentPassword) {\n throw new Error('New and current password must not be empty');\n }\n\n const new_password_sha256 = crypto.createHash('sha256').update(newPassword).digest('hex');\n const current_password_sha256 = crypto\n .createHash('sha256')\n .update(currentPassword)\n .digest('hex');\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n\n const {setup} = cfg;\n const {login, csrf_token} = await getXSRFToken(req, cfg);\n\n yt.setup.createOption('requestHeaders', 'object', {\n 'X-Csrf-Token': csrf_token,\n });\n\n await yt.v4\n .setUserPassword({\n setup,\n parameters: {user: login, new_password_sha256, current_password_sha256},\n })\n .then((result: unknown) => {\n res.status(200).send({result});\n })\n .catch((err: any) => {\n sendAndLogError(req.ctx, res, 500, err);\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["axios","YT_CYPRESS_COOKIE_NAME","getUserYTApiSetup","getYTApiClusterSetup","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","crypto","ytLib","getXSRFToken","yt","handleLogin","_x","_x2","_handleLogin","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","req","res","ytAuthCluster","_ref","username","password","_getYTApiClusterSetup","proxyBaseUrl","requestUrl","basicAuth","wrap","_callee2$","_context2","prev","next","params","JSON","parse","body","Error","concat","Buffer","from","toString","request","url","method","headers","_objectSpread","ctx","getMetadata","Authorization","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","undefined","reduce","ret","item","push","startsWith","replace","removeSecureFlagIfOriginInsecure","sent","stop","_x5","t0","ytAuthAllowInsecure","config","origin","_reduce","acc","v","k","tmp","_map","includes","handleChangePassword","_x3","_x4","_handleChangePassword","_callee3","_ref3","newPassword","currentPassword","new_password_sha256","current_password_sha256","cfg","_cfg","setup","_yield$getXSRFToken","login","csrf_token","_callee3$","_context3","createHash","update","digest","abrupt","createOption","v4","setUserPassword","parameters","user","result","status","send","err","t1"],"sources":["login.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport axios from 'axios';\nimport _ from 'lodash';\nimport {YT_CYPRESS_COOKIE_NAME} from '../../shared/constants';\nimport {getUserYTApiSetup, getYTApiClusterSetup} from '../components/requestsSetup';\nimport {UNEXPECTED_PIPE_AXIOS_RESPONSE, pipeAxiosResponse, sendAndLogError} from '../utils';\nimport crypto from 'crypto';\n\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {getXSRFToken} from '../components/cluster-queries';\n\nconst yt = ytLib();\n\nexport async function handleLogin(req: Request, res: Response) {\n try {\n const {ytAuthCluster} = req.params;\n\n const {username, password} = JSON.parse(req.body) || {};\n if (!username || !password) {\n throw new Error('Username and password must not be empty');\n }\n\n const {proxyBaseUrl} = getYTApiClusterSetup(ytAuthCluster);\n const requestUrl = `${proxyBaseUrl}/login`;\n\n const basicAuth = Buffer.from(`${username}:${password}`).toString('base64');\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {...req.ctx.getMetadata(), Authorization: `Basic ${basicAuth}`},\n timeout: 10000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(\n req.ctx,\n res,\n response,\n undefined,\n (headers: Record<string, string[]>) => {\n if (headers['set-cookie']) {\n headers['set-cookie'] = headers['set-cookie'].reduce<string[]>(\n (ret, item) => {\n ret.push(item);\n\n if (item.startsWith(YT_CYPRESS_COOKIE_NAME)) {\n ret.push(\n item.replace(\n YT_CYPRESS_COOKIE_NAME,\n `${ytAuthCluster}:${YT_CYPRESS_COOKIE_NAME}`,\n ),\n );\n }\n\n return ret;\n },\n [],\n );\n }\n\n return removeSecureFlagIfOriginInsecure(req, headers);\n },\n );\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n\nfunction removeSecureFlagIfOriginInsecure(\n req: Request,\n headers: Record<string, string | Array<string>>,\n) {\n const {ytAuthAllowInsecure} = req.ctx.config;\n const {origin} = req.headers;\n\n if (!ytAuthAllowInsecure || 'string' !== typeof origin || !origin.startsWith('http://')) {\n return headers;\n }\n\n return _.reduce(\n headers,\n (acc, v, k) => {\n if (k !== 'set-cookie') {\n acc[k] = v;\n } else {\n const tmp = _.map(v as Array<string>, (item) => {\n if (item.includes(YT_CYPRESS_COOKIE_NAME)) {\n return item.replace(/\\s*Secure;/, '');\n }\n return item;\n });\n acc[k] = tmp;\n }\n return acc;\n },\n {} as typeof headers,\n );\n}\n\nexport async function handleChangePassword(req: Request, res: Response) {\n try {\n const ytAuthCluster = req.params.ytAuthCluster;\n\n if (!ytAuthCluster) {\n throw new Error('You have to define ytAuthCluster.');\n }\n\n const {newPassword, currentPassword} = JSON.parse(req.body) || {};\n if (!newPassword || !currentPassword) {\n throw new Error('New and current password must not be empty');\n }\n\n const new_password_sha256 = crypto.createHash('sha256').update(newPassword).digest('hex');\n const current_password_sha256 = crypto\n .createHash('sha256')\n .update(currentPassword)\n .digest('hex');\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n\n const {setup} = cfg;\n const {login, csrf_token} = await getXSRFToken(req, cfg);\n\n yt.setup.createOption('requestHeaders', 'object', {\n 'X-Csrf-Token': csrf_token,\n });\n\n await yt.v4\n .setUserPassword({\n setup,\n parameters: {user: login, new_password_sha256, current_password_sha256},\n })\n .then((result: unknown) => {\n res.status(200).send({result});\n })\n .catch((err: any) => {\n sendAndLogError(req.ctx, res, 500, err);\n });\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 500, e);\n }\n}\n"],"mappings":"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"}
@@ -57,7 +57,7 @@ function _odinProxyApiImpl() {
57
57
  case 3:
58
58
  ctx = req.ctx, query = req.query;
59
59
  search = _isEmpty(query) ? '' : "?".concat(qs.stringify(query));
60
- _req$params = req.params, action = _req$params.action, cluster = _req$params.cluster;
60
+ _req$params = req.params, action = _req$params.action, cluster = _req$params.ytAuthCluster;
61
61
  allowedActionsUrls = {
62
62
  service_list: "".concat(odinPath, "/service_list"),
63
63
  exists: "".concat(odinPath, "/").concat(action, "/").concat(cluster),
@@ -1 +1 @@
1
- {"version":3,"names":["axios","qs","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getApp","odinProxyApi","_x","_x2","_odinProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","odinProxyApiImpl","t0","ctx","method","query","page","headers","referer","stop","_x3","_x4","_odinProxyApiImpl","_callee3","_getApp$config","odinPath","search","_req$params","action","cluster","allowedActionsUrls","url","_callee3$","_context3","config","odinBaseUrl","abrupt","Error","_isEmpty","concat","stringify","params","service_list","exists","availability","_has","request","_objectSpread","getMetadata","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","sent","_x5"],"sources":["odin-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 {getApp} from '../ServerFactory';\n\nexport async function odinProxyApi(req: Request, res: Response) {\n try {\n await odinProxyApiImpl(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 odinProxyApiImpl(req: Request, res: Response) {\n const odinPath = getApp().config?.odinBaseUrl;\n if (!odinPath) {\n return sendAndLogError(req.ctx, res, 500, new Error('Odin base url is not configured'));\n }\n const {ctx, query} = req;\n\n const search = _.isEmpty(query) ? '' : `?${qs.stringify(query)}`;\n const {action, cluster} = req.params;\n\n const allowedActionsUrls: Record<string, string> = {\n service_list: `${odinPath}/service_list`,\n exists: `${odinPath}/${action}/${cluster}`,\n availability: `${odinPath}/${action}/${cluster}${search}`,\n };\n\n if (!_.has(allowedActionsUrls, action)) {\n return sendAndLogError(\n req.ctx,\n res,\n 400,\n new Error(`Odin action - ${action}, is not supported`),\n );\n }\n\n const url = allowedActionsUrls[action];\n\n return axios\n .request({\n url: url,\n method: req.method as any,\n headers: {...ctx.getMetadata(), '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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"}
1
+ {"version":3,"names":["axios","qs","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getApp","odinProxyApi","_x","_x2","_odinProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","odinProxyApiImpl","t0","ctx","method","query","page","headers","referer","stop","_x3","_x4","_odinProxyApiImpl","_callee3","_getApp$config","odinPath","search","_req$params","action","cluster","allowedActionsUrls","url","_callee3$","_context3","config","odinBaseUrl","abrupt","Error","_isEmpty","concat","stringify","params","ytAuthCluster","service_list","exists","availability","_has","request","_objectSpread","getMetadata","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","sent","_x5"],"sources":["odin-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 {getApp} from '../ServerFactory';\n\nexport async function odinProxyApi(req: Request, res: Response) {\n try {\n await odinProxyApiImpl(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 odinProxyApiImpl(req: Request, res: Response) {\n const odinPath = getApp().config?.odinBaseUrl;\n if (!odinPath) {\n return sendAndLogError(req.ctx, res, 500, new Error('Odin base url is not configured'));\n }\n const {ctx, query} = req;\n\n const search = _.isEmpty(query) ? '' : `?${qs.stringify(query)}`;\n const {action, ytAuthCluster: cluster} = req.params;\n\n const allowedActionsUrls: Record<string, string> = {\n service_list: `${odinPath}/service_list`,\n exists: `${odinPath}/${action}/${cluster}`,\n availability: `${odinPath}/${action}/${cluster}${search}`,\n };\n\n if (!_.has(allowedActionsUrls, action)) {\n return sendAndLogError(\n req.ctx,\n res,\n 400,\n new Error(`Odin action - ${action}, is not supported`),\n );\n }\n\n const url = allowedActionsUrls[action];\n\n return axios\n .request({\n url: url,\n method: req.method as any,\n headers: {...ctx.getMetadata(), '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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"}
@@ -12,16 +12,16 @@ export function getClusterPools(_x, _x2) {
12
12
  }
13
13
  function _getClusterPools() {
14
14
  _getClusterPools = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res) {
15
- var _ref, cluster, poolTree, cfg, _cfg, setup, _yield$loadPoolTree, names, tree;
15
+ var _ref, ytAuthCluster, poolTree, cfg, _cfg, setup, _yield$loadPoolTree, names, tree;
16
16
  return _regeneratorRuntime.wrap(function _callee$(_context) {
17
17
  while (1) switch (_context.prev = _context.next) {
18
18
  case 0:
19
19
  _context.prev = 0;
20
20
  req.ctx.log('Test', req.params);
21
- _ref = req.params, cluster = _ref.cluster;
21
+ _ref = req.params, ytAuthCluster = _ref.ytAuthCluster;
22
22
  poolTree = req.query.poolTree;
23
23
  _context.prev = 4;
24
- cfg = getUserYTApiSetup(cluster, req);
24
+ cfg = getUserYTApiSetup(ytAuthCluster, req);
25
25
  _context.next = 12;
26
26
  break;
27
27
  case 8:
@@ -1 +1 @@
1
- {"version":3,"names":["ytLib","USE_MAX_SIZE","sendAndLogError","getUserYTApiSetup","yt","getClusterPools","_x","_x2","_getClusterPools","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","_ref","cluster","poolTree","cfg","_cfg","setup","_yield$loadPoolTree","names","tree","wrap","_callee$","_context","prev","next","ctx","log","params","query","t0","abrupt","loadPoolTree","sent","send","t1","stop","SCHEDULER_POOL_TREES","_x3","_x4","_loadPoolTree","_callee2","poolTreesRoot","data","stack","_loop","_callee2$","_context3","getPoolTreeRootPath","loadDefaultPoolTree","v3","get","parameters","_objectSpread","path","concat","item","_loop$","_context2","pop","Object","keys","forEach","k","push","length","delegateYield","then","err","code","codes","NODE_DOES_NOT_EXIST","Promise","reject","_x5","_x6","_loadDefaultPoolTree","_callee3","_callee3$","_context4","defaultTree","error"],"sources":["scheduling-pools.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport type {Request, Response} from 'express';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {USE_MAX_SIZE} from '../../shared/constants/yt-api';\n\nimport {sendAndLogError} from '../utils';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {YTError} from '../../@types/types';\n\nconst yt = ytLib();\n\nexport async function getClusterPools(req: Request, res: Response) {\n try {\n req.ctx.log('Test', req.params);\n const {cluster} = req.params as {cluster: string};\n const {poolTree} = req.query;\n let cfg;\n try {\n cfg = getUserYTApiSetup(cluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n const {setup} = cfg;\n\n const {names, tree} = await loadPoolTree(setup, poolTree as string);\n res.send({tree, names});\n } catch (e: any) {\n sendAndLogError(req.ctx, res, null, e);\n }\n}\n\nconst SCHEDULER_POOL_TREES = '//sys/scheduler/config/pool_trees_root';\n\ninterface PoolTree extends Record<string, PoolTree> {}\n\nasync function loadPoolTree(\n setup: unknown,\n poolTree?: string,\n): Promise<{names: Array<string>; tree: string}> {\n const poolTreesRoot = await getPoolTreeRootPath(setup);\n\n const tree = poolTree ? poolTree : await loadDefaultPoolTree(setup, poolTreesRoot);\n const data: PoolTree = await yt.v3.get({\n setup,\n parameters: {path: `${poolTreesRoot}/${tree}`, ...USE_MAX_SIZE},\n });\n\n const names: Array<string> = [];\n const stack = [data];\n while (stack.length) {\n const item = stack.pop();\n Object.keys(item ?? {}).forEach((k) => {\n names.push(k);\n if (item) {\n stack.push(item[k]);\n }\n });\n }\n\n return {names, tree};\n}\n\nfunction getPoolTreeRootPath(setup: unknown): Promise<string> {\n return yt.v3.get({setup, parameters: {path: SCHEDULER_POOL_TREES}}).then(\n (path: string) => {\n return path;\n },\n (err: YTError) => {\n return err.code === yt.codes.NODE_DOES_NOT_EXIST\n ? '//sys/pool_trees'\n : Promise.reject(err);\n },\n );\n}\n\nasync function loadDefaultPoolTree(setup: unknown, poolTreesRoot: string) {\n const path = `${poolTreesRoot}/@default_tree`;\n return yt.v3\n .get({setup, parameters: {path}})\n .then((defaultTree: string) => {\n return defaultTree || 'physical';\n })\n .catch((error: any) => {\n if (error && error.code === yt.codes.NODE_DOES_NOT_EXIST) {\n return 'physical';\n }\n throw error;\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ytLib","USE_MAX_SIZE","sendAndLogError","getUserYTApiSetup","yt","getClusterPools","_x","_x2","_getClusterPools","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","_ref","ytAuthCluster","poolTree","cfg","_cfg","setup","_yield$loadPoolTree","names","tree","wrap","_callee$","_context","prev","next","ctx","log","params","query","t0","abrupt","loadPoolTree","sent","send","t1","stop","SCHEDULER_POOL_TREES","_x3","_x4","_loadPoolTree","_callee2","poolTreesRoot","data","stack","_loop","_callee2$","_context3","getPoolTreeRootPath","loadDefaultPoolTree","v3","get","parameters","_objectSpread","path","concat","item","_loop$","_context2","pop","Object","keys","forEach","k","push","length","delegateYield","then","err","code","codes","NODE_DOES_NOT_EXIST","Promise","reject","_x5","_x6","_loadDefaultPoolTree","_callee3","_callee3$","_context4","defaultTree","error"],"sources":["scheduling-pools.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport type {Request, Response} from 'express';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {USE_MAX_SIZE} from '../../shared/constants/yt-api';\n\nimport {sendAndLogError} from '../utils';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\nimport {YTError} from '../../@types/types';\n\nconst yt = ytLib();\n\nexport async function getClusterPools(req: Request, res: Response) {\n try {\n req.ctx.log('Test', req.params);\n const {ytAuthCluster} = req.params as {ytAuthCluster: string};\n const {poolTree} = req.query;\n let cfg;\n try {\n cfg = getUserYTApiSetup(ytAuthCluster, req);\n } catch (e: any) {\n sendAndLogError(req.ctx, res, 400, e);\n return;\n }\n const {setup} = cfg;\n\n const {names, tree} = await loadPoolTree(setup, poolTree as string);\n res.send({tree, names});\n } catch (e: any) {\n sendAndLogError(req.ctx, res, null, e);\n }\n}\n\nconst SCHEDULER_POOL_TREES = '//sys/scheduler/config/pool_trees_root';\n\ninterface PoolTree extends Record<string, PoolTree> {}\n\nasync function loadPoolTree(\n setup: unknown,\n poolTree?: string,\n): Promise<{names: Array<string>; tree: string}> {\n const poolTreesRoot = await getPoolTreeRootPath(setup);\n\n const tree = poolTree ? poolTree : await loadDefaultPoolTree(setup, poolTreesRoot);\n const data: PoolTree = await yt.v3.get({\n setup,\n parameters: {path: `${poolTreesRoot}/${tree}`, ...USE_MAX_SIZE},\n });\n\n const names: Array<string> = [];\n const stack = [data];\n while (stack.length) {\n const item = stack.pop();\n Object.keys(item ?? {}).forEach((k) => {\n names.push(k);\n if (item) {\n stack.push(item[k]);\n }\n });\n }\n\n return {names, tree};\n}\n\nfunction getPoolTreeRootPath(setup: unknown): Promise<string> {\n return yt.v3.get({setup, parameters: {path: SCHEDULER_POOL_TREES}}).then(\n (path: string) => {\n return path;\n },\n (err: YTError) => {\n return err.code === yt.codes.NODE_DOES_NOT_EXIST\n ? '//sys/pool_trees'\n : Promise.reject(err);\n },\n );\n}\n\nasync function loadDefaultPoolTree(setup: unknown, poolTreesRoot: string) {\n const path = `${poolTreesRoot}/@default_tree`;\n return yt.v3\n .get({setup, parameters: {path}})\n .then((defaultTree: string) => {\n return defaultTree || 'physical';\n })\n .catch((error: any) => {\n if (error && error.code === yt.codes.NODE_DOES_NOT_EXIST) {\n return 'physical';\n }\n throw error;\n });\n}\n"],"mappings":";;;AAGA;AACA,OAAOA,KAAK,MAAM,8BAA8B;AAEhD,SAAQC,YAAY,QAAO,+BAA+B;AAE1D,SAAQC,eAAe,QAAO,UAAU;AACxC,SAAQC,iBAAiB,QAAO,6BAA6B;AAG7D,IAAMC,EAAE,GAAGJ,KAAK,CAAC,CAAC;AAElB,gBAAsBK,eAAeA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAmBpC,SAAAF,iBAAA;EAAAA,gBAAA,GAAAG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAnBM,SAAAC,QAA+BC,GAAY,EAAEC,GAAa;IAAA,IAAAC,IAAA,EAAAC,aAAA,EAAAC,QAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,mBAAA,EAAAC,KAAA,EAAAC,IAAA;IAAA,OAAAb,mBAAA,CAAAc,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAEzDd,GAAG,CAACgB,GAAG,CAACC,GAAG,CAAC,MAAM,EAAEjB,GAAG,CAACkB,MAAM,CAAC;UAAChB,IAAA,GACRF,GAAG,CAACkB,MAAM,EAA3Bf,aAAa,GAAAD,IAAA,CAAbC,aAAa;UACbC,QAAQ,GAAIJ,GAAG,CAACmB,KAAK,CAArBf,QAAQ;UAAAS,QAAA,CAAAC,IAAA;UAGXT,GAAG,GAAGjB,iBAAiB,CAACe,aAAa,EAAEH,GAAG,CAAC;UAACa,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAO,EAAA,GAAAP,QAAA;UAE5C1B,eAAe,CAACa,GAAG,CAACgB,GAAG,EAAEf,GAAG,EAAE,GAAG,EAAAY,QAAA,CAAAO,EAAG,CAAC;UAAC,OAAAP,QAAA,CAAAQ,MAAA;QAAA;UAAAf,IAAA,GAG1BD,GAAG,EAAZE,KAAK,GAAAD,IAAA,CAALC,KAAK;UAAAM,QAAA,CAAAE,IAAA;UAAA,OAEgBO,YAAY,CAACf,KAAK,EAAEH,QAAkB,CAAC;QAAA;UAAAI,mBAAA,GAAAK,QAAA,CAAAU,IAAA;UAA5Dd,KAAK,GAAAD,mBAAA,CAALC,KAAK;UAAEC,IAAI,GAAAF,mBAAA,CAAJE,IAAI;UAClBT,GAAG,CAACuB,IAAI,CAAC;YAACd,IAAI,EAAJA,IAAI;YAAED,KAAK,EAALA;UAAK,CAAC,CAAC;UAACI,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAY,EAAA,GAAAZ,QAAA;UAExB1B,eAAe,CAACa,GAAG,CAACgB,GAAG,EAAEf,GAAG,EAAE,IAAI,EAAAY,QAAA,CAAAY,EAAG,CAAC;QAAC;QAAA;UAAA,OAAAZ,QAAA,CAAAa,IAAA;MAAA;IAAA,GAAA3B,OAAA;EAAA,CAE9C;EAAA,OAAAN,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,IAAMgC,oBAAoB,GAAG,wCAAwC;AAAC,SAIvDL,YAAYA,CAAAM,GAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAApC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAmC,cAAA;EAAAA,aAAA,GAAAlC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAA3B,SAAAiC,SACIxB,KAAc,EACdH,QAAiB;IAAA,IAAA4B,aAAA,EAAAtB,IAAA,EAAAuB,IAAA,EAAAxB,KAAA,EAAAyB,KAAA,EAAAC,KAAA;IAAA,OAAAtC,mBAAA,CAAAc,IAAA,UAAAyB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAvB,IAAA,GAAAuB,SAAA,CAAAtB,IAAA;QAAA;UAAAsB,SAAA,CAAAtB,IAAA;UAAA,OAEWuB,mBAAmB,CAAC/B,KAAK,CAAC;QAAA;UAAhDyB,aAAa,GAAAK,SAAA,CAAAd,IAAA;UAAA,KAENnB,QAAQ;YAAAiC,SAAA,CAAAtB,IAAA;YAAA;UAAA;UAAAsB,SAAA,CAAAjB,EAAA,GAAGhB,QAAQ;UAAAiC,SAAA,CAAAtB,IAAA;UAAA;QAAA;UAAAsB,SAAA,CAAAtB,IAAA;UAAA,OAASwB,mBAAmB,CAAChC,KAAK,EAAEyB,aAAa,CAAC;QAAA;UAAAK,SAAA,CAAAjB,EAAA,GAAAiB,SAAA,CAAAd,IAAA;QAAA;UAA5Eb,IAAI,GAAA2B,SAAA,CAAAjB,EAAA;UAAAiB,SAAA,CAAAtB,IAAA;UAAA,OACmB1B,EAAE,CAACmD,EAAE,CAACC,GAAG,CAAC;YACnClC,KAAK,EAALA,KAAK;YACLmC,UAAU,EAAAC,aAAA;cAAGC,IAAI,KAAAC,MAAA,CAAKb,aAAa,OAAAa,MAAA,CAAInC,IAAI;YAAE,GAAKxB,YAAY;UAClE,CAAC,CAAC;QAAA;UAHI+C,IAAc,GAAAI,SAAA,CAAAd,IAAA;UAKdd,KAAoB,GAAG,EAAE;UACzByB,KAAK,GAAG,CAACD,IAAI,CAAC;UAAAE,KAAA,gBAAAtC,mBAAA,CAAAC,IAAA,UAAAqC,MAAA;YAAA,IAAAW,IAAA;YAAA,OAAAjD,mBAAA,CAAAc,IAAA,UAAAoC,OAAAC,SAAA;cAAA,kBAAAA,SAAA,CAAAlC,IAAA,GAAAkC,SAAA,CAAAjC,IAAA;gBAAA;kBAEV+B,IAAI,GAAGZ,KAAK,CAACe,GAAG,CAAC,CAAC;kBACxBC,MAAM,CAACC,IAAI,CAACL,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC,UAACC,CAAC,EAAK;oBACnC5C,KAAK,CAAC6C,IAAI,CAACD,CAAC,CAAC;oBACb,IAAIP,IAAI,EAAE;sBACNZ,KAAK,CAACoB,IAAI,CAACR,IAAI,CAACO,CAAC,CAAC,CAAC;oBACvB;kBACJ,CAAC,CAAC;gBAAC;gBAAA;kBAAA,OAAAL,SAAA,CAAAtB,IAAA;cAAA;YAAA,GAAAS,KAAA;UAAA;QAAA;UAAA,KAPAD,KAAK,CAACqB,MAAM;YAAAlB,SAAA,CAAAtB,IAAA;YAAA;UAAA;UAAA,OAAAsB,SAAA,CAAAmB,aAAA,CAAArB,KAAA;QAAA;UAAAE,SAAA,CAAAtB,IAAA;UAAA;QAAA;UAAA,OAAAsB,SAAA,CAAAhB,MAAA,WAUZ;YAACZ,KAAK,EAALA,KAAK;YAAEC,IAAI,EAAJA;UAAI,CAAC;QAAA;QAAA;UAAA,OAAA2B,SAAA,CAAAX,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CACvB;EAAA,OAAAD,aAAA,CAAApC,KAAA,OAAAC,SAAA;AAAA;AAED,SAAS2C,mBAAmBA,CAAC/B,KAAc,EAAmB;EAC1D,OAAOlB,EAAE,CAACmD,EAAE,CAACC,GAAG,CAAC;IAAClC,KAAK,EAALA,KAAK;IAAEmC,UAAU,EAAE;MAACE,IAAI,EAAEjB;IAAoB;EAAC,CAAC,CAAC,CAAC8B,IAAI,CACpE,UAACb,IAAY,EAAK;IACd,OAAOA,IAAI;EACf,CAAC,EACD,UAACc,GAAY,EAAK;IACd,OAAOA,GAAG,CAACC,IAAI,KAAKtE,EAAE,CAACuE,KAAK,CAACC,mBAAmB,GAC1C,kBAAkB,GAClBC,OAAO,CAACC,MAAM,CAACL,GAAG,CAAC;EAC7B,CACJ,CAAC;AACL;AAAC,SAEcnB,mBAAmBA,CAAAyB,GAAA,EAAAC,GAAA;EAAA,OAAAC,oBAAA,CAAAxE,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuE,qBAAA;EAAAA,oBAAA,GAAAtE,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAlC,SAAAqE,SAAmC5D,KAAc,EAAEyB,aAAqB;IAAA,IAAAY,IAAA;IAAA,OAAA/C,mBAAA,CAAAc,IAAA,UAAAyD,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAvD,IAAA,GAAAuD,SAAA,CAAAtD,IAAA;QAAA;UAC9D6B,IAAI,MAAAC,MAAA,CAAMb,aAAa;UAAA,OAAAqC,SAAA,CAAAhD,MAAA,WACtBhC,EAAE,CAACmD,EAAE,CACPC,GAAG,CAAC;YAAClC,KAAK,EAALA,KAAK;YAAEmC,UAAU,EAAE;cAACE,IAAI,EAAJA;YAAI;UAAC,CAAC,CAAC,CAChCa,IAAI,CAAC,UAACa,WAAmB,EAAK;YAC3B,OAAOA,WAAW,IAAI,UAAU;UACpC,CAAC,CAAC,SACI,CAAC,UAACC,KAAU,EAAK;YACnB,IAAIA,KAAK,IAAIA,KAAK,CAACZ,IAAI,KAAKtE,EAAE,CAACuE,KAAK,CAACC,mBAAmB,EAAE;cACtD,OAAO,UAAU;YACrB;YACA,MAAMU,KAAK;UACf,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAF,SAAA,CAAA3C,IAAA;MAAA;IAAA,GAAAyC,QAAA;EAAA,CACT;EAAA,OAAAD,oBAAA,CAAAxE,KAAA,OAAAC,SAAA;AAAA"}
@@ -7,18 +7,24 @@ function sendResponse(_req, res, data) {
7
7
  }
8
8
  export function settingsCreate(req, res) {
9
9
  var ctx = req.ctx,
10
- username = req.params.username;
10
+ _req$params = req.params,
11
+ username = _req$params.username,
12
+ ytAuthCluster = _req$params.ytAuthCluster;
11
13
  return create({
12
14
  ctx: ctx,
13
- username: username
15
+ username: username,
16
+ cluster: ytAuthCluster
14
17
  }).then(sendResponse.bind(null, req, res))["catch"](sendError.bind(null, res));
15
18
  }
16
19
  export function settingsGet(req, res) {
17
20
  var ctx = req.ctx,
18
- username = req.params.username;
21
+ _req$params2 = req.params,
22
+ username = _req$params2.username,
23
+ ytAuthCluster = _req$params2.ytAuthCluster;
19
24
  return get({
20
25
  ctx: ctx,
21
- username: username
26
+ username: username,
27
+ cluster: ytAuthCluster
22
28
  }).then(sendResponse.bind(null, req, res))["catch"](sendError.bind(null, res));
23
29
  }
24
30
  export function settingsGetItem(_x, _x2) {
@@ -26,15 +32,16 @@ export function settingsGetItem(_x, _x2) {
26
32
  }
27
33
  function _settingsGetItem() {
28
34
  _settingsGetItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res) {
29
- var ctx, _req$params3, username, path;
35
+ var ctx, _req$params5, username, path, ytAuthCluster;
30
36
  return _regeneratorRuntime.wrap(function _callee$(_context) {
31
37
  while (1) switch (_context.prev = _context.next) {
32
38
  case 0:
33
- ctx = req.ctx, _req$params3 = req.params, username = _req$params3.username, path = _req$params3.path;
39
+ ctx = req.ctx, _req$params5 = req.params, username = _req$params5.username, path = _req$params5.path, ytAuthCluster = _req$params5.ytAuthCluster;
34
40
  return _context.abrupt("return", getItem({
35
41
  ctx: ctx,
36
42
  username: username,
37
- path: path
43
+ path: path,
44
+ cluster: ytAuthCluster
38
45
  }).then(sendResponse.bind(null, req, res))["catch"](sendError.bind(null, res)));
39
46
  case 2:
40
47
  case "end":
@@ -46,9 +53,10 @@ function _settingsGetItem() {
46
53
  }
47
54
  export function settingsSetItem(req, res) {
48
55
  var ctx = req.ctx,
49
- _req$params = req.params,
50
- username = _req$params.username,
51
- path = _req$params.path,
56
+ _req$params3 = req.params,
57
+ username = _req$params3.username,
58
+ path = _req$params3.path,
59
+ ytAuthCluster = _req$params3.ytAuthCluster,
52
60
  _req$body = req.body,
53
61
  _req$body2 = _req$body === void 0 ? {} : _req$body,
54
62
  value = _req$body2.value;
@@ -56,18 +64,21 @@ export function settingsSetItem(req, res) {
56
64
  ctx: ctx,
57
65
  username: username,
58
66
  path: path,
59
- value: value
67
+ value: value,
68
+ cluster: ytAuthCluster
60
69
  }).then(sendResponse.bind(null, req, res))["catch"](sendError.bind(null, res));
61
70
  }
62
71
  export function settingsDeleteItem(req, res) {
63
72
  var ctx = req.ctx,
64
- _req$params2 = req.params,
65
- username = _req$params2.username,
66
- path = _req$params2.path;
73
+ _req$params4 = req.params,
74
+ username = _req$params4.username,
75
+ path = _req$params4.path,
76
+ ytAuthCluster = _req$params4.ytAuthCluster;
67
77
  return deleteItem({
68
78
  ctx: ctx,
69
79
  username: username,
70
- path: path
80
+ path: path,
81
+ cluster: ytAuthCluster
71
82
  }).then(sendResponse.bind(null, req, res))["catch"](sendError.bind(null, res));
72
83
  }
73
84
  // #sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["create","deleteItem","get","getItem","setItem","sendError","sendResponse","_req","res","data","set","status","send","JSON","stringify","settingsCreate","req","ctx","username","params","then","bind","settingsGet","settingsGetItem","_x","_x2","_settingsGetItem","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$params3","path","wrap","_callee$","_context","prev","next","abrupt","stop","settingsSetItem","_req$params","_req$body","body","_req$body2","value","settingsDeleteItem","_req$params2"],"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},\n } = req;\n\n return create({ctx, username})\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},\n } = req;\n\n return get({ctx, username})\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},\n } = req;\n\n return getItem({ctx, username, path})\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},\n body: {value} = {},\n } = req;\n\n return setItem({ctx, username, path, value})\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},\n } = req;\n\n return deleteItem({ctx, username, path})\n .then(sendResponse.bind(null, req, res))\n .catch(sendError.bind(null, res));\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["create","deleteItem","get","getItem","setItem","sendError","sendResponse","_req","res","data","set","status","send","JSON","stringify","settingsCreate","req","ctx","_req$params","params","username","ytAuthCluster","cluster","then","bind","settingsGet","_req$params2","settingsGetItem","_x","_x2","_settingsGetItem","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$params5","path","wrap","_callee$","_context","prev","next","abrupt","stop","settingsSetItem","_req$params3","_req$body","body","_req$body2","value","settingsDeleteItem","_req$params4"],"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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"}
@@ -7,15 +7,15 @@ export function tableColumnPresetGet(_x, _x2) {
7
7
  }
8
8
  function _tableColumnPresetGet() {
9
9
  _tableColumnPresetGet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(req, res) {
10
- var hash, presetsConfig, columns, err;
10
+ var _req$params, hash, ytAuthCluster, presetsConfig, columns, err;
11
11
  return _regeneratorRuntime.wrap(function _callee$(_context) {
12
12
  while (1) switch (_context.prev = _context.next) {
13
13
  case 0:
14
- hash = req.params.hash;
14
+ _req$params = req.params, hash = _req$params.hash, ytAuthCluster = _req$params.ytAuthCluster;
15
15
  _context.prev = 1;
16
16
  presetsConfig = checkEnabled(req);
17
17
  _context.next = 5;
18
- return getColumnPreset(presetsConfig, hash);
18
+ return getColumnPreset(presetsConfig, hash, ytAuthCluster);
19
19
  case 5:
20
20
  columns = _context.sent;
21
21
  if (!columns) {
@@ -47,30 +47,31 @@ export function tableColumnPresetSave(_x3, _x4) {
47
47
  }
48
48
  function _tableColumnPresetSave() {
49
49
  _tableColumnPresetSave = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(req, res) {
50
- var body, presetsConfig, result;
50
+ var body, ytAuthCluster, presetsConfig, result;
51
51
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
52
52
  while (1) switch (_context2.prev = _context2.next) {
53
53
  case 0:
54
54
  body = req.body;
55
- _context2.prev = 1;
55
+ ytAuthCluster = req.params.ytAuthCluster;
56
+ _context2.prev = 2;
56
57
  presetsConfig = checkEnabled(req);
57
- _context2.next = 5;
58
- return saveColumnPreset(presetsConfig, body);
59
- case 5:
58
+ _context2.next = 6;
59
+ return saveColumnPreset(presetsConfig, body, ytAuthCluster);
60
+ case 6:
60
61
  result = _context2.sent;
61
62
  res.status(200).send(result);
62
- _context2.next = 13;
63
+ _context2.next = 14;
63
64
  break;
64
- case 9:
65
- _context2.prev = 9;
66
- _context2.t0 = _context2["catch"](1);
65
+ case 10:
66
+ _context2.prev = 10;
67
+ _context2.t0 = _context2["catch"](2);
67
68
  req.ctx.logError('Failed to save preset of columns', _context2.t0);
68
69
  res.status(500).send(prepareErrorToSend(_context2.t0));
69
- case 13:
70
+ case 14:
70
71
  case "end":
71
72
  return _context2.stop();
72
73
  }
73
- }, _callee2, null, [[1, 9]]);
74
+ }, _callee2, null, [[2, 10]]);
74
75
  }));
75
76
  return _tableColumnPresetSave.apply(this, arguments);
76
77
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getColumnPreset","saveColumnPreset","prepareErrorToSend","tableColumnPresetGet","_x","_x2","_tableColumnPresetGet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","hash","presetsConfig","columns","err","wrap","_callee$","_context","prev","next","params","checkEnabled","sent","Error","concat","ctx","logError","status","send","t0","stop","tableColumnPresetSave","_x3","_x4","_tableColumnPresetSave","_callee2","body","result","_callee2$","_context2","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":"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"}
1
+ {"version":3,"names":["getColumnPreset","saveColumnPreset","prepareErrorToSend","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","sent","Error","concat","ctx","logError","status","send","t0","stop","tableColumnPresetSave","_x3","_x4","_tableColumnPresetSave","_callee2","body","result","_callee2$","_context2","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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"}
@@ -71,7 +71,7 @@ function _ytTvmApiHandler() {
71
71
  _ref = req, ctx = _ref.ctx, params = _ref.params;
72
72
  referer = req.headers.referer;
73
73
  _context3.prev = 5;
74
- cfg = getUserYTApiSetup(params.cluster, req);
74
+ cfg = getUserYTApiSetup(params.ytAuthCluster, req);
75
75
  _context3.next = 12;
76
76
  break;
77
77
  case 9:
@@ -1 +1 @@
1
- {"version":3,"names":["axios","qs","ytLib","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","os","getYtPageIdParts","YT_API_REQUEST_ID_HEADER","getUserYTApiSetup","yt","YT_API_REQUEST_ID_HEADER_LOWER","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","call","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","method","query","stop","_sendError2","_x3","headers","cluster","t0","abrupt","version","Error","concat","get","command","has","heavy","log","request","url","getMetadata","sent","data","_isEmpty","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","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":";;;;;;AAAA,OAAOA,KAAK,MAAoB,OAAO;AAEvC,OAAOC,EAAE,MAAM,IAAI;AAEnB;AACA,OAAOC,KAAK,MAAM,8BAA8B;AAChD,SAAQC,8BAA8B,EAAEC,iBAAiB,EAAEC,eAAe,QAAO,UAAU;AAC3F,OAAO,KAAKC,EAAE,MAAM,IAAI;AACxB,SAAQC,gBAAgB,QAAO,oBAAoB;AACnD,SAAQC,wBAAwB,QAAO,wBAAwB;AAC/D,SAAQC,iBAAiB,QAAO,6BAA6B;AAE7D,IAAMC,EAAE,GAAGR,KAAK,CAAC,CAAC;AAYlB,IAAMS,8BAA8B,GAAGH,wBAAwB,CAACI,WAAW,CAAC,CAAC;AAE7E,IAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,CAAC,CAAC;AAE9F,IAAMC,iBAA6D,GAAGL,EAAE,CAACM,oBAAoB,CAAC,CAAC;AAE/F,gBAAsBC,eAAeA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA6GpC,SAAAF,iBAAA;EAAAA,gBAAA,GAAAG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CA7GM,SAAAC,SAA+BC,GAAY,EAAEC,GAAa;IAAA,IAAAC,IAAA,EAAAC,GAAA,EAAAC,MAAA,EAAAC,OAAA,EAI9CC,SAAS,EAAAC,UAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,cAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,OAAA,EA+BfC,SAAS,EAAAC,KAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,UAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,IAAA,EAAAC,SAAA;IAAA,OAAAlC,mBAAA,CAAAmC,IAAA,UAAAC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;QAAA;UAATlB,SAAS,YAAAmB,WAACC,SAIlB,EAAE;YAAA,IAAAC,UAAA;YACC,IAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;YAC5B,IAAOC,mBAAmB,GAAIL,SAAS,CAAhCK,mBAAmB;YAC1B,IAAMC,aAAa,GAAGC,MAAM,CAACF,mBAAmB,CAAC;YACjD,CAAAJ,UAAA,GAAApC,GAAG,CAAC2C,KAAK,cAAAP,UAAA,eAATA,UAAA,CAAAQ,IAAA,CAAA5C,GAAG,EAAS,YAAY,EAAA6C,aAAA,CAAAA,aAAA,KACjBV,SAAS;cACZK,mBAAmB,EAAEM,KAAK,CAACL,aAAa,CAAC,GAAG,CAAC,GAAGA,aAAa;cAC7DJ,SAAS,EAATA,SAAS;cACTb,IAAI,EAAEhD,EAAE,CAACuE,QAAQ,CAAC,CAAC;cACnBC,OAAO,EAAEzC,KAAK,CAAC0C,EAAE;cACjBC,WAAW,EAAEb,SAAS,GAAGxB,SAAS;cAClCsC,SAAS,EAAEtD,GAAG,CAACoD,EAAE;cACjBrC,MAAM,EAAGE,OAAO,IAAeF,MAAM;cACrCV,OAAO,EAAEA,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE;cACtBkD,IAAI,EAAE,CAAClD,OAAO,GAAG,EAAE,GAAGzB,gBAAgB,CAACyB,OAAO,CAAC,CAACmD,OAAO,CAAC;YAAC,EAC5D,CAAC;UACN,CAAC;UAAAjD,UAAA,YAAAkD,YAAA;YAAAlD,UAAA,GAAAX,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAnDD,SAAA4D,SAAyBC,CAAqB;cAAA,IAAAC,UAAA;gBAAAC,MAAA,GAAAlE,SAAA;cAAA,OAAAE,mBAAA,CAAAmC,IAAA,UAAA8B,UAAAC,SAAA;gBAAA,kBAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;kBAAA;oBAAEwB,UAAyB,GAAAC,MAAA,CAAAG,MAAA,QAAAH,MAAA,QAAAI,SAAA,GAAAJ,MAAA,MAAG,IAAI;oBAAAE,SAAA,CAAA3B,IAAA;oBAAA,OACtE1D,eAAe,CAACyB,GAAG,EAAEF,GAAG,EAAE2D,UAAU,EAAED,CAAC,EAAE;sBAC3CO,MAAM,EAAE,QAAQ;sBAChBC,KAAK,EAAEnE,GAAG,CAACmE,KAAK;sBAChBZ,IAAI,EAAElD;oBACV,CAAC,CAAC;kBAAA;kBAAA;oBAAA,OAAA0D,SAAA,CAAAK,IAAA;gBAAA;cAAA,GAAAV,QAAA;YAAA,CACL;YAAA,OAAAnD,UAAA,CAAAb,KAAA,OAAAC,SAAA;UAAA;UANcW,SAAS,YAAA+D,YAAAC,GAAA;YAAA,OAAA/D,UAAA,CAAAb,KAAA,OAAAC,SAAA;UAAA;UAAAO,IAAA,GAHFF,GAAG,EAAlBG,GAAG,GAAAD,IAAA,CAAHC,GAAG,EAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;UACXC,OAAO,GAAIL,GAAG,CAACuE,OAAO,CAAtBlE,OAAO;UAAA6B,SAAA,CAAAC,IAAA;UAYV3B,GAAG,GAAG1B,iBAAiB,CAACsB,MAAM,CAACoE,OAAO,EAAExE,GAAG,CAAC;UAACkC,SAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,SAAA,CAAAC,IAAA;UAAAD,SAAA,CAAAuC,EAAA,GAAAvC,SAAA;UAAA,OAAAA,SAAA,CAAAwC,MAAA,WAEtCpE,SAAS,CAAA4B,SAAA,CAAAuC,EAAA,EAAI,GAAG,CAAC;QAAA;UAAAhE,IAAA,GAEiBD,GAAG,EAAzCE,KAAK,GAAAD,IAAA,CAALC,KAAK,EAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,EAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;UAEhBC,UAAU,GAAIzB,iBAAiB,CAAhDgB,MAAM,CAACuE,OAAO;UAAA,IACjB9D,UAAU;YAAAqB,SAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,SAAA,CAAAwC,MAAA,WACJpE,SAAS,CAAC,IAAIsE,KAAK,6BAAAC,MAAA,CAA6BzE,MAAM,CAACuE,OAAO,MAAG,CAAC,EAAE,GAAG,CAAC;QAAA;UAG7E7D,WAAW,GAAGD,UAAU,CAACiE,GAAG,CAAC1E,MAAM,CAAC2E,OAAO,CAAC;UAAA,MAC9C,CAACjE,WAAW,IAAI,CAAC5B,iBAAiB,CAAC8F,GAAG,CAAC5E,MAAM,CAAC2E,OAAO,CAAC;YAAA7C,SAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,SAAA,CAAAwC,MAAA,WAC/CpE,SAAS,CAAC,IAAIsE,KAAK,yBAAAC,MAAA,CAAyBzE,MAAM,CAAC2E,OAAO,MAAG,CAAC,EAAE,GAAG,CAAC;QAAA;UAGzEhE,MAAM,MAAA8D,MAAA,CAAMzE,MAAM,CAACuE,OAAO,OAAAE,MAAA,CAAIzE,MAAM,CAAC2E,OAAO;UAC5C/D,SAAS,GAAGyB,IAAI,CAACC,GAAG,CAAC,CAAC;UAEazB,OAAO,GAAIjB,GAAG,CAACuE,OAAO,CAAvDvF,8BAA8B;UAAAkD,SAAA,CAAAC,IAAA;UAyB3BhB,KAAK,GAAYT,KAAK,CAAtBS,KAAK,EAAEC,MAAM,GAAIV,KAAK,CAAfU,MAAM;UACdC,KAAK,GAAGD,MAAM,GAAG,OAAO,GAAG,MAAM;UACnCE,YAAY,GAAGH,KAAK;UAAA,MACpBL,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEmE,KAAK,IAAI,CAACrE,cAAc;YAAAsB,SAAA,CAAAE,IAAA;YAAA;UAAA;UACrCjC,GAAG,CAAC+E,GAAG,qCAAAL,MAAA,CAAqCzE,MAAM,CAAC2E,OAAO,MAAG,CAAC;UAAC7C,SAAA,CAAAE,IAAA;UAAA,OAC7C/D,KAAK,CAAC8G,OAAO,CAAC;YAC5BjB,MAAM,EAAE,KAAK;YACbkB,GAAG,KAAAP,MAAA,CAAKxD,KAAK,SAAAwD,MAAA,CAAM1D,KAAK,WAAQ;YAChCoD,OAAO,EAAEpE,GAAG,CAACkF,WAAW,CAAC;UAC7B,CAAC,CAAC;QAAA;UAJIpF,IAAG,GAAAiC,SAAA,CAAAoD,IAAA;UAKThE,YAAY,GAAGrB,IAAG,CAACsF,IAAI,CAAC,CAAC,CAAC;QAAC;UAGzB/D,MAAM,GAAGgE,QAAA,CAAUxF,GAAG,CAACmE,KAAK,CAAC,GAAG,EAAE,OAAAU,MAAA,CAAOvG,EAAE,CAACmH,SAAS,CAACzF,GAAG,CAACmE,KAAK,CAAC,CAAE;UAClE1C,UAAU,MAAAoD,MAAA,CAAMxD,KAAK,SAAAwD,MAAA,CAAMvD,YAAY,WAAAuD,MAAA,CAAQ9D,MAAM,EAAA8D,MAAA,CAAGrD,MAAM,GAEpE;UAAAE,YAAA,GAC0E1B,GAAG,CAACuE,OAAO,EAA9E5C,IAAI,GAAAD,YAAA,CAAJC,IAAI,EAAEC,MAAM,GAAAF,YAAA,CAANE,MAAM,EAAoCC,MAAM,GAAAH,YAAA,CAAvC1C,8BAA8B,GAAc8C,IAAI,GAAA4D,wBAAA,CAAAhE,YAAA,qBAAhD1C,8BAA8B,EAAA2G,GAAA,CAAAC,cAAA;UACpDzF,GAAG,CAAC+E,GAAG,CAAC,SAAS,EAAE;YAACzD,UAAU,EAAVA,UAAU;YAAE,qBAAqB,EAAEzB,GAAG,CAACoD;UAAE,CAAC,CAAC;UAAClB,SAAA,CAAAE,IAAA;UAAA,OAE1D/D,KAAK,CACN8G,OAAO,CAAC;YACLC,GAAG,EAAE3D,UAAU;YACfyC,MAAM,EAAElE,GAAG,CAACkE,MAAa;YACzBK,OAAO,EAAAvB,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACA7C,GAAG,CAACkF,WAAW,CAAC,CAAC,GACjBvD,IAAI;cACP,iBAAiB,EAAE,MAAM;cACzB,qBAAqB,EAAE9B,GAAG,CAACoD,EAAE;cAC7B,wBAAwB,EAAE;YAAG,GAC1BzC,WAAW,CACjB;YACD4E,IAAI,EAAEvF,GAAG,CAAC6F,IAAI;YACdC,OAAO,EAAE,MAAM;YACfC,YAAY,EAAE;UAClB,CAAC,CAAC,CACDC,IAAI;YAAA,IAAAC,KAAA,GAAArG,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAC,SAAAoG,QAAOC,QAAQ;cAAA,IAAAC,SAAA;cAAA,OAAAvG,mBAAA,CAAAmC,IAAA,UAAAqE,SAAAC,QAAA;gBAAA,kBAAAA,QAAA,CAAAnE,IAAA,GAAAmE,QAAA,CAAAlE,IAAA;kBAAA;oBAAAkE,QAAA,CAAAlE,IAAA;oBAAA,OACO3D,iBAAiB,CAAC0B,GAAG,EAAEF,GAAG,EAAEkG,QAAQ,CAAC;kBAAA;oBAAvDC,SAAS,GAAAE,QAAA,CAAAhB,IAAA;oBAAA,IACVc,SAAS;sBAAAE,QAAA,CAAAlE,IAAA;sBAAA;oBAAA;oBAAA,MACJ,IAAIwC,KAAK,CAACpG,8BAA8B,CAAC;kBAAA;oBAEnD0C,SAAS,CAAA8B,aAAA,CAAAA,aAAA,KAAKoD,SAAS;sBAAEG,cAAc,EAAEJ,QAAQ,CAACK;oBAAM,EAAC,CAAC;kBAAC;kBAAA;oBAAA,OAAAF,QAAA,CAAAlC,IAAA;gBAAA;cAAA,GAAA8B,OAAA;YAAA,CAC9D;YAAA,iBAAAO,GAAA;cAAA,OAAAR,KAAA,CAAAvG,KAAA,OAAAC,SAAA;YAAA;UAAA,IAAC;QAAA;UAAAuC,SAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,SAAA,CAAAC,IAAA;UAAAD,SAAA,CAAAwE,EAAA,GAAAxE,SAAA;UAAAA,SAAA,CAAAC,IAAA;UAAAD,SAAA,CAAAE,IAAA;UAAA,OAGI9B,SAAS,CAAA4B,SAAA,CAAAwE,EAAA,EAAW,GAAG,CAAC;QAAA;UAAAxE,SAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,SAAA,CAAAC,IAAA;UAAAD,SAAA,CAAAyE,EAAA,GAAAzE,SAAA;QAAA;UAElChB,SAAS,CAAC;YACNqF,cAAc,EAAE,CAAArE,SAAA,CAAAwE,EAAA,aAAAxE,SAAA,CAAAwE,EAAA,gBAAA3E,SAAA,GAAAG,SAAA,CAAAwE,EAAA,CAAmBP,QAAQ,cAAApE,SAAA,uBAA3BA,SAAA,CAA6ByE,MAAM,KAAI;UAC3D,CAAC,CAAC;QAAC;QAAA;UAAA,OAAAtE,SAAA,CAAAkC,IAAA;MAAA;IAAA,GAAArE,QAAA;EAAA,CAEV;EAAA,OAAAN,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"names":["axios","qs","ytLib","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","os","getYtPageIdParts","YT_API_REQUEST_ID_HEADER","getUserYTApiSetup","yt","YT_API_REQUEST_ID_HEADER_LOWER","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","call","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","method","query","stop","_sendError2","_x3","headers","ytAuthCluster","t0","abrupt","version","Error","concat","get","command","has","heavy","log","request","url","getMetadata","sent","data","_isEmpty","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","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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"}
@@ -45,12 +45,12 @@ function ytProxyApiImpl(_x3, _x4) {
45
45
  }
46
46
  function _ytProxyApiImpl() {
47
47
  _ytProxyApiImpl = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(req, res) {
48
- var ctx, query, _req$params, command, cluster, proxyAction, search, cfg, _cfg, authHeaders, proxyBaseUrl;
48
+ var ctx, query, _req$params, command, ytAuthCluster, proxyAction, search, cfg, _cfg, authHeaders, proxyBaseUrl;
49
49
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
50
50
  while (1) switch (_context3.prev = _context3.next) {
51
51
  case 0:
52
52
  ctx = req.ctx, query = req.query;
53
- _req$params = req.params, command = _req$params.command, cluster = _req$params.cluster;
53
+ _req$params = req.params, command = _req$params.command, ytAuthCluster = _req$params.ytAuthCluster;
54
54
  proxyAction = ALLOWED_ACTION[command];
55
55
  if (proxyAction) {
56
56
  _context3.next = 5;
@@ -60,7 +60,7 @@ function _ytProxyApiImpl() {
60
60
  case 5:
61
61
  search = _isEmpty(query) ? '' : "?".concat(qs.stringify(query));
62
62
  _context3.prev = 6;
63
- cfg = getUserYTApiSetup(cluster, req);
63
+ cfg = getUserYTApiSetup(ytAuthCluster, req);
64
64
  _context3.next = 13;
65
65
  break;
66
66
  case 10:
@@ -1 +1 @@
1
- {"version":3,"names":["axios","qs","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getUserYTApiSetup","ytProxyApi","_x","_x2","_ytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","ytProxyApiImpl","t0","ctx","method","query","page","headers","referer","stop","ALLOWED_ACTION","_ALLOWED_ACTION","_defineProperty","_x3","_x4","_ytProxyApiImpl","_callee3","_req$params","command","cluster","proxyAction","search","cfg","_cfg","authHeaders","proxyBaseUrl","_callee3$","_context3","params","Error","_isEmpty","concat","stringify","abrupt","request","url","_objectSpread","getMetadata","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","sent","_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, cluster} = 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(cluster, 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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"}
1
+ {"version":3,"names":["axios","qs","UNEXPECTED_PIPE_AXIOS_RESPONSE","pipeAxiosResponse","sendAndLogError","getUserYTApiSetup","ytProxyApi","_x","_x2","_ytProxyApi","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","res","wrap","_callee$","_context","prev","next","ytProxyApiImpl","t0","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","stringify","abrupt","request","url","_objectSpread","getMetadata","data","body","timeout","responseType","then","_ref","_callee2","response","pipedSize","_callee2$","_context2","sent","_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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"}
@@ -24,14 +24,18 @@ nodekit.ctx.log('AppConfig details', {
24
24
  appDevMode: appDevMode
25
25
  });
26
26
  var _nodekit$config2 = nodekit.config,
27
- ytAuthCluster = _nodekit$config2.ytAuthCluster,
28
- appAuthHandler = _nodekit$config2.appAuthHandler;
29
- if (ytAuthCluster) {
30
- if (appAuthHandler) {
31
- nodekit.ctx.fail(new Error('"appAuthHandler" option will be ignored cause "ytAuthCluster" option is provided.'));
32
- }
33
- nodekit.config.appBeforeAuthMiddleware = [].concat(_toConsumableArray(nodekit.config.appBeforeAuthMiddleware || []), [authorizationResolver(createOAuthAuthorizationResolver()), authorizationResolver(createYTAuthorizationResolver())]);
34
- nodekit.config.appAuthHandler = createAuthMiddleware(ytAuthCluster);
27
+ allowPasswordAuth = _nodekit$config2.allowPasswordAuth,
28
+ ytOAuthSettings = _nodekit$config2.ytOAuthSettings;
29
+ var authMiddlewares = [];
30
+ if (ytOAuthSettings) {
31
+ authMiddlewares.push(authorizationResolver(createOAuthAuthorizationResolver()));
32
+ }
33
+ if (allowPasswordAuth) {
34
+ authMiddlewares.push(authorizationResolver(createYTAuthorizationResolver()));
35
+ }
36
+ if (authMiddlewares.length) {
37
+ nodekit.config.appBeforeAuthMiddleware = [].concat(_toConsumableArray(nodekit.config.appBeforeAuthMiddleware || []), authMiddlewares);
38
+ nodekit.config.appAuthHandler = createAuthMiddleware();
35
39
  }
36
40
  (_nodekit$config$adjus = (_nodekit$config3 = nodekit.config).adjustAppConfig) === null || _nodekit$config$adjus === void 0 || _nodekit$config$adjus.call(_nodekit$config3, nodekit);
37
41
  var app = new ExpressKit(nodekit, routes);
@@ -1 +1 @@
1
- {"version":3,"names":["path","NodeKit","ExpressKit","configureApp","createYTAuthorizationResolver","routes","createOAuthAuthorizationResolver","createAuthMiddleware","authorizationResolver","nodekit","configsPath","resolve","__dirname","_nodekit$config","config","appName","appEnv","appInstallation","appDevMode","ctx","log","_nodekit$config2","ytAuthCluster","appAuthHandler","fail","Error","appBeforeAuthMiddleware","concat","_toConsumableArray","_nodekit$config$adjus","_nodekit$config3","adjustAppConfig","call","app","require","main","module","run"],"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 {ytAuthCluster, appAuthHandler} = nodekit.config;\n\nif (ytAuthCluster) {\n if (appAuthHandler) {\n nodekit.ctx.fail(\n new Error(\n '\"appAuthHandler\" option will be ignored cause \"ytAuthCluster\" option is provided.',\n ),\n );\n }\n\n nodekit.config.appBeforeAuthMiddleware = [\n ...(nodekit.config.appBeforeAuthMiddleware || []),\n authorizationResolver(createOAuthAuthorizationResolver()),\n authorizationResolver(createYTAuthorizationResolver()),\n ];\n nodekit.config.appAuthHandler = createAuthMiddleware(ytAuthCluster);\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,OAAOA,IAAI,MAAM,MAAM;AAEvB,SAAQC,OAAO,QAAO,qBAAqB;AAC3C,SAAQC,UAAU,QAAO,wBAAwB;AAEjD,SAAQC,YAAY,QAAO,iBAAiB;AAE5C,SAAQC,6BAA6B,QAAO,uBAAuB;AACnE,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAAQC,gCAAgC,QAAO,qBAAqB;AACpE,SAAQC,oBAAoB,QAAO,6BAA6B;AAChE,SAAQC,qBAAqB,QAAO,uBAAuB;AAE3D,IAAMC,OAAO,GAAG,IAAIR,OAAO,CAAC;EAACS,WAAW,EAAEV,IAAI,CAACW,OAAO,CAACC,SAAS,EAAE,WAAW;AAAC,CAAC,CAAC;AAEhF,IAAAC,eAAA,GAAuDJ,OAAO,CAACK,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;AACnDT,OAAO,CAACU,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,GAAwCZ,OAAO,CAACK,MAAM;EAA/CQ,aAAa,GAAAD,gBAAA,CAAbC,aAAa;EAAEC,cAAc,GAAAF,gBAAA,CAAdE,cAAc;AAEpC,IAAID,aAAa,EAAE;EACf,IAAIC,cAAc,EAAE;IAChBd,OAAO,CAACU,GAAG,CAACK,IAAI,CACZ,IAAIC,KAAK,CACL,mFACJ,CACJ,CAAC;EACL;EAEAhB,OAAO,CAACK,MAAM,CAACY,uBAAuB,MAAAC,MAAA,CAAAC,kBAAA,CAC9BnB,OAAO,CAACK,MAAM,CAACY,uBAAuB,IAAI,EAAE,IAChDlB,qBAAqB,CAACF,gCAAgC,CAAC,CAAC,CAAC,EACzDE,qBAAqB,CAACJ,6BAA6B,CAAC,CAAC,CAAC,EACzD;EACDK,OAAO,CAACK,MAAM,CAACS,cAAc,GAAGhB,oBAAoB,CAACe,aAAa,CAAC;AACvE;AAEA,CAAAO,qBAAA,IAAAC,gBAAA,GAAArB,OAAO,CAACK,MAAM,EAACiB,eAAe,cAAAF,qBAAA,eAA9BA,qBAAA,CAAAG,IAAA,CAAAF,gBAAA,EAAiCrB,OAAO,CAAC;AAEzC,IAAMwB,GAAG,GAAG,IAAI/B,UAAU,CAACO,OAAO,EAAEJ,MAAM,CAAC;AAC3CF,YAAY,CAAC8B,GAAG,CAAC;AAEjB,IAAIC,OAAO,CAACC,IAAI,KAAKC,MAAM,EAAE;EACzBH,GAAG,CAACI,GAAG,CAAC,CAAC;AACb;AAEA,eAAeJ,GAAG"}
1
+ {"version":3,"names":["path","NodeKit","ExpressKit","configureApp","createYTAuthorizationResolver","routes","createOAuthAuthorizationResolver","createAuthMiddleware","authorizationResolver","nodekit","configsPath","resolve","__dirname","_nodekit$config","config","appName","appEnv","appInstallation","appDevMode","ctx","log","_nodekit$config2","allowPasswordAuth","ytOAuthSettings","authMiddlewares","push","length","appBeforeAuthMiddleware","concat","_toConsumableArray","appAuthHandler","_nodekit$config$adjus","_nodekit$config3","adjustAppConfig","call","app","require","main","module","run"],"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,OAAOA,IAAI,MAAM,MAAM;AAEvB,SAAQC,OAAO,QAAO,qBAAqB;AAC3C,SAAQC,UAAU,QAAO,wBAAwB;AAEjD,SAAQC,YAAY,QAAO,iBAAiB;AAE5C,SAAQC,6BAA6B,QAAO,uBAAuB;AACnE,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAAQC,gCAAgC,QAAO,qBAAqB;AACpE,SAAQC,oBAAoB,QAAO,6BAA6B;AAChE,SAAQC,qBAAqB,QAAO,uBAAuB;AAE3D,IAAMC,OAAO,GAAG,IAAIR,OAAO,CAAC;EAACS,WAAW,EAAEV,IAAI,CAACW,OAAO,CAACC,SAAS,EAAE,WAAW;AAAC,CAAC,CAAC;AAEhF,IAAAC,eAAA,GAAuDJ,OAAO,CAACK,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;AACnDT,OAAO,CAACU,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,GAA6CZ,OAAO,CAACK,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,CAACjB,qBAAqB,CAACF,gCAAgC,CAAC,CAAC,CAAC,CAAC;AACnF;AAEA,IAAIgB,iBAAiB,EAAE;EACnBE,eAAe,CAACC,IAAI,CAACjB,qBAAqB,CAACJ,6BAA6B,CAAC,CAAC,CAAC,CAAC;AAChF;AAEA,IAAIoB,eAAe,CAACE,MAAM,EAAE;EACxBjB,OAAO,CAACK,MAAM,CAACa,uBAAuB,MAAAC,MAAA,CAAAC,kBAAA,CAC9BpB,OAAO,CAACK,MAAM,CAACa,uBAAuB,IAAI,EAAE,GAC7CH,eAAe,CACrB;EAEDf,OAAO,CAACK,MAAM,CAACgB,cAAc,GAAGvB,oBAAoB,CAAC,CAAC;AAC1D;AAEA,CAAAwB,qBAAA,IAAAC,gBAAA,GAAAvB,OAAO,CAACK,MAAM,EAACmB,eAAe,cAAAF,qBAAA,eAA9BA,qBAAA,CAAAG,IAAA,CAAAF,gBAAA,EAAiCvB,OAAO,CAAC;AAEzC,IAAM0B,GAAG,GAAG,IAAIjC,UAAU,CAACO,OAAO,EAAEJ,MAAM,CAAC;AAC3CF,YAAY,CAACgC,GAAG,CAAC;AAEjB,IAAIC,OAAO,CAACC,IAAI,KAAKC,MAAM,EAAE;EACzBH,GAAG,CAACI,GAAG,CAAC,CAAC;AACb;AAEA,eAAeJ,GAAG"}