@ytsaurus/ui 1.14.2 → 1.14.3

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 (43) hide show
  1. package/build/cjs/shared/constants/yt-api-id.d.ts +139 -0
  2. package/build/cjs/shared/constants/yt-api-id.js +148 -0
  3. package/build/cjs/shared/constants/yt-api-id.js.map +1 -0
  4. package/build/cjs/shared/utils/check-permission.d.ts +1 -14
  5. package/build/cjs/shared/utils/check-permission.js +6 -10
  6. package/build/cjs/shared/utils/check-permission.js.map +1 -1
  7. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -1
  8. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  9. package/build/cjs/ui/rum/rum-wrap-api.d.ts +3 -141
  10. package/build/cjs/ui/rum/rum-wrap-api.js +12 -145
  11. package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
  12. package/build/cjs/ui/store/actions/cluster-params.js +22 -15
  13. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  14. package/build/cjs/ui/store/actions/system/masters.js +7 -3
  15. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  16. package/build/cjs/ui/store/selectors/global/index.d.ts +1 -1
  17. package/build/cjs/ui/store/selectors/global/index.js +4 -4
  18. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  19. package/build/esm/shared/constants/yt-api-id.d.ts +139 -0
  20. package/build/esm/shared/constants/yt-api-id.js +141 -0
  21. package/build/esm/shared/constants/yt-api-id.js.map +1 -0
  22. package/build/esm/shared/utils/check-permission.d.ts +1 -14
  23. package/build/esm/shared/utils/check-permission.js +8 -11
  24. package/build/esm/shared/utils/check-permission.js.map +1 -1
  25. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -2
  26. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  27. package/build/esm/ui/rum/rum-wrap-api.d.ts +3 -141
  28. package/build/esm/ui/rum/rum-wrap-api.js +3 -141
  29. package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
  30. package/build/esm/ui/store/actions/cluster-params.js +24 -17
  31. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  32. package/build/esm/ui/store/actions/system/masters.js +7 -3
  33. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  34. package/build/esm/ui/store/selectors/global/index.d.ts +1 -1
  35. package/build/esm/ui/store/selectors/global/index.js +3 -3
  36. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  37. package/dist/public/build/assets-manifest.json +4 -4
  38. package/dist/public/build/js/main.b8adf234.js +3 -0
  39. package/dist/public/build/js/{main.8e777909.js.map → main.b8adf234.js.map} +1 -1
  40. package/dist/public/build/manifest.json +2 -2
  41. package/package.json +4 -4
  42. package/dist/public/build/js/main.8e777909.js +0 -3
  43. /package/dist/public/build/js/{main.8e777909.js.LICENSE.txt → main.b8adf234.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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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","YTErrors","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","toaster","NODE_DOES_NOT_EXIST","loadMastersConfig","_loadMastersConfig","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_timestampProvidersRe","_queueAgentsResult$er","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","wrap","_callee2$","_context2","prev","next","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","sent","_slicedToArray","code","_toConsumableArray","Object","keys","getValue","output","concat","addresses","_map","value","address","host","physicalHost","cellTag","getCellIdTag","cell_id","_keys","Number","discoveryServers","queueAgents","_v","systemMastersConfigDiscoveryServer","slice","length","_reduce","acc","item","key","t0","state","abrupt","stop","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","_each","_sortBy","_ref","push","loadMasters","_ref2","_callee","dispatch","config","masterDataRequests","data","_response","_data","message","_callee$","_context","REQUEST","SUCCESS","currentConfig","systemMasters","FAILURE","response","add","name","autoHiding","content","title","actions","label","onClick","_x","uuid","_uuid$split","split","_uuid$split2","third","substring"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils/index';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\nimport type {AxiosError} from 'axios';\nimport type {Dispatch} from 'redux';\nimport type {BatchSubRequest} from '../../../../shared/yt-types';\nimport type {\n MasterDataItemInfo,\n MastersConfigResponse,\n ResponseItemsGroup,\n} from '../../reducers/system/masters';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\n\nconst toaster = new Toaster();\n\nconst {NODE_DOES_NOT_EXIST} = YTErrors;\n\nasync function loadMastersConfig(): Promise<MastersConfigResponse> {\n const requests = [\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [\n primaryMasterResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n ] = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {requests});\n\n const batchError = getBatchError(\n [primaryMasterResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n\n if (batchError) {\n throw batchError;\n }\n\n const error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');\n\n if (error && timestampProvidersResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw error;\n }\n\n const queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');\n\n if (queueAgentsError && queueAgentsResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw queueAgentsError;\n }\n\n const [timestamp_path] = [...Object.keys(ypath.getValue(timestampProvidersResult.output))];\n const [primary_path] = [...Object.keys(ypath.getValue(primaryMasterResult.output))];\n\n const tag_cell_requests = [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/primary_masters/${primary_path}/orchid/config/primary_master/cell_id`,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/timestamp_providers/${timestamp_path}/orchid/config/clock_cell`,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [primaryMasterCellTag, timestampProviderCellTag] = await ytApiV3Id.executeBatch(\n YTApiId.systemMastersConfig,\n {requests: [...tag_cell_requests]},\n );\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output).cell_id),\n };\n\n const mainResult: MastersConfigResponse = {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: getCellIdTag(primaryMasterCellTag.output),\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n discoveryServers: {},\n queueAgents: {},\n };\n\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n let discoveryServersStatuses: Record<string, 'offline' | 'online'> = {};\n let queueAgentsStatuses: Record<string, any> = {};\n\n try {\n const results = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n });\n\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error ? 'offline' : 'online';\n return acc;\n },\n {} as {[address: string]: 'offline' | 'online'},\n );\n queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {} as {[address: string]: string},\n );\n } catch {}\n\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(ypath.getValue(discoveryServersResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n }),\n cellTag: ypath.getValue(discoveryServersResult.output, '/@native_cell_tag'),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(ypath.getValue(queueAgentsResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n }),\n }\n : {};\n\n return mainResult;\n}\n\nfunction loadHydra(\n requests: BatchSubRequest[],\n masterInfo: MasterDataItemInfo[],\n type: string,\n masterEntry: ResponseItemsGroup,\n) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath: string;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'discovery') {\n cypressPath = '//sys/discovery_servers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n cypressPath = '//sys/masters';\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag: cellTag!});\n requests.push({\n command: 'get',\n parameters: {path: cypressPath + '/' + host + hydraPath, ...USE_SUPRESS_SYNC},\n });\n },\n );\n}\n\nexport function loadMasters() {\n return async (dispatch: Dispatch): Promise<void | {isRetryFutile: true}> => {\n dispatch({type: FETCH_MASTER_CONFIG.REQUEST});\n\n try {\n const config = await loadMastersConfig();\n\n dispatch({type: FETCH_MASTER_CONFIG.SUCCESS, data: config});\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests: BatchSubRequest[] = [];\n const masterInfo: MasterDataItemInfo[] = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);\n\n const data = await ytApiV3Id.executeBatch(YTApiId.systemMasters, {\n requests: masterDataRequests,\n });\n\n dispatch({type: FETCH_MASTER_DATA.SUCCESS, data: {masterInfo, data}});\n } catch (error) {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data =\n (error as {response?: {data?: {code: string; message: string}}})?.response?.data ||\n (error as {code: string; message: string});\n\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [{label: ' view', onClick: () => showErrorPopup(error as AxiosError)}],\n });\n\n if (isRetryFutile((error as {code: number})?.code)) {\n return {isRetryFutile: true};\n }\n }\n };\n}\n\nfunction getCellIdTag(uuid: string): number {\n const [, , third] = uuid.split('-');\n return Number(`0x${third.substring(0, third.length - 4)}`);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","YTErrors","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","toaster","NODE_DOES_NOT_EXIST","loadMastersConfig","_loadMastersConfig","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_timestampProvidersRe","_queueAgentsResult$er","_ypath$getValue","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","wrap","_callee2$","_context2","prev","next","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","sent","_slicedToArray","code","_toConsumableArray","Object","keys","getValue","output","concat","addresses","_map","value","address","host","physicalHost","cellTag","getCellIdTag","cell_id","_keys","Number","discoveryServers","queueAgents","_v","systemMastersConfigDiscoveryServer","slice","length","_reduce","acc","item","key","t0","state","abrupt","stop","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","_each","_sortBy","_ref","push","loadMasters","_ref2","_callee","dispatch","config","masterDataRequests","data","_response","_data","message","_callee$","_context","REQUEST","SUCCESS","currentConfig","systemMasters","FAILURE","response","add","name","autoHiding","content","title","actions","label","onClick","_x","uuid","undefined","_uuid$split","split","_uuid$split2","_uuid$split2$","third","substring"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils/index';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\nimport type {AxiosError} from 'axios';\nimport type {Dispatch} from 'redux';\nimport type {BatchSubRequest} from '../../../../shared/yt-types';\nimport type {\n MasterDataItemInfo,\n MastersConfigResponse,\n ResponseItemsGroup,\n} from '../../reducers/system/masters';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\n\nconst toaster = new Toaster();\n\nconst {NODE_DOES_NOT_EXIST} = YTErrors;\n\nasync function loadMastersConfig(): Promise<MastersConfigResponse> {\n const requests = [\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [\n primaryMasterResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n ] = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {requests});\n\n const batchError = getBatchError(\n [primaryMasterResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n\n if (batchError) {\n throw batchError;\n }\n\n const error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');\n\n if (error && timestampProvidersResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw error;\n }\n\n const queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');\n\n if (queueAgentsError && queueAgentsResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw queueAgentsError;\n }\n\n const [timestamp_path] = [...Object.keys(ypath.getValue(timestampProvidersResult.output))];\n const [primary_path] = [...Object.keys(ypath.getValue(primaryMasterResult.output))];\n\n const tag_cell_requests = [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/primary_masters/${primary_path}/orchid/config/primary_master/cell_id`,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/timestamp_providers/${timestamp_path}/orchid/config/clock_cell`,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [primaryMasterCellTag, timestampProviderCellTag] = await ytApiV3Id.executeBatch(\n YTApiId.systemMastersConfig,\n {requests: [...tag_cell_requests]},\n );\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output)?.cell_id),\n };\n\n const mainResult: MastersConfigResponse = {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: getCellIdTag(primaryMasterCellTag.output),\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n discoveryServers: {},\n queueAgents: {},\n };\n\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n let discoveryServersStatuses: Record<string, 'offline' | 'online'> = {};\n let queueAgentsStatuses: Record<string, any> = {};\n\n try {\n const results = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n });\n\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error ? 'offline' : 'online';\n return acc;\n },\n {} as {[address: string]: 'offline' | 'online'},\n );\n queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {} as {[address: string]: string},\n );\n } catch {}\n\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(ypath.getValue(discoveryServersResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n }),\n cellTag: ypath.getValue(discoveryServersResult.output, '/@native_cell_tag'),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(ypath.getValue(queueAgentsResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n }),\n }\n : {};\n\n return mainResult;\n}\n\nfunction loadHydra(\n requests: BatchSubRequest[],\n masterInfo: MasterDataItemInfo[],\n type: string,\n masterEntry: ResponseItemsGroup,\n) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath: string;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'discovery') {\n cypressPath = '//sys/discovery_servers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n cypressPath = '//sys/masters';\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag: cellTag!});\n requests.push({\n command: 'get',\n parameters: {path: cypressPath + '/' + host + hydraPath, ...USE_SUPRESS_SYNC},\n });\n },\n );\n}\n\nexport function loadMasters() {\n return async (dispatch: Dispatch): Promise<void | {isRetryFutile: true}> => {\n dispatch({type: FETCH_MASTER_CONFIG.REQUEST});\n\n try {\n const config = await loadMastersConfig();\n\n dispatch({type: FETCH_MASTER_CONFIG.SUCCESS, data: config});\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests: BatchSubRequest[] = [];\n const masterInfo: MasterDataItemInfo[] = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);\n\n const data = await ytApiV3Id.executeBatch(YTApiId.systemMasters, {\n requests: masterDataRequests,\n });\n\n dispatch({type: FETCH_MASTER_DATA.SUCCESS, data: {masterInfo, data}});\n } catch (error) {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data =\n (error as {response?: {data?: {code: string; message: string}}})?.response?.data ||\n (error as {code: string; message: string});\n\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [{label: ' view', onClick: () => showErrorPopup(error as AxiosError)}],\n });\n\n if (isRetryFutile((error as {code: number})?.code)) {\n return {isRetryFutile: true};\n }\n }\n };\n}\n\nfunction getCellIdTag(uuid?: string): number | undefined {\n if (!uuid) {\n return undefined;\n }\n const [, , third = ''] = uuid.split('-');\n return Number(`0x${third.substring(0, third.length - 4)}`);\n}\n"],"mappings":"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"}
