openvsx-webui-test 0.19.0-dev.2 → 0.20.0-dev.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 (350) hide show
  1. package/lib/components/banner.js +1 -2
  2. package/lib/components/banner.js.map +1 -1
  3. package/lib/components/copy-to-clipboard.js +1 -2
  4. package/lib/components/copy-to-clipboard.js.map +1 -1
  5. package/lib/components/delayed-load-indicator.js +2 -4
  6. package/lib/components/delayed-load-indicator.js.map +1 -1
  7. package/lib/components/error-dialog.d.ts.map +1 -1
  8. package/lib/components/error-dialog.js +5 -3
  9. package/lib/components/error-dialog.js.map +1 -1
  10. package/lib/components/rate-limiting/customer/general-details.d.ts +20 -0
  11. package/lib/components/rate-limiting/customer/general-details.d.ts.map +1 -0
  12. package/lib/components/rate-limiting/customer/general-details.js +8 -0
  13. package/lib/components/rate-limiting/customer/general-details.js.map +1 -0
  14. package/lib/components/rate-limiting/customer/index.d.ts +17 -0
  15. package/lib/components/rate-limiting/customer/index.d.ts.map +1 -0
  16. package/lib/components/rate-limiting/customer/index.js +15 -0
  17. package/lib/components/rate-limiting/customer/index.js.map +1 -0
  18. package/lib/components/rate-limiting/customer/usage-stats.d.ts +24 -0
  19. package/lib/components/rate-limiting/customer/usage-stats.d.ts.map +1 -0
  20. package/lib/components/rate-limiting/customer/usage-stats.js +6 -0
  21. package/lib/components/rate-limiting/customer/usage-stats.js.map +1 -0
  22. package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.d.ts +5 -2
  23. package/lib/components/rate-limiting/usage-stats/usage-stats-chart.d.ts.map +1 -0
  24. package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.js +25 -18
  25. package/lib/components/rate-limiting/usage-stats/usage-stats-chart.js.map +1 -0
  26. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts +15 -0
  27. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts.map +1 -0
  28. package/{src/pages/admin-dashboard/usage-stats/usage-stats-utils.ts → lib/components/rate-limiting/usage-stats/usage-stats-utils.js} +4 -3
  29. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.js.map +1 -0
  30. package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts +22 -0
  31. package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts.map +1 -0
  32. package/lib/components/rate-limiting/usage-stats/use-usage-stats.js +58 -0
  33. package/lib/components/rate-limiting/usage-stats/use-usage-stats.js.map +1 -0
  34. package/lib/components/scan-admin/common/conditional-tooltip.js +4 -16
  35. package/lib/components/scan-admin/common/conditional-tooltip.js.map +1 -1
  36. package/lib/components/scan-admin/common/file-table.js +24 -13
  37. package/lib/components/scan-admin/common/file-table.js.map +1 -1
  38. package/lib/components/scan-admin/dialogs/quarantine-dialog.js +4 -8
  39. package/lib/components/scan-admin/dialogs/quarantine-dialog.js.map +1 -1
  40. package/lib/components/scan-admin/scan-card/scan-card-content.js +2 -2
  41. package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -1
  42. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js +21 -16
  43. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js.map +1 -1
  44. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js +1 -2
  45. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -1
  46. package/lib/components/scan-admin/scan-card/scan-card-header.js +10 -5
  47. package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
  48. package/lib/components/scan-admin/scan-card/utils.js +1 -2
  49. package/lib/components/scan-admin/scan-card/utils.js.map +1 -1
  50. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js +4 -6
  51. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js.map +1 -1
  52. package/lib/components/sidepanel/drawer-header.d.ts +14 -0
  53. package/lib/components/sidepanel/drawer-header.d.ts.map +1 -0
  54. package/lib/components/sidepanel/drawer-header.js +22 -0
  55. package/lib/components/sidepanel/drawer-header.js.map +1 -0
  56. package/lib/components/sidepanel/navigation-item.d.ts.map +1 -1
  57. package/lib/components/sidepanel/navigation-item.js +3 -3
  58. package/lib/components/sidepanel/navigation-item.js.map +1 -1
  59. package/lib/components/sidepanel/sidepanel.d.ts +7 -1
  60. package/lib/components/sidepanel/sidepanel.d.ts.map +1 -1
  61. package/lib/components/sidepanel/sidepanel.js +12 -13
  62. package/lib/components/sidepanel/sidepanel.js.map +1 -1
  63. package/lib/components/text-divider.js +1 -2
  64. package/lib/components/text-divider.js.map +1 -1
  65. package/lib/components/timestamp.d.ts +0 -1
  66. package/lib/components/timestamp.d.ts.map +1 -1
  67. package/lib/components/timestamp.js +2 -4
  68. package/lib/components/timestamp.js.map +1 -1
  69. package/lib/context/scan-admin/scan-api-actions.js +7 -16
  70. package/lib/context/scan-admin/scan-api-actions.js.map +1 -1
  71. package/lib/context/scan-admin/scan-api-effects.js +77 -93
  72. package/lib/context/scan-admin/scan-api-effects.js.map +1 -1
  73. package/lib/context/scan-admin/scan-context.d.ts.map +1 -1
  74. package/lib/context/scan-admin/scan-context.js +1 -0
  75. package/lib/context/scan-admin/scan-context.js.map +1 -1
  76. package/lib/context/scan-admin/scan-reducer.js +134 -53
  77. package/lib/context/scan-admin/scan-reducer.js.map +1 -1
  78. package/lib/default/default-app.d.ts +1 -1
  79. package/lib/default/default-app.d.ts.map +1 -1
  80. package/lib/default/default-app.js +11 -22
  81. package/lib/default/default-app.js.map +1 -1
  82. package/lib/default/menu-content.d.ts.map +1 -1
  83. package/lib/default/menu-content.js +7 -3
  84. package/lib/default/menu-content.js.map +1 -1
  85. package/lib/default/page-settings.js +13 -18
  86. package/lib/default/page-settings.js.map +1 -1
  87. package/lib/extension-registry-service.d.ts +11 -1
  88. package/lib/extension-registry-service.d.ts.map +1 -1
  89. package/lib/extension-registry-service.js +618 -629
  90. package/lib/extension-registry-service.js.map +1 -1
  91. package/lib/extension-registry-types.d.ts +7 -0
  92. package/lib/extension-registry-types.d.ts.map +1 -1
  93. package/lib/hooks/scan-admin/use-auto-rejected-tab.js +5 -7
  94. package/lib/hooks/scan-admin/use-auto-rejected-tab.js.map +1 -1
  95. package/lib/hooks/scan-admin/use-quarantined-tab.js +5 -7
  96. package/lib/hooks/scan-admin/use-quarantined-tab.js.map +1 -1
  97. package/lib/main.d.ts.map +1 -1
  98. package/lib/main.js +8 -16
  99. package/lib/main.js.map +1 -1
  100. package/lib/other-pages.d.ts +12 -0
  101. package/lib/other-pages.d.ts.map +1 -1
  102. package/lib/other-pages.js +25 -12
  103. package/lib/other-pages.js.map +1 -1
  104. package/lib/pages/admin-dashboard/admin-dashboard.d.ts +0 -12
  105. package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
  106. package/lib/pages/admin-dashboard/admin-dashboard.js +136 -49
  107. package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
  108. package/lib/pages/admin-dashboard/admin-routes.d.ts +25 -0
  109. package/lib/pages/admin-dashboard/admin-routes.d.ts.map +1 -0
  110. package/lib/pages/admin-dashboard/admin-routes.js +27 -0
  111. package/lib/pages/admin-dashboard/admin-routes.js.map +1 -0
  112. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts +1 -9
  113. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts.map +1 -1
  114. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js +17 -15
  115. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js.map +1 -1
  116. package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts +22 -0
  117. package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts.map +1 -0
  118. package/lib/pages/admin-dashboard/components/data-grid-filter.js +13 -0
  119. package/lib/pages/admin-dashboard/components/data-grid-filter.js.map +1 -0
  120. package/lib/pages/admin-dashboard/components/index.d.ts +2 -1
  121. package/lib/pages/admin-dashboard/components/index.d.ts.map +1 -1
  122. package/lib/pages/admin-dashboard/components/index.js +2 -1
  123. package/lib/pages/admin-dashboard/components/index.js.map +1 -1
  124. package/lib/pages/admin-dashboard/{usage-stats/usage-stats-utils.d.ts → customers/customer-details.d.ts} +3 -2
  125. package/lib/pages/admin-dashboard/customers/customer-details.d.ts.map +1 -0
  126. package/lib/pages/admin-dashboard/customers/customer-details.js +77 -0
  127. package/lib/pages/admin-dashboard/customers/customer-details.js.map +1 -0
  128. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts +1 -1
  129. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts.map +1 -1
  130. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js +33 -34
  131. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js.map +1 -1
  132. package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts +19 -0
  133. package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts.map +1 -0
  134. package/lib/pages/admin-dashboard/customers/customer-member-list.js +88 -0
  135. package/lib/pages/admin-dashboard/customers/customer-member-list.js.map +1 -0
  136. package/lib/pages/admin-dashboard/customers/customers.d.ts +1 -1
  137. package/lib/pages/admin-dashboard/customers/customers.js +20 -29
  138. package/lib/pages/admin-dashboard/customers/customers.js.map +1 -1
  139. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js +4 -14
  140. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js.map +1 -1
  141. package/lib/pages/admin-dashboard/extension-admin.js +7 -16
  142. package/lib/pages/admin-dashboard/extension-admin.js.map +1 -1
  143. package/lib/pages/admin-dashboard/extension-remove-dialog.js +3 -12
  144. package/lib/pages/admin-dashboard/extension-remove-dialog.js.map +1 -1
  145. package/lib/pages/admin-dashboard/extension-version-container.js +3 -5
  146. package/lib/pages/admin-dashboard/extension-version-container.js.map +1 -1
  147. package/lib/pages/admin-dashboard/logs/logs.d.ts.map +1 -1
  148. package/lib/pages/admin-dashboard/logs/logs.js +6 -24
  149. package/lib/pages/admin-dashboard/logs/logs.js.map +1 -1
  150. package/lib/pages/admin-dashboard/namespace-admin.js +7 -16
  151. package/lib/pages/admin-dashboard/namespace-admin.js.map +1 -1
  152. package/lib/pages/admin-dashboard/namespace-change-dialog.js +3 -12
  153. package/lib/pages/admin-dashboard/namespace-change-dialog.js.map +1 -1
  154. package/lib/pages/admin-dashboard/namespace-input.js +1 -1
  155. package/lib/pages/admin-dashboard/namespace-input.js.map +1 -1
  156. package/lib/pages/admin-dashboard/publisher-admin.d.ts.map +1 -1
  157. package/lib/pages/admin-dashboard/publisher-admin.js +28 -22
  158. package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
  159. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js +5 -15
  160. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js.map +1 -1
  161. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js +3 -12
  162. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js.map +1 -1
  163. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js +4 -13
  164. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js.map +1 -1
  165. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js +34 -23
  166. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js.map +1 -1
  167. package/lib/pages/admin-dashboard/tiers/tiers.js +12 -21
  168. package/lib/pages/admin-dashboard/tiers/tiers.js.map +1 -1
  169. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js +3 -14
  170. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js.map +1 -1
  171. package/lib/pages/admin-dashboard/usage-stats/usage-stats.d.ts.map +1 -1
  172. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js +11 -45
  173. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js.map +1 -1
  174. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts +22 -0
  175. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts.map +1 -0
  176. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js +58 -0
  177. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js.map +1 -0
  178. package/lib/pages/admin-dashboard/welcome.js +1 -1
  179. package/lib/pages/admin-dashboard/welcome.js.map +1 -1
  180. package/lib/pages/extension-detail/extension-detail-changes.js +3 -12
  181. package/lib/pages/extension-detail/extension-detail-changes.js.map +1 -1
  182. package/lib/pages/extension-detail/extension-detail-overview.js +6 -16
  183. package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
  184. package/lib/pages/extension-detail/extension-detail-reviews.js +12 -24
  185. package/lib/pages/extension-detail/extension-detail-reviews.js.map +1 -1
  186. package/lib/pages/extension-detail/extension-detail-routes.d.ts +32 -0
  187. package/lib/pages/extension-detail/extension-detail-routes.d.ts.map +1 -0
  188. package/lib/pages/extension-detail/extension-detail-routes.js +35 -0
  189. package/lib/pages/extension-detail/extension-detail-routes.js.map +1 -0
  190. package/lib/pages/extension-detail/extension-detail.d.ts +0 -19
  191. package/lib/pages/extension-detail/extension-detail.d.ts.map +1 -1
  192. package/lib/pages/extension-detail/extension-detail.js +28 -50
  193. package/lib/pages/extension-detail/extension-detail.js.map +1 -1
  194. package/lib/pages/extension-detail/extension-rating-stars.js +1 -2
  195. package/lib/pages/extension-detail/extension-rating-stars.js.map +1 -1
  196. package/lib/pages/extension-detail/extension-review-dialog.js +4 -14
  197. package/lib/pages/extension-detail/extension-review-dialog.js.map +1 -1
  198. package/lib/pages/extension-list/extension-list-container.d.ts +0 -3
  199. package/lib/pages/extension-list/extension-list-container.d.ts.map +1 -1
  200. package/lib/pages/extension-list/extension-list-container.js +5 -10
  201. package/lib/pages/extension-list/extension-list-container.js.map +1 -1
  202. package/lib/pages/extension-list/extension-list-header.js +3 -6
  203. package/lib/pages/extension-list/extension-list-header.js.map +1 -1
  204. package/lib/pages/extension-list/extension-list-item.js +7 -17
  205. package/lib/pages/extension-list/extension-list-item.js.map +1 -1
  206. package/lib/pages/extension-list/extension-list-routes.d.ts +16 -0
  207. package/lib/pages/extension-list/extension-list-routes.d.ts.map +1 -0
  208. package/lib/pages/extension-list/extension-list-routes.js +18 -0
  209. package/lib/pages/extension-list/extension-list-routes.js.map +1 -0
  210. package/lib/pages/extension-list/extension-list-searchfield.js +4 -7
  211. package/lib/pages/extension-list/extension-list-searchfield.js.map +1 -1
  212. package/lib/pages/extension-list/extension-list.js +8 -19
  213. package/lib/pages/extension-list/extension-list.js.map +1 -1
  214. package/lib/pages/namespace-detail/namespace-detail-routes.d.ts +20 -0
  215. package/lib/pages/namespace-detail/namespace-detail-routes.d.ts.map +1 -0
  216. package/lib/pages/namespace-detail/namespace-detail-routes.js +23 -0
  217. package/lib/pages/namespace-detail/namespace-detail-routes.js.map +1 -0
  218. package/lib/pages/namespace-detail/namespace-detail.d.ts +0 -7
  219. package/lib/pages/namespace-detail/namespace-detail.d.ts.map +1 -1
  220. package/lib/pages/namespace-detail/namespace-detail.js +4 -24
  221. package/lib/pages/namespace-detail/namespace-detail.js.map +1 -1
  222. package/lib/pages/user/add-namespace-member-dialog.d.ts.map +1 -1
  223. package/lib/pages/user/add-namespace-member-dialog.js +8 -67
  224. package/lib/pages/user/add-namespace-member-dialog.js.map +1 -1
  225. package/lib/pages/user/add-user-dialog.d.ts +25 -0
  226. package/lib/pages/user/add-user-dialog.d.ts.map +1 -0
  227. package/lib/pages/user/add-user-dialog.js +66 -0
  228. package/lib/pages/user/add-user-dialog.js.map +1 -0
  229. package/lib/pages/user/avatar.js +3 -3
  230. package/lib/pages/user/avatar.js.map +1 -1
  231. package/lib/pages/user/create-namespace-dialog.js +3 -12
  232. package/lib/pages/user/create-namespace-dialog.js.map +1 -1
  233. package/lib/pages/user/generate-token-dialog.js +3 -12
  234. package/lib/pages/user/generate-token-dialog.js.map +1 -1
  235. package/lib/pages/user/logout.js +3 -12
  236. package/lib/pages/user/logout.js.map +1 -1
  237. package/lib/pages/user/publish-extension-dialog.js +12 -21
  238. package/lib/pages/user/publish-extension-dialog.js.map +1 -1
  239. package/lib/pages/user/user-namespace-details.js +29 -42
  240. package/lib/pages/user/user-namespace-details.js.map +1 -1
  241. package/lib/pages/user/user-namespace-extension-list-item.js +6 -8
  242. package/lib/pages/user/user-namespace-extension-list-item.js.map +1 -1
  243. package/lib/pages/user/user-namespace-extension-list.js +6 -15
  244. package/lib/pages/user/user-namespace-extension-list.js.map +1 -1
  245. package/lib/pages/user/user-namespace-member-component.js +1 -1
  246. package/lib/pages/user/user-namespace-member-component.js.map +1 -1
  247. package/lib/pages/user/user-namespace-member-list.js +9 -18
  248. package/lib/pages/user/user-namespace-member-list.js.map +1 -1
  249. package/lib/pages/user/user-publisher-agreement.js +8 -18
  250. package/lib/pages/user/user-publisher-agreement.js.map +1 -1
  251. package/lib/pages/user/user-setting-tabs.d.ts.map +1 -1
  252. package/lib/pages/user/user-setting-tabs.js +2 -2
  253. package/lib/pages/user/user-setting-tabs.js.map +1 -1
  254. package/lib/pages/user/user-settings-customer-detail.d.ts +19 -0
  255. package/lib/pages/user/user-settings-customer-detail.d.ts.map +1 -0
  256. package/lib/pages/user/user-settings-customer-detail.js +9 -0
  257. package/lib/pages/user/user-settings-customer-detail.js.map +1 -0
  258. package/lib/pages/user/user-settings-customers.d.ts +15 -0
  259. package/lib/pages/user/user-settings-customers.d.ts.map +1 -0
  260. package/lib/pages/user/user-settings-customers.js +66 -0
  261. package/lib/pages/user/user-settings-customers.js.map +1 -0
  262. package/lib/pages/user/user-settings-delete-extension.js +8 -17
  263. package/lib/pages/user/user-settings-delete-extension.js.map +1 -1
  264. package/lib/pages/user/user-settings-extensions.js +3 -12
  265. package/lib/pages/user/user-settings-extensions.js.map +1 -1
  266. package/lib/pages/user/user-settings-namespace-detail.d.ts.map +1 -1
  267. package/lib/pages/user/user-settings-namespace-detail.js +4 -12
  268. package/lib/pages/user/user-settings-namespace-detail.js.map +1 -1
  269. package/lib/pages/user/user-settings-namespaces.js +6 -15
  270. package/lib/pages/user/user-settings-namespaces.js.map +1 -1
  271. package/lib/pages/user/user-settings-profile.js +1 -2
  272. package/lib/pages/user/user-settings-profile.js.map +1 -1
  273. package/lib/pages/user/user-settings-routes.d.ts +23 -0
  274. package/lib/pages/user/user-settings-routes.d.ts.map +1 -0
  275. package/lib/pages/user/user-settings-routes.js +25 -0
  276. package/lib/pages/user/user-settings-routes.js.map +1 -0
  277. package/lib/pages/user/user-settings-tokens.d.ts +0 -7
  278. package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
  279. package/lib/pages/user/user-settings-tokens.js +14 -24
  280. package/lib/pages/user/user-settings-tokens.js.map +1 -1
  281. package/lib/pages/user/user-settings.d.ts +0 -9
  282. package/lib/pages/user/user-settings.d.ts.map +1 -1
  283. package/lib/pages/user/user-settings.js +4 -12
  284. package/lib/pages/user/user-settings.js.map +1 -1
  285. package/lib/server-request.js +64 -76
  286. package/lib/server-request.js.map +1 -1
  287. package/lib/utils.d.ts +1 -1
  288. package/lib/utils.d.ts.map +1 -1
  289. package/lib/utils.js +7 -14
  290. package/lib/utils.js.map +1 -1
  291. package/package.json +4 -2
  292. package/src/components/error-dialog.tsx +5 -3
  293. package/src/components/rate-limiting/customer/general-details.tsx +106 -0
  294. package/src/components/rate-limiting/customer/index.ts +18 -0
  295. package/src/components/rate-limiting/customer/usage-stats.tsx +50 -0
  296. package/src/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.tsx +46 -26
  297. package/{lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js → src/components/rate-limiting/usage-stats/usage-stats-utils.ts} +4 -2
  298. package/src/components/rate-limiting/usage-stats/use-usage-stats.ts +70 -0
  299. package/src/components/scan-admin/scan-card/scan-card-header.tsx +2 -2
  300. package/src/components/sidepanel/drawer-header.tsx +23 -0
  301. package/src/components/sidepanel/navigation-item.tsx +3 -2
  302. package/src/components/sidepanel/sidepanel.tsx +29 -17
  303. package/src/components/timestamp.tsx +1 -3
  304. package/src/context/scan-admin/scan-context.tsx +1 -0
  305. package/src/default/default-app.tsx +1 -1
  306. package/src/default/menu-content.tsx +6 -2
  307. package/src/default/page-settings.tsx +1 -1
  308. package/src/extension-registry-service.ts +105 -26
  309. package/src/extension-registry-types.ts +9 -0
  310. package/src/main.tsx +2 -1
  311. package/src/other-pages.tsx +21 -4
  312. package/src/pages/admin-dashboard/admin-dashboard.tsx +260 -83
  313. package/src/pages/admin-dashboard/admin-routes.ts +27 -0
  314. package/src/pages/admin-dashboard/components/data-grid-filter-operators.tsx +1 -31
  315. package/src/pages/admin-dashboard/components/data-grid-filter.tsx +45 -0
  316. package/src/pages/admin-dashboard/components/index.ts +1 -1
  317. package/src/pages/admin-dashboard/customers/customer-details.tsx +129 -0
  318. package/src/pages/admin-dashboard/customers/customer-form-dialog.tsx +3 -4
  319. package/src/pages/admin-dashboard/customers/customer-member-list.tsx +174 -0
  320. package/src/pages/admin-dashboard/customers/customers.tsx +8 -8
  321. package/src/pages/admin-dashboard/logs/logs.tsx +1 -10
  322. package/src/pages/admin-dashboard/publisher-admin.tsx +29 -11
  323. package/src/pages/admin-dashboard/usage-stats/usage-stats.tsx +10 -39
  324. package/src/pages/admin-dashboard/usage-stats/use-usage-stats.ts +70 -0
  325. package/src/pages/admin-dashboard/welcome.tsx +1 -1
  326. package/src/pages/extension-detail/extension-detail-overview.tsx +2 -2
  327. package/src/pages/extension-detail/extension-detail-routes.ts +35 -0
  328. package/src/pages/extension-detail/extension-detail.tsx +3 -23
  329. package/src/pages/extension-list/extension-list-container.tsx +1 -5
  330. package/src/pages/extension-list/extension-list-item.tsx +1 -1
  331. package/src/pages/extension-list/extension-list-routes.ts +18 -0
  332. package/src/pages/namespace-detail/namespace-detail-routes.ts +23 -0
  333. package/src/pages/namespace-detail/namespace-detail.tsx +0 -10
  334. package/src/pages/user/add-namespace-member-dialog.tsx +17 -116
  335. package/src/pages/user/add-user-dialog.tsx +141 -0
  336. package/src/pages/user/avatar.tsx +2 -2
  337. package/src/pages/user/user-namespace-extension-list-item.tsx +2 -2
  338. package/src/pages/user/user-setting-tabs.tsx +2 -1
  339. package/src/pages/user/user-settings-customer-detail.tsx +39 -0
  340. package/src/pages/user/user-settings-customers.tsx +120 -0
  341. package/src/pages/user/user-settings-delete-extension.tsx +1 -1
  342. package/src/pages/user/user-settings-namespace-detail.tsx +3 -1
  343. package/src/pages/user/user-settings-routes.ts +25 -0
  344. package/src/pages/user/user-settings-tokens.tsx +2 -9
  345. package/src/pages/user/user-settings.tsx +4 -12
  346. package/src/utils.ts +5 -9
  347. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.d.ts.map +0 -1
  348. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.js.map +0 -1
  349. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.d.ts.map +0 -1
  350. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js.map +0 -1
