@ytsaurus/ui 1.14.2 → 1.15.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 (103) hide show
  1. package/build/cjs/@types/core.d.ts +3 -2
  2. package/build/cjs/server/configs/local.js +1 -0
  3. package/build/cjs/server/configs/local.js.map +1 -1
  4. package/build/cjs/shared/constants/yt-api-id.d.ts +139 -0
  5. package/build/cjs/shared/constants/yt-api-id.js +148 -0
  6. package/build/cjs/shared/constants/yt-api-id.js.map +1 -0
  7. package/build/cjs/shared/ui-settings.d.ts +1 -0
  8. package/build/cjs/shared/ui-settings.js.map +1 -1
  9. package/build/cjs/shared/utils/check-permission.d.ts +1 -14
  10. package/build/cjs/shared/utils/check-permission.js +6 -10
  11. package/build/cjs/shared/utils/check-permission.js.map +1 -1
  12. package/build/cjs/ui/UIFactory.d.ts +4 -1
  13. package/build/cjs/ui/UIFactory.js +9 -2
  14. package/build/cjs/ui/UIFactory.js.map +1 -1
  15. package/build/cjs/ui/components/Support/Support.js +6 -4
  16. package/build/cjs/ui/components/Support/Support.js.map +1 -1
  17. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  18. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  19. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -1
  20. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  21. package/build/cjs/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  22. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js +24 -0
  23. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  24. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  25. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  26. package/build/cjs/ui/rum/rum-wrap-api.d.ts +3 -141
  27. package/build/cjs/ui/rum/rum-wrap-api.js +12 -145
  28. package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
  29. package/build/cjs/ui/store/actions/cluster-params.js +22 -15
  30. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  31. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +1 -1
  32. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  33. package/build/cjs/ui/store/actions/system/masters.js +7 -3
  34. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  35. package/build/cjs/ui/store/selectors/global/index.d.ts +1 -1
  36. package/build/cjs/ui/store/selectors/global/index.js +4 -4
  37. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  38. package/build/cjs/ui/utils/scheduling/pool-child.js +1 -1
  39. package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
  40. package/build/esm/@types/core.d.ts +3 -2
  41. package/build/esm/server/configs/local.js +2 -1
  42. package/build/esm/server/configs/local.js.map +1 -1
  43. package/build/esm/shared/constants/yt-api-id.d.ts +139 -0
  44. package/build/esm/shared/constants/yt-api-id.js +141 -0
  45. package/build/esm/shared/constants/yt-api-id.js.map +1 -0
  46. package/build/esm/shared/ui-settings.d.ts +1 -0
  47. package/build/esm/shared/ui-settings.js.map +1 -1
  48. package/build/esm/shared/utils/check-permission.d.ts +1 -14
  49. package/build/esm/shared/utils/check-permission.js +8 -11
  50. package/build/esm/shared/utils/check-permission.js.map +1 -1
  51. package/build/esm/ui/UIFactory.d.ts +4 -1
  52. package/build/esm/ui/UIFactory.js +9 -2
  53. package/build/esm/ui/UIFactory.js.map +1 -1
  54. package/build/esm/ui/components/Support/Support.js +6 -4
  55. package/build/esm/ui/components/Support/Support.js.map +1 -1
  56. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  57. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  58. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -2
  59. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  60. package/build/esm/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  61. package/build/esm/ui/containers/SupportComponent/SupportComponent.js +18 -0
  62. package/build/esm/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  63. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  64. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  65. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +6 -1
  66. package/build/esm/ui/rum/rum-wrap-api.d.ts +3 -141
  67. package/build/esm/ui/rum/rum-wrap-api.js +3 -141
  68. package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
  69. package/build/esm/ui/store/actions/cluster-params.js +24 -17
  70. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  71. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +1 -1
  72. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  73. package/build/esm/ui/store/actions/system/masters.js +7 -3
  74. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  75. package/build/esm/ui/store/selectors/global/index.d.ts +1 -1
  76. package/build/esm/ui/store/selectors/global/index.js +3 -3
  77. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  78. package/build/esm/ui/utils/scheduling/pool-child.js +1 -1
  79. package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
  80. package/dist/public/build/assets-manifest.json +16 -16
  81. package/dist/public/build/css/{89.3546950a.chunk.css → 861.c5a67589.chunk.css} +1 -1
  82. package/dist/public/build/css/861.c5a67589.chunk.css.map +1 -0
  83. package/dist/public/build/css/{main.e919e247.css → main.675cb8c4.css} +2 -2
  84. package/dist/public/build/css/main.675cb8c4.css.map +1 -0
  85. package/dist/public/build/js/861.9703a31c.chunk.js +2 -0
  86. package/dist/public/build/js/861.9703a31c.chunk.js.map +1 -0
  87. package/dist/public/build/js/{943.f6342dd5.chunk.js → 943.40ff6440.chunk.js} +2 -2
  88. package/dist/public/build/js/{943.f6342dd5.chunk.js.map → 943.40ff6440.chunk.js.map} +1 -1
  89. package/dist/public/build/js/main.fb68ce2c.js +3 -0
  90. package/dist/public/build/js/{main.8e777909.js.map → main.fb68ce2c.js.map} +1 -1
  91. package/dist/public/build/js/runtime.ac9a4336.js +2 -0
  92. package/dist/public/build/js/{runtime.fd8cf219.js.map → runtime.ac9a4336.js.map} +1 -1
  93. package/dist/public/build/manifest.json +12 -12
  94. package/dist/server/configs/local.js +1 -0
  95. package/dist/shared/ui-settings.d.ts +1 -0
  96. package/package.json +4 -4
  97. package/dist/public/build/css/89.3546950a.chunk.css.map +0 -1
  98. package/dist/public/build/css/main.e919e247.css.map +0 -1
  99. package/dist/public/build/js/89.07445d46.chunk.js +0 -2
  100. package/dist/public/build/js/89.07445d46.chunk.js.map +0 -1
  101. package/dist/public/build/js/main.8e777909.js +0 -3
  102. package/dist/public/build/js/runtime.fd8cf219.js +0 -2
  103. /package/dist/public/build/js/{main.8e777909.js.LICENSE.txt → main.fb68ce2c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["yt","rumDebugLog2","rumGetTime","rumSendDelta","YT_API_REQUEST_ID_HEADER","YTApiId","makeApiWithId","ytApi","_reduce","acc","_fn","k","method","id","_ref","startTime","Date","now","_len","arguments","length","args","Array","_key","apply","_toConsumableArray","injectRequestId","concat","_args","_toArray","first","rest","slice","_typeof","Error","_ref2","setup","parameters","undefined","makeSetupWithId","_objectSpread","_ref3","requestHeaders","_defineProperty","ytApiV3","v3","ytApiV4","v4","ytApiV3Id","ytApiV4Id","wrapPromiseWithRum","promise","start","Promise","resolve","delta","RumWrapper","cluster","_classCallCheck","prefix","_createClass","key","value","getMeasureId","fetch","loadPromise","wrapId","gen","parse","parsePromise","wrap","stage","fn","res"],"sources":["rum-wrap-api.ts"],"sourcesContent":["import _ from 'lodash';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {rumDebugLog2, rumGetTime, rumSendDelta} from './rum-counter';\nimport {CancelTokenSource} from 'axios';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {RumMeasureTypes} from './rum-measure-types';\nimport {\n BatchResultsItem,\n BatchSubRequest,\n GetParams,\n OutputFormat,\n PathParams,\n} from '../../shared/yt-types';\nimport type {ValueOf} from '../types';\n\nexport enum YTApiId {\n // Names of ids for node-controllers should be started with 'ui_'-prefix\n ui_clusterInfo,\n ui_loadColumnPreset,\n\n // Some ids without specific page\n clusterParams,\n clusterParamsIsDeveloper,\n\n checkPermissions,\n getPoolTree,\n getPoolTrees,\n getPoolDefaultPoolTreeName,\n getPoolTreesPath,\n listPoolNames,\n getUsableBundles,\n listAccounts,\n listBundles,\n listGroups,\n listUsableAccounts,\n listUsers,\n listUsersUM,\n openAttributesModal,\n pathEditorLoadSuggestions,\n updateAttributes,\n updateNodeAttributes,\n\n // Page-specific requests\n accountsData,\n accountsEditData,\n\n attributesEditorGetAttrs,\n attributesEditorMerge,\n attributesEditorSet,\n\n componentsClusterNodes,\n componentGetRpcProxies,\n componentsRpcProxies,\n componentsShards,\n componentsUpdateNodeData,\n\n groupsData,\n groupsEditData,\n groupsListAll,\n\n // dynamic tables\n dynTableCheckPerm,\n dynTableSelectRows,\n dynTableSelectRowsPreload,\n\n // static tables\n tableReadPreload,\n tableRead,\n\n navigationAttributes,\n navigationCheckPermissions,\n navigationCopy,\n navigationDelete,\n navigationDynTableState,\n navigationGetAnnotation,\n navigationGetDocument,\n navigationGetPath,\n navigationGetPathInfo,\n navigationGetTabletState,\n navigationIsStaticTable,\n navigationListNodes,\n navigationListTransactions,\n navigationLocks,\n navigationTransactions,\n navigationMove,\n navigationMoveToTrash,\n navigationMoveToTrashRestorePath,\n navigationResourceUsage,\n navigationRestorePath,\n navigationRTReplicas,\n navigationTableSortLoadColumns,\n navigationTabletErrors,\n navigationTabletErrorsCountDynTable,\n navigationTabletErrorsCountReplicatedTable,\n navigationTableMountConfig,\n navigationTypeDynamic,\n navigationUpdateView,\n navigationUserAttributeKeys,\n\n nodeAttributes,\n nodeMemoryUsage,\n nodeUnrecognizedOptions,\n\n schedulingData,\n schedulingEditPool,\n\n listOperations,\n\n operationGetJobs,\n operationIntermediateResourceUsage,\n operationIsEphemeral,\n operationsSchedulerInstances,\n listJobs100,\n\n resourcePlannerPoolDetails,\n\n schedulingGetAttrsBeforeEdit,\n schedulingLoadOperations,\n schedulingLoadOperationsPerPool,\n schedulingLoadTree,\n schedulingTransferPoolQuota,\n schedulingPoolFullPath,\n schedulingLoadPoolsAll,\n schedulingLoadPoolsPerPool,\n schedulingLoadChildrenPerPool,\n schedulingLoadCypressDataPerPool,\n schedulingFilterAttributes,\n\n systemCAInstances,\n systemCAStates,\n systemChunks,\n systemMasters,\n systemMastersConfig,\n systemMastersConfigDiscoveryServer,\n systemNodes,\n systemProxies,\n systemResources,\n systemRpcProxies,\n systemSchedulers,\n systemSchedulersState,\n\n tabletAttribute,\n tabletCellAttributes,\n tabletPartitions,\n tabletStores,\n tabletStoresByIds,\n tabletTableAttributes,\n\n tabletCellBundles,\n tabletCellBundlesEditData,\n tabletCellBundlesInstancesDetails,\n tabletCellBundlesSetAttrs,\n tabletCellBundlesWithAbc,\n\n chaosCellBundles,\n chaosCellBundlesEditData,\n chaosCellBundlesSetAttrs,\n\n usersData,\n usersEditData,\n usersSaveData,\n\n queueStatus,\n queuePartitions,\n queueConsumerStatus,\n queueConsumerPartitions,\n\n bundleControllerZones,\n tabletBundleControllerState,\n tabletBundlesCheckWrite,\n listQueries,\n getQuery,\n startQuery,\n abortQuery,\n readQueryResults,\n getQueryResults,\n alterQuery,\n\n addMaintenance,\n removeMaintenance,\n maintenanceRequests,\n}\n\ninterface YTApiV3 {\n executeBatch<T = any>(\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<Array<BatchResultsItem<T>>>;\n get<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<Value>;\n list<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<Value>;\n exists(...args: ApiMethodParameters<PathParams>): Promise<boolean>;\n [method: string]: (...args: ApiMethodParameters<any>) => Promise<any>;\n}\n\ntype YTApiV3WithId = {\n executeBatch<T = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<Array<BatchResultsItem<T>>>;\n get<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<Value>;\n list<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<Value>;\n exists(id: YTApiId, ...args: ApiMethodParameters<PathParams>): Promise<boolean>;\n [method: string]: (id: YTApiId, ...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype YTApiV4 = {\n executeBatch<T = any>(\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<{results: Array<BatchResultsItem<T>>}>;\n get<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n list<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n exists(...args: ApiMethodParameters<PathParams>): Promise<{value: boolean}>;\n [method: string]: (...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype YTApiV4WithId = {\n executeBatch<T = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<{results: Array<BatchResultsItem<T>>}>;\n get<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n list<Value = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<GetParams>\n ): Promise<{value: Value}>;\n exists(id: YTApiId, ...args: ApiMethodParameters<PathParams>): Promise<{value: boolean}>;\n [method: string]: (id: YTApiId, ...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype ApiWithId<ApiT extends Record<string, (...args: ApiMethodParameters<any>) => Promise<any>>> = {\n [K in keyof ApiT]: (id: YTApiId, ...args: Parameters<ApiT[K]>) => ReturnType<ApiT[K]>;\n};\n\ninterface BatchParameters {\n requests: Array<BatchSubRequest>;\n output_format?: OutputFormat;\n}\n\ntype SaveCancellationCb = (cancel: CancelTokenSource) => void;\n\ntype ApiMethodParameters<PrametersT = unknown> =\n | [ApiMethodParams<PrametersT> | ApiMethodParams<PrametersT>['parameters']]\n | [ApiMethodParams<PrametersT>['parameters'], unknown];\n\ninterface ApiMethodParams<ParametersT> {\n parameters: ParametersT;\n data?: any;\n setup?: any;\n cancellation?: SaveCancellationCb;\n}\n\nfunction makeApiWithId<\n ApiT extends Record<string, (...args: ApiMethodParameters<any>) => Promise<any>>,\n>(ytApi: ApiT): ApiWithId<ApiT> {\n return _.reduce(\n ytApi,\n (acc, _fn, k) => {\n const method = k as keyof ApiT;\n acc[method] = <T>(id: YTApiId, ...args: ApiMethodParameters<T>) => {\n const startTime = Date.now();\n return (ytApi as any)[method](...injectRequestId(id, args)).finally(() => {\n rumDebugLog2(`fetch.${YTApiId[id]}`, Date.now() - startTime);\n });\n };\n return acc;\n },\n {} as ApiWithId<ApiT>,\n );\n}\n\nexport function injectRequestId<T>(\n id: YTApiId,\n args: ApiMethodParameters<T>,\n): ApiMethodParameters<T> {\n const [first, ...rest] = args;\n if (typeof first !== 'object') {\n throw new Error('unexpected behavior');\n }\n const {setup, parameters} = first || ({} as any);\n if (parameters === undefined) {\n return [{parameters: first, setup: makeSetupWithId(id, undefined)}, ...rest] as any;\n } else {\n return [{...first, setup: makeSetupWithId(id, setup)}, ...rest] as any;\n }\n}\n\nfunction makeSetupWithId(id: YTApiId, setup: {requestHeaders?: object} | undefined) {\n const {requestHeaders} = setup || {};\n return {...setup, requestHeaders: {...requestHeaders, [YT_API_REQUEST_ID_HEADER]: YTApiId[id]}};\n}\n\nexport const ytApiV3 = yt.v3 as YTApiV3;\nexport const ytApiV4 = yt.v4 as YTApiV4;\n\nexport const ytApiV3Id = makeApiWithId(ytApiV3) as YTApiV3WithId;\nexport const ytApiV4Id = makeApiWithId(ytApiV4) as YTApiV4WithId;\n\nexport function wrapPromiseWithRum<T>(id: string, promise: Promise<T>) {\n const start = rumGetTime();\n\n return Promise.resolve(promise).finally(() => {\n const delta = rumGetTime() - start;\n rumSendDelta(id, delta);\n });\n}\n\nexport class RumWrapper<Id extends ValueOf<typeof RumMeasureTypes>> {\n private id: Id;\n private prefix: string;\n constructor(cluster: string, id: Id) {\n this.id = id;\n this.prefix = `${cluster}.${id}`;\n }\n\n getMeasureId() {\n return this.id;\n }\n\n fetch<T>(id: YTApiId, loadPromise: Promise<T>) {\n const wrapId = this.gen('fetch', id);\n return wrapPromiseWithRum(wrapId, loadPromise);\n }\n\n parse<T>(id: YTApiId, parsePromise: Promise<T>) {\n const wrapId = this.gen('parse', id);\n return wrapPromiseWithRum(wrapId, parsePromise);\n }\n\n wrap<T>(stage: string, fn: () => T): ExcludePromise<T> {\n const start = rumGetTime();\n const res = fn();\n const delta = rumGetTime() - start;\n rumSendDelta(this.gen(`${stage}`), delta);\n return res as ExcludePromise<T>;\n }\n\n private gen(stage: string, id?: YTApiId) {\n if (id === undefined) {\n return this.prefix + '.' + stage;\n }\n return this.prefix + '.' + stage + '.' + YTApiId[id];\n }\n}\n\ntype ExcludePromise<T> = T extends Promise<any> ? never : T;\n"],"mappings":";;;;;;;;AACA;AACA,OAAOA,EAAE,MAAM,qCAAqC;AACpD,SAAQC,YAAY,EAAEC,UAAU,EAAEC,YAAY,QAAO,eAAe;AAEpE,SAAQC,wBAAwB,QAAO,wBAAwB;AAW/D,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,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"}