@@ -3464,7 +3464,7 @@ export declare const getGlobalGroups: (state: RootState) => any;
3464
3464
  export declare const getCurrentUserName: (state: RootState) => string;
3465
3465
  export declare const getAuthWay: (state: RootState) => AuthWay;
3466
3466
  export declare const getAllowedExperimentalPages: (state: RootState) => string[];
3467
- export declare const isDeveloperSettings: ((state: Omit<import("redux").CombinedState<{
3467
+ export declare const isDeveloperOrWatchMen: ((state: Omit<import("redux").CombinedState<{
3468
3468
  acl: any;
3469
3469
  aclFilters: import("../../reducers/acl/acl-filters").AclFiltersState;
3470
3470
  actions: never;
@@ -116,14 +116,14 @@ export var getAuthWay = function getAuthWay(state) {
116
116
  export var getAllowedExperimentalPages = function getAllowedExperimentalPages(state) {
117
117
  return state === null || state === void 0 ? void 0 : state.global.allowedExperimentalPages;
118
118
  };
119
- var isCheckedDeveloper = function isCheckedDeveloper(state) {
119
+ var isDeveloperRaw = function isDeveloperRaw(state) {
120
120
  var _state$global5;
121
121
  return state === null || state === void 0 || (_state$global5 = state.global) === null || _state$global5 === void 0 ? void 0 : _state$global5.isDeveloper;
122
122
  };
123
- export var isDeveloperSettings = createSelector([isCheckedDeveloper, getCurrentUserName], function (isDeveloper, login) {
123
+ export var isDeveloperOrWatchMen = createSelector([isDeveloperRaw, getCurrentUserName], function (isDeveloper, login) {
124
124
  return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;
125
125
  });
126
- export var isDeveloper = createSelector([isDeveloperSettings, getSettingsRegularUserUI], function (isDeveloper, regularUserUI) {
126
+ export var isDeveloper = createSelector([isDeveloperOrWatchMen, getSettingsRegularUserUI], function (isDeveloper, regularUserUI) {
127
127
  return !regularUserUI && isDeveloper;
128
128
  });
129
129
  export var isQueryTrackerAllowed = createSelector([isDeveloper, getAllowedExperimentalPages], function (isDeveloper, allowedPages) {
@@ -1 +1 @@
1
- {"version":3,"names":["createSelector","ypath","flags","getClusterConfig","getSettingsRegularUserUI","YT","getClusterNS","UIFactory","getConfigData","Page","getGlobalError","state","global","error","getCluster","_state$global","cluster","getRootPagesCluster","rootPagesCluster","getGlobalLoadState","loadState","getTheme","theme","getClusterUiConfig","clusterUiConfig","getClusterUiConfigEnablePerAccountTabletAccounting","_state$global$cluster","enable_per_account_tablet_accounting","getClusterUiConfigEnablePerBundleTabletAccounting","_state$global$cluster2","enable_per_bundle_tablet_accounting","getClusterUiConfigBundleAccountingHelpLink","per_bundle_accounting_help_link","getCurrentClusterConfig","clusters","getClusterConfigByName","clusterName","isAllowYtTwmApi","ytApiUseCORS","getClusterProxy","clusterConfig","allowYtTvmApi","concat","window","location","host","id","proxy","getHttpProxyVersion","version","getGlobalSchedulerVersion","schedulerVersion","getGlobalMasterVersion","masterVersion","getCurrentClusterNS","ns","undefined","getUISizes","tabSize","collapsibleSize","getPoolTrees","_state$global2","poolTrees","getAllAccounts","accounts","getBundles","bundles","getGlobalUsers","users","getGlobalGroups","groups","getCurrentUserName","_state$global3","login","getAuthWay","_state$global4","authWay","getAllowedExperimentalPages","allowedExperimentalPages","isCheckedDeveloper","_state$global5","isDeveloper","isDeveloperSettings","isLocalCluster","isWatchMen","regularUserUI","isQueryTrackerAllowed","allowedPages","expPages","getExperimentalPages","includes","QUERIES","getAllUserNames","usersData","_map","_ref","$value","getAllGroupNames","groupsData","_ref2","getGlobalGroupAttributesMap","data","_reduce","acc","_ref3","$attributes","getAllPoolNames","getAllKeys","obj","_keys","res","key","_typeof","_toConsumableArray","_orderBy","_uniq","_flatten","_values","getAllPoolTreeNames","getAllBundlesNames","bundleNames","bundle","getValue","_sortBy","getAllUserNamesSorted","getAllGroupNamesSorted","getAllIdmGroupNamesSorted","names","attrs","_filter","name","get","getGlobalDefaultPoolTreeName","poolTreeDefault","getGlobalShowLoginDialog","allowLoginDialog","showLoginDialog","getAuthPagesEnabled","getOAuthEnabled","allowOAuth","getOAuthButtonLabel","oauthButtonLabel","getGlobalAsideHeaderWidth","asideHeaderWidth"],"sources":["index.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport _ from 'lodash';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {flags, getClusterConfig} from '../../../utils';\nimport {getSettingsRegularUserUI} from '../settings-ts';\n\nimport {RootState} from '../../../store/reducers';\nimport YT from '../../../config/yt-config';\nimport {getClusterNS} from '../settings';\nimport {ClusterConfig} from '../../../../shared/yt-types';\nimport {FIX_MY_TYPE} from '../../../types';\nimport UIFactory from '../../../UIFactory';\nimport {getConfigData} from '../../../config/ui-settings';\nimport {Page} from '../../../../shared/constants/settings';\nimport {AuthWay} from '../../../../shared/constants';\n\nexport const getGlobalError = (state: RootState) => state.global.error.error;\n\nexport const getCluster = (state: RootState): string => state?.global?.cluster || '';\nexport const getRootPagesCluster = (state: RootState) => state?.global.rootPagesCluster;\n\nexport const getGlobalLoadState = (state: RootState) => state.global.loadState;\n\nexport const getTheme = (state: RootState): '' | 'dark' | 'light' => state.global.theme;\n\nexport const getClusterUiConfig = (state: RootState) => state.global.clusterUiConfig;\n\nexport const getClusterUiConfigEnablePerAccountTabletAccounting = (state: RootState) => {\n return state.global.clusterUiConfig.enable_per_account_tablet_accounting ?? false;\n};\nexport const getClusterUiConfigEnablePerBundleTabletAccounting = (state: RootState) =>\n state.global.clusterUiConfig.enable_per_bundle_tablet_accounting ?? true;\nexport const getClusterUiConfigBundleAccountingHelpLink = (state: RootState) =>\n state.global.clusterUiConfig.per_bundle_accounting_help_link;\n\nexport const getCurrentClusterConfig = createSelector([getCluster], (cluster): ClusterConfig => {\n return getClusterConfig(YT.clusters, cluster);\n});\n\nexport function getClusterConfigByName(clusterName: string): ClusterConfig {\n return getClusterConfig(YT.clusters, clusterName);\n}\n\nexport function isAllowYtTwmApi() {\n return !getConfigData().ytApiUseCORS;\n}\n\nexport function getClusterProxy(clusterConfig: ClusterConfig): string {\n const allowYtTvmApi = !getConfigData().ytApiUseCORS;\n if (allowYtTvmApi) {\n return `${window.location.host}/api/yt/${clusterConfig.id}`;\n }\n return clusterConfig.proxy;\n}\n\nexport const getHttpProxyVersion = createSelector(\n [getCluster, (state: RootState) => state.global.version],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalSchedulerVersion = createSelector(\n [getCluster, (state: RootState) => state.global.schedulerVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalMasterVersion = createSelector(\n [getCluster, (state: RootState) => state.global.masterVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getCurrentClusterNS = createSelector([getCluster, getClusterNS], (cluster, ns) => {\n return cluster ? ns : undefined;\n});\n\nexport const getUISizes = () => {\n return {\n tabSize: 'l' as const,\n collapsibleSize: 'ss' as const,\n };\n};\n\nexport const getPoolTrees = (state: RootState) => state?.global?.poolTrees;\nexport const getAllAccounts = (state: RootState) => state.global.accounts;\nexport const getBundles = (state: RootState) => state?.global.bundles;\nexport const getGlobalUsers = (state: RootState) => state.global.users;\nexport const getGlobalGroups = (state: RootState) => state.global.groups;\nexport const getCurrentUserName = (state: RootState): string => state?.global?.login;\nexport const getAuthWay = (state: RootState): AuthWay => state?.global?.authWay;\n\nexport const getAllowedExperimentalPages = (state: RootState) =>\n state?.global.allowedExperimentalPages;\n\nconst isCheckedDeveloper = (state: RootState): boolean => state?.global?.isDeveloper;\n\nexport const isDeveloperSettings = createSelector(\n [isCheckedDeveloper, getCurrentUserName],\n (isDeveloper, login) => {\n return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;\n },\n);\n\nexport const isDeveloper = createSelector(\n [isDeveloperSettings, getSettingsRegularUserUI],\n (isDeveloper, regularUserUI) => {\n return !regularUserUI && isDeveloper;\n },\n);\n\nexport const isQueryTrackerAllowed = createSelector(\n [isDeveloper, getAllowedExperimentalPages],\n (isDeveloper, allowedPages) => {\n const expPages = UIFactory.getExperimentalPages();\n return (\n isDeveloper || !expPages.includes(Page.QUERIES) || allowedPages.includes(Page.QUERIES)\n );\n },\n);\n\nexport const getAllUserNames = createSelector([getGlobalUsers], (usersData) => {\n return _.map(usersData, ({$value}) => $value as string);\n});\n\nexport const getAllGroupNames = createSelector([getGlobalGroups], (groupsData) => {\n return _.map(groupsData, ({$value}) => $value as string);\n});\n\nexport const getGlobalGroupAttributesMap = createSelector([getGlobalGroups], (data) => {\n return _.reduce(\n data,\n (acc, {$value, $attributes}) => {\n acc[$value] = $attributes;\n return acc;\n },\n {} as Record<string, {upravlyator_managed: boolean}>,\n );\n});\n\nexport const getAllPoolNames = createSelector(getPoolTrees, (poolTrees) => {\n const getAllKeys = (obj: FIX_MY_TYPE): Array<string> => {\n return _.reduce(\n _.keys(obj),\n (res: FIX_MY_TYPE, key: FIX_MY_TYPE) => {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n return [...res, key, ...getAllKeys(obj[key])];\n }\n\n return [...res, key];\n },\n [],\n );\n };\n\n return _.orderBy(_.uniq(_.flatten(_.map(_.values(poolTrees), getAllKeys))));\n});\n\nexport const getAllPoolTreeNames = createSelector(getPoolTrees, (poolTrees) => {\n return _.keys(poolTrees);\n});\n\nexport const getAllBundlesNames = createSelector(getBundles, (bundles) => {\n const bundleNames = _.map(bundles, (bundle) => ypath.getValue(bundle, ''));\n\n return _.sortBy(bundleNames);\n});\n\nexport const getAllUserNamesSorted = createSelector(\n [getAllUserNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllGroupNamesSorted = createSelector(\n [getAllGroupNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllIdmGroupNamesSorted = createSelector(\n [getAllGroupNamesSorted, getGlobalGroupAttributesMap],\n (names, attrs) => {\n return _.filter(names, (name) =>\n flags.get(attrs[name]['upravlyator_managed'] as FIX_MY_TYPE),\n );\n },\n);\n\nexport const getGlobalDefaultPoolTreeName = (state: RootState) =>\n state.global.poolTreeDefault || 'physical';\n\nexport const getGlobalShowLoginDialog = (state: RootState) => {\n return (\n getConfigData().allowLoginDialog && (!state.global.login || state.global.showLoginDialog)\n );\n};\n\nexport const getAuthPagesEnabled = () => {\n return getConfigData().allowLoginDialog;\n};\n\nexport const getOAuthEnabled = () => {\n return getConfigData().allowOAuth;\n};\n\nexport const getOAuthButtonLabel = () => {\n return getConfigData().oauthButtonLabel;\n};\n\nexport const getGlobalAsideHeaderWidth = (state: RootState) => state.global.asideHeaderWidth;\n"],"mappings":";;;;;;;;;;;AAAA,SAAQA,cAAc,QAAO,UAAU;AAGvC;AACA,OAAOC,KAAK,MAAM,uCAAuC;AAEzD,SAAQC,KAAK,EAAEC,gBAAgB,QAAO,gBAAgB;AACtD,SAAQC,wBAAwB,QAAO,gBAAgB;AAGvD,OAAOC,EAAE,MAAM,2BAA2B;AAC1C,SAAQC,YAAY,QAAO,aAAa;AAGxC,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,SAAQC,aAAa,QAAO,6BAA6B;AACzD,SAAQC,IAAI,QAAO,uCAAuC;AAG1D,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACC,KAAK,CAACA,KAAK;AAAA;AAE5E,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIH,KAAgB;EAAA,IAAAI,aAAA;EAAA,OAAa,CAAAJ,KAAK,aAALA,KAAK,gBAAAI,aAAA,GAALJ,KAAK,CAAEC,MAAM,cAAAG,aAAA,uBAAbA,aAAA,CAAeC,OAAO,KAAI,EAAE;AAAA;AACpF,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIN,KAAgB;EAAA,OAAKA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,MAAM,CAACM,gBAAgB;AAAA;AAEvF,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIR,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACQ,SAAS;AAAA;AAE9E,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIV,KAAgB;EAAA,OAA4BA,KAAK,CAACC,MAAM,CAACU,KAAK;AAAA;AAEvF,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIZ,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACY,eAAe;AAAA;AAEpF,OAAO,IAAMC,kDAAkD,GAAG,SAArDA,kDAAkDA,CAAId,KAAgB,EAAK;EAAA,IAAAe,qBAAA;EACpF,QAAAA,qBAAA,GAAOf,KAAK,CAACC,MAAM,CAACY,eAAe,CAACG,oCAAoC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,KAAK;AACrF,CAAC;AACD,OAAO,IAAME,iDAAiD,GAAG,SAApDA,iDAAiDA,CAAIjB,KAAgB;EAAA,IAAAkB,sBAAA;EAAA,QAAAA,sBAAA,GAC9ElB,KAAK,CAACC,MAAM,CAACY,eAAe,CAACM,mCAAmC,cAAAD,sBAAA,cAAAA,sBAAA,GAAI,IAAI;AAAA;AAC5E,OAAO,IAAME,0CAA0C,GAAG,SAA7CA,0CAA0CA,CAAIpB,KAAgB;EAAA,OACvEA,KAAK,CAACC,MAAM,CAACY,eAAe,CAACQ,+BAA+B;AAAA;AAEhE,OAAO,IAAMC,uBAAuB,GAAGjC,cAAc,CAAC,CAACc,UAAU,CAAC,EAAE,UAACE,OAAO,EAAoB;EAC5F,OAAOb,gBAAgB,CAACE,EAAE,CAAC6B,QAAQ,EAAElB,OAAO,CAAC;AACjD,CAAC,CAAC;AAEF,OAAO,SAASmB,sBAAsBA,CAACC,WAAmB,EAAiB;EACvE,OAAOjC,gBAAgB,CAACE,EAAE,CAAC6B,QAAQ,EAAEE,WAAW,CAAC;AACrD;AAEA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAC9B,OAAO,CAAC7B,aAAa,CAAC,CAAC,CAAC8B,YAAY;AACxC;AAEA,OAAO,SAASC,eAAeA,CAACC,aAA4B,EAAU;EAClE,IAAMC,aAAa,GAAG,CAACjC,aAAa,CAAC,CAAC,CAAC8B,YAAY;EACnD,IAAIG,aAAa,EAAE;IACf,UAAAC,MAAA,CAAUC,MAAM,CAACC,QAAQ,CAACC,IAAI,cAAAH,MAAA,CAAWF,aAAa,CAACM,EAAE;EAC7D;EACA,OAAON,aAAa,CAACO,KAAK;AAC9B;AAEA,OAAO,IAAMC,mBAAmB,GAAGhD,cAAc,CAC7C,CAACc,UAAU,EAAE,UAACH,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACqC,OAAO;AAAA,EAAC,EACxD,UAACjC,OAAO,EAAEiC,OAAO,EAAK;EAClB,OAAOjC,OAAO,GAAGiC,OAAO,GAAG,EAAE;AACjC,CACJ,CAAC;AAED,OAAO,IAAMC,yBAAyB,GAAGlD,cAAc,CACnD,CAACc,UAAU,EAAE,UAACH,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACuC,gBAAgB;AAAA,EAAC,EACjE,UAACnC,OAAO,EAAEiC,OAAO,EAAK;EAClB,OAAOjC,OAAO,GAAGiC,OAAO,GAAG,EAAE;AACjC,CACJ,CAAC;AAED,OAAO,IAAMG,sBAAsB,GAAGpD,cAAc,CAChD,CAACc,UAAU,EAAE,UAACH,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACyC,aAAa;AAAA,EAAC,EAC9D,UAACrC,OAAO,EAAEiC,OAAO,EAAK;EAClB,OAAOjC,OAAO,GAAGiC,OAAO,GAAG,EAAE;AACjC,CACJ,CAAC;AAED,OAAO,IAAMK,mBAAmB,GAAGtD,cAAc,CAAC,CAACc,UAAU,EAAER,YAAY,CAAC,EAAE,UAACU,OAAO,EAAEuC,EAAE,EAAK;EAC3F,OAAOvC,OAAO,GAAGuC,EAAE,GAAGC,SAAS;AACnC,CAAC,CAAC;AAEF,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EAC5B,OAAO;IACHC,OAAO,EAAE,GAAY;IACrBC,eAAe,EAAE;EACrB,CAAC;AACL,CAAC;AAED,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIjD,KAAgB;EAAA,IAAAkD,cAAA;EAAA,OAAKlD,KAAK,aAALA,KAAK,gBAAAkD,cAAA,GAALlD,KAAK,CAAEC,MAAM,cAAAiD,cAAA,uBAAbA,cAAA,CAAeC,SAAS;AAAA;AAC1E,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIpD,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACoD,QAAQ;AAAA;AACzE,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAItD,KAAgB;EAAA,OAAKA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,MAAM,CAACsD,OAAO;AAAA;AACrE,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIxD,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACwD,KAAK;AAAA;AACtE,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAI1D,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAAC0D,MAAM;AAAA;AACxE,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI5D,KAAgB;EAAA,IAAA6D,cAAA;EAAA,OAAa7D,KAAK,aAALA,KAAK,gBAAA6D,cAAA,GAAL7D,KAAK,CAAEC,MAAM,cAAA4D,cAAA,uBAAbA,cAAA,CAAeC,KAAK;AAAA;AACpF,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAI/D,KAAgB;EAAA,IAAAgE,cAAA;EAAA,OAAchE,KAAK,aAALA,KAAK,gBAAAgE,cAAA,GAALhE,KAAK,CAAEC,MAAM,cAAA+D,cAAA,uBAAbA,cAAA,CAAeC,OAAO;AAAA;AAE/E,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIlE,KAAgB;EAAA,OACxDA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,MAAM,CAACkE,wBAAwB;AAAA;AAE1C,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIpE,KAAgB;EAAA,IAAAqE,cAAA;EAAA,OAAcrE,KAAK,aAALA,KAAK,gBAAAqE,cAAA,GAALrE,KAAK,CAAEC,MAAM,cAAAoE,cAAA,uBAAbA,cAAA,CAAeC,WAAW;AAAA;AAEpF,OAAO,IAAMC,mBAAmB,GAAGlF,cAAc,CAC7C,CAAC+E,kBAAkB,EAAER,kBAAkB,CAAC,EACxC,UAACU,WAAW,EAAER,KAAK,EAAK;EACpB,OAAOpE,EAAE,CAAC8E,cAAc,IAAI5E,SAAS,CAAC6E,UAAU,CAACX,KAAK,CAAC,IAAIQ,WAAW;AAC1E,CACJ,CAAC;AAED,OAAO,IAAMA,WAAW,GAAGjF,cAAc,CACrC,CAACkF,mBAAmB,EAAE9E,wBAAwB,CAAC,EAC/C,UAAC6E,WAAW,EAAEI,aAAa,EAAK;EAC5B,OAAO,CAACA,aAAa,IAAIJ,WAAW;AACxC,CACJ,CAAC;AAED,OAAO,IAAMK,qBAAqB,GAAGtF,cAAc,CAC/C,CAACiF,WAAW,EAAEJ,2BAA2B,CAAC,EAC1C,UAACI,WAAW,EAAEM,YAAY,EAAK;EAC3B,IAAMC,QAAQ,GAAGjF,SAAS,CAACkF,oBAAoB,CAAC,CAAC;EACjD,OACIR,WAAW,IAAI,CAACO,QAAQ,CAACE,QAAQ,CAACjF,IAAI,CAACkF,OAAO,CAAC,IAAIJ,YAAY,CAACG,QAAQ,CAACjF,IAAI,CAACkF,OAAO,CAAC;AAE9F,CACJ,CAAC;AAED,OAAO,IAAMC,eAAe,GAAG5F,cAAc,CAAC,CAACmE,cAAc,CAAC,EAAE,UAAC0B,SAAS,EAAK;EAC3E,OAAOC,IAAA,CAAMD,SAAS,EAAE,UAAAE,IAAA;IAAA,IAAEC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAA,OAAMA,MAAM;EAAA,CAAU,CAAC;AAC3D,CAAC,CAAC;AAEF,OAAO,IAAMC,gBAAgB,GAAGjG,cAAc,CAAC,CAACqE,eAAe,CAAC,EAAE,UAAC6B,UAAU,EAAK;EAC9E,OAAOJ,IAAA,CAAMI,UAAU,EAAE,UAAAC,KAAA;IAAA,IAAEH,MAAM,GAAAG,KAAA,CAANH,MAAM;IAAA,OAAMA,MAAM;EAAA,CAAU,CAAC;AAC5D,CAAC,CAAC;AAEF,OAAO,IAAMI,2BAA2B,GAAGpG,cAAc,CAAC,CAACqE,eAAe,CAAC,EAAE,UAACgC,IAAI,EAAK;EACnF,OAAOC,OAAA,CACHD,IAAI,EACJ,UAACE,GAAG,EAAAC,KAAA,EAA4B;IAAA,IAAzBR,MAAM,GAAAQ,KAAA,CAANR,MAAM;MAAES,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACtBF,GAAG,CAACP,MAAM,CAAC,GAAGS,WAAW;IACzB,OAAOF,GAAG;EACd,CAAC,EACD,CAAC,CACL,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,IAAMG,eAAe,GAAG1G,cAAc,CAAC4D,YAAY,EAAE,UAACE,SAAS,EAAK;EACvE,IAAM6C,UAAU,GAAG,SAAbA,UAAUA,CAAIC,GAAgB,EAAoB;IACpD,OAAON,OAAA,CACHO,KAAA,CAAOD,GAAG,CAAC,EACX,UAACE,GAAgB,EAAEC,GAAgB,EAAK;MACpC,IAAIC,OAAA,CAAOJ,GAAG,CAACG,GAAG,CAAC,MAAK,QAAQ,IAAIH,GAAG,CAACG,GAAG,CAAC,KAAK,IAAI,EAAE;QACnD,UAAArE,MAAA,CAAAuE,kBAAA,CAAWH,GAAG,IAAEC,GAAG,GAAAE,kBAAA,CAAKN,UAAU,CAACC,GAAG,CAACG,GAAG,CAAC,CAAC;MAChD;MAEA,UAAArE,MAAA,CAAAuE,kBAAA,CAAWH,GAAG,IAAEC,GAAG;IACvB,CAAC,EACD,EACJ,CAAC;EACL,CAAC;EAED,OAAOG,QAAA,CAAUC,KAAA,CAAOC,QAAA,CAAUtB,IAAA,CAAMuB,OAAA,CAASvD,SAAS,CAAC,EAAE6C,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,OAAO,IAAMW,mBAAmB,GAAGtH,cAAc,CAAC4D,YAAY,EAAE,UAACE,SAAS,EAAK;EAC3E,OAAO+C,KAAA,CAAO/C,SAAS,CAAC;AAC5B,CAAC,CAAC;AAEF,OAAO,IAAMyD,kBAAkB,GAAGvH,cAAc,CAACiE,UAAU,EAAE,UAACC,OAAO,EAAK;EACtE,IAAMsD,WAAW,GAAG1B,IAAA,CAAM5B,OAAO,EAAE,UAACuD,MAAM;IAAA,OAAKxH,KAAK,CAACyH,QAAQ,CAACD,MAAM,EAAE,EAAE,CAAC;EAAA,EAAC;EAE1E,OAAOE,OAAA,CAASH,WAAW,CAAC;AAChC,CAAC,CAAC;AAEF,OAAO,IAAMI,qBAAqB,GAAG5H,cAAc,CAC/C,CAAC4F,eAAe,CAAC,EAAA+B,OAErB,CAAC;AAED,OAAO,IAAME,sBAAsB,GAAG7H,cAAc,CAChD,CAACiG,gBAAgB,CAAC,EAAA0B,OAEtB,CAAC;AAED,OAAO,IAAMG,yBAAyB,GAAG9H,cAAc,CACnD,CAAC6H,sBAAsB,EAAEzB,2BAA2B,CAAC,EACrD,UAAC2B,KAAK,EAAEC,KAAK,EAAK;EACd,OAAOC,OAAA,CAASF,KAAK,EAAE,UAACG,IAAI;IAAA,OACxBhI,KAAK,CAACiI,GAAG,CAACH,KAAK,CAACE,IAAI,CAAC,CAAC,qBAAqB,CAAgB,CAAC;EAAA,CAChE,CAAC;AACL,CACJ,CAAC;AAED,OAAO,IAAME,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAIzH,KAAgB;EAAA,OACzDA,KAAK,CAACC,MAAM,CAACyH,eAAe,IAAI,UAAU;AAAA;AAE9C,OAAO,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI3H,KAAgB,EAAK;EAC1D,OACIH,aAAa,CAAC,CAAC,CAAC+H,gBAAgB,KAAK,CAAC5H,KAAK,CAACC,MAAM,CAAC6D,KAAK,IAAI9D,KAAK,CAACC,MAAM,CAAC4H,eAAe,CAAC;AAEjG,CAAC;AAED,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrC,OAAOjI,aAAa,CAAC,CAAC,CAAC+H,gBAAgB;AAC3C,CAAC;AAED,OAAO,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EACjC,OAAOlI,aAAa,CAAC,CAAC,CAACmI,UAAU;AACrC,CAAC;AAED,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrC,OAAOpI,aAAa,CAAC,CAAC,CAACqI,gBAAgB;AAC3C,CAAC;AAED,OAAO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAInI,KAAgB;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACmI,gBAAgB;AAAA"}
1
+ {"version":3,"names":["createSelector","ypath","flags","getClusterConfig","getSettingsRegularUserUI","YT","getClusterNS","UIFactory","getConfigData","Page","getGlobalError","state","global","error","getCluster","_state$global","cluster","getRootPagesCluster","rootPagesCluster","getGlobalLoadState","loadState","getTheme","theme","getClusterUiConfig","clusterUiConfig","getClusterUiConfigEnablePerAccountTabletAccounting","_state$global$cluster","enable_per_account_tablet_accounting","getClusterUiConfigEnablePerBundleTabletAccounting","_state$global$cluster2","enable_per_bundle_tablet_accounting","getClusterUiConfigBundleAccountingHelpLink","per_bundle_accounting_help_link","getCurrentClusterConfig","clusters","getClusterConfigByName","clusterName","isAllowYtTwmApi","ytApiUseCORS","getClusterProxy","clusterConfig","allowYtTvmApi","concat","window","location","host","id","proxy","getHttpProxyVersion","version","getGlobalSchedulerVersion","schedulerVersion","getGlobalMasterVersion","masterVersion","getCurrentClusterNS","ns","undefined","getUISizes","tabSize","collapsibleSize","getPoolTrees","_state$global2","poolTrees","getAllAccounts","accounts","getBundles","bundles","getGlobalUsers","users","getGlobalGroups","groups","getCurrentUserName","_state$global3","login","getAuthWay","_state$global4","authWay","getAllowedExperimentalPages","allowedExperimentalPages","isDeveloperRaw","_state$global5","isDeveloper","isDeveloperOrWatchMen","isLocalCluster","isWatchMen","regularUserUI","isQueryTrackerAllowed","allowedPages","expPages","getExperimentalPages","includes","QUERIES","getAllUserNames","usersData","_map","_ref","$value","getAllGroupNames","groupsData","_ref2","getGlobalGroupAttributesMap","data","_reduce","acc","_ref3","$attributes","getAllPoolNames","getAllKeys","obj","_keys","res","key","_typeof","_toConsumableArray","_orderBy","_uniq","_flatten","_values","getAllPoolTreeNames","getAllBundlesNames","bundleNames","bundle","getValue","_sortBy","getAllUserNamesSorted","getAllGroupNamesSorted","getAllIdmGroupNamesSorted","names","attrs","_filter","name","get","getGlobalDefaultPoolTreeName","poolTreeDefault","getGlobalShowLoginDialog","allowLoginDialog","showLoginDialog","getAuthPagesEnabled","getOAuthEnabled","allowOAuth","getOAuthButtonLabel","oauthButtonLabel","getGlobalAsideHeaderWidth","asideHeaderWidth"],"sources":["index.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport _ from 'lodash';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {flags, getClusterConfig} from '../../../utils';\nimport {getSettingsRegularUserUI} from '../settings-ts';\n\nimport {RootState} from '../../../store/reducers';\nimport YT from '../../../config/yt-config';\nimport {getClusterNS} from '../settings';\nimport {ClusterConfig} from '../../../../shared/yt-types';\nimport {FIX_MY_TYPE} from '../../../types';\nimport UIFactory from '../../../UIFactory';\nimport {getConfigData} from '../../../config/ui-settings';\nimport {Page} from '../../../../shared/constants/settings';\nimport {AuthWay} from '../../../../shared/constants';\n\nexport const getGlobalError = (state: RootState) => state.global.error.error;\n\nexport const getCluster = (state: RootState): string => state?.global?.cluster || '';\nexport const getRootPagesCluster = (state: RootState) => state?.global.rootPagesCluster;\n\nexport const getGlobalLoadState = (state: RootState) => state.global.loadState;\n\nexport const getTheme = (state: RootState): '' | 'dark' | 'light' => state.global.theme;\n\nexport const getClusterUiConfig = (state: RootState) => state.global.clusterUiConfig;\n\nexport const getClusterUiConfigEnablePerAccountTabletAccounting = (state: RootState) => {\n return state.global.clusterUiConfig.enable_per_account_tablet_accounting ?? false;\n};\nexport const getClusterUiConfigEnablePerBundleTabletAccounting = (state: RootState) =>\n state.global.clusterUiConfig.enable_per_bundle_tablet_accounting ?? true;\nexport const getClusterUiConfigBundleAccountingHelpLink = (state: RootState) =>\n state.global.clusterUiConfig.per_bundle_accounting_help_link;\n\nexport const getCurrentClusterConfig = createSelector([getCluster], (cluster): ClusterConfig => {\n return getClusterConfig(YT.clusters, cluster);\n});\n\nexport function getClusterConfigByName(clusterName: string): ClusterConfig {\n return getClusterConfig(YT.clusters, clusterName);\n}\n\nexport function isAllowYtTwmApi() {\n return !getConfigData().ytApiUseCORS;\n}\n\nexport function getClusterProxy(clusterConfig: ClusterConfig): string {\n const allowYtTvmApi = !getConfigData().ytApiUseCORS;\n if (allowYtTvmApi) {\n return `${window.location.host}/api/yt/${clusterConfig.id}`;\n }\n return clusterConfig.proxy;\n}\n\nexport const getHttpProxyVersion = createSelector(\n [getCluster, (state: RootState) => state.global.version],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalSchedulerVersion = createSelector(\n [getCluster, (state: RootState) => state.global.schedulerVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalMasterVersion = createSelector(\n [getCluster, (state: RootState) => state.global.masterVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getCurrentClusterNS = createSelector([getCluster, getClusterNS], (cluster, ns) => {\n return cluster ? ns : undefined;\n});\n\nexport const getUISizes = () => {\n return {\n tabSize: 'l' as const,\n collapsibleSize: 'ss' as const,\n };\n};\n\nexport const getPoolTrees = (state: RootState) => state?.global?.poolTrees;\nexport const getAllAccounts = (state: RootState) => state.global.accounts;\nexport const getBundles = (state: RootState) => state?.global.bundles;\nexport const getGlobalUsers = (state: RootState) => state.global.users;\nexport const getGlobalGroups = (state: RootState) => state.global.groups;\nexport const getCurrentUserName = (state: RootState): string => state?.global?.login;\nexport const getAuthWay = (state: RootState): AuthWay => state?.global?.authWay;\n\nexport const getAllowedExperimentalPages = (state: RootState) =>\n state?.global.allowedExperimentalPages;\n\nconst isDeveloperRaw = (state: RootState): boolean => state?.global?.isDeveloper;\n\nexport const isDeveloperOrWatchMen = createSelector(\n [isDeveloperRaw, getCurrentUserName],\n (isDeveloper, login) => {\n return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;\n },\n);\n\nexport const isDeveloper = createSelector(\n [isDeveloperOrWatchMen, getSettingsRegularUserUI],\n (isDeveloper, regularUserUI) => {\n return !regularUserUI && isDeveloper;\n },\n);\n\nexport const isQueryTrackerAllowed = createSelector(\n [isDeveloper, getAllowedExperimentalPages],\n (isDeveloper, allowedPages) => {\n const expPages = UIFactory.getExperimentalPages();\n return (\n isDeveloper || !expPages.includes(Page.QUERIES) || allowedPages.includes(Page.QUERIES)\n );\n },\n);\n\nexport const getAllUserNames = createSelector([getGlobalUsers], (usersData) => {\n return _.map(usersData, ({$value}) => $value as string);\n});\n\nexport const getAllGroupNames = createSelector([getGlobalGroups], (groupsData) => {\n return _.map(groupsData, ({$value}) => $value as string);\n});\n\nexport const getGlobalGroupAttributesMap = createSelector([getGlobalGroups], (data) => {\n return _.reduce(\n data,\n (acc, {$value, $attributes}) => {\n acc[$value] = $attributes;\n return acc;\n },\n {} as Record<string, {upravlyator_managed: boolean}>,\n );\n});\n\nexport const getAllPoolNames = createSelector(getPoolTrees, (poolTrees) => {\n const getAllKeys = (obj: FIX_MY_TYPE): Array<string> => {\n return _.reduce(\n _.keys(obj),\n (res: FIX_MY_TYPE, key: FIX_MY_TYPE) => {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n return [...res, key, ...getAllKeys(obj[key])];\n }\n\n return [...res, key];\n },\n [],\n );\n };\n\n return _.orderBy(_.uniq(_.flatten(_.map(_.values(poolTrees), getAllKeys))));\n});\n\nexport const getAllPoolTreeNames = createSelector(getPoolTrees, (poolTrees) => {\n return _.keys(poolTrees);\n});\n\nexport const getAllBundlesNames = createSelector(getBundles, (bundles) => {\n const bundleNames = _.map(bundles, (bundle) => ypath.getValue(bundle, ''));\n\n return _.sortBy(bundleNames);\n});\n\nexport const getAllUserNamesSorted = createSelector(\n [getAllUserNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllGroupNamesSorted = createSelector(\n [getAllGroupNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllIdmGroupNamesSorted = createSelector(\n [getAllGroupNamesSorted, getGlobalGroupAttributesMap],\n (names, attrs) => {\n return _.filter(names, (name) =>\n flags.get(attrs[name]['upravlyator_managed'] as FIX_MY_TYPE),\n );\n },\n);\n\nexport const getGlobalDefaultPoolTreeName = (state: RootState) =>\n state.global.poolTreeDefault || 'physical';\n\nexport const getGlobalShowLoginDialog = (state: RootState) => {\n return (\n getConfigData().allowLoginDialog && (!state.global.login || state.global.showLoginDialog)\n );\n};\n\nexport const getAuthPagesEnabled = () => {\n return getConfigData().allowLoginDialog;\n};\n\nexport const getOAuthEnabled = () => {\n return getConfigData().allowOAuth;\n};\n\nexport const getOAuthButtonLabel = () => {\n return getConfigData().oauthButtonLabel;\n};\n\nexport const getGlobalAsideHeaderWidth = (state: RootState) => state.global.asideHeaderWidth;\n"],"mappings":"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"}
@@ -48,7 +48,7 @@
48
48
  "js": [
49
49
  "js/runtime.fd8cf219.js",
50
50
  "js/vendors.75563cec.js",
51
- "js/main.8e777909.js"
51
+ "js/main.b8adf234.js"
52
52
  ],
53
53
  "css": [
54
54
  "css/main.e919e247.css"
@@ -98,8 +98,8 @@
98
98
  "js/955.e1c8cf19.chunk.js.map": "js/955.e1c8cf19.chunk.js.map",
99
99
  "js/979.0e3142c0.chunk.js": "js/979.0e3142c0.chunk.js",
100
100
  "js/979.0e3142c0.chunk.js.map": "js/979.0e3142c0.chunk.js.map",
101
- "js/main.8e777909.js.LICENSE.txt": "js/main.8e777909.js.LICENSE.txt",
102
- "js/main.8e777909.js.map": "js/main.8e777909.js.map",
101
+ "js/main.b8adf234.js.LICENSE.txt": "js/main.b8adf234.js.LICENSE.txt",
102
+ "js/main.b8adf234.js.map": "js/main.b8adf234.js.map",
103
103
  "js/runtime.fd8cf219.js.map": "js/runtime.fd8cf219.js.map",
104
104
  "js/vendors.75563cec.js.LICENSE.txt": "js/vendors.75563cec.js.LICENSE.txt",
105
105
  "js/vendors.75563cec.js.map": "js/vendors.75563cec.js.map",
@@ -109,7 +109,7 @@
109
109
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
110
110
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
111
111
  "main.css": "css/main.e919e247.css",
112
- "main.js": "js/main.8e777909.js",
112
+ "main.js": "js/main.b8adf234.js",
113
113
  "runtime.js": "js/runtime.fd8cf219.js",
114
114
  "vendors.js": "js/vendors.75563cec.js",
115
115
  "vis-network.js": "js/vis-network.b367d390.chunk.js"