@@ -7,15 +7,6 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
- return new (P || (P = Promise))(function (resolve, reject) {
13
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
- step((generator = generator.apply(thisArg, _arguments || [])).next());
17
- });
18
- };
19
10
  import { isError, } from './extension-registry-types';
20
11
  import { createAbsoluteURL, addQuery } from './utils';
21
12
  import { sendRequest } from './server-request';
@@ -24,7 +15,7 @@ export class ExtensionRegistryService {
24
15
  this.serverUrl = serverUrl;
25
16
  this.admin = new AdminConstructor(this);
26
17
  }
27
- getLoginProviders(abortController) {
18
+ async getLoginProviders(abortController) {
28
19
  const endpoint = createAbsoluteURL([this.serverUrl, 'login-providers']);
29
20
  return sendRequest({ abortController, endpoint });
30
21
  }
@@ -41,52 +32,48 @@ export class ExtensionRegistryService {
41
32
  }
42
33
  return createAbsoluteURL(arr);
43
34
  }
44
- getNamespaceDetails(abortController, name) {
35
+ async getNamespaceDetails(abortController, name) {
45
36
  const endpoint = createAbsoluteURL([this.serverUrl, 'api', name, 'details']);
46
37
  return sendRequest({ abortController, endpoint });
47
38
  }
48
- setNamespaceDetails(abortController, endpoint, details) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- const csrfResponse = yield this.getCsrfToken(abortController);
51
- const headers = {
52
- 'Content-Type': 'application/json;charset=UTF-8'
53
- };
54
- if (!isError(csrfResponse)) {
55
- const csrfToken = csrfResponse;
56
- headers[csrfToken.header] = csrfToken.value;
57
- }
58
- return sendRequest({
59
- abortController,
60
- method: 'POST',
61
- payload: details,
62
- credentials: true,
63
- endpoint,
64
- headers
65
- });
66
- });
67
- }
68
- setNamespaceLogo(abortController, endpoint, logoFile, logoName) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- const csrfResponse = yield this.getCsrfToken(abortController);
71
- const headers = {};
72
- if (!isError(csrfResponse)) {
73
- const csrfToken = csrfResponse;
74
- headers[csrfToken.header] = csrfToken.value;
75
- }
76
- const form = new FormData();
77
- form.append('file', logoFile, logoName);
78
- endpoint = createAbsoluteURL([endpoint, 'logo']);
79
- return sendRequest({
80
- abortController,
81
- method: 'POST',
82
- payload: form,
83
- credentials: true,
84
- endpoint,
85
- headers
86
- });
87
- });
88
- }
89
- search(abortController, filter) {
39
+ async setNamespaceDetails(abortController, endpoint, details) {
40
+ const csrfResponse = await this.getCsrfToken(abortController);
41
+ const headers = {
42
+ 'Content-Type': 'application/json;charset=UTF-8'
43
+ };
44
+ if (!isError(csrfResponse)) {
45
+ const csrfToken = csrfResponse;
46
+ headers[csrfToken.header] = csrfToken.value;
47
+ }
48
+ return sendRequest({
49
+ abortController,
50
+ method: 'POST',
51
+ payload: details,
52
+ credentials: true,
53
+ endpoint,
54
+ headers
55
+ });
56
+ }
57
+ async setNamespaceLogo(abortController, endpoint, logoFile, logoName) {
58
+ const csrfResponse = await this.getCsrfToken(abortController);
59
+ const headers = {};
60
+ if (!isError(csrfResponse)) {
61
+ const csrfToken = csrfResponse;
62
+ headers[csrfToken.header] = csrfToken.value;
63
+ }
64
+ const form = new FormData();
65
+ form.append('file', logoFile, logoName);
66
+ endpoint = createAbsoluteURL([endpoint, 'logo']);
67
+ return sendRequest({
68
+ abortController,
69
+ method: 'POST',
70
+ payload: form,
71
+ credentials: true,
72
+ endpoint,
73
+ headers
74
+ });
75
+ }
76
+ async search(abortController, filter) {
90
77
  const query = [];
91
78
  if (filter) {
92
79
  if (filter.query)
@@ -105,10 +92,10 @@ export class ExtensionRegistryService {
105
92
  const endpoint = createAbsoluteURL([this.serverUrl, 'api', '-', 'search'], query);
106
93
  return sendRequest({ abortController, endpoint });
107
94
  }
108
- getExtensionDetail(abortController, extensionUrl) {
95
+ async getExtensionDetail(abortController, extensionUrl) {
109
96
  return sendRequest({ abortController, endpoint: extensionUrl });
110
97
  }
111
- getExtensionReadme(abortController, extension) {
98
+ async getExtensionReadme(abortController, extension) {
112
99
  return sendRequest({
113
100
  abortController,
114
101
  endpoint: extension.files.readme,
@@ -116,7 +103,7 @@ export class ExtensionRegistryService {
116
103
  followRedirect: true
117
104
  });
118
105
  }
119
- getExtensionChangelog(abortController, extension) {
106
+ async getExtensionChangelog(abortController, extension) {
120
107
  return sendRequest({
121
108
  abortController,
122
109
  endpoint: extension.files.changelog,
@@ -124,7 +111,7 @@ export class ExtensionRegistryService {
124
111
  followRedirect: true
125
112
  });
126
113
  }
127
- getExtensionIcon(abortController, extension) {
114
+ async getExtensionIcon(abortController, extension) {
128
115
  if (!extension.files.icon) {
129
116
  return Promise.resolve(undefined);
130
117
  }
@@ -157,204 +144,204 @@ export class ExtensionRegistryService {
157
144
  'Notebooks'
158
145
  ];
159
146
  }
160
- getExtensionReviews(abortController, extension) {
147
+ async getExtensionReviews(abortController, extension) {
161
148
  return sendRequest({ abortController, endpoint: extension.reviewsUrl });
162
149
  }
163
- postReview(abortController, review, postReviewUrl) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- const csrfResponse = yield this.getCsrfToken(abortController);
166
- const headers = {
167
- 'Content-Type': 'application/json;charset=UTF-8'
168
- };
169
- if (!isError(csrfResponse)) {
170
- const csrfToken = csrfResponse;
171
- headers[csrfToken.header] = csrfToken.value;
172
- }
173
- return sendRequest({
174
- abortController,
175
- method: 'POST',
176
- payload: review,
177
- credentials: true,
178
- endpoint: postReviewUrl,
179
- headers
180
- });
181
- });
182
- }
183
- deleteReview(abortController, deleteReviewUrl) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- const csrfResponse = yield this.getCsrfToken(abortController);
186
- const headers = {};
187
- if (!isError(csrfResponse)) {
188
- const csrfToken = csrfResponse;
189
- headers[csrfToken.header] = csrfToken.value;
190
- }
191
- return sendRequest({
192
- abortController,
193
- method: 'POST',
194
- credentials: true,
195
- endpoint: deleteReviewUrl,
196
- headers
197
- });
198
- });
199
- }
200
- deleteUserReview(abortController, extension, user) {
201
- return __awaiter(this, void 0, void 0, function* () {
202
- const csrfResponse = yield this.getCsrfToken(abortController);
203
- const headers = {};
204
- if (!isError(csrfResponse)) {
205
- const csrfToken = csrfResponse;
206
- headers[csrfToken.header] = csrfToken.value;
207
- }
208
- return sendRequest({
209
- abortController,
210
- method: 'POST',
211
- credentials: true,
212
- endpoint: createAbsoluteURL([this.serverUrl, 'admin', 'extension', extension.namespace, extension.name, 'review', user.provider || 'github', user.loginName, 'delete']),
213
- headers
214
- });
150
+ async postReview(abortController, review, postReviewUrl) {
151
+ const csrfResponse = await this.getCsrfToken(abortController);
152
+ const headers = {
153
+ 'Content-Type': 'application/json;charset=UTF-8'
154
+ };
155
+ if (!isError(csrfResponse)) {
156
+ const csrfToken = csrfResponse;
157
+ headers[csrfToken.header] = csrfToken.value;
158
+ }
159
+ return sendRequest({
160
+ abortController,
161
+ method: 'POST',
162
+ payload: review,
163
+ credentials: true,
164
+ endpoint: postReviewUrl,
165
+ headers
215
166
  });
216
167
  }
217
- getUser(abortController) {
168
+ async deleteReview(abortController, deleteReviewUrl) {
169
+ const csrfResponse = await this.getCsrfToken(abortController);
170
+ const headers = {};
171
+ if (!isError(csrfResponse)) {
172
+ const csrfToken = csrfResponse;
173
+ headers[csrfToken.header] = csrfToken.value;
174
+ }
175
+ return sendRequest({
176
+ abortController,
177
+ method: 'POST',
178
+ credentials: true,
179
+ endpoint: deleteReviewUrl,
180
+ headers
181
+ });
182
+ }
183
+ async deleteUserReview(abortController, extension, user) {
184
+ const csrfResponse = await this.getCsrfToken(abortController);
185
+ const headers = {};
186
+ if (!isError(csrfResponse)) {
187
+ const csrfToken = csrfResponse;
188
+ headers[csrfToken.header] = csrfToken.value;
189
+ }
190
+ return sendRequest({
191
+ abortController,
192
+ method: 'POST',
193
+ credentials: true,
194
+ endpoint: createAbsoluteURL([this.serverUrl, 'admin', 'extension', extension.namespace, extension.name, 'review', user.provider || 'github', user.loginName, 'delete']),
195
+ headers
196
+ });
197
+ }
198
+ async getUser(abortController) {
218
199
  return sendRequest({
219
200
  abortController,
220
201
  endpoint: createAbsoluteURL([this.serverUrl, 'user']),
221
202
  credentials: true
222
203
  });
223
204
  }
224
- getUserAuthError(abortController) {
205
+ async getUserAuthError(abortController) {
225
206
  return sendRequest({
226
207
  abortController,
227
208
  endpoint: createAbsoluteURL([this.serverUrl, 'user', 'auth-error']),
228
209
  credentials: true
229
210
  });
230
211
  }
231
- getUserByName(abortController, name) {
212
+ async getUserByName(abortController, name) {
232
213
  return sendRequest({
233
214
  abortController,
234
215
  endpoint: createAbsoluteURL([this.serverUrl, 'user', 'search', name]),
235
216
  credentials: true
236
217
  });
237
218
  }
238
- getAccessTokens(abortController, user) {
219
+ async getAccessTokens(abortController, user) {
239
220
  return sendRequest({
240
221
  abortController,
241
222
  credentials: true,
242
223
  endpoint: user.tokensUrl
243
224
  });
244
225
  }
245
- createAccessToken(abortController, user, description) {
246
- return __awaiter(this, void 0, void 0, function* () {
247
- const csrfResponse = yield this.getCsrfToken(abortController);
248
- const headers = {};
249
- if (!isError(csrfResponse)) {
250
- const csrfToken = csrfResponse;
251
- headers[csrfToken.header] = csrfToken.value;
252
- }
253
- const endpoint = addQuery(user.createTokenUrl, [{ key: 'description', value: description }]);
254
- return sendRequest({
255
- abortController,
256
- method: 'POST',
257
- credentials: true,
258
- endpoint,
259
- headers
260
- });
261
- });
262
- }
263
- deleteAccessToken(abortController, token) {
264
- return __awaiter(this, void 0, void 0, function* () {
265
- const csrfResponse = yield this.getCsrfToken(abortController);
266
- const headers = {};
267
- if (!isError(csrfResponse)) {
268
- const csrfToken = csrfResponse;
269
- headers[csrfToken.header] = csrfToken.value;
270
- }
271
- return sendRequest({
272
- abortController,
273
- method: 'POST',
274
- credentials: true,
275
- endpoint: token.deleteTokenUrl,
276
- headers
277
- });
278
- });
279
- }
280
- deleteAllAccessTokens(abortController, tokens) {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- const csrfResponse = yield this.getCsrfToken(abortController);
283
- const headers = {};
284
- if (!isError(csrfResponse)) {
285
- const csrfToken = csrfResponse;
286
- headers[csrfToken.header] = csrfToken.value;
287
- }
288
- return yield Promise.all(tokens.map(token => sendRequest({
289
- abortController,
290
- method: 'POST',
291
- credentials: true,
292
- endpoint: token.deleteTokenUrl,
293
- headers
294
- })));
226
+ async createAccessToken(abortController, user, description) {
227
+ const csrfResponse = await this.getCsrfToken(abortController);
228
+ const headers = {};
229
+ if (!isError(csrfResponse)) {
230
+ const csrfToken = csrfResponse;
231
+ headers[csrfToken.header] = csrfToken.value;
232
+ }
233
+ const endpoint = addQuery(user.createTokenUrl, [{ key: 'description', value: description }]);
234
+ return sendRequest({
235
+ abortController,
236
+ method: 'POST',
237
+ credentials: true,
238
+ endpoint,
239
+ headers
295
240
  });
296
241
  }
297
- getCsrfToken(abortController) {
242
+ async deleteAccessToken(abortController, token) {
243
+ const csrfResponse = await this.getCsrfToken(abortController);
244
+ const headers = {};
245
+ if (!isError(csrfResponse)) {
246
+ const csrfToken = csrfResponse;
247
+ headers[csrfToken.header] = csrfToken.value;
248
+ }
249
+ return sendRequest({
250
+ abortController,
251
+ method: 'POST',
252
+ credentials: true,
253
+ endpoint: token.deleteTokenUrl,
254
+ headers
255
+ });
256
+ }
257
+ async deleteAllAccessTokens(abortController, tokens) {
258
+ const csrfResponse = await this.getCsrfToken(abortController);
259
+ const headers = {};
260
+ if (!isError(csrfResponse)) {
261
+ const csrfToken = csrfResponse;
262
+ headers[csrfToken.header] = csrfToken.value;
263
+ }
264
+ return await Promise.all(tokens.map(token => sendRequest({
265
+ abortController,
266
+ method: 'POST',
267
+ credentials: true,
268
+ endpoint: token.deleteTokenUrl,
269
+ headers
270
+ })));
271
+ }
272
+ async getCsrfToken(abortController) {
298
273
  return sendRequest({
299
274
  abortController,
300
275
  credentials: true,
301
276
  endpoint: createAbsoluteURL([this.serverUrl, 'user', 'csrf'])
302
277
  });
303
278
  }
304
- getNamespaces(abortController) {
279
+ async getNamespaces(abortController) {
305
280
  return sendRequest({
306
281
  abortController,
307
282
  credentials: true,
308
283
  endpoint: createAbsoluteURL([this.serverUrl, 'user', 'namespaces'])
309
284
  });
310
285
  }
311
- getNamespaceMembers(abortController, namespace) {
286
+ async getCustomers(abortController) {
287
+ return sendRequest({
288
+ abortController,
289
+ credentials: true,
290
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'customers'])
291
+ });
292
+ }
293
+ async getUsageStats(abortController, customerName, date) {
294
+ const query = [];
295
+ query.push({ key: 'date', value: date.toISOString() });
296
+ return sendRequest({
297
+ abortController,
298
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'customers', customerName, 'usage'], query),
299
+ credentials: true
300
+ }, false);
301
+ }
302
+ async getNamespaceMembers(abortController, namespace) {
312
303
  return sendRequest({
313
304
  abortController,
314
305
  credentials: true,
315
306
  endpoint: namespace.membersUrl
316
307
  });
317
308
  }
318
- setNamespaceMember(abortController, endpoint, user, role) {
319
- return __awaiter(this, void 0, void 0, function* () {
320
- const csrfResponse = yield this.getCsrfToken(abortController);
321
- const headers = {};
322
- if (!isError(csrfResponse)) {
323
- const csrfToken = csrfResponse;
324
- headers[csrfToken.header] = csrfToken.value;
325
- }
326
- const query = [
327
- { key: 'user', value: user.loginName },
328
- { key: 'provider', value: user.provider },
329
- { key: 'role', value: role }
330
- ];
331
- return sendRequest({
332
- abortController,
333
- headers,
334
- method: 'POST',
335
- credentials: true,
336
- endpoint: addQuery(endpoint, query)
337
- });
338
- });
339
- }
340
- signPublisherAgreement(abortController) {
341
- return __awaiter(this, void 0, void 0, function* () {
342
- const csrfResponse = yield this.getCsrfToken(abortController);
343
- const headers = {};
344
- if (!isError(csrfResponse)) {
345
- const csrfToken = csrfResponse;
346
- headers[csrfToken.header] = csrfToken.value;
347
- }
348
- return sendRequest({
349
- abortController,
350
- method: 'POST',
351
- credentials: true,
352
- endpoint: createAbsoluteURL([this.serverUrl, 'user', 'publisher-agreement']),
353
- headers
354
- });
309
+ async setNamespaceMember(abortController, endpoint, user, role) {
310
+ const csrfResponse = await this.getCsrfToken(abortController);
311
+ const headers = {};
312
+ if (!isError(csrfResponse)) {
313
+ const csrfToken = csrfResponse;
314
+ headers[csrfToken.header] = csrfToken.value;
315
+ }
316
+ const query = [
317
+ { key: 'user', value: user.loginName },
318
+ { key: 'provider', value: user.provider },
319
+ { key: 'role', value: role }
320
+ ];
321
+ return sendRequest({
322
+ abortController,
323
+ headers,
324
+ method: 'POST',
325
+ credentials: true,
326
+ endpoint: addQuery(endpoint, query)
355
327
  });
356
328
  }
357
- getStaticContent(abortController, url) {
329
+ async signPublisherAgreement(abortController) {
330
+ const csrfResponse = await this.getCsrfToken(abortController);
331
+ const headers = {};
332
+ if (!isError(csrfResponse)) {
333
+ const csrfToken = csrfResponse;
334
+ headers[csrfToken.header] = csrfToken.value;
335
+ }
336
+ return sendRequest({
337
+ abortController,
338
+ method: 'POST',
339
+ credentials: true,
340
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'publisher-agreement']),
341
+ headers
342
+ });
343
+ }
344
+ async getStaticContent(abortController, url) {
358
345
  return sendRequest({
359
346
  abortController,
360
347
  endpoint: url,
@@ -362,229 +349,205 @@ export class ExtensionRegistryService {
362
349
  followRedirect: true
363
350
  });
364
351
  }
365
- publishExtension(abortController, extensionPackage) {
366
- return __awaiter(this, void 0, void 0, function* () {
367
- const csrfResponse = yield this.getCsrfToken(abortController);
368
- const headers = {
369
- 'Content-Type': 'application/octet-stream'
370
- };
371
- if (!isError(csrfResponse)) {
372
- const csrfToken = csrfResponse;
373
- headers[csrfToken.header] = csrfToken.value;
374
- }
375
- return sendRequest({
376
- abortController,
377
- method: 'POST',
378
- credentials: true,
379
- payload: extensionPackage,
380
- headers: headers,
381
- endpoint: createAbsoluteURL([this.serverUrl, 'api', 'user', 'publish'])
382
- }, false); // do not retry publishing an extension but show the explicit error received
383
- });
384
- }
385
- createNamespace(abortController, name) {
386
- return __awaiter(this, void 0, void 0, function* () {
387
- const csrfResponse = yield this.getCsrfToken(abortController);
388
- const headers = {
389
- 'Content-Type': 'application/json;charset=UTF-8'
390
- };
391
- if (!isError(csrfResponse)) {
392
- const csrfToken = csrfResponse;
393
- headers[csrfToken.header] = csrfToken.value;
394
- }
395
- return sendRequest({
396
- abortController,
397
- method: 'POST',
398
- credentials: true,
399
- payload: { name: name },
400
- headers: headers,
401
- endpoint: createAbsoluteURL([this.serverUrl, 'api', 'user', 'namespace', 'create'])
402
- });
403
- });
404
- }
405
- getExtensions(abortController) {
406
- return __awaiter(this, void 0, void 0, function* () {
407
- const csrfResponse = yield this.getCsrfToken(abortController);
408
- const headers = {};
409
- if (!isError(csrfResponse)) {
410
- const csrfToken = csrfResponse;
411
- headers[csrfToken.header] = csrfToken.value;
412
- }
413
- return sendRequest({
414
- abortController,
415
- method: 'GET',
416
- credentials: true,
417
- headers: headers,
418
- endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extensions'])
419
- });
420
- });
421
- }
422
- getExtension(abortController, namespace, extension) {
423
- return __awaiter(this, void 0, void 0, function* () {
424
- const csrfResponse = yield this.getCsrfToken(abortController);
425
- const headers = {};
426
- if (!isError(csrfResponse)) {
427
- const csrfToken = csrfResponse;
428
- headers[csrfToken.header] = csrfToken.value;
429
- }
430
- return sendRequest({
431
- abortController,
432
- method: 'GET',
433
- credentials: true,
434
- headers: headers,
435
- endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extension', namespace, extension])
436
- });
437
- });
438
- }
439
- deleteExtensions(abortController, req) {
440
- return __awaiter(this, void 0, void 0, function* () {
441
- const csrfResponse = yield this.getCsrfToken(abortController);
442
- const headers = {
443
- 'Content-Type': 'application/json;charset=UTF-8'
444
- };
445
- if (!isError(csrfResponse)) {
446
- const csrfToken = csrfResponse;
447
- headers[csrfToken.header] = csrfToken.value;
448
- }
449
- return sendRequest({
450
- abortController,
451
- method: 'POST',
452
- credentials: true,
453
- endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extension', req.namespace, req.extension, 'delete']),
454
- headers,
455
- payload: req.targetPlatformVersions
456
- });
352
+ async publishExtension(abortController, extensionPackage) {
353
+ const csrfResponse = await this.getCsrfToken(abortController);
354
+ const headers = {
355
+ 'Content-Type': 'application/octet-stream'
356
+ };
357
+ if (!isError(csrfResponse)) {
358
+ const csrfToken = csrfResponse;
359
+ headers[csrfToken.header] = csrfToken.value;
360
+ }
361
+ return sendRequest({
362
+ abortController,
363
+ method: 'POST',
364
+ credentials: true,
365
+ payload: extensionPackage,
366
+ headers: headers,
367
+ endpoint: createAbsoluteURL([this.serverUrl, 'api', 'user', 'publish'])
368
+ }, false); // do not retry publishing an extension but show the explicit error received
369
+ }
370
+ async createNamespace(abortController, name) {
371
+ const csrfResponse = await this.getCsrfToken(abortController);
372
+ const headers = {
373
+ 'Content-Type': 'application/json;charset=UTF-8'
374
+ };
375
+ if (!isError(csrfResponse)) {
376
+ const csrfToken = csrfResponse;
377
+ headers[csrfToken.header] = csrfToken.value;
378
+ }
379
+ return sendRequest({
380
+ abortController,
381
+ method: 'POST',
382
+ credentials: true,
383
+ payload: { name: name },
384
+ headers: headers,
385
+ endpoint: createAbsoluteURL([this.serverUrl, 'api', 'user', 'namespace', 'create'])
457
386
  });
458
387
  }
459
- getRegistryVersion(abortController) {
460
- return __awaiter(this, void 0, void 0, function* () {
461
- const endpoint = createAbsoluteURL([this.serverUrl, 'api', 'version']);
462
- return sendRequest({ abortController, endpoint });
388
+ async getExtensions(abortController) {
389
+ const csrfResponse = await this.getCsrfToken(abortController);
390
+ const headers = {};
391
+ if (!isError(csrfResponse)) {
392
+ const csrfToken = csrfResponse;
393
+ headers[csrfToken.header] = csrfToken.value;
394
+ }
395
+ return sendRequest({
396
+ abortController,
397
+ method: 'GET',
398
+ credentials: true,
399
+ headers: headers,
400
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extensions'])
463
401
  });
464
402
  }
403
+ async getExtension(abortController, namespace, extension) {
404
+ const csrfResponse = await this.getCsrfToken(abortController);
405
+ const headers = {};
406
+ if (!isError(csrfResponse)) {
407
+ const csrfToken = csrfResponse;
408
+ headers[csrfToken.header] = csrfToken.value;
409
+ }
410
+ return sendRequest({
411
+ abortController,
412
+ method: 'GET',
413
+ credentials: true,
414
+ headers: headers,
415
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extension', namespace, extension])
416
+ });
417
+ }
418
+ async deleteExtensions(abortController, req) {
419
+ const csrfResponse = await this.getCsrfToken(abortController);
420
+ const headers = {
421
+ 'Content-Type': 'application/json;charset=UTF-8'
422
+ };
423
+ if (!isError(csrfResponse)) {
424
+ const csrfToken = csrfResponse;
425
+ headers[csrfToken.header] = csrfToken.value;
426
+ }
427
+ return sendRequest({
428
+ abortController,
429
+ method: 'POST',
430
+ credentials: true,
431
+ endpoint: createAbsoluteURL([this.serverUrl, 'user', 'extension', req.namespace, req.extension, 'delete']),
432
+ headers,
433
+ payload: req.targetPlatformVersions
434
+ });
435
+ }
436
+ async getRegistryVersion(abortController) {
437
+ const endpoint = createAbsoluteURL([this.serverUrl, 'api', 'version']);
438
+ return sendRequest({ abortController, endpoint });
439
+ }
465
440
  }
466
441
  export class AdminServiceImpl {
467
442
  constructor(registry) {
468
443
  this.registry = registry;
469
444
  }
470
- getExtension(abortController, namespace, extension) {
445
+ async getExtension(abortController, namespace, extension) {
471
446
  return sendRequest({
472
447
  abortController,
473
448
  credentials: true,
474
449
  endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'extension', namespace, extension])
475
450
  });
476
451
  }
477
- deleteExtensions(abortController, req) {
478
- return __awaiter(this, void 0, void 0, function* () {
479
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
480
- const headers = {
481
- 'Content-Type': 'application/json;charset=UTF-8'
482
- };
483
- if (!isError(csrfResponse)) {
484
- const csrfToken = csrfResponse;
485
- headers[csrfToken.header] = csrfToken.value;
486
- }
487
- return sendRequest({
488
- abortController,
489
- method: 'POST',
490
- credentials: true,
491
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'extension', req.namespace, req.extension, 'delete']),
492
- headers,
493
- payload: req.targetPlatformVersions
494
- });
452
+ async deleteExtensions(abortController, req) {
453
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
454
+ const headers = {
455
+ 'Content-Type': 'application/json;charset=UTF-8'
456
+ };
457
+ if (!isError(csrfResponse)) {
458
+ const csrfToken = csrfResponse;
459
+ headers[csrfToken.header] = csrfToken.value;
460
+ }
461
+ return sendRequest({
462
+ abortController,
463
+ method: 'POST',
464
+ credentials: true,
465
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'extension', req.namespace, req.extension, 'delete']),
466
+ headers,
467
+ payload: req.targetPlatformVersions
495
468
  });
496
469
  }
497
- getNamespace(abortController, name) {
470
+ async getNamespace(abortController, name) {
498
471
  return sendRequest({
499
472
  abortController,
500
473
  credentials: true,
501
474
  endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'namespace', name])
502
475
  });
503
476
  }
504
- createNamespace(abortController, namespace) {
505
- return __awaiter(this, void 0, void 0, function* () {
506
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
507
- const headers = {
508
- 'Content-Type': 'application/json;charset=UTF-8'
509
- };
510
- if (!isError(csrfResponse)) {
511
- const csrfToken = csrfResponse;
512
- headers[csrfToken.header] = csrfToken.value;
513
- }
514
- return sendRequest({
515
- abortController,
516
- credentials: true,
517
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'create-namespace']),
518
- method: 'POST',
519
- payload: namespace,
520
- headers
521
- });
522
- });
523
- }
524
- changeNamespace(abortController, req) {
525
- return __awaiter(this, void 0, void 0, function* () {
526
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
527
- const headers = {
528
- 'Content-Type': 'application/json;charset=UTF-8'
529
- };
530
- if (!isError(csrfResponse)) {
531
- const csrfToken = csrfResponse;
532
- headers[csrfToken.header] = csrfToken.value;
533
- }
534
- return sendRequest({
535
- abortController,
536
- credentials: true,
537
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'change-namespace']),
538
- method: 'POST',
539
- payload: req,
540
- headers
541
- });
542
- });
543
- }
544
- getPublisherInfo(abortController, provider, login) {
545
- return __awaiter(this, void 0, void 0, function* () {
546
- return sendRequest({
547
- abortController,
548
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login]),
549
- credentials: true
550
- });
551
- });
552
- }
553
- revokePublisherContributions(abortController, provider, login) {
554
- return __awaiter(this, void 0, void 0, function* () {
555
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
556
- const headers = {};
557
- if (!isError(csrfResponse)) {
558
- const csrfToken = csrfResponse;
559
- headers[csrfToken.header] = csrfToken.value;
560
- }
561
- return sendRequest({
562
- abortController,
563
- method: 'POST',
564
- credentials: true,
565
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login, 'revoke']),
566
- headers
567
- });
568
- });
569
- }
570
- revokeAccessTokens(abortController, provider, login) {
571
- return __awaiter(this, void 0, void 0, function* () {
572
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
573
- const headers = {};
574
- if (!isError(csrfResponse)) {
575
- const csrfToken = csrfResponse;
576
- headers[csrfToken.header] = csrfToken.value;
577
- }
578
- return sendRequest({
579
- abortController,
580
- method: 'POST',
581
- credentials: true,
582
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login, 'tokens', 'revoke']),
583
- headers
584
- });
477
+ async createNamespace(abortController, namespace) {
478
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
479
+ const headers = {
480
+ 'Content-Type': 'application/json;charset=UTF-8'
481
+ };
482
+ if (!isError(csrfResponse)) {
483
+ const csrfToken = csrfResponse;
484
+ headers[csrfToken.header] = csrfToken.value;
485
+ }
486
+ return sendRequest({
487
+ abortController,
488
+ credentials: true,
489
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'create-namespace']),
490
+ method: 'POST',
491
+ payload: namespace,
492
+ headers
493
+ });
494
+ }
495
+ async changeNamespace(abortController, req) {
496
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
497
+ const headers = {
498
+ 'Content-Type': 'application/json;charset=UTF-8'
499
+ };
500
+ if (!isError(csrfResponse)) {
501
+ const csrfToken = csrfResponse;
502
+ headers[csrfToken.header] = csrfToken.value;
503
+ }
504
+ return sendRequest({
505
+ abortController,
506
+ credentials: true,
507
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'change-namespace']),
508
+ method: 'POST',
509
+ payload: req,
510
+ headers
511
+ });
512
+ }
513
+ async getPublisherInfo(abortController, provider, login) {
514
+ return sendRequest({
515
+ abortController,
516
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login]),
517
+ credentials: true
518
+ });
519
+ }
520
+ async revokePublisherContributions(abortController, provider, login) {
521
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
522
+ const headers = {};
523
+ if (!isError(csrfResponse)) {
524
+ const csrfToken = csrfResponse;
525
+ headers[csrfToken.header] = csrfToken.value;
526
+ }
527
+ return sendRequest({
528
+ abortController,
529
+ method: 'POST',
530
+ credentials: true,
531
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login, 'revoke']),
532
+ headers
533
+ });
534
+ }
535
+ async revokeAccessTokens(abortController, provider, login) {
536
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
537
+ const headers = {};
538
+ if (!isError(csrfResponse)) {
539
+ const csrfToken = csrfResponse;
540
+ headers[csrfToken.header] = csrfToken.value;
541
+ }
542
+ return sendRequest({
543
+ abortController,
544
+ method: 'POST',
545
+ credentials: true,
546
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'publisher', provider, login, 'tokens', 'revoke']),
547
+ headers
585
548
  });
586
549
  }
