@ytsaurus/ui 1.14.2 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/build/cjs/@types/core.d.ts +3 -2
  2. package/build/cjs/server/configs/local.js +1 -0
  3. package/build/cjs/server/configs/local.js.map +1 -1
  4. package/build/cjs/shared/constants/yt-api-id.d.ts +139 -0
  5. package/build/cjs/shared/constants/yt-api-id.js +148 -0
  6. package/build/cjs/shared/constants/yt-api-id.js.map +1 -0
  7. package/build/cjs/shared/ui-settings.d.ts +1 -0
  8. package/build/cjs/shared/ui-settings.js.map +1 -1
  9. package/build/cjs/shared/utils/check-permission.d.ts +1 -14
  10. package/build/cjs/shared/utils/check-permission.js +6 -10
  11. package/build/cjs/shared/utils/check-permission.js.map +1 -1
  12. package/build/cjs/ui/UIFactory.d.ts +4 -1
  13. package/build/cjs/ui/UIFactory.js +9 -2
  14. package/build/cjs/ui/UIFactory.js.map +1 -1
  15. package/build/cjs/ui/components/Support/Support.js +6 -4
  16. package/build/cjs/ui/components/Support/Support.js.map +1 -1
  17. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  18. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  19. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -1
  20. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  21. package/build/cjs/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  22. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js +24 -0
  23. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  24. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  25. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  26. package/build/cjs/ui/rum/rum-wrap-api.d.ts +3 -141
  27. package/build/cjs/ui/rum/rum-wrap-api.js +12 -145
  28. package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
  29. package/build/cjs/ui/store/actions/cluster-params.js +22 -15
  30. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  31. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +1 -1
  32. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  33. package/build/cjs/ui/store/actions/system/masters.js +7 -3
  34. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  35. package/build/cjs/ui/store/selectors/global/index.d.ts +1 -1
  36. package/build/cjs/ui/store/selectors/global/index.js +4 -4
  37. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  38. package/build/cjs/ui/utils/scheduling/pool-child.js +1 -1
  39. package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
  40. package/build/esm/@types/core.d.ts +3 -2
  41. package/build/esm/server/configs/local.js +2 -1
  42. package/build/esm/server/configs/local.js.map +1 -1
  43. package/build/esm/shared/constants/yt-api-id.d.ts +139 -0
  44. package/build/esm/shared/constants/yt-api-id.js +141 -0
  45. package/build/esm/shared/constants/yt-api-id.js.map +1 -0
  46. package/build/esm/shared/ui-settings.d.ts +1 -0
  47. package/build/esm/shared/ui-settings.js.map +1 -1
  48. package/build/esm/shared/utils/check-permission.d.ts +1 -14
  49. package/build/esm/shared/utils/check-permission.js +8 -11
  50. package/build/esm/shared/utils/check-permission.js.map +1 -1
  51. package/build/esm/ui/UIFactory.d.ts +4 -1
  52. package/build/esm/ui/UIFactory.js +9 -2
  53. package/build/esm/ui/UIFactory.js.map +1 -1
  54. package/build/esm/ui/components/Support/Support.js +6 -4
  55. package/build/esm/ui/components/Support/Support.js.map +1 -1
  56. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  57. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  58. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -2
  59. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  60. package/build/esm/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  61. package/build/esm/ui/containers/SupportComponent/SupportComponent.js +18 -0
  62. package/build/esm/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  63. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  64. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  65. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +6 -1
  66. package/build/esm/ui/rum/rum-wrap-api.d.ts +3 -141
  67. package/build/esm/ui/rum/rum-wrap-api.js +3 -141
  68. package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
  69. package/build/esm/ui/store/actions/cluster-params.js +24 -17
  70. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  71. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +1 -1
  72. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  73. package/build/esm/ui/store/actions/system/masters.js +7 -3
  74. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  75. package/build/esm/ui/store/selectors/global/index.d.ts +1 -1
  76. package/build/esm/ui/store/selectors/global/index.js +3 -3
  77. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  78. package/build/esm/ui/utils/scheduling/pool-child.js +1 -1
  79. package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
  80. package/dist/public/build/assets-manifest.json +16 -16
  81. package/dist/public/build/css/{89.3546950a.chunk.css → 861.c5a67589.chunk.css} +1 -1
  82. package/dist/public/build/css/861.c5a67589.chunk.css.map +1 -0
  83. package/dist/public/build/css/{main.e919e247.css → main.675cb8c4.css} +2 -2
  84. package/dist/public/build/css/main.675cb8c4.css.map +1 -0
  85. package/dist/public/build/js/861.9703a31c.chunk.js +2 -0
  86. package/dist/public/build/js/861.9703a31c.chunk.js.map +1 -0
  87. package/dist/public/build/js/{943.f6342dd5.chunk.js → 943.40ff6440.chunk.js} +2 -2
  88. package/dist/public/build/js/{943.f6342dd5.chunk.js.map → 943.40ff6440.chunk.js.map} +1 -1
  89. package/dist/public/build/js/main.fb68ce2c.js +3 -0
  90. package/dist/public/build/js/{main.8e777909.js.map → main.fb68ce2c.js.map} +1 -1
  91. package/dist/public/build/js/runtime.ac9a4336.js +2 -0
  92. package/dist/public/build/js/{runtime.fd8cf219.js.map → runtime.ac9a4336.js.map} +1 -1
  93. package/dist/public/build/manifest.json +12 -12
  94. package/dist/server/configs/local.js +1 -0
  95. package/dist/shared/ui-settings.d.ts +1 -0
  96. package/package.json +4 -4
  97. package/dist/public/build/css/89.3546950a.chunk.css.map +0 -1
  98. package/dist/public/build/css/main.e919e247.css.map +0 -1
  99. package/dist/public/build/js/89.07445d46.chunk.js +0 -2
  100. package/dist/public/build/js/89.07445d46.chunk.js.map +0 -1
  101. package/dist/public/build/js/main.8e777909.js +0 -3
  102. package/dist/public/build/js/runtime.fd8cf219.js +0 -2
  103. /package/dist/public/build/js/{main.8e777909.js.LICENSE.txt → main.fb68ce2c.js.LICENSE.txt} +0 -0
@@ -2,12 +2,13 @@ import {AppConfig, AppContext} from '@gravity-ui/nodekit';
2
2
  // eslint-disable-next-line @typescript-eslint/no-redeclare
3
3
  import {Request, Response} from '@gravity-ui/expresskit';
4
4
  import {MetrikaCounter} from '@gravity-ui/app-layout';
5
- import {UISettings} from 'shared/ui-settings';
6
- import {Settings} from '../shared/constants/settings-types';
7
5
  import type {NodeKit} from '@gravity-ui/nodekit';
8
6
 
9
7
  import {ClusterConfig} from '@ytsaurus/ui/build/cjs/shared/yt-types';
10
8
 