1
+ {"version":3,"names":["yt","YT_API_REQUEST_ID_HEADER","YTApiId","rumDebugLog2","rumGetTime","rumSendDelta","makeApiWithId","ytApi","_reduce","acc","_fn","k","method","id","_ref","startTime","Date","now","_len","arguments","length","args","Array","_key","apply","_toConsumableArray","injectRequestId","concat","_args","_toArray","first","rest","slice","_typeof","Error","_ref2","setup","parameters","undefined","makeSetupWithId","_objectSpread","_ref3","requestHeaders","_defineProperty","ytApiV3","v3","ytApiV4","v4","ytApiV3Id","ytApiV4Id","wrapPromiseWithRum","promise","start","Promise","resolve","delta","RumWrapper","cluster","_classCallCheck","prefix","_createClass","key","value","getMeasureId","fetch","loadPromise","wrapId","gen","parse","parsePromise","wrap","stage","fn","res"],"sources":["rum-wrap-api.ts"],"sourcesContent":["import _ from 'lodash';\nimport {CancelTokenSource} from 'axios';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {\n BatchResultsItem,\n BatchSubRequest,\n GetParams,\n OutputFormat,\n PathParams,\n} from '../../shared/yt-types';\nimport {YTApiId} from '../../shared/constants/yt-api-id';\n\nimport {rumDebugLog2, rumGetTime, rumSendDelta} from './rum-counter';\nimport {RumMeasureTypes} from './rum-measure-types';\nimport type {ValueOf} from '../types';\n\nexport {YTApiId};\n\ninterface YTApiV3 {\n executeBatch<T = any>(\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<Array<BatchResultsItem<T>>>;\n get<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<Value>;\n list<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<Value>;\n exists(...args: ApiMethodParameters<PathParams>): Promise<boolean>;\n [method: string]: (...args: ApiMethodParameters<any>) => Promise<any>;\n}\n\ntype YTApiV3WithId = {\n executeBatch<T = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<Array<BatchResultsItem<T>>>;\n get<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<Value>;\n list<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<Value>;\n exists(id: YTApiId, ...args: ApiMethodParameters<PathParams>): Promise<boolean>;\n [method: string]: (id: YTApiId, ...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype YTApiV4 = {\n executeBatch<T = any>(\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<{results: Array<BatchResultsItem<T>>}>;\n get<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n list<Value = any>(...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n exists(...args: ApiMethodParameters<PathParams>): Promise<{value: boolean}>;\n [method: string]: (...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype YTApiV4WithId = {\n executeBatch<T = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<BatchParameters>\n ): Promise<{results: Array<BatchResultsItem<T>>}>;\n get<Value = any>(id: YTApiId, ...args: ApiMethodParameters<GetParams>): Promise<{value: Value}>;\n list<Value = any>(\n id: YTApiId,\n ...args: ApiMethodParameters<GetParams>\n ): Promise<{value: Value}>;\n exists(id: YTApiId, ...args: ApiMethodParameters<PathParams>): Promise<{value: boolean}>;\n [method: string]: (id: YTApiId, ...args: ApiMethodParameters<any>) => Promise<any>;\n};\n\ntype ApiWithId<ApiT extends Record<string, (...args: ApiMethodParameters<any>) => Promise<any>>> = {\n [K in keyof ApiT]: (id: YTApiId, ...args: Parameters<ApiT[K]>) => ReturnType<ApiT[K]>;\n};\n\ninterface BatchParameters {\n requests: Array<BatchSubRequest>;\n output_format?: OutputFormat;\n}\n\ntype SaveCancellationCb = (cancel: CancelTokenSource) => void;\n\ntype ApiMethodParameters<PrametersT = unknown> =\n | [ApiMethodParams<PrametersT> | ApiMethodParams<PrametersT>['parameters']]\n | [ApiMethodParams<PrametersT>['parameters'], unknown];\n\ninterface ApiMethodParams<ParametersT> {\n parameters: ParametersT;\n data?: any;\n setup?: any;\n cancellation?: SaveCancellationCb;\n}\n\nfunction makeApiWithId<\n ApiT extends Record<string, (...args: ApiMethodParameters<any>) => Promise<any>>,\n>(ytApi: ApiT): ApiWithId<ApiT> {\n return _.reduce(\n ytApi,\n (acc, _fn, k) => {\n const method = k as keyof ApiT;\n acc[method] = <T>(id: YTApiId, ...args: ApiMethodParameters<T>) => {\n const startTime = Date.now();\n return (ytApi as any)[method](...injectRequestId(id, args)).finally(() => {\n rumDebugLog2(`fetch.${YTApiId[id]}`, Date.now() - startTime);\n });\n };\n return acc;\n },\n {} as ApiWithId<ApiT>,\n );\n}\n\nexport function injectRequestId<T>(\n id: YTApiId,\n args: ApiMethodParameters<T>,\n): ApiMethodParameters<T> {\n const [first, ...rest] = args;\n if (typeof first !== 'object') {\n throw new Error('unexpected behavior');\n }\n const {setup, parameters} = first || ({} as any);\n if (parameters === undefined) {\n return [{parameters: first, setup: makeSetupWithId(id, undefined)}, ...rest] as any;\n } else {\n return [{...first, setup: makeSetupWithId(id, setup)}, ...rest] as any;\n }\n}\n\nfunction makeSetupWithId(id: YTApiId, setup: {requestHeaders?: object} | undefined) {\n const {requestHeaders} = setup || {};\n return {...setup, requestHeaders: {...requestHeaders, [YT_API_REQUEST_ID_HEADER]: YTApiId[id]}};\n}\n\nexport const ytApiV3 = yt.v3 as YTApiV3;\nexport const ytApiV4 = yt.v4 as YTApiV4;\n\nexport const ytApiV3Id = makeApiWithId(ytApiV3) as YTApiV3WithId;\nexport const ytApiV4Id = makeApiWithId(ytApiV4) as YTApiV4WithId;\n\nexport function wrapPromiseWithRum<T>(id: string, promise: Promise<T>) {\n const start = rumGetTime();\n\n return Promise.resolve(promise).finally(() => {\n const delta = rumGetTime() - start;\n rumSendDelta(id, delta);\n });\n}\n\nexport class RumWrapper<Id extends ValueOf<typeof RumMeasureTypes>> {\n private id: Id;\n private prefix: string;\n constructor(cluster: string, id: Id) {\n this.id = id;\n this.prefix = `${cluster}.${id}`;\n }\n\n getMeasureId() {\n return this.id;\n }\n\n fetch<T>(id: YTApiId, loadPromise: Promise<T>) {\n const wrapId = this.gen('fetch', id);\n return wrapPromiseWithRum(wrapId, loadPromise);\n }\n\n parse<T>(id: YTApiId, parsePromise: Promise<T>) {\n const wrapId = this.gen('parse', id);\n return wrapPromiseWithRum(wrapId, parsePromise);\n }\n\n wrap<T>(stage: string, fn: () => T): ExcludePromise<T> {\n const start = rumGetTime();\n const res = fn();\n const delta = rumGetTime() - start;\n rumSendDelta(this.gen(`${stage}`), delta);\n return res as ExcludePromise<T>;\n }\n\n private gen(stage: string, id?: YTApiId) {\n if (id === undefined) {\n return this.prefix + '.' + stage;\n }\n return this.prefix + '.' + stage + '.' + YTApiId[id];\n }\n}\n\ntype ExcludePromise<T> = T extends Promise<any> ? never : T;\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ import axios from 'axios';
5
5
  import yt from '@ytsaurus/javascript-wrapper/lib/yt';
6
6
  import Cookies from 'js-cookie';
7
7
  import ypath from '../../common/thor/ypath';
8
- import { prepareCheckIsDeveloperRequests } from '../../../shared/utils/check-permission';
8
+ import { checkIsDeveloper } from '../../../shared/utils/check-permission';
9
9
  import { INIT_CLUSTER_PARAMS, LOAD_ERROR, UPDATE_CLUSTER } from '../../constants/index';
10
10
  import { getCurrentUserName } from '../../store/selectors/global';
11
11
  import { getXsrfCookieName } from '../../utils';
@@ -13,7 +13,7 @@ import { RESET_STORE_BEFORE_CLUSTER_CHANGE } from '../../constants/utils';
13
13
  import { shouldUsePreserveState } from '../../store/selectors/settings';
14
14
  import { rumLogError } from '../../rum/rum-counter';
15
15
  import { Toaster } from '@gravity-ui/uikit';
16
- import { RumWrapper, YTApiId, ytApiV3Id } from '../../rum/rum-wrap-api';
16
+ import { RumWrapper, YTApiId } from '../../rum/rum-wrap-api';
17
17
  import { RumMeasureTypes } from '../../rum/rum-measure-types';
18
18
  import { getBatchError, wrapApiPromiseByToaster } from '../../utils/utils';
19
19
  import YT from '../../config/yt-config';
@@ -52,29 +52,22 @@ export function initClusterParams(cluster) {
52
52
  });
53
53
  var login = getCurrentUserName(getState());
54
54
  var rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);