587
- getAllScans(abortController, params) {
550
+ async getAllScans(abortController, params) {
588
551
  const query = [];
589
552
  if (params) {
590
553
  if (params.size !== undefined)
@@ -621,14 +584,14 @@ export class AdminServiceImpl {
621
584
  endpoint
622
585
  });
623
586
  }
624
- getScan(abortController, scanId) {
587
+ async getScan(abortController, scanId) {
625
588
  return sendRequest({
626
589
  abortController,
627
590
  credentials: true,
628
591
  endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', scanId])
629
592
  });
630
593
  }
631
- getScanCounts(abortController, params) {
594
+ async getScanCounts(abortController, params) {
632
595
  const query = [];
633
596
  if (params) {
634
597
  if (params.dateStartedFrom)
@@ -651,14 +614,14 @@ export class AdminServiceImpl {
651
614
  endpoint
652
615
  });
653
616
  }
654
- getScanFilterOptions(abortController) {
617
+ async getScanFilterOptions(abortController) {
655
618
  return sendRequest({
656
619
  abortController,
657
620
  credentials: true,
658
621
  endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'filterOptions'])
659
622
  });
660
623
  }
661
- getFiles(abortController, params) {
624
+ async getFiles(abortController, params) {
662
625
  const query = [];
663
626
  if (params) {
664
627
  if (params.size !== undefined)
@@ -689,7 +652,7 @@ export class AdminServiceImpl {
689
652
  endpoint
690
653
  });
691
654
  }
692
- getFileCounts(abortController, params) {
655
+ async getFileCounts(abortController, params) {
693
656
  const query = [];
694
657
  if (params) {
695
658
  if (params.dateDecidedFrom)
@@ -704,232 +667,258 @@ export class AdminServiceImpl {
704
667
  endpoint
705
668
  });
706
669
  }
707
- makeScanDecision(abortController, request) {
708
- return __awaiter(this, void 0, void 0, function* () {
709
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
710
- const headers = {
711
- 'Content-Type': 'application/json;charset=UTF-8'
712
- };
713
- if (!isError(csrfResponse)) {
714
- const csrfToken = csrfResponse;
715
- headers[csrfToken.header] = csrfToken.value;
716
- }
717
- return sendRequest({
718
- abortController,
719
- method: 'POST',
720
- credentials: true,
721
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'decisions']),
722
- headers,
723
- payload: request
724
- });
725
- });
726
- }
727
- makeFileDecision(abortController, request) {
728
- return __awaiter(this, void 0, void 0, function* () {
729
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
730
- const headers = {
731
- 'Content-Type': 'application/json;charset=UTF-8'
732
- };
733
- if (!isError(csrfResponse)) {
734
- const csrfToken = csrfResponse;
735
- headers[csrfToken.header] = csrfToken.value;
736
- }
737
- return sendRequest({
738
- abortController,
739
- method: 'POST',
740
- credentials: true,
741
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'files', 'decisions']),
742
- headers,
743
- payload: request
744
- });
745
- });
746
- }
747
- deleteFileDecisions(abortController, request) {
748
- return __awaiter(this, void 0, void 0, function* () {
749
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
750
- const headers = {
751
- 'Content-Type': 'application/json;charset=UTF-8'
752
- };
753
- if (!isError(csrfResponse)) {
754
- const csrfToken = csrfResponse;
755
- headers[csrfToken.header] = csrfToken.value;
756
- }
757
- return sendRequest({
758
- abortController,
759
- method: 'DELETE',
760
- credentials: true,
761
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'files', 'decisions']),
762
- headers,
763
- payload: request
764
- });
765
- });
766
- }
767
- getTiers(abortController) {
768
- return __awaiter(this, void 0, void 0, function* () {
769
- return sendRequest({
770
- abortController,
771
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers']),
772
- credentials: true
773
- }, false);
774
- });
775
- }
776
- createTier(abortController, tier) {
777
- return __awaiter(this, void 0, void 0, function* () {
778
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
779
- const headers = {
780
- 'Content-Type': 'application/json;charset=UTF-8'
781
- };
782
- if (!isError(csrfResponse)) {
783
- const csrfToken = csrfResponse;
784
- headers[csrfToken.header] = csrfToken.value;
785
- }
786
- return sendRequest({
787
- abortController,
788
- method: 'POST',
789
- payload: tier,
790
- credentials: true,
791
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', 'create']),
792
- headers
793
- }, false);
794
- });
795
- }
796
- updateTier(abortController, name, tier) {
797
- return __awaiter(this, void 0, void 0, function* () {
798
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
799
- const headers = {
800
- 'Content-Type': 'application/json;charset=UTF-8'
801
- };
802
- if (!isError(csrfResponse)) {
803
- const csrfToken = csrfResponse;
804
- headers[csrfToken.header] = csrfToken.value;
805
- }
806
- return sendRequest({
807
- abortController,
808
- method: 'PUT',
809
- payload: tier,
810
- credentials: true,
811
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', name]),
812
- headers
813
- }, false);
814
- });
815
- }
816
- deleteTier(abortController, name) {
817
- return __awaiter(this, void 0, void 0, function* () {
818
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
819
- const headers = {
820
- 'Content-Type': 'application/json;charset=UTF-8'
821
- };
822
- if (!isError(csrfResponse)) {
823
- const csrfToken = csrfResponse;
824
- headers[csrfToken.header] = csrfToken.value;
825
- }
826
- return sendRequest({
827
- abortController,
828
- method: 'DELETE',
829
- credentials: true,
830
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', name]),
831
- headers
832
- }, false);
833
- });
834
- }
835
- getCustomers(abortController) {
836
- return __awaiter(this, void 0, void 0, function* () {
837
- return sendRequest({
838
- abortController,
839
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers']),
840
- credentials: true
841
- }, false);
842
- });
843
- }
844
- createCustomer(abortController, customer) {
845
- return __awaiter(this, void 0, void 0, function* () {
846
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
847
- const headers = {
848
- 'Content-Type': 'application/json;charset=UTF-8'
849
- };
850
- if (!isError(csrfResponse)) {
851
- const csrfToken = csrfResponse;
852
- headers[csrfToken.header] = csrfToken.value;
853
- }
854
- return sendRequest({
855
- abortController,
856
- method: 'POST',
857
- payload: customer,
858
- credentials: true,
859
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', 'create']),
860
- headers
861
- }, false);
862
- });
863
- }
864
- updateCustomer(abortController, name, customer) {
865
- return __awaiter(this, void 0, void 0, function* () {
866
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
867
- const headers = {
868
- 'Content-Type': 'application/json;charset=UTF-8'
869
- };
870
- if (!isError(csrfResponse)) {
871
- const csrfToken = csrfResponse;
872
- headers[csrfToken.header] = csrfToken.value;
873
- }
874
- return sendRequest({
875
- abortController,
876
- method: 'PUT',
877
- payload: customer,
878
- credentials: true,
879
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name]),
880
- headers
881
- }, false);
882
- });
883
- }
884
- deleteCustomer(abortController, name) {
885
- return __awaiter(this, void 0, void 0, function* () {
886
- const csrfResponse = yield this.registry.getCsrfToken(abortController);
887
- const headers = {
888
- 'Content-Type': 'application/json;charset=UTF-8'
889
- };
890
- if (!isError(csrfResponse)) {
891
- const csrfToken = csrfResponse;
892
- headers[csrfToken.header] = csrfToken.value;
893
- }
894
- return sendRequest({
895
- abortController,
896
- method: 'DELETE',
897
- credentials: true,
898
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name]),
899
- headers
900
- }, false);
670
+ async makeScanDecision(abortController, request) {
671
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
672
+ const headers = {
673
+ 'Content-Type': 'application/json;charset=UTF-8'
674
+ };
675
+ if (!isError(csrfResponse)) {
676
+ const csrfToken = csrfResponse;
677
+ headers[csrfToken.header] = csrfToken.value;
678
+ }
679
+ return sendRequest({
680
+ abortController,
681
+ method: 'POST',
682
+ credentials: true,
683
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'decisions']),
684
+ headers,
685
+ payload: request
686
+ });
687
+ }
688
+ async makeFileDecision(abortController, request) {
689
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
690
+ const headers = {
691
+ 'Content-Type': 'application/json;charset=UTF-8'
692
+ };
693
+ if (!isError(csrfResponse)) {
694
+ const csrfToken = csrfResponse;
695
+ headers[csrfToken.header] = csrfToken.value;
696
+ }
697
+ return sendRequest({
698
+ abortController,
699
+ method: 'POST',
700
+ credentials: true,
701
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'files', 'decisions']),
702
+ headers,
703
+ payload: request
704
+ });
705
+ }
706
+ async deleteFileDecisions(abortController, request) {
707
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
708
+ const headers = {
709
+ 'Content-Type': 'application/json;charset=UTF-8'
710
+ };
711
+ if (!isError(csrfResponse)) {
712
+ const csrfToken = csrfResponse;
713
+ headers[csrfToken.header] = csrfToken.value;
714
+ }
715
+ return sendRequest({
716
+ abortController,
717
+ method: 'DELETE',
718
+ credentials: true,
719
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'scans', 'files', 'decisions']),
720
+ headers,
721
+ payload: request
901
722
  });