9
+ import {UISettings} from '../../shared/ui-settings';
10
+ import {Settings} from '../shared/constants/settings-types';
11
+
11
12
  export interface YTCoreConfig {
12
13
  /**
13
14
  * Path to the file with OAuth-token of special-user ("the OAuthRobot" below) in format: {"oauthToken": "******"}
@@ -28,6 +28,7 @@ const localModeConfig = {
28
28
  uploadTableUseLocalmode: true,
29
29
  queryTrackerStage: 'testing',
30
30
  directDownload: false,
31
+ reportBugUrl: 'https://github.com/ytsaurus/ytsaurus-ui/issues/new',
31
32
  },
32
33
  userSettingsConfig: {
33
34
  cluster: constants_1.YT_LOCAL_CLUSTER_ID,
@@ -1 +1 @@
1
- {"version":3,"names":["_typeIs","_interopRequireDefault","require","_expresskit","_constants","obj","__esModule","default","localModeConfig","appAuthPolicy","AuthPolicy","disabled","ytInterfaceSecret","undefined","expressBodyParserJSONConfig","limit","type","req","_req$url","_req$url2","url","startsWith","Boolean","typeis","uiSettings","newTableReplicasCount","uploadTableMaxSize","uploadTableUseLocalmode","queryTrackerStage","directDownload","userSettingsConfig","cluster","YT_LOCAL_CLUSTER_ID","mapNodePath","_default","exports"],"sources":["local.ts"],"sourcesContent":["import typeis from 'type-is';\n\nimport {AuthPolicy} from '@gravity-ui/expresskit';\nimport {AppConfig} from '@gravity-ui/nodekit';\nimport {YT_LOCAL_CLUSTER_ID} from '../../shared/constants';\n\nconst localModeConfig: Partial<AppConfig> = {\n appAuthPolicy: AuthPolicy.disabled,\n ytInterfaceSecret: undefined,\n\n expressBodyParserJSONConfig: {\n limit: '51mb',\n type(req) {\n // Enable raw parser for all content-types on yt-api for piping requests\n if (req.url?.startsWith('/api/yt/')) return false;\n if (req.url?.startsWith('/localmode/api/yt/')) return false;\n\n // Simulate default logic given that 'type' option is 'application/json'\n return Boolean(typeis(req, 'application/json'));\n },\n },\n\n uiSettings: {\n newTableReplicasCount: 1,\n uploadTableMaxSize: 50 * 1024 * 1024,\n uploadTableUseLocalmode: true,\n queryTrackerStage: 'testing',\n\n directDownload: false,\n },\n\n userSettingsConfig: {\n cluster: YT_LOCAL_CLUSTER_ID,\n mapNodePath: '//tmp',\n },\n};\n\nexport default localModeConfig;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAA0D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D,IAAMG,eAAmC,GAAG;EACxCC,aAAa,EAAEC,sBAAU,CAACC,QAAQ;EAClCC,iBAAiB,EAAEC,SAAS;EAE5BC,2BAA2B,EAAE;IACzBC,KAAK,EAAE,MAAM;IACbC,IAAI,WAAAA,KAACC,GAAG,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MACN;MACA,KAAAD,QAAA,GAAID,GAAG,CAACG,GAAG,cAAAF,QAAA,eAAPA,QAAA,CAASG,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;MACjD,KAAAF,SAAA,GAAIF,GAAG,CAACG,GAAG,cAAAD,SAAA,eAAPA,SAAA,CAASE,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,KAAK;;MAE3D;MACA,OAAOC,OAAO,CAAC,IAAAC,eAAM,EAACN,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnD;EACJ,CAAC;EAEDO,UAAU,EAAE;IACRC,qBAAqB,EAAE,CAAC;IACxBC,kBAAkB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACpCC,uBAAuB,EAAE,IAAI;IAC7BC,iBAAiB,EAAE,SAAS;IAE5BC,cAAc,EAAE;EACpB,CAAC;EAEDC,kBAAkB,EAAE;IAChBC,OAAO,EAAEC,8BAAmB;IAC5BC,WAAW,EAAE;EACjB;AACJ,CAAC;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEcC,eAAe"}
1
+ {"version":3,"names":["_typeIs","_interopRequireDefault","require","_expresskit","_constants","obj","__esModule","default","localModeConfig","appAuthPolicy","AuthPolicy","disabled","ytInterfaceSecret","undefined","expressBodyParserJSONConfig","limit","type","req","_req$url","_req$url2","url","startsWith","Boolean","typeis","uiSettings","newTableReplicasCount","uploadTableMaxSize","uploadTableUseLocalmode","queryTrackerStage","directDownload","reportBugUrl","userSettingsConfig","cluster","YT_LOCAL_CLUSTER_ID","mapNodePath","_default","exports"],"sources":["local.ts"],"sourcesContent":["import typeis from 'type-is';\n\nimport {AuthPolicy} from '@gravity-ui/expresskit';\nimport {AppConfig} from '@gravity-ui/nodekit';\nimport {YT_LOCAL_CLUSTER_ID} from '../../shared/constants';\n\nconst localModeConfig: Partial<AppConfig> = {\n appAuthPolicy: AuthPolicy.disabled,\n ytInterfaceSecret: undefined,\n\n expressBodyParserJSONConfig: {\n limit: '51mb',\n type(req) {\n // Enable raw parser for all content-types on yt-api for piping requests\n if (req.url?.startsWith('/api/yt/')) return false;\n if (req.url?.startsWith('/localmode/api/yt/')) return false;\n\n // Simulate default logic given that 'type' option is 'application/json'\n return Boolean(typeis(req, 'application/json'));\n },\n },\n\n uiSettings: {\n newTableReplicasCount: 1,\n uploadTableMaxSize: 50 * 1024 * 1024,\n uploadTableUseLocalmode: true,\n queryTrackerStage: 'testing',\n\n directDownload: false,\n\n reportBugUrl: 'https://github.com/ytsaurus/ytsaurus-ui/issues/new',\n },\n\n userSettingsConfig: {\n cluster: YT_LOCAL_CLUSTER_ID,\n mapNodePath: '//tmp',\n },\n};\n\nexport default localModeConfig;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAA0D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D,IAAMG,eAAmC,GAAG;EACxCC,aAAa,EAAEC,sBAAU,CAACC,QAAQ;EAClCC,iBAAiB,EAAEC,SAAS;EAE5BC,2BAA2B,EAAE;IACzBC,KAAK,EAAE,MAAM;IACbC,IAAI,WAAAA,KAACC,GAAG,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MACN;MACA,KAAAD,QAAA,GAAID,GAAG,CAACG,GAAG,cAAAF,QAAA,eAAPA,QAAA,CAASG,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;MACjD,KAAAF,SAAA,GAAIF,GAAG,CAACG,GAAG,cAAAD,SAAA,eAAPA,SAAA,CAASE,UAAU,CAAC,oBAAoB,CAAC,EAAE,OAAO,KAAK;;MAE3D;MACA,OAAOC,OAAO,CAAC,IAAAC,eAAM,EAACN,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnD;EACJ,CAAC;EAEDO,UAAU,EAAE;IACRC,qBAAqB,EAAE,CAAC;IACxBC,kBAAkB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACpCC,uBAAuB,EAAE,IAAI;IAC7BC,iBAAiB,EAAE,SAAS;IAE5BC,cAAc,EAAE,KAAK;IAErBC,YAAY,EAAE;EAClB,CAAC;EAEDC,kBAAkB,EAAE;IAChBC,OAAO,EAAEC,8BAAmB;IAC5BC,WAAW,EAAE;EACjB;AACJ,CAAC;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEcC,eAAe"}
@@ -0,0 +1,139 @@
1
+ export declare enum YTApiId {
2
+ ui_clusterInfo = 0,
3
+ ui_loadColumnPreset = 1,
4
+ clusterParams = 2,
5
+ clusterParamsIsDeveloper = 3,
6
+ checkPermissions = 4,
7
+ getPoolTree = 5,
8
+ getPoolTrees = 6,
9
+ getPoolDefaultPoolTreeName = 7,
10
+ getPoolTreesPath = 8,
11
+ listPoolNames = 9,
12
+ getUsableBundles = 10,
13
+ listAccounts = 11,
14
+ listBundles = 12,
15
+ listGroups = 13,
16
+ listUsableAccounts = 14,
17
+ listUsers = 15,
18
+ listUsersUM = 16,
19
+ openAttributesModal = 17,
20
+ pathEditorLoadSuggestions = 18,
21
+ updateAttributes = 19,
22
+ updateNodeAttributes = 20,
23
+ accountsData = 21,
24
+ accountsEditData = 22,
25
+ attributesEditorGetAttrs = 23,
26
+ attributesEditorMerge = 24,
27
+ attributesEditorSet = 25,
28
+ componentsClusterNodes = 26,
29
+ componentGetRpcProxies = 27,
30
+ componentsRpcProxies = 28,
31
+ componentsShards = 29,
32
+ componentsUpdateNodeData = 30,
33
+ groupsData = 31,
34
+ groupsEditData = 32,
35
+ groupsListAll = 33,
36
+ dynTableCheckPerm = 34,
37
+ dynTableSelectRows = 35,
38
+ dynTableSelectRowsPreload = 36,
39
+ tableReadPreload = 37,
40
+ tableRead = 38,
41
+ navigationAttributes = 39,
42
+ navigationCheckPermissions = 40,
43
+ navigationCopy = 41,
44
+ navigationDelete = 42,
45
+ navigationDynTableState = 43,
46
+ navigationGetAnnotation = 44,
47
+ navigationGetDocument = 45,
48
+ navigationGetPath = 46,
49
+ navigationGetPathInfo = 47,
50
+ navigationGetTabletState = 48,
51
+ navigationIsStaticTable = 49,
52
+ navigationListNodes = 50,
53
+ navigationListTransactions = 51,
54
+ navigationLocks = 52,
55
+ navigationTransactions = 53,
56
+ navigationMove = 54,
57
+ navigationMoveToTrash = 55,
58
+ navigationMoveToTrashRestorePath = 56,
59
+ navigationResourceUsage = 57,
60
+ navigationRestorePath = 58,
61
+ navigationRTReplicas = 59,
62
+ navigationTableSortLoadColumns = 60,
63
+ navigationTabletErrors = 61,
64
+ navigationTabletErrorsCountDynTable = 62,
65
+ navigationTabletErrorsCountReplicatedTable = 63,
66
+ navigationTableMountConfig = 64,
67
+ navigationTypeDynamic = 65,
68
+ navigationUpdateView = 66,
69
+ navigationUserAttributeKeys = 67,
70
+ nodeAttributes = 68,
71
+ nodeMemoryUsage = 69,
72
+ nodeUnrecognizedOptions = 70,
73
+ schedulingData = 71,
74
+ schedulingEditPool = 72,
75
+ listOperations = 73,
76
+ operationGetJobs = 74,
77
+ operationIntermediateResourceUsage = 75,
78
+ operationIsEphemeral = 76,
79
+ operationsSchedulerInstances = 77,
80
+ listJobs100 = 78,
81
+ resourcePlannerPoolDetails = 79,
82
+ schedulingGetAttrsBeforeEdit = 80,
83
+ schedulingLoadOperations = 81,
84
+ schedulingLoadOperationsPerPool = 82,
85
+ schedulingLoadTree = 83,
86
+ schedulingTransferPoolQuota = 84,
87
+ schedulingPoolFullPath = 85,
88
+ schedulingLoadPoolsAll = 86,
89
+ schedulingLoadPoolsPerPool = 87,
90
+ schedulingLoadChildrenPerPool = 88,
91
+ schedulingLoadCypressDataPerPool = 89,
92
+ schedulingFilterAttributes = 90,
93
+ systemCAInstances = 91,
94
+ systemCAStates = 92,
95
+ systemChunks = 93,
96
+ systemMasters = 94,
97
+ systemMastersConfig = 95,
98
+ systemMastersConfigDiscoveryServer = 96,
99
+ systemNodes = 97,
100
+ systemProxies = 98,
101
+ systemResources = 99,
102
+ systemRpcProxies = 100,
103
+ systemSchedulers = 101,
104
+ systemSchedulersState = 102,
105
+ tabletAttribute = 103,
106
+ tabletCellAttributes = 104,
107
+ tabletPartitions = 105,
108
+ tabletStores = 106,
109
+ tabletStoresByIds = 107,
110
+ tabletTableAttributes = 108,
111
+ tabletCellBundles = 109,
112
+ tabletCellBundlesEditData = 110,
113
+ tabletCellBundlesInstancesDetails = 111,
114
+ tabletCellBundlesSetAttrs = 112,
115
+ tabletCellBundlesWithAbc = 113,
116
+ chaosCellBundles = 114,
117
+ chaosCellBundlesEditData = 115,
118
+ chaosCellBundlesSetAttrs = 116,
119
+ usersData = 117,
120
+ usersEditData = 118,
121
+ usersSaveData = 119,
122
+ queueStatus = 120,
123
+ queuePartitions = 121,
124
+ queueConsumerStatus = 122,
125
+ queueConsumerPartitions = 123,
126
+ bundleControllerZones = 124,
127
+ tabletBundleControllerState = 125,
128
+ tabletBundlesCheckWrite = 126,
129
+ listQueries = 127,
130
+ getQuery = 128,
131
+ startQuery = 129,
132
+ abortQuery = 130,
133
+ readQueryResults = 131,
134
+ getQueryResults = 132,
135
+ alterQuery = 133,
136
+ addMaintenance = 134,
137
+ removeMaintenance = 135,
138
+ maintenanceRequests = 136
139
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YTApiId = void 0;
4
+ var YTApiId;
5
+ (function (YTApiId) {
6
+ // Names of ids for node-controllers should be started with 'ui_'-prefix
7
+ YTApiId[YTApiId["ui_clusterInfo"] = 0] = "ui_clusterInfo";
8
+ YTApiId[YTApiId["ui_loadColumnPreset"] = 1] = "ui_loadColumnPreset";
9
+ // Some ids without specific page
10
+ YTApiId[YTApiId["clusterParams"] = 2] = "clusterParams";
11
+ YTApiId[YTApiId["clusterParamsIsDeveloper"] = 3] = "clusterParamsIsDeveloper";
12
+ YTApiId[YTApiId["checkPermissions"] = 4] = "checkPermissions";
13
+ YTApiId[YTApiId["getPoolTree"] = 5] = "getPoolTree";
14
+ YTApiId[YTApiId["getPoolTrees"] = 6] = "getPoolTrees";
15
+ YTApiId[YTApiId["getPoolDefaultPoolTreeName"] = 7] = "getPoolDefaultPoolTreeName";
16
+ YTApiId[YTApiId["getPoolTreesPath"] = 8] = "getPoolTreesPath";
17
+ YTApiId[YTApiId["listPoolNames"] = 9] = "listPoolNames";
18
+ YTApiId[YTApiId["getUsableBundles"] = 10] = "getUsableBundles";
19
+ YTApiId[YTApiId["listAccounts"] = 11] = "listAccounts";
20
+ YTApiId[YTApiId["listBundles"] = 12] = "listBundles";
21
+ YTApiId[YTApiId["listGroups"] = 13] = "listGroups";
22
+ YTApiId[YTApiId["listUsableAccounts"] = 14] = "listUsableAccounts";
23
+ YTApiId[YTApiId["listUsers"] = 15] = "listUsers";
24
+ YTApiId[YTApiId["listUsersUM"] = 16] = "listUsersUM";
25
+ YTApiId[YTApiId["openAttributesModal"] = 17] = "openAttributesModal";
26
+ YTApiId[YTApiId["pathEditorLoadSuggestions"] = 18] = "pathEditorLoadSuggestions";
27
+ YTApiId[YTApiId["updateAttributes"] = 19] = "updateAttributes";
28
+ YTApiId[YTApiId["updateNodeAttributes"] = 20] = "updateNodeAttributes";
29
+ // Page-specific requests
30
+ YTApiId[YTApiId["accountsData"] = 21] = "accountsData";
31
+ YTApiId[YTApiId["accountsEditData"] = 22] = "accountsEditData";
32
+ YTApiId[YTApiId["attributesEditorGetAttrs"] = 23] = "attributesEditorGetAttrs";
33
+ YTApiId[YTApiId["attributesEditorMerge"] = 24] = "attributesEditorMerge";
34
+ YTApiId[YTApiId["attributesEditorSet"] = 25] = "attributesEditorSet";
35
+ YTApiId[YTApiId["componentsClusterNodes"] = 26] = "componentsClusterNodes";
36
+ YTApiId[YTApiId["componentGetRpcProxies"] = 27] = "componentGetRpcProxies";
37
+ YTApiId[YTApiId["componentsRpcProxies"] = 28] = "componentsRpcProxies";
38
+ YTApiId[YTApiId["componentsShards"] = 29] = "componentsShards";
39
+ YTApiId[YTApiId["componentsUpdateNodeData"] = 30] = "componentsUpdateNodeData";
40
+ YTApiId[YTApiId["groupsData"] = 31] = "groupsData";
41
+ YTApiId[YTApiId["groupsEditData"] = 32] = "groupsEditData";
42
+ YTApiId[YTApiId["groupsListAll"] = 33] = "groupsListAll";
43
+ // dynamic tables
44
+ YTApiId[YTApiId["dynTableCheckPerm"] = 34] = "dynTableCheckPerm";
45
+ YTApiId[YTApiId["dynTableSelectRows"] = 35] = "dynTableSelectRows";
46
+ YTApiId[YTApiId["dynTableSelectRowsPreload"] = 36] = "dynTableSelectRowsPreload";
47
+ // static tables
48
+ YTApiId[YTApiId["tableReadPreload"] = 37] = "tableReadPreload";
49
+ YTApiId[YTApiId["tableRead"] = 38] = "tableRead";
50
+ YTApiId[YTApiId["navigationAttributes"] = 39] = "navigationAttributes";
51
+ YTApiId[YTApiId["navigationCheckPermissions"] = 40] = "navigationCheckPermissions";
52
+ YTApiId[YTApiId["navigationCopy"] = 41] = "navigationCopy";
53
+ YTApiId[YTApiId["navigationDelete"] = 42] = "navigationDelete";
54
+ YTApiId[YTApiId["navigationDynTableState"] = 43] = "navigationDynTableState";
55
+ YTApiId[YTApiId["navigationGetAnnotation"] = 44] = "navigationGetAnnotation";
56
+ YTApiId[YTApiId["navigationGetDocument"] = 45] = "navigationGetDocument";
57
+ YTApiId[YTApiId["navigationGetPath"] = 46] = "navigationGetPath";
58
+ YTApiId[YTApiId["navigationGetPathInfo"] = 47] = "navigationGetPathInfo";
59
+ YTApiId[YTApiId["navigationGetTabletState"] = 48] = "navigationGetTabletState";
60
+ YTApiId[YTApiId["navigationIsStaticTable"] = 49] = "navigationIsStaticTable";
61
+ YTApiId[YTApiId["navigationListNodes"] = 50] = "navigationListNodes";
62
+ YTApiId[YTApiId["navigationListTransactions"] = 51] = "navigationListTransactions";
63
+ YTApiId[YTApiId["navigationLocks"] = 52] = "navigationLocks";
64
+ YTApiId[YTApiId["navigationTransactions"] = 53] = "navigationTransactions";
65
+ YTApiId[YTApiId["navigationMove"] = 54] = "navigationMove";
66
+ YTApiId[YTApiId["navigationMoveToTrash"] = 55] = "navigationMoveToTrash";
67
+ YTApiId[YTApiId["navigationMoveToTrashRestorePath"] = 56] = "navigationMoveToTrashRestorePath";
68
+ YTApiId[YTApiId["navigationResourceUsage"] = 57] = "navigationResourceUsage";
69
+ YTApiId[YTApiId["navigationRestorePath"] = 58] = "navigationRestorePath";
70
+ YTApiId[YTApiId["navigationRTReplicas"] = 59] = "navigationRTReplicas";
71
+ YTApiId[YTApiId["navigationTableSortLoadColumns"] = 60] = "navigationTableSortLoadColumns";
72
+ YTApiId[YTApiId["navigationTabletErrors"] = 61] = "navigationTabletErrors";
73
+ YTApiId[YTApiId["navigationTabletErrorsCountDynTable"] = 62] = "navigationTabletErrorsCountDynTable";
74
+ YTApiId[YTApiId["navigationTabletErrorsCountReplicatedTable"] = 63] = "navigationTabletErrorsCountReplicatedTable";
75
+ YTApiId[YTApiId["navigationTableMountConfig"] = 64] = "navigationTableMountConfig";
76
+ YTApiId[YTApiId["navigationTypeDynamic"] = 65] = "navigationTypeDynamic";
77
+ YTApiId[YTApiId["navigationUpdateView"] = 66] = "navigationUpdateView";
78
+ YTApiId[YTApiId["navigationUserAttributeKeys"] = 67] = "navigationUserAttributeKeys";
79
+ YTApiId[YTApiId["nodeAttributes"] = 68] = "nodeAttributes";
80
+ YTApiId[YTApiId["nodeMemoryUsage"] = 69] = "nodeMemoryUsage";
81
+ YTApiId[YTApiId["nodeUnrecognizedOptions"] = 70] = "nodeUnrecognizedOptions";
82
+ YTApiId[YTApiId["schedulingData"] = 71] = "schedulingData";
83
+ YTApiId[YTApiId["schedulingEditPool"] = 72] = "schedulingEditPool";
84
+ YTApiId[YTApiId["listOperations"] = 73] = "listOperations";
85
+ YTApiId[YTApiId["operationGetJobs"] = 74] = "operationGetJobs";
86
+ YTApiId[YTApiId["operationIntermediateResourceUsage"] = 75] = "operationIntermediateResourceUsage";
87
+ YTApiId[YTApiId["operationIsEphemeral"] = 76] = "operationIsEphemeral";
88
+ YTApiId[YTApiId["operationsSchedulerInstances"] = 77] = "operationsSchedulerInstances";
89
+ YTApiId[YTApiId["listJobs100"] = 78] = "listJobs100";
90
+ YTApiId[YTApiId["resourcePlannerPoolDetails"] = 79] = "resourcePlannerPoolDetails";
91
+ YTApiId[YTApiId["schedulingGetAttrsBeforeEdit"] = 80] = "schedulingGetAttrsBeforeEdit";
92
+ YTApiId[YTApiId["schedulingLoadOperations"] = 81] = "schedulingLoadOperations";
93
+ YTApiId[YTApiId["schedulingLoadOperationsPerPool"] = 82] = "schedulingLoadOperationsPerPool";
94
+ YTApiId[YTApiId["schedulingLoadTree"] = 83] = "schedulingLoadTree";
95
+ YTApiId[YTApiId["schedulingTransferPoolQuota"] = 84] = "schedulingTransferPoolQuota";
96
+ YTApiId[YTApiId["schedulingPoolFullPath"] = 85] = "schedulingPoolFullPath";
97
+ YTApiId[YTApiId["schedulingLoadPoolsAll"] = 86] = "schedulingLoadPoolsAll";
98
+ YTApiId[YTApiId["schedulingLoadPoolsPerPool"] = 87] = "schedulingLoadPoolsPerPool";
99
+ YTApiId[YTApiId["schedulingLoadChildrenPerPool"] = 88] = "schedulingLoadChildrenPerPool";
100
+ YTApiId[YTApiId["schedulingLoadCypressDataPerPool"] = 89] = "schedulingLoadCypressDataPerPool";
101
+ YTApiId[YTApiId["schedulingFilterAttributes"] = 90] = "schedulingFilterAttributes";
102
+ YTApiId[YTApiId["systemCAInstances"] = 91] = "systemCAInstances";
103
+ YTApiId[YTApiId["systemCAStates"] = 92] = "systemCAStates";
104
+ YTApiId[YTApiId["systemChunks"] = 93] = "systemChunks";
105
+ YTApiId[YTApiId["systemMasters"] = 94] = "systemMasters";
106
+ YTApiId[YTApiId["systemMastersConfig"] = 95] = "systemMastersConfig";
107
+ YTApiId[YTApiId["systemMastersConfigDiscoveryServer"] = 96] = "systemMastersConfigDiscoveryServer";
108
+ YTApiId[YTApiId["systemNodes"] = 97] = "systemNodes";
109
+ YTApiId[YTApiId["systemProxies"] = 98] = "systemProxies";
110
+ YTApiId[YTApiId["systemResources"] = 99] = "systemResources";
111
+ YTApiId[YTApiId["systemRpcProxies"] = 100] = "systemRpcProxies";
112
+ YTApiId[YTApiId["systemSchedulers"] = 101] = "systemSchedulers";
113
+ YTApiId[YTApiId["systemSchedulersState"] = 102] = "systemSchedulersState";
114
+ YTApiId[YTApiId["tabletAttribute"] = 103] = "tabletAttribute";
115
+ YTApiId[YTApiId["tabletCellAttributes"] = 104] = "tabletCellAttributes";
116
+ YTApiId[YTApiId["tabletPartitions"] = 105] = "tabletPartitions";
117
+ YTApiId[YTApiId["tabletStores"] = 106] = "tabletStores";
118
+ YTApiId[YTApiId["tabletStoresByIds"] = 107] = "tabletStoresByIds";
119
+ YTApiId[YTApiId["tabletTableAttributes"] = 108] = "tabletTableAttributes";
120
+ YTApiId[YTApiId["tabletCellBundles"] = 109] = "tabletCellBundles";
121
+ YTApiId[YTApiId["tabletCellBundlesEditData"] = 110] = "tabletCellBundlesEditData";
122
+ YTApiId[YTApiId["tabletCellBundlesInstancesDetails"] = 111] = "tabletCellBundlesInstancesDetails";
123
+ YTApiId[YTApiId["tabletCellBundlesSetAttrs"] = 112] = "tabletCellBundlesSetAttrs";
124
+ YTApiId[YTApiId["tabletCellBundlesWithAbc"] = 113] = "tabletCellBundlesWithAbc";
125
+ YTApiId[YTApiId["chaosCellBundles"] = 114] = "chaosCellBundles";
126
+ YTApiId[YTApiId["chaosCellBundlesEditData"] = 115] = "chaosCellBundlesEditData";
127
+ YTApiId[YTApiId["chaosCellBundlesSetAttrs"] = 116] = "chaosCellBundlesSetAttrs";
128
+ YTApiId[YTApiId["usersData"] = 117] = "usersData";
129
+ YTApiId[YTApiId["usersEditData"] = 118] = "usersEditData";
130
+ YTApiId[YTApiId["usersSaveData"] = 119] = "usersSaveData";
131
+ YTApiId[YTApiId["queueStatus"] = 120] = "queueStatus";
132
+ YTApiId[YTApiId["queuePartitions"] = 121] = "queuePartitions";
133
+ YTApiId[YTApiId["queueConsumerStatus"] = 122] = "queueConsumerStatus";
134
+ YTApiId[YTApiId["queueConsumerPartitions"] = 123] = "queueConsumerPartitions";
135
+ YTApiId[YTApiId["bundleControllerZones"] = 124] = "bundleControllerZones";
136
+ YTApiId[YTApiId["tabletBundleControllerState"] = 125] = "tabletBundleControllerState";
137
+ YTApiId[YTApiId["tabletBundlesCheckWrite"] = 126] = "tabletBundlesCheckWrite";
138
+ YTApiId[YTApiId["listQueries"] = 127] = "listQueries";
139
+ YTApiId[YTApiId["getQuery"] = 128] = "getQuery";
140
+ YTApiId[YTApiId["startQuery"] = 129] = "startQuery";
141
+ YTApiId[YTApiId["abortQuery"] = 130] = "abortQuery";
142
+ YTApiId[YTApiId["readQueryResults"] = 131] = "readQueryResults";
143
+ YTApiId[YTApiId["getQueryResults"] = 132] = "getQueryResults";
144
+ YTApiId[YTApiId["alterQuery"] = 133] = "alterQuery";
145
+ YTApiId[YTApiId["addMaintenance"] = 134] = "addMaintenance";
146
+ YTApiId[YTApiId["removeMaintenance"] = 135] = "removeMaintenance";
147
+ YTApiId[YTApiId["maintenanceRequests"] = 136] = "maintenanceRequests";
148
+ })(YTApiId || (exports.YTApiId = YTApiId = {}));
@@ -0,0 +1 @@
1
+ {"version":3,"names":["YTApiId","exports"],"sources":["yt-api-id.ts"],"sourcesContent":["export 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"],"mappings":";;;;;;AAAA,IAAYA,OAAO,GAAAC,OAAA,CAAAD,OAAA,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,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;EAAA,OAAPA,OAAO;AAAA"}
@@ -12,6 +12,7 @@ export interface UISettings {
12
12
  trackerBaseUrl?: string;
13
13
  trackerQuoteRequestQueue?: string;
14
14
  trackerAdminRequestQueue?: string;
15
+ reportBugUrl?: string;
15
16
  datalensBaseUrl?: string;
16
17
  datalensAllowedCluster?: Array<string>;
17
18
  announcesMailListUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"names":["uiSettingFromEnv","exports","uploadTableExcelBaseUrl","process","env","YTFRONT_UPLOAD_EXCEL_BASE_URL","exportTableBaseUrl","YTFRONT_EXPORT_EXCEL_BASE_URL","jupyterBasePath","YTFRONT_JUPYTER_BASE_URL"],"sources":["ui-settings.ts"],"sourcesContent":["export interface UISettings {\n accessLogBasePath?: string;\n accountsUsageBasePath?: string;\n docsBaseUrl?: string;\n jupyterBasePath?: string;\n\n newTableReplicasCount: number;\n\n uploadTableMaxSize: number;\n uploadTableUseLocalmode?: boolean;\n\n uploadTableExcelBaseUrl?: string;\n exportTableBaseUrl?: string;\n\n directDownload?: boolean;\n\n trackerBaseUrl?: string;\n trackerQuoteRequestQueue?: string;\n trackerAdminRequestQueue?: string;\n\n datalensBaseUrl?: string;\n datalensAllowedCluster?: Array<string>;\n\n announcesMailListUrl?: string;\n\n sslCertFixUrl?: string;\n queryTrackerStage?: string;\n queryTrackerCluster?: string;\n\n oauthTokenUrl?: string;\n\n defaultFontType?: keyof Required<UISettings>['fontTypes'];\n\n fontTypes?: Record<string, {regular: string; monospace: string}>;\n\n /**\n * schedulingMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytPool}, {ytPoolTree}.\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/scheduling?cluster={ytCluster}&pool={ytPool}&poolTree={ytPoolTree}'}\n */\n schedulingMonitoring?: UISettingsMonitoring;\n\n /**\n * accountsMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytAccount}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/accounts?cluster={ytCluster}&account={ytAccount}'}\n */\n accountsMonitoring?: UISettingsMonitoring;\n\n /**\n * bundlesMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytTabletCellBundle}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/bundles?cluster={ytCluster}&account={ytTabletCellBundle}'}\n */\n bundlesMonitoring?: UISettingsMonitoring;\n\n /**\n * operationsMonitoring.urlTemplate supports following parameters:\n * {ytCluster}, {ytOperationId}, {ytPool}, {ytPoolTree}, {ytSlotIndex}, {fromTimeMs}, {toTimeMs}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {\n * urlTemplate:\n * 'https://my.monitoring.service/operations?cluster={ytCluster}&operationId={ytOperationId}&pool={ytPool}&tree={ytPoolTree}&slot={ytSlotIndex}&from={fromTimeMs}&to={toTimeMs}'\n * }\n */\n operationsMonitoring?: UISettingsMonitoring;\n\n /**\n * chytMonitoring.urlTemplate supports following parameters:\n * - {ytCluster}\n * - {chytAlias}\n * All the parameters are optional and the are replaced with corresponding values\n * @example {\n * urlTemplate: `https://my.monitoring.service/chyt?cluster={ytCluster}&alias={chytAlias}`\n * }\n */\n chytMonitoring?: UISettingsMonitoring;\n\n /**\n * Allows to define regular expression to extract hash-part from version of node by named group 'hash'\n * @example reHashFromNodeVersion: '[^~]+(?<hash>[^+]+)'\n */\n reHashFromNodeVersion?: string;\n\n /**\n * Allows to define regular expression to extract short-name from full address of host by named group 'shortname'.\n * Also it supports optional named group 'suffix' that will pe appended to shortname as is.\n * @example reShortNameFromAddress: '(?<shortname>.*)((\\\\.msk\\\\.my-domain\\\\.ru)|(\\\\.vla\\\\.my-domain\\\\.net))'\n * @example reShortNameFromAddress: '(?<shortname>.*)((\\\\.msk\\\\.my-domain\\\\.ru)|(\\\\.vla\\\\.my-domain\\\\.net))'\n */\n reShortNameFromAddress?: string;\n\n /**\n * Allows to override behavior of `reShortNameFromAddress` for tablet/bundles/cells specific parts of UI.\n * @example reShortNameFromTabletNodeAddress: '(?<shortname>[^-]+-[^-]+).*'\n */\n reShortNameFromTabletNodeAddress?: string;\n\n /**\n * Allows to define array of regexps for allowed urls of TaggedType of unipika to display media-content (audio/video/images).\n * If there are no matched items in the array the TaggedType-item will be displayed as a json-object.\n * @expamle\n * reUnipikaAllowTaggedSources: [\n * \"https:\\\\/\\\\/image\\\\.bank\\\\.my\\\\/fruits\\\\/\",\n * \"https:\\\\/\\\\/image\\\\.bank\\\\.my\\\\/vegetables\\\\/\"\n * ]\n */\n reUnipikaAllowTaggedSources: Array<string>;\n\n /**\n * Allows to define service for removing 'Referer' header for url-s on a page.\n *\n * See `@gravity-ui/unipika v3.0.0` details in [CHANGELOG.md](https://github.com/gravity-ui/unipika/blob/main/CHANGELOG.md).\n */\n hideReferrerUrl?: string;\n}\n\nexport interface UISettingsMonitoring {\n urlTemplate: string;\n title?: string;\n}\n\nexport const uiSettingFromEnv: Partial<UISettings> = {\n uploadTableExcelBaseUrl: process.env.YTFRONT_UPLOAD_EXCEL_BASE_URL,\n exportTableBaseUrl: process.env.YTFRONT_EXPORT_EXCEL_BASE_URL,\n jupyterBasePath: process.env.YTFRONT_JUPYTER_BASE_URL,\n};\n"],"mappings":";;;;;;AA0HO,IAAMA,gBAAqC,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACjDE,uBAAuB,EAAEC,OAAO,CAACC,GAAG,CAACC,6BAA6B;EAClEC,kBAAkB,EAAEH,OAAO,CAACC,GAAG,CAACG,6BAA6B;EAC7DC,eAAe,EAAEL,OAAO,CAACC,GAAG,CAACK;AACjC,CAAC"}