55
- return wrapApiPromiseByToaster(Promise.all([rumId.fetch(YTApiId.clusterParamsIsDeveloper, ytApiV3Id.executeBatch(YTApiId.clusterParamsIsDeveloper, {
56
- requests: prepareCheckIsDeveloperRequests(login)
57
- })), rumId.fetch(YTApiId.clusterParams, axios.request({
55
+ return wrapApiPromiseByToaster(rumId.fetch(YTApiId.clusterParams, axios.request({
58
56
  url: '/api/cluster-params/' + cluster,
59
57
  method: 'GET'
60
- }))]), {
58
+ })), {
61
59
  skipSuccessToast: true,
62
60
  toasterName: 'cluster_initialization_failure',
63
61
  errorTitle: 'Cluster initialization failure',
64
62
  errorContent: 'An error occured'
65
63
  }).then(function (_ref) {
66
- var _checkDeveloper$outpu;
67
- var _ref2 = _slicedToArray(_ref, 2),
68
- _ref2$ = _slicedToArray(_ref2[0], 1),
69
- checkDeveloper = _ref2$[0],
70
- data = _ref2[1].data;
71
- var isDeveloper = (checkDeveloper === null || checkDeveloper === void 0 || (_checkDeveloper$outpu = checkDeveloper.output) === null || _checkDeveloper$outpu === void 0 ? void 0 : _checkDeveloper$outpu.action) === 'allow';
64
+ var data = _ref.data;
72
65
  var mediumList = data.mediumList,
73
66
  schedulerVersion = data.schedulerVersion,
74
67
  masterVersion = data.masterVersion,
75
68
  uiConfig = data.uiConfig,
76
69
  uiDevConfig = data.uiDevConfig;
77
- var error = getBatchError([mediumList, isDeveloper], 'Cluster initialization failure');
70
+ var error = getBatchError([mediumList], 'Cluster initialization failure');
78
71
  if (error) {
79
72
  throw error;
80
73
  }
@@ -87,12 +80,26 @@ export function initClusterParams(cluster) {
87
80
  data: {
88
81
  cluster: cluster,
89
82
  mediumList: ypath.getValue(mediumList.output),
90
- isDeveloper: isDeveloper,
91
- clusterUiConfig: isDeveloper ? Object.assign({}, uiConfigOutput, uiDevConfigOutput) : uiConfigOutput,
83
+ isDeveloper: false,
84
+ clusterUiConfig: uiConfigOutput,
92
85
  schedulerVersion: schedulerVersion.output,
93
86
  masterVersion: masterVersion.output
94
87
  }
95
88
  });
89
+ return rumId.fetch(YTApiId.clusterParamsIsDeveloper, checkIsDeveloper(login, undefined, YTApiId[YTApiId.clusterParamsIsDeveloper])).then(function (isDeveloper) {
90
+ if (isDeveloper) {
91
+ var clusterUiConfig = isDeveloper ? Object.assign({}, uiConfigOutput, uiDevConfigOutput) : uiConfigOutput;
92
+ dispatch({
93
+ type: GLOBAL_PARTIAL,
94
+ data: {
95
+ isDeveloper: isDeveloper,
96
+ clusterUiConfig: clusterUiConfig
97
+ }
98
+ });
99
+ }
100
+ })["catch"](function (e) {
101
+ console.error('Failed to check if current user is admin', e);
102
+ });
96
103
  })["catch"](function (e) {
97
104
  dispatch({
98
105
  type: INIT_CLUSTER_PARAMS.FAILURE,
@@ -123,8 +130,8 @@ export function updateCluster(cluster, onUpdateEnd) {
123
130
  return rumId.fetch(YTApiId.ui_clusterInfo, axios.request({
124
131
  url: '/api/cluster-info/' + cluster,
125
132
  method: 'GET'
126
- })).then(function (_ref3) {
127
- var data = _ref3.data;
133
+ })).then(function (_ref2) {
134
+ var data = _ref2.data;
128
135
  var token = data.token,
129
136
  tokenError = data.tokenError,
130
137
  version = data.version,
@@ -1 +1 @@
1
- {"version":3,"names":["axios","yt","Cookies","ypath","prepareCheckIsDeveloperRequests","INIT_CLUSTER_PARAMS","LOAD_ERROR","UPDATE_CLUSTER","getCurrentUserName","getXsrfCookieName","RESET_STORE_BEFORE_CLUSTER_CHANGE","shouldUsePreserveState","rumLogError","Toaster","RumWrapper","YTApiId","ytApiV3Id","RumMeasureTypes","getBatchError","wrapApiPromiseByToaster","YT","GLOBAL_PARTIAL","initYTApiClusterParams","handleUiConfigError","path","error","type","level","message","concat","block","toast","prepareClusterUiConfig","uiConfig","uiDevConfig","code","codes","NODE_DOES_NOT_EXIST","add","name","autoHiding","title","content","output","initClusterParams","cluster","dispatch","getState","REQUEST","login","rumId","CLUSTER_PARAMS","Promise","all","fetch","clusterParamsIsDeveloper","executeBatch","requests","clusterParams","request","url","method","skipSuccessToast","toasterName","errorTitle","errorContent","then","_ref","_checkDeveloper$outpu","_ref2","_slicedToArray","_ref2$","checkDeveloper","data","isDeveloper","action","mediumList","schedulerVersion","masterVersion","_prepareClusterUiConf","_prepareClusterUiConf2","uiConfigOutput","uiDevConfigOutput","SUCCESS","getValue","clusterUiConfig","Object","assign","e","FAILURE","count","updateCluster","onUpdateEnd","dispatchError","_error$response","Error","console","response","ui_clusterInfo","_ref3","token","tokenError","version","versionError","errorType","CONNECTION","parameters","csrf_token","remove","AUTHENTICATION","set","FINAL_SUCCESS","resolve"],"sources":["cluster-params.ts"],"sourcesContent":["import axios, {AxiosResponse} from 'axios';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport Cookies from 'js-cookie';\n\nimport ypath from '../../common/thor/ypath';\nimport {prepareCheckIsDeveloperRequests} from '../../../shared/utils/check-permission';\nimport {INIT_CLUSTER_PARAMS, LOAD_ERROR, UPDATE_CLUSTER} from '../../constants/index';\nimport {getCurrentUserName} from '../../store/selectors/global';\nimport {getXsrfCookieName} from '../../utils';\nimport {RESET_STORE_BEFORE_CLUSTER_CHANGE} from '../../constants/utils';\nimport {shouldUsePreserveState} from '../../store/selectors/settings';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../utils/utils';\nimport {BatchResultsItem} from '../../../shared/yt-types';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../store/reducers';\nimport YT from '../../config/yt-config';\nimport {GLOBAL_PARTIAL} from '../../constants/global';\nimport {FIX_MY_TYPE, YTError} from '../../../@types/types';\nimport {initYTApiClusterParams} from '../../common/yt-api-init';\n\nfunction handleUiConfigError(path: string, error: any, type?: string) {\n rumLogError(\n {\n level: 'warn',\n type,\n message: `${path} cannot be loaded, some ui features might be not available`,\n block: path,\n },\n error,\n );\n}\n\nconst toast = new Toaster();\n\nfunction prepareClusterUiConfig(uiConfig: BatchResultsItem, uiDevConfig: BatchResultsItem) {\n if (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config', uiConfig.error);\n toast.add({\n name: 'get-ui_config',\n type: 'error',\n autoHiding: false,\n title: 'Failed to load //sys/@ui_config',\n content:\n 'Some UI features might be not available. ' +\n 'Try to reload the page. ' +\n 'If the problem persists please report it via Bug Reporter.',\n });\n }\n if (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config_dev_overrides', uiDevConfig.error);\n }\n return [uiConfig.output || {}, uiDevConfig.output || {}];\n}\n\ntype GlobalThunkAction<T = unknown> = ThunkAction<T, RootState, any, FIX_MY_TYPE>;\n\nexport function initClusterParams(cluster: string): GlobalThunkAction<Promise<void>> {\n return (dispatch, getState) => {\n initYTApiClusterParams(cluster);\n\n dispatch({\n type: INIT_CLUSTER_PARAMS.REQUEST,\n });\n\n const login = getCurrentUserName(getState());\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return wrapApiPromiseByToaster(\n Promise.all([\n rumId.fetch(\n YTApiId.clusterParamsIsDeveloper,\n ytApiV3Id.executeBatch(YTApiId.clusterParamsIsDeveloper, {\n requests: prepareCheckIsDeveloperRequests(login),\n }),\n ),\n rumId.fetch(\n YTApiId.clusterParams,\n axios.request({\n url: '/api/cluster-params/' + cluster,\n method: 'GET',\n }),\n ),\n ]),\n {\n skipSuccessToast: true,\n toasterName: 'cluster_initialization_failure',\n errorTitle: 'Cluster initialization failure',\n errorContent: 'An error occured',\n },\n )\n .then(([[checkDeveloper], {data}]) => {\n const isDeveloper = checkDeveloper?.output?.action === 'allow';\n const {mediumList, schedulerVersion, masterVersion, uiConfig, uiDevConfig} = data;\n const error = getBatchError(\n [mediumList, isDeveloper],\n 'Cluster initialization failure',\n );\n if (error) {\n throw error;\n }\n const [uiConfigOutput, uiDevConfigOutput] = prepareClusterUiConfig(\n uiConfig,\n uiDevConfig,\n );\n dispatch({\n type: INIT_CLUSTER_PARAMS.SUCCESS,\n data: {\n cluster,\n mediumList: ypath.getValue(mediumList.output),\n isDeveloper,\n clusterUiConfig: isDeveloper\n ? Object.assign({}, uiConfigOutput, uiDevConfigOutput)\n : uiConfigOutput,\n schedulerVersion: schedulerVersion.output,\n masterVersion: masterVersion.output,\n },\n });\n })\n .catch((e) => {\n dispatch({\n type: INIT_CLUSTER_PARAMS.FAILURE,\n data: e,\n });\n });\n };\n}\n\ninterface ClusterInfoData {\n version?: string;\n versionError?: YTError;\n token?: {\n login: string;\n csrf_token?: string;\n };\n tokenError?: YTError;\n}\n\nlet count = 0;\nexport function updateCluster(\n cluster: string,\n onUpdateEnd: () => Promise<void>,\n): GlobalThunkAction {\n return (dispatch, getState) => {\n const dispatchError = (error: any) => {\n if (error instanceof Error) {\n console.error(error);\n }\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {error: error?.response?.data || error},\n });\n };\n\n dispatch({\n type: UPDATE_CLUSTER.REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return rumId\n .fetch<AxiosResponse<ClusterInfoData>>(\n YTApiId.ui_clusterInfo,\n axios.request({\n url: '/api/cluster-info/' + cluster,\n method: 'GET',\n }),\n )\n .then(({data}) => {\n const {token, tokenError, version, versionError} = data;\n\n if (count++) {\n dispatch({\n type: RESET_STORE_BEFORE_CLUSTER_CHANGE,\n data: {\n shouldUsePreserveState: shouldUsePreserveState(getState()),\n },\n });\n }\n\n if (!version || versionError) {\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {errorType: LOAD_ERROR.CONNECTION, error: versionError},\n });\n } else {\n dispatch({\n type: UPDATE_CLUSTER.SUCCESS,\n data: {version},\n });\n\n YT.parameters.version = version;\n YT.cluster = cluster;\n\n if (!token?.csrf_token || tokenError) {\n Cookies.remove(getXsrfCookieName(cluster));\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {\n errorType: LOAD_ERROR.AUTHENTICATION,\n error: tokenError || new Error('Failed to get CSRF-token'),\n },\n });\n } else {\n const {login, csrf_token} = token;\n YT.parameters.login = login;\n dispatch({type: GLOBAL_PARTIAL, data: {login}});\n Cookies.set(getXsrfCookieName(cluster), csrf_token);\n return onUpdateEnd()\n .then(() => {\n dispatch({\n type: UPDATE_CLUSTER.FINAL_SUCCESS,\n });\n })\n .catch(dispatchError);\n }\n }\n\n return Promise.resolve();\n })\n .catch(dispatchError);\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["axios","yt","Cookies","ypath","checkIsDeveloper","INIT_CLUSTER_PARAMS","LOAD_ERROR","UPDATE_CLUSTER","getCurrentUserName","getXsrfCookieName","RESET_STORE_BEFORE_CLUSTER_CHANGE","shouldUsePreserveState","rumLogError","Toaster","RumWrapper","YTApiId","RumMeasureTypes","getBatchError","wrapApiPromiseByToaster","YT","GLOBAL_PARTIAL","initYTApiClusterParams","handleUiConfigError","path","error","type","level","message","concat","block","toast","prepareClusterUiConfig","uiConfig","uiDevConfig","code","codes","NODE_DOES_NOT_EXIST","add","name","autoHiding","title","content","output","initClusterParams","cluster","dispatch","getState","REQUEST","login","rumId","CLUSTER_PARAMS","fetch","clusterParams","request","url","method","skipSuccessToast","toasterName","errorTitle","errorContent","then","_ref","data","mediumList","schedulerVersion","masterVersion","_prepareClusterUiConf","_prepareClusterUiConf2","_slicedToArray","uiConfigOutput","uiDevConfigOutput","SUCCESS","getValue","isDeveloper","clusterUiConfig","clusterParamsIsDeveloper","undefined","Object","assign","e","console","FAILURE","count","updateCluster","onUpdateEnd","dispatchError","_error$response","Error","response","ui_clusterInfo","_ref2","token","tokenError","version","versionError","errorType","CONNECTION","parameters","csrf_token","remove","AUTHENTICATION","set","FINAL_SUCCESS","Promise","resolve"],"sources":["cluster-params.ts"],"sourcesContent":["import axios, {AxiosResponse} from 'axios';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport Cookies from 'js-cookie';\n\nimport ypath from '../../common/thor/ypath';\nimport {checkIsDeveloper} from '../../../shared/utils/check-permission';\nimport {INIT_CLUSTER_PARAMS, LOAD_ERROR, UPDATE_CLUSTER} from '../../constants/index';\nimport {getCurrentUserName} from '../../store/selectors/global';\nimport {getXsrfCookieName} from '../../utils';\nimport {RESET_STORE_BEFORE_CLUSTER_CHANGE} from '../../constants/utils';\nimport {shouldUsePreserveState} from '../../store/selectors/settings';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {RumWrapper, YTApiId} from '../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../utils/utils';\nimport {BatchResultsItem} from '../../../shared/yt-types';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../store/reducers';\nimport YT from '../../config/yt-config';\nimport {GLOBAL_PARTIAL} from '../../constants/global';\nimport {FIX_MY_TYPE, YTError} from '../../../@types/types';\nimport {initYTApiClusterParams} from '../../common/yt-api-init';\n\nfunction handleUiConfigError(path: string, error: any, type?: string) {\n rumLogError(\n {\n level: 'warn',\n type,\n message: `${path} cannot be loaded, some ui features might be not available`,\n block: path,\n },\n error,\n );\n}\n\nconst toast = new Toaster();\n\nfunction prepareClusterUiConfig(uiConfig: BatchResultsItem, uiDevConfig: BatchResultsItem) {\n if (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config', uiConfig.error);\n toast.add({\n name: 'get-ui_config',\n type: 'error',\n autoHiding: false,\n title: 'Failed to load //sys/@ui_config',\n content:\n 'Some UI features might be not available. ' +\n 'Try to reload the page. ' +\n 'If the problem persists please report it via Bug Reporter.',\n });\n }\n if (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config_dev_overrides', uiDevConfig.error);\n }\n return [uiConfig.output || {}, uiDevConfig.output || {}];\n}\n\ntype GlobalThunkAction<T = unknown> = ThunkAction<T, RootState, any, FIX_MY_TYPE>;\n\nexport function initClusterParams(cluster: string): GlobalThunkAction<Promise<void>> {\n return (dispatch, getState) => {\n initYTApiClusterParams(cluster);\n\n dispatch({\n type: INIT_CLUSTER_PARAMS.REQUEST,\n });\n\n const login = getCurrentUserName(getState());\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return wrapApiPromiseByToaster(\n rumId.fetch(\n YTApiId.clusterParams,\n axios.request({\n url: '/api/cluster-params/' + cluster,\n method: 'GET',\n }),\n ),\n {\n skipSuccessToast: true,\n toasterName: 'cluster_initialization_failure',\n errorTitle: 'Cluster initialization failure',\n errorContent: 'An error occured',\n },\n )\n .then(({data}) => {\n const {mediumList, schedulerVersion, masterVersion, uiConfig, uiDevConfig} = data;\n const error = getBatchError([mediumList], 'Cluster initialization failure');\n if (error) {\n throw error;\n }\n const [uiConfigOutput, uiDevConfigOutput] = prepareClusterUiConfig(\n uiConfig,\n uiDevConfig,\n );\n dispatch({\n type: INIT_CLUSTER_PARAMS.SUCCESS,\n data: {\n cluster,\n mediumList: ypath.getValue(mediumList.output),\n isDeveloper: false,\n clusterUiConfig: uiConfigOutput,\n schedulerVersion: schedulerVersion.output,\n masterVersion: masterVersion.output,\n },\n });\n\n return rumId\n .fetch(\n YTApiId.clusterParamsIsDeveloper,\n checkIsDeveloper(\n login,\n undefined,\n YTApiId[YTApiId.clusterParamsIsDeveloper],\n ),\n )\n .then((isDeveloper) => {\n if (isDeveloper) {\n const clusterUiConfig = isDeveloper\n ? Object.assign({}, uiConfigOutput, uiDevConfigOutput)\n : uiConfigOutput;\n dispatch({type: GLOBAL_PARTIAL, data: {isDeveloper, clusterUiConfig}});\n }\n })\n .catch((e) => {\n console.error('Failed to check if current user is admin', e);\n });\n })\n .catch((e) => {\n dispatch({\n type: INIT_CLUSTER_PARAMS.FAILURE,\n data: e,\n });\n });\n };\n}\n\ninterface ClusterInfoData {\n version?: string;\n versionError?: YTError;\n token?: {\n login: string;\n csrf_token?: string;\n };\n tokenError?: YTError;\n}\n\nlet count = 0;\nexport function updateCluster(\n cluster: string,\n onUpdateEnd: () => Promise<void>,\n): GlobalThunkAction {\n return (dispatch, getState) => {\n const dispatchError = (error: any) => {\n if (error instanceof Error) {\n console.error(error);\n }\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {error: error?.response?.data || error},\n });\n };\n\n dispatch({\n type: UPDATE_CLUSTER.REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return rumId\n .fetch<AxiosResponse<ClusterInfoData>>(\n YTApiId.ui_clusterInfo,\n axios.request({\n url: '/api/cluster-info/' + cluster,\n method: 'GET',\n }),\n )\n .then(({data}) => {\n const {token, tokenError, version, versionError} = data;\n\n if (count++) {\n dispatch({\n type: RESET_STORE_BEFORE_CLUSTER_CHANGE,\n data: {\n shouldUsePreserveState: shouldUsePreserveState(getState()),\n },\n });\n }\n\n if (!version || versionError) {\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {errorType: LOAD_ERROR.CONNECTION, error: versionError},\n });\n } else {\n dispatch({\n type: UPDATE_CLUSTER.SUCCESS,\n data: {version},\n });\n\n YT.parameters.version = version;\n YT.cluster = cluster;\n\n if (!token?.csrf_token || tokenError) {\n Cookies.remove(getXsrfCookieName(cluster));\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {\n errorType: LOAD_ERROR.AUTHENTICATION,\n error: tokenError || new Error('Failed to get CSRF-token'),\n },\n });\n } else {\n const {login, csrf_token} = token;\n YT.parameters.login = login;\n dispatch({type: GLOBAL_PARTIAL, data: {login}});\n Cookies.set(getXsrfCookieName(cluster), csrf_token);\n return onUpdateEnd()\n .then(() => {\n dispatch({\n type: UPDATE_CLUSTER.FINAL_SUCCESS,\n });\n })\n .catch(dispatchError);\n }\n }\n\n return Promise.resolve();\n })\n .catch(dispatchError);\n };\n}\n"],"mappings":"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"}
@@ -24,7 +24,7 @@ import CancelHelper, { isCancelled } from '../../../utils/cancel-helper';
24
24
  import { flattenAttributes } from '../../../utils/scheduling/scheduling';
25
25
  import { UIBatchError } from '../../../utils/errors/ui-error';
26
26
  var cancelHelper = new CancelHelper();
27
- var POOL_FIELDS_TO_LOAD = ['accumulated_resource_ratio_volume', 'accumulated_resource_volume', 'demand_ratio', 'detailed_fair_share', 'dominant_resource', 'estimated_burst_usage_duration_sec', 'fair_share_ratio', 'fifo_index', 'integral_guarantee_type', 'is_ephemeral', 'max_operation_count', 'max_running_operation_count', 'max_share_ratio', 'min_share_ratio', 'mode', 'operation_count', 'parent', 'pool_operation_count', 'child_pool_count', 'resource_demand', 'resource_limits', 'resource_usage', 'promised_fair_share_resources', 'running_operation_count', 'specified_burst_guarantee_resources', 'specified_resource_flow', 'starvation_status', 'starving', 'strong_guarantee_resources', 'usage_ratio', 'weight', 'abc'];
27
+ var POOL_FIELDS_TO_LOAD = ['accumulated_resource_ratio_volume', 'accumulated_resource_volume', 'demand_ratio', 'detailed_fair_share', 'dominant_resource', 'estimated_burst_usage_duration_sec', 'fair_share_ratio', 'fifo_index', 'fifo_sort_parameters', 'integral_guarantee_type', 'is_ephemeral', 'max_operation_count', 'max_running_operation_count', 'max_share_ratio', 'min_share_ratio', 'mode', 'operation_count', 'parent', 'pool_operation_count', 'child_pool_count', 'resource_demand', 'resource_limits', 'resource_usage', 'promised_fair_share_resources', 'running_operation_count', 'specified_burst_guarantee_resources', 'specified_resource_flow', 'starvation_status', 'starving', 'strong_guarantee_resources', 'usage_ratio', 'weight', 'abc'];
28
28
  var POOL_TREE_GET_ATTRS = ['integral_guarantees', 'weight', 'max_operation_count', 'max_running_operation_count', 'strong_guarantee_resources', 'resource_limits', 'forbid_immediate_operations', 'create_ephemeral_subpools', 'fifo_sort_parameters', 'config', 'folder_id'];
29
29
  var EmptyFullPath = /*#__PURE__*/function (_Error) {
30
30
  _inherits(EmptyFullPath, _Error);
@@ -1 +1 @@
1
- {"version":3,"names":["Toaster","YTApiId","ytApiV3Id","splitBatchResults","makeGet","makeList","CHANGE_POOL","ROOT_POOL_NAME","SCHEDULING_EXPANDED_POOLS_FAILURE","SCHEDULING_EXPANDED_POOLS_PARTITION","SCHEDULING_EXPANDED_POOLS_REQUEST","SCHEDULING_EXPANDED_POOLS_SUCCESS","calculatePoolPath","getPool","getPools","getTree","getExpandedPoolsLoadAll","getSchedulingOperationsExpandedPools","EMPTY_OBJECT","getSchedulingPoolsMapByName","isSupportedSchedulingChildrenByPool","CancelHelper","isCancelled","flattenAttributes","UIBatchError","cancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","undefined","loadExpandedOperationsAndPools","executeBatch","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","e","type","data","add","name","title","_getSchedulingOperati","state","loadAll","expandedPools","Map","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","prefix","forEach","item","loadAllPools","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","get","parentPoolPath","isEphemeral","cypressDataPath","removeAllRequests","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","_splitBatchResults","operations","results","rawOperations","_reduce","acc","Object","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","_splitBatchResults4","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","expandedPoolsTree","flattenCypressData","inner_errors","setExpandedPool","poolName","expanded","poolsByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","set","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","i","join","_objectSpread","_defineProperty","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Toaster","YTApiId","ytApiV3Id","splitBatchResults","makeGet","makeList","CHANGE_POOL","ROOT_POOL_NAME","SCHEDULING_EXPANDED_POOLS_FAILURE","SCHEDULING_EXPANDED_POOLS_PARTITION","SCHEDULING_EXPANDED_POOLS_REQUEST","SCHEDULING_EXPANDED_POOLS_SUCCESS","calculatePoolPath","getPool","getPools","getTree","getExpandedPoolsLoadAll","getSchedulingOperationsExpandedPools","EMPTY_OBJECT","getSchedulingPoolsMapByName","isSupportedSchedulingChildrenByPool","CancelHelper","isCancelled","flattenAttributes","UIBatchError","cancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","undefined","loadExpandedOperationsAndPools","executeBatch","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","e","type","data","add","name","title","_getSchedulingOperati","state","loadAll","expandedPools","Map","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","prefix","forEach","item","loadAllPools","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","get","parentPoolPath","isEphemeral","cypressDataPath","removeAllRequests","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","_splitBatchResults","operations","results","rawOperations","_reduce","acc","Object","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","_splitBatchResults4","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","expandedPoolsTree","flattenCypressData","inner_errors","setExpandedPool","poolName","expanded","poolsByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","set","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","i","join","_objectSpread","_defineProperty","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'fifo_sort_parameters',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
@@ -25,7 +25,7 @@ function loadMastersConfig() {
25
25
  }
26
26
  function _loadMastersConfig() {
27
27
  _loadMastersConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
28
- var _timestampProvidersRe, _queueAgentsResult$er;
28
+ var _timestampProvidersRe, _queueAgentsResult$er, _ypath$getValue;
29
29
  var requests, _yield$ytApiV3Id$exec, _yield$ytApiV3Id$exec2, primaryMasterResult, secondaryMastersResult, timestampProvidersResult, discoveryServersResult, queueAgentsResult, batchError, error, queueAgentsError, _ref3, timestamp_path, _ref4, primary_path, tag_cell_requests, _yield$ytApiV3Id$exec3, _yield$ytApiV3Id$exec4, primaryMasterCellTag, timestampProviderCellTag, primaryMaster, secondaryMasters, timestampProviders, mainResult, discoveryRequests, queueAgentsStateRequests, discoveryServersStatuses, queueAgentsStatuses, results, discoveryResults, queueAgentsStateResults;
30
30
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
31
31
  while (1) switch (_context2.prev = _context2.next) {
@@ -126,7 +126,7 @@ function _loadMastersConfig() {
126
126
  attributes: ypath.getValue(value, '/@')
127
127
  };
128
128
  }),
129
- cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output).cell_id)
129
+ cellTag: getCellIdTag((_ypath$getValue = ypath.getValue(timestampProviderCellTag.output)) === null || _ypath$getValue === void 0 ? void 0 : _ypath$getValue.cell_id)
130
130
  };
131
131
  mainResult = {
132
132
  primaryMaster: {
@@ -349,9 +349,13 @@ export function loadMasters() {
349
349
  }();
350
350
  }
351
351
  function getCellIdTag(uuid) {
352
+ if (!uuid) {
353
+ return undefined;
354
+ }
352
355
  var _uuid$split = uuid.split('-'),
353
356
  _uuid$split2 = _slicedToArray(_uuid$split, 3),
354
- third = _uuid$split2[2];
357
+ _uuid$split2$ = _uuid$split2[2],
358
+ third = _uuid$split2$ === void 0 ? '' : _uuid$split2$;
355
359
  return Number("0x".concat(third.substring(0, third.length - 4)));
356
360
  }
357
361
  // #sourceMappingURL=masters.js.map