902
723
  }
724
+ async getTiers(abortController) {
725
+ return sendRequest({
726
+ abortController,
727
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers']),
728
+ credentials: true
729
+ }, false);
730
+ }
731
+ async createTier(abortController, tier) {
732
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
733
+ const headers = {
734
+ 'Content-Type': 'application/json;charset=UTF-8'
735
+ };
736
+ if (!isError(csrfResponse)) {
737
+ const csrfToken = csrfResponse;
738
+ headers[csrfToken.header] = csrfToken.value;
739
+ }
740
+ return sendRequest({
741
+ abortController,
742
+ method: 'POST',
743
+ payload: tier,
744
+ credentials: true,
745
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', 'create']),
746
+ headers
747
+ }, false);
748
+ }
749
+ async updateTier(abortController, name, tier) {
750
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
751
+ const headers = {
752
+ 'Content-Type': 'application/json;charset=UTF-8'
753
+ };
754
+ if (!isError(csrfResponse)) {
755
+ const csrfToken = csrfResponse;
756
+ headers[csrfToken.header] = csrfToken.value;
757
+ }
758
+ return sendRequest({
759
+ abortController,
760
+ method: 'PUT',
761
+ payload: tier,
762
+ credentials: true,
763
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', name]),
764
+ headers
765
+ }, false);
766
+ }
767
+ async deleteTier(abortController, name) {
768
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
769
+ const headers = {
770
+ 'Content-Type': 'application/json;charset=UTF-8'
771
+ };
772
+ if (!isError(csrfResponse)) {
773
+ const csrfToken = csrfResponse;
774
+ headers[csrfToken.header] = csrfToken.value;
775
+ }
776
+ return sendRequest({
777
+ abortController,
778
+ method: 'DELETE',
779
+ credentials: true,
780
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'tiers', name]),
781
+ headers
782
+ }, false);
783
+ }
784
+ async getCustomers(abortController) {
785
+ return await sendRequest({
786
+ abortController,
787
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers']),
788
+ credentials: true
789
+ }, false);
790
+ }
791
+ async getCustomer(abortController, name) {
792
+ return await sendRequest({
793
+ abortController,
794
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name]),
795
+ credentials: true
796
+ }, false);
797
+ }
798
+ async createCustomer(abortController, customer) {
799
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
800
+ const headers = {
801
+ 'Content-Type': 'application/json;charset=UTF-8'
802
+ };
803
+ if (!isError(csrfResponse)) {
804
+ const csrfToken = csrfResponse;
805
+ headers[csrfToken.header] = csrfToken.value;
806
+ }
807
+ return sendRequest({
808
+ abortController,
809
+ method: 'POST',
810
+ payload: customer,
811
+ credentials: true,
812
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', 'create']),
813
+ headers
814
+ }, false);
815
+ }
816
+ async updateCustomer(abortController, name, customer) {
817
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
818
+ const headers = {
819
+ 'Content-Type': 'application/json;charset=UTF-8'
820
+ };
821
+ if (!isError(csrfResponse)) {
822
+ const csrfToken = csrfResponse;
823
+ headers[csrfToken.header] = csrfToken.value;
824
+ }
825
+ return sendRequest({
826
+ abortController,
827
+ method: 'PUT',
828
+ payload: customer,
829
+ credentials: true,
830
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name]),
831
+ headers
832
+ }, false);
833
+ }
834
+ async deleteCustomer(abortController, name) {
835
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
836
+ const headers = {
837
+ 'Content-Type': 'application/json;charset=UTF-8'
838
+ };
839
+ if (!isError(csrfResponse)) {
840
+ const csrfToken = csrfResponse;
841
+ headers[csrfToken.header] = csrfToken.value;
842
+ }
843
+ return sendRequest({
844
+ abortController,
845
+ method: 'DELETE',
846
+ credentials: true,
847
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name]),
848
+ headers
849
+ }, false);
850
+ }
851
+ async getCustomerMembers(abortController, name) {
852
+ return sendRequest({
853
+ abortController,
854
+ credentials: true,
855
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name, "members"]),
856
+ }, false);
857
+ }
858
+ async addCustomerMember(abortController, name, user) {
859
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
860
+ const headers = {};
861
+ if (!isError(csrfResponse)) {
862
+ const csrfToken = csrfResponse;
863
+ headers[csrfToken.header] = csrfToken.value;
864
+ }
865
+ const query = [
866
+ { key: 'user', value: user.loginName },
867
+ { key: 'provider', value: user.provider },
868
+ ];
869
+ return sendRequest({
870
+ abortController,
871
+ headers,
872
+ method: 'POST',
873
+ credentials: true,
874
+ endpoint: addQuery(createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name, "add-member"]), query),
875
+ }, false);
876
+ }
877
+ async removeCustomerMember(abortController, name, user) {
878
+ const csrfResponse = await this.registry.getCsrfToken(abortController);
879
+ const headers = {};
880
+ if (!isError(csrfResponse)) {
881
+ const csrfToken = csrfResponse;
882
+ headers[csrfToken.header] = csrfToken.value;
883
+ }
884
+ const query = [
885
+ { key: 'user', value: user.loginName },
886
+ { key: 'provider', value: user.provider },
887
+ ];
888
+ return sendRequest({
889
+ abortController,
890
+ headers,
891
+ method: 'POST',
892
+ credentials: true,
893
+ endpoint: addQuery(createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', name, "remove-member"]), query),
894
+ }, false);
895
+ }
903
896
  /**
904
897
  * Get usage stats for a customer within an optional date range.
905
898
  */
906
- getUsageStats(abortController, customerName, date) {
907
- return __awaiter(this, void 0, void 0, function* () {
908
- const query = [];
909
- query.push({ key: 'date', value: date.toISOString() });
910
- return sendRequest({
911
- abortController,
912
- endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', customerName, 'usage'], query),
913
- credentials: true
914
- }, false);
915
- });
916
- }
917
- getLogs(abortController_1) {
918
- return __awaiter(this, arguments, void 0, function* (abortController, page = 0, size = 20, period) {
919
- const query = [
920
- { key: 'page', value: page },
921
- { key: 'size', value: size }
922
- ];
923
- if (period) {
924
- query.push({ key: 'period', value: period });
925
- }
926
- const endpoint = addQuery(createAbsoluteURL([this.registry.serverUrl, 'admin', 'logs']), query);
927
- return sendRequest({
928
- abortController,
929
- endpoint,
930
- credentials: true
931
- }, false);
932
- });
899
+ async getUsageStats(abortController, customerName, date) {
900
+ const query = [];
901
+ query.push({ key: 'date', value: date.toISOString() });
902
+ return sendRequest({
903
+ abortController,
904
+ endpoint: createAbsoluteURL([this.registry.serverUrl, 'admin', 'ratelimit', 'customers', customerName, 'usage'], query),
905
+ credentials: true
906
+ }, false);
907
+ }
908
+ async getLogs(abortController, page = 0, size = 20, period) {
909
+ const query = [
910
+ { key: 'page', value: page },
911
+ { key: 'size', value: size }
912
+ ];
913
+ if (period) {
914
+ query.push({ key: 'period', value: period });
915
+ }
916
+ const endpoint = addQuery(createAbsoluteURL([this.registry.serverUrl, 'admin', 'logs']), query);
917
+ return sendRequest({
918
+ abortController,
919
+ endpoint,
920
+ credentials: true
921
+ }, false);
933
922
  }
934
923
  }
935
924
  //# sourceMappingURL=extension-registry-service.js.map