1
+ {"version":3,"names":["uiSettingFromEnv","exports","uploadTableExcelBaseUrl","process","env","YTFRONT_UPLOAD_EXCEL_BASE_URL","exportTableBaseUrl","YTFRONT_EXPORT_EXCEL_BASE_URL","jupyterBasePath","YTFRONT_JUPYTER_BASE_URL"],"sources":["ui-settings.ts"],"sourcesContent":["export interface UISettings {\n accessLogBasePath?: string;\n accountsUsageBasePath?: string;\n docsBaseUrl?: string;\n jupyterBasePath?: string;\n\n newTableReplicasCount: number;\n\n uploadTableMaxSize: number;\n uploadTableUseLocalmode?: boolean;\n\n uploadTableExcelBaseUrl?: string;\n exportTableBaseUrl?: string;\n\n directDownload?: boolean;\n\n trackerBaseUrl?: string;\n trackerQuoteRequestQueue?: string;\n trackerAdminRequestQueue?: string;\n\n reportBugUrl?: string;\n\n datalensBaseUrl?: string;\n datalensAllowedCluster?: Array<string>;\n\n announcesMailListUrl?: string;\n\n sslCertFixUrl?: string;\n queryTrackerStage?: string;\n queryTrackerCluster?: string;\n\n oauthTokenUrl?: string;\n\n defaultFontType?: keyof Required<UISettings>['fontTypes'];\n\n fontTypes?: Record<string, {regular: string; monospace: string}>;\n\n /**\n * schedulingMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytPool}, {ytPoolTree}.\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/scheduling?cluster={ytCluster}&pool={ytPool}&poolTree={ytPoolTree}'}\n */\n schedulingMonitoring?: UISettingsMonitoring;\n\n /**\n * accountsMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytAccount}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/accounts?cluster={ytCluster}&account={ytAccount}'}\n */\n accountsMonitoring?: UISettingsMonitoring;\n\n /**\n * bundlesMonitoring.urlTemplate supports following parameters: {ytCluster}, {ytTabletCellBundle}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {urlTemplate: 'https://my.monitoring.service/bundles?cluster={ytCluster}&account={ytTabletCellBundle}'}\n */\n bundlesMonitoring?: UISettingsMonitoring;\n\n /**\n * operationsMonitoring.urlTemplate supports following parameters:\n * {ytCluster}, {ytOperationId}, {ytPool}, {ytPoolTree}, {ytSlotIndex}, {fromTimeMs}, {toTimeMs}\n * All the parameters are optional and they are replaced with corresponding values.\n * @example {\n * urlTemplate:\n * 'https://my.monitoring.service/operations?cluster={ytCluster}&operationId={ytOperationId}&pool={ytPool}&tree={ytPoolTree}&slot={ytSlotIndex}&from={fromTimeMs}&to={toTimeMs}'\n * }\n */\n operationsMonitoring?: UISettingsMonitoring;\n\n /**\n * chytMonitoring.urlTemplate supports following parameters:\n * - {ytCluster}\n * - {chytAlias}\n * All the parameters are optional and the are replaced with corresponding values\n * @example {\n * urlTemplate: `https://my.monitoring.service/chyt?cluster={ytCluster}&alias={chytAlias}`\n * }\n */\n chytMonitoring?: UISettingsMonitoring;\n\n /**\n * Allows to define regular expression to extract hash-part from version of node by named group 'hash'\n * @example reHashFromNodeVersion: '[^~]+(?<hash>[^+]+)'\n */\n reHashFromNodeVersion?: string;\n\n /**\n * Allows to define regular expression to extract short-name from full address of host by named group 'shortname'.\n * Also it supports optional named group 'suffix' that will pe appended to shortname as is.\n * @example reShortNameFromAddress: '(?<shortname>.*)((\\\\.msk\\\\.my-domain\\\\.ru)|(\\\\.vla\\\\.my-domain\\\\.net))'\n * @example reShortNameFromAddress: '(?<shortname>.*)((\\\\.msk\\\\.my-domain\\\\.ru)|(\\\\.vla\\\\.my-domain\\\\.net))'\n */\n reShortNameFromAddress?: string;\n\n /**\n * Allows to override behavior of `reShortNameFromAddress` for tablet/bundles/cells specific parts of UI.\n * @example reShortNameFromTabletNodeAddress: '(?<shortname>[^-]+-[^-]+).*'\n */\n reShortNameFromTabletNodeAddress?: string;\n\n /**\n * Allows to define array of regexps for allowed urls of TaggedType of unipika to display media-content (audio/video/images).\n * If there are no matched items in the array the TaggedType-item will be displayed as a json-object.\n * @expamle\n * reUnipikaAllowTaggedSources: [\n * \"https:\\\\/\\\\/image\\\\.bank\\\\.my\\\\/fruits\\\\/\",\n * \"https:\\\\/\\\\/image\\\\.bank\\\\.my\\\\/vegetables\\\\/\"\n * ]\n */\n reUnipikaAllowTaggedSources: Array<string>;\n\n /**\n * Allows to define service for removing 'Referer' header for url-s on a page.\n *\n * See `@gravity-ui/unipika v3.0.0` details in [CHANGELOG.md](https://github.com/gravity-ui/unipika/blob/main/CHANGELOG.md).\n */\n hideReferrerUrl?: string;\n}\n\nexport interface UISettingsMonitoring {\n urlTemplate: string;\n title?: string;\n}\n\nexport const uiSettingFromEnv: Partial<UISettings> = {\n uploadTableExcelBaseUrl: process.env.YTFRONT_UPLOAD_EXCEL_BASE_URL,\n exportTableBaseUrl: process.env.YTFRONT_EXPORT_EXCEL_BASE_URL,\n jupyterBasePath: process.env.YTFRONT_JUPYTER_BASE_URL,\n};\n"],"mappings":";;;;;;AA4HO,IAAMA,gBAAqC,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACjDE,uBAAuB,EAAEC,OAAO,CAACC,GAAG,CAACC,6BAA6B;EAClEC,kBAAkB,EAAEH,OAAO,CAACC,GAAG,CAACG,6BAA6B;EAC7DC,eAAe,EAAEL,OAAO,CAACC,GAAG,CAACK;AACjC,CAAC"}
@@ -1,18 +1,5 @@
1
- import { FIX_MY_TYPE } from '../../@types/types';
2
1
  import { BatchSubRequest, YTPermissionType } from '../yt-types';
3
- export declare function prepareCheckIsDeveloperRequests(login: string): {
4
- command: "check_permission_by_acl";
5
- parameters: {
6
- acl: {
7
- permissions: YTPermissionType[];
8
- subjects: string[];
9
- action: "allow";
10
- }[];
11
- user: string;
12
- permission: YTPermissionType;
13
- };
14
- }[];
15
- export declare function checkIsDeveloper(login: string, setup?: FIX_MY_TYPE): Promise<boolean>;
2
+ export declare function checkIsDeveloper(login: string, setup: unknown, ytApiId: string): Promise<boolean>;
16
3
  export type CheckPermissionItem = {
17
4
  user: string;
18
5
  path: string;
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeCheckPermissionBatchSubRequest = exports.checkIsDeveloper = exports.prepareCheckIsDeveloperRequests = void 0;
3
+ exports.makeCheckPermissionBatchSubRequest = exports.checkIsDeveloper = void 0;
4
+ const constants_1 = require("../constants");
4
5
  const yt = require('@ytsaurus/javascript-wrapper')();
5
- function prepareCheckIsDeveloperRequests(login) {
6
- const [first] = prepareCheckUserPermissionByAclRequests('admins', login, ['write']);
7
- return [first];
8
- }
9
- exports.prepareCheckIsDeveloperRequests = prepareCheckIsDeveloperRequests;
10
6
  function prepareCheckUserPermissionByAclRequests(groupName, user, permissionTypes) {
11
7
  return permissionTypes.map((permission) => {
12
8
  return {
@@ -25,17 +21,17 @@ function prepareCheckUserPermissionByAclRequests(groupName, user, permissionType
25
21
  };
26
22
  });
27
23
  }
28
- function checkUserPermissionByAcl(groupName, user, permissionTypes, setup = undefined) {
24
+ function checkUserPermissionByAcl(groupName, user, permissionTypes, setup = undefined, ytApiId) {
29
25
  // $ yt --proxy cluster_proxy execute check_permission_by_acl \
30
26
  // '{acl=[{permissions=[write]; subjects=[yt;admins]; action=allow}]; user=max42; permission=write}'
31
27
  const requests = prepareCheckUserPermissionByAclRequests(groupName, user, permissionTypes);
32
28
  return yt.v3.executeBatch({
33
- setup,
29
+ setup: Object.assign(Object.assign({}, setup), { requestHeaders: { [constants_1.YT_API_REQUEST_ID_HEADER]: ytApiId } }),
34
30
  parameters: { requests },
35
31
  });
36
32
  }
37
- function checkIsDeveloper(login, setup = undefined) {
38
- return checkUserPermissionByAcl('admins', login, ['write'], setup)
33
+ function checkIsDeveloper(login, setup, ytApiId) {
34
+ return checkUserPermissionByAcl('admins', login, ['write'], setup, ytApiId)
39
35
  .then((d) => {
40
36
  const { output } = d[0];
41
37
  return (output === null || output === void 0 ? void 0 : output.action) === 'allow';
@@ -1 +1 @@
1
- {"version":3,"names":["yt","require","prepareCheckIsDeveloperRequests","login","_prepareCheckUserPerm","prepareCheckUserPermissionByAclRequests","_prepareCheckUserPerm2","_slicedToArray","first","groupName","user","permissionTypes","map","permission","command","parameters","acl","permissions","subjects","action","checkUserPermissionByAcl","setup","arguments","length","undefined","requests","v3","executeBatch","checkIsDeveloper","then","d","output","makeCheckPermissionBatchSubRequest","_ref","path","transaction_id","vital","result","_objectSpread"],"sources":["check-permission.ts"],"sourcesContent":["import {FIX_MY_TYPE} from '../../@types/types';\nimport {BatchResultsItem, BatchSubRequest, YTPermissionType} from '../yt-types';\n\nconst yt = require('@ytsaurus/javascript-wrapper')();\n\nexport function prepareCheckIsDeveloperRequests(login: string) {\n const [first] = prepareCheckUserPermissionByAclRequests('admins', login, ['write']);\n return [first];\n}\n\nfunction prepareCheckUserPermissionByAclRequests(\n groupName: string,\n user: string,\n permissionTypes: Array<YTPermissionType>,\n) {\n return permissionTypes.map((permission) => {\n return {\n command: 'check_permission_by_acl' as const,\n parameters: {\n acl: [\n {\n permissions: [permission],\n subjects: [groupName],\n action: 'allow' as const,\n },\n ],\n user,\n permission,\n },\n };\n });\n}\n\nfunction checkUserPermissionByAcl(\n groupName: string,\n user: string,\n permissionTypes: Array<YTPermissionType>,\n setup: FIX_MY_TYPE = undefined,\n) {\n // $ yt --proxy cluster_proxy execute check_permission_by_acl \\\n // '{acl=[{permissions=[write]; subjects=[yt;admins]; action=allow}]; user=max42; permission=write}'\n const requests = prepareCheckUserPermissionByAclRequests(groupName, user, permissionTypes);\n\n return yt.v3.executeBatch({\n setup,\n parameters: {requests},\n }) as Promise<Array<BatchResultsItem<CheckPermissionItemResult>>>;\n}\n\nexport function checkIsDeveloper(login: string, setup: FIX_MY_TYPE = undefined) {\n return checkUserPermissionByAcl('admins', login, ['write'], setup)\n .then((d) => {\n const {output} = d[0];\n return output?.action === 'allow';\n })\n .catch(() => {\n return false;\n });\n}\n\nexport type CheckPermissionItem = {\n user: string;\n path: string;\n permission: YTPermissionType;\n transaction_id?: string;\n vital?: boolean;\n};\n\nexport type CheckPermissionItemResult = {\n action: 'allow' | 'deny';\n};\n\nexport function makeCheckPermissionBatchSubRequest({\n path,\n user,\n permission,\n transaction_id,\n vital,\n}: CheckPermissionItem): BatchSubRequest {\n const result: BatchSubRequest = {\n command: 'check_permission' as const,\n parameters: {\n path,\n user,\n permission,\n ...(transaction_id ? {transaction_id} : {}),\n ...(vital ? {vital} : {}),\n },\n };\n return result;\n}\n"],"mappings":";;;;;;;;;;;AAGA,IAAMA,EAAE,GAAGC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAE7C,SAASC,+BAA+BA,CAACC,KAAa,EAAE;EAC3D,IAAAC,qBAAA,GAAgBC,uCAAuC,CAAC,QAAQ,EAAEF,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAAAG,sBAAA,OAAAC,uBAAA,EAAAH,qBAAA;IAA5EI,KAAK,GAAAF,sBAAA;EACZ,OAAO,CAACE,KAAK,CAAC;AAClB;AAEA,SAASH,uCAAuCA,CAC5CI,SAAiB,EACjBC,IAAY,EACZC,eAAwC,EAC1C;EACE,OAAOA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU,EAAK;IACvC,OAAO;MACHC,OAAO,EAAE,yBAAkC;MAC3CC,UAAU,EAAE;QACRC,GAAG,EAAE,CACD;UACIC,WAAW,EAAE,CAACJ,UAAU,CAAC;UACzBK,QAAQ,EAAE,CAACT,SAAS,CAAC;UACrBU,MAAM,EAAE;QACZ,CAAC,CACJ;QACDT,IAAI,EAAJA,IAAI;QACJG,UAAU,EAAVA;MACJ;IACJ,CAAC;EACL,CAAC,CAAC;AACN;AAEA,SAASO,wBAAwBA,CAC7BX,SAAiB,EACjBC,IAAY,EACZC,eAAwC,EAE1C;EAAA,IADEU,KAAkB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAE9B;EACA;EACA,IAAMC,QAAQ,GAAGpB,uCAAuC,CAACI,SAAS,EAAEC,IAAI,EAAEC,eAAe,CAAC;EAE1F,OAAOX,EAAE,CAAC0B,EAAE,CAACC,YAAY,CAAC;IACtBN,KAAK,EAALA,KAAK;IACLN,UAAU,EAAE;MAACU,QAAQ,EAARA;IAAQ;EACzB,CAAC,CAAC;AACN;AAEO,SAASG,gBAAgBA,CAACzB,KAAa,EAAkC;EAAA,IAAhCkB,KAAkB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAC1E,OAAOJ,wBAAwB,CAAC,QAAQ,EAAEjB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAEkB,KAAK,CAAC,CAC7DQ,IAAI,CAAC,UAACC,CAAC,EAAK;IACT,IAAOC,MAAM,GAAID,CAAC,CAAC,CAAC,CAAC,CAAdC,MAAM;IACb,OAAO,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEZ,MAAM,MAAK,OAAO;EACrC,CAAC,CAAC,SACI,CAAC,YAAM;IACT,OAAO,KAAK;EAChB,CAAC,CAAC;AACV;AAcO,SAASa,kCAAkCA,CAAAC,IAAA,EAMT;EAAA,IALrCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJxB,IAAI,GAAAuB,IAAA,CAAJvB,IAAI;IACJG,UAAU,GAAAoB,IAAA,CAAVpB,UAAU;IACVsB,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAEL,IAAMC,MAAuB,GAAG;IAC5BvB,OAAO,EAAE,kBAA2B;IACpCC,UAAU,MAAAuB,sBAAA,MAAAA,sBAAA;MACNJ,IAAI,EAAJA,IAAI;MACJxB,IAAI,EAAJA,IAAI;MACJG,UAAU,EAAVA;IAAU,GACNsB,cAAc,GAAG;MAACA,cAAc,EAAdA;IAAc,CAAC,GAAG,CAAC,CAAC,GACtCC,KAAK,GAAG;MAACA,KAAK,EAALA;IAAK,CAAC,GAAG,CAAC,CAAC;EAEhC,CAAC;EACD,OAAOC,MAAM;AACjB"}
1
+ {"version":3,"names":["_constants","require","_interopRequireDefault","obj","__esModule","default","yt","prepareCheckUserPermissionByAclRequests","groupName","user","permissionTypes","map","permission","command","parameters","acl","permissions","subjects","action","checkUserPermissionByAcl","setup","arguments","length","undefined","ytApiId","requests","v3","executeBatch","_objectSpread","requestHeaders","_defineProperty","YT_API_REQUEST_ID_HEADER","checkIsDeveloper","login","then","d","output","makeCheckPermissionBatchSubRequest","_ref","path","transaction_id","vital","result"],"sources":["check-permission.ts"],"sourcesContent":["import {YT_API_REQUEST_ID_HEADER} from '../constants';\nimport {FIX_MY_TYPE} from '../../@types/types';\nimport {BatchResultsItem, BatchSubRequest, YTPermissionType} from '../yt-types';\n\nconst yt = require('@ytsaurus/javascript-wrapper')();\n\nfunction prepareCheckUserPermissionByAclRequests(\n groupName: string,\n user: string,\n permissionTypes: Array<YTPermissionType>,\n) {\n return permissionTypes.map((permission) => {\n return {\n command: 'check_permission_by_acl' as const,\n parameters: {\n acl: [\n {\n permissions: [permission],\n subjects: [groupName],\n action: 'allow' as const,\n },\n ],\n user,\n permission,\n },\n };\n });\n}\n\nfunction checkUserPermissionByAcl(\n groupName: string,\n user: string,\n permissionTypes: Array<YTPermissionType>,\n setup: FIX_MY_TYPE = undefined,\n ytApiId: string,\n) {\n // $ yt --proxy cluster_proxy execute check_permission_by_acl \\\n // '{acl=[{permissions=[write]; subjects=[yt;admins]; action=allow}]; user=max42; permission=write}'\n const requests = prepareCheckUserPermissionByAclRequests(groupName, user, permissionTypes);\n\n return yt.v3.executeBatch({\n setup: {...setup, requestHeaders: {[YT_API_REQUEST_ID_HEADER]: ytApiId}},\n parameters: {requests},\n }) as Promise<Array<BatchResultsItem<CheckPermissionItemResult>>>;\n}\n\nexport function checkIsDeveloper(login: string, setup: unknown, ytApiId: string) {\n return checkUserPermissionByAcl('admins', login, ['write'], setup, ytApiId)\n .then((d) => {\n const {output} = d[0];\n return output?.action === 'allow';\n })\n .catch(() => {\n return false;\n });\n}\n\nexport type CheckPermissionItem = {\n user: string;\n path: string;\n permission: YTPermissionType;\n transaction_id?: string;\n vital?: boolean;\n};\n\nexport type CheckPermissionItemResult = {\n action: 'allow' | 'deny';\n};\n\nexport function makeCheckPermissionBatchSubRequest({\n path,\n user,\n permission,\n transaction_id,\n vital,\n}: CheckPermissionItem): BatchSubRequest {\n const result: BatchSubRequest = {\n command: 'check_permission' as const,\n parameters: {\n path,\n user,\n permission,\n ...(transaction_id ? {transaction_id} : {}),\n ...(vital ? {vital} : {}),\n },\n };\n return result;\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAqD,SAAAC,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIrD,IAAMG,EAAE,GAAGL,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAEpD,SAASM,uCAAuCA,CAC5CC,SAAiB,EACjBC,IAAY,EACZC,eAAwC,EAC1C;EACE,OAAOA,eAAe,CAACC,GAAG,CAAC,UAACC,UAAU,EAAK;IACvC,OAAO;MACHC,OAAO,EAAE,yBAAkC;MAC3CC,UAAU,EAAE;QACRC,GAAG,EAAE,CACD;UACIC,WAAW,EAAE,CAACJ,UAAU,CAAC;UACzBK,QAAQ,EAAE,CAACT,SAAS,CAAC;UACrBU,MAAM,EAAE;QACZ,CAAC,CACJ;QACDT,IAAI,EAAJA,IAAI;QACJG,UAAU,EAAVA;MACJ;IACJ,CAAC;EACL,CAAC,CAAC;AACN;AAEA,SAASO,wBAAwBA,CAC7BX,SAAiB,EACjBC,IAAY,EACZC,eAAwC,EAG1C;EAAA,IAFEU,KAAkB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAAA,IAC9BC,OAAe,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEf;EACA;EACA,IAAME,QAAQ,GAAGlB,uCAAuC,CAACC,SAAS,EAAEC,IAAI,EAAEC,eAAe,CAAC;EAE1F,OAAOJ,EAAE,CAACoB,EAAE,CAACC,YAAY,CAAC;IACtBP,KAAK,MAAAQ,sBAAA,MAAAA,sBAAA,MAAMR,KAAK;MAAES,cAAc,MAAAC,wBAAA,MAAIC,mCAAwB,EAAGP,OAAO;IAAC,EAAC;IACxEV,UAAU,EAAE;MAACW,QAAQ,EAARA;IAAQ;EACzB,CAAC,CAAC;AACN;AAEO,SAASO,gBAAgBA,CAACC,KAAa,EAAEb,KAAc,EAAEI,OAAe,EAAE;EAC7E,OAAOL,wBAAwB,CAAC,QAAQ,EAAEc,KAAK,EAAE,CAAC,OAAO,CAAC,EAAEb,KAAK,EAAEI,OAAO,CAAC,CACtEU,IAAI,CAAC,UAACC,CAAC,EAAK;IACT,IAAOC,MAAM,GAAID,CAAC,CAAC,CAAC,CAAC,CAAdC,MAAM;IACb,OAAO,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAElB,MAAM,MAAK,OAAO;EACrC,CAAC,CAAC,SACI,CAAC,YAAM;IACT,OAAO,KAAK;EAChB,CAAC,CAAC;AACV;AAcO,SAASmB,kCAAkCA,CAAAC,IAAA,EAMT;EAAA,IALrCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJ9B,IAAI,GAAA6B,IAAA,CAAJ7B,IAAI;IACJG,UAAU,GAAA0B,IAAA,CAAV1B,UAAU;IACV4B,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAEL,IAAMC,MAAuB,GAAG;IAC5B7B,OAAO,EAAE,kBAA2B;IACpCC,UAAU,MAAAc,sBAAA,MAAAA,sBAAA;MACNW,IAAI,EAAJA,IAAI;MACJ9B,IAAI,EAAJA,IAAI;MACJG,UAAU,EAAVA;IAAU,GACN4B,cAAc,GAAG;MAACA,cAAc,EAAdA;IAAc,CAAC,GAAG,CAAC,CAAC,GACtCC,KAAK,GAAG;MAACA,KAAK,EAALA;IAAK,CAAC,GAAG,CAAC,CAAC;EAEhC,CAAC;EACD,OAAOC,MAAM;AACjB"}
@@ -266,7 +266,10 @@ export interface UIFactory {
266
266
  login: string;
267
267
  cluster?: string;
268
268
  buttonToWrap?: React.ReactNode;
269
- }, makeContent: (onSupportClick: () => void) => React.ReactNode): React.ReactNode;
269
+ }, makeContent: (params: {
270
+ supportContent?: React.ReactNode;
271
+ onSupportClick: () => void;
272
+ }) => React.ReactNode): React.ReactNode;
270
273
  getComponentForConsumerMetrics(): undefined | React.ComponentType<{
271
274
  cluster: string;
272
275
  path: string;
@@ -11,6 +11,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _AppNavigationPageLayout = _interopRequireDefault(require("./containers/AppNavigation/AppNavigationPageLayout"));
13
13
  var _externalAclApi = require("./utils/acl/external-acl-api");
14
+ var _SupportComponent = require("./containers/SupportComponent/SupportComponent");
14
15
  var _YTUserSuggest = require("./containers/UserSuggest/YTUserSuggest");
15
16
  var _docsUrls = require("./constants/docsUrls");
16
17
  var _YTSubjectSuggest = require("./components/ACL/SubjectsControl/YTSubjectSuggest");
@@ -189,8 +190,14 @@ var uiFactory = {
189
190
  renderControlAbcService: function renderControlAbcService() {
190
191
  return undefined;
191
192
  },
192
- makeSupportContent: function makeSupportContent() {
193
- return undefined;
193
+ makeSupportContent: function makeSupportContent(_x, makeContent) {
194
+ var reportBugUrl = _uiSettings.uiSettings.reportBugUrl;
195
+ if (!reportBugUrl) {
196
+ return undefined;
197
+ }
198
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SupportComponent.SupportComponent, {
199
+ makeContent: makeContent
200
+ });
194
201
  },
195
202
  getComponentForConsumerMetrics: function getComponentForConsumerMetrics() {
196
203
  return undefined;