@salesforce/b2c-tooling-sdk 0.3.0 → 0.4.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/README.md +180 -13
  2. package/data/scaffolds/cartridge/files/.project.ejs +17 -0
  3. package/data/scaffolds/cartridge/files/cartridge/cartridge.properties.ejs +4 -0
  4. package/data/scaffolds/cartridge/files/cartridge/controllers/Example.js.ejs +19 -0
  5. package/data/scaffolds/cartridge/files/cartridge/models/example.js.ejs +14 -0
  6. package/data/scaffolds/cartridge/files/cartridge/scripts/helpers/exampleHelpers.js.ejs +18 -0
  7. package/data/scaffolds/cartridge/files/cartridge/static/default/css/example.css +6 -0
  8. package/data/scaffolds/cartridge/files/cartridge/templates/default/example/show.isml.ejs +11 -0
  9. package/data/scaffolds/cartridge/scaffold.json +88 -0
  10. package/data/scaffolds/controller/files/controller.js.ejs +134 -0
  11. package/data/scaffolds/controller/files/template.isml.ejs +22 -0
  12. package/data/scaffolds/controller/scaffold.json +64 -0
  13. package/data/scaffolds/custom-api/files/api.json.ejs +11 -0
  14. package/data/scaffolds/custom-api/files/schema.yaml.ejs +188 -0
  15. package/data/scaffolds/custom-api/files/script.js.ejs +95 -0
  16. package/data/scaffolds/custom-api/scaffold.json +65 -0
  17. package/data/scaffolds/hook/files/hook.js.ejs +99 -0
  18. package/data/scaffolds/hook/files/hooks-entry.json.ejs +6 -0
  19. package/data/scaffolds/hook/scaffold.json +60 -0
  20. package/data/scaffolds/job-step/files/step-chunk.js.ejs +136 -0
  21. package/data/scaffolds/job-step/files/step-task.js.ejs +47 -0
  22. package/data/scaffolds/job-step/files/steptypes-entry.json.ejs +41 -0
  23. package/data/scaffolds/job-step/scaffold.json +64 -0
  24. package/data/scaffolds/page-designer-component/files/component.isml.ejs +23 -0
  25. package/data/scaffolds/page-designer-component/files/component.js.ejs +35 -0
  26. package/data/scaffolds/page-designer-component/files/component.json.ejs +50 -0
  27. package/data/scaffolds/page-designer-component/scaffold.json +66 -0
  28. package/data/scaffolds/service/files/service-http.js.ejs +245 -0
  29. package/data/scaffolds/service/files/service-sftp.js.ejs +371 -0
  30. package/data/scaffolds/service/files/service-soap.js.ejs +230 -0
  31. package/data/scaffolds/service/scaffold.json +83 -0
  32. package/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md +48 -0
  33. package/data/script-api/dw.system.Request.md +5 -0
  34. package/data/script-api/dw.web.Cookie.md +108 -31
  35. package/data/script-api/index.json +2 -2
  36. package/data/script-api/index.md +1 -1
  37. package/dist/cjs/auth/oauth-implicit.d.ts +1 -0
  38. package/dist/cjs/auth/oauth-implicit.js +8 -3
  39. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  40. package/dist/cjs/auth/oauth.d.ts +1 -0
  41. package/dist/cjs/auth/oauth.js +8 -3
  42. package/dist/cjs/auth/oauth.js.map +1 -1
  43. package/dist/cjs/auth/types.d.ts +5 -0
  44. package/dist/cjs/auth/types.js.map +1 -1
  45. package/dist/cjs/cli/am-command.d.ts +74 -0
  46. package/dist/cjs/cli/am-command.js +189 -0
  47. package/dist/cjs/cli/am-command.js.map +1 -0
  48. package/dist/cjs/cli/base-command.d.ts +38 -0
  49. package/dist/cjs/cli/base-command.js +142 -0
  50. package/dist/cjs/cli/base-command.js.map +1 -1
  51. package/dist/cjs/cli/config.d.ts +9 -0
  52. package/dist/cjs/cli/config.js +19 -2
  53. package/dist/cjs/cli/config.js.map +1 -1
  54. package/dist/cjs/cli/index.d.ts +1 -0
  55. package/dist/cjs/cli/index.js +1 -0
  56. package/dist/cjs/cli/index.js.map +1 -1
  57. package/dist/cjs/cli/instance-command.d.ts +1 -0
  58. package/dist/cjs/cli/oauth-command.d.ts +21 -1
  59. package/dist/cjs/cli/oauth-command.js +52 -7
  60. package/dist/cjs/cli/oauth-command.js.map +1 -1
  61. package/dist/cjs/cli/ods-command.d.ts +5 -1
  62. package/dist/cjs/cli/ods-command.js +10 -4
  63. package/dist/cjs/cli/ods-command.js.map +1 -1
  64. package/dist/cjs/cli/webdav-command.d.ts +1 -0
  65. package/dist/cjs/clients/am-api.d.ts +491 -0
  66. package/dist/cjs/clients/am-api.js +944 -0
  67. package/dist/cjs/clients/am-api.js.map +1 -0
  68. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +803 -0
  69. package/dist/cjs/clients/am-apiclients-api.generated.js +6 -0
  70. package/dist/cjs/clients/am-apiclients-api.generated.js.map +1 -0
  71. package/dist/cjs/clients/am-roles-api.generated.d.ts +298 -0
  72. package/dist/cjs/clients/am-roles-api.generated.js +6 -0
  73. package/dist/cjs/clients/am-roles-api.generated.js.map +1 -0
  74. package/dist/cjs/clients/am-users-api.generated.d.ts +891 -0
  75. package/dist/cjs/clients/am-users-api.generated.js +6 -0
  76. package/dist/cjs/clients/am-users-api.generated.js.map +1 -0
  77. package/dist/cjs/clients/index.d.ts +4 -2
  78. package/dist/cjs/clients/index.js +2 -1
  79. package/dist/cjs/clients/index.js.map +1 -1
  80. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  81. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  82. package/dist/cjs/clients/middleware.d.ts +49 -2
  83. package/dist/cjs/clients/middleware.js +214 -2
  84. package/dist/cjs/clients/middleware.js.map +1 -1
  85. package/dist/cjs/clients/mrt.js +5 -1
  86. package/dist/cjs/clients/mrt.js.map +1 -1
  87. package/dist/cjs/config/dw-json.d.ts +104 -33
  88. package/dist/cjs/config/dw-json.js +167 -2
  89. package/dist/cjs/config/dw-json.js.map +1 -1
  90. package/dist/cjs/config/index.d.ts +6 -4
  91. package/dist/cjs/config/index.js +6 -2
  92. package/dist/cjs/config/index.js.map +1 -1
  93. package/dist/cjs/config/instance-manager.d.ts +97 -0
  94. package/dist/cjs/config/instance-manager.js +166 -0
  95. package/dist/cjs/config/instance-manager.js.map +1 -0
  96. package/dist/cjs/config/mapping.d.ts +63 -5
  97. package/dist/cjs/config/mapping.js +165 -20
  98. package/dist/cjs/config/mapping.js.map +1 -1
  99. package/dist/cjs/config/sources/dw-json-source.d.ts +17 -1
  100. package/dist/cjs/config/sources/dw-json-source.js +70 -3
  101. package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
  102. package/dist/cjs/config/sources/package-json-source.js +6 -3
  103. package/dist/cjs/config/sources/package-json-source.js.map +1 -1
  104. package/dist/cjs/config/types.d.ts +72 -0
  105. package/dist/cjs/defaults.d.ts +6 -0
  106. package/dist/cjs/defaults.js +6 -0
  107. package/dist/cjs/defaults.js.map +1 -1
  108. package/dist/cjs/i18n/index.js +3 -0
  109. package/dist/cjs/i18n/index.js.map +1 -1
  110. package/dist/cjs/index.d.ts +8 -4
  111. package/dist/cjs/index.js +9 -3
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/logging/logger.js +13 -1
  114. package/dist/cjs/logging/logger.js.map +1 -1
  115. package/dist/cjs/operations/content/asset-query.d.ts +22 -0
  116. package/dist/cjs/operations/content/asset-query.js +77 -0
  117. package/dist/cjs/operations/content/asset-query.js.map +1 -0
  118. package/dist/cjs/operations/content/export.d.ts +57 -0
  119. package/dist/cjs/operations/content/export.js +224 -0
  120. package/dist/cjs/operations/content/export.js.map +1 -0
  121. package/dist/cjs/operations/content/index.d.ts +43 -0
  122. package/dist/cjs/operations/content/index.js +48 -0
  123. package/dist/cjs/operations/content/index.js.map +1 -0
  124. package/dist/cjs/operations/content/library.d.ts +137 -0
  125. package/dist/cjs/operations/content/library.js +392 -0
  126. package/dist/cjs/operations/content/library.js.map +1 -0
  127. package/dist/cjs/operations/content/types.d.ts +144 -0
  128. package/dist/cjs/operations/content/types.js +7 -0
  129. package/dist/cjs/operations/content/types.js.map +1 -0
  130. package/dist/cjs/operations/mrt/b2c-config.js +19 -4
  131. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -1
  132. package/dist/cjs/operations/mrt/index.d.ts +2 -0
  133. package/dist/cjs/operations/mrt/index.js +2 -0
  134. package/dist/cjs/operations/mrt/index.js.map +1 -1
  135. package/dist/cjs/operations/mrt/tail-logs.d.ts +130 -0
  136. package/dist/cjs/operations/mrt/tail-logs.js +223 -0
  137. package/dist/cjs/operations/mrt/tail-logs.js.map +1 -0
  138. package/dist/cjs/operations/ods/index.d.ts +2 -0
  139. package/dist/cjs/operations/ods/index.js +1 -0
  140. package/dist/cjs/operations/ods/index.js.map +1 -1
  141. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +64 -0
  142. package/dist/cjs/operations/ods/wait-for-sandbox.js +114 -0
  143. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +1 -0
  144. package/dist/cjs/operations/orgs/index.d.ts +74 -0
  145. package/dist/cjs/operations/orgs/index.js +33 -0
  146. package/dist/cjs/operations/orgs/index.js.map +1 -0
  147. package/dist/cjs/operations/roles/index.d.ts +43 -0
  148. package/dist/cjs/operations/roles/index.js +48 -0
  149. package/dist/cjs/operations/roles/index.js.map +1 -0
  150. package/dist/cjs/operations/users/index.d.ts +143 -0
  151. package/dist/cjs/operations/users/index.js +141 -0
  152. package/dist/cjs/operations/users/index.js.map +1 -0
  153. package/dist/cjs/scaffold/engine.d.ts +68 -0
  154. package/dist/cjs/scaffold/engine.js +149 -0
  155. package/dist/cjs/scaffold/engine.js.map +1 -0
  156. package/dist/cjs/scaffold/executor.d.ts +36 -0
  157. package/dist/cjs/scaffold/executor.js +285 -0
  158. package/dist/cjs/scaffold/executor.js.map +1 -0
  159. package/dist/cjs/scaffold/index.d.ts +74 -0
  160. package/dist/cjs/scaffold/index.js +23 -0
  161. package/dist/cjs/scaffold/index.js.map +1 -0
  162. package/dist/cjs/scaffold/merge.d.ts +56 -0
  163. package/dist/cjs/scaffold/merge.js +183 -0
  164. package/dist/cjs/scaffold/merge.js.map +1 -0
  165. package/dist/cjs/scaffold/parameter-resolver.d.ts +86 -0
  166. package/dist/cjs/scaffold/parameter-resolver.js +179 -0
  167. package/dist/cjs/scaffold/parameter-resolver.js.map +1 -0
  168. package/dist/cjs/scaffold/registry.d.ts +45 -0
  169. package/dist/cjs/scaffold/registry.js +219 -0
  170. package/dist/cjs/scaffold/registry.js.map +1 -0
  171. package/dist/cjs/scaffold/sources.d.ts +45 -0
  172. package/dist/cjs/scaffold/sources.js +113 -0
  173. package/dist/cjs/scaffold/sources.js.map +1 -0
  174. package/dist/cjs/scaffold/types.d.ts +280 -0
  175. package/dist/cjs/scaffold/types.js +14 -0
  176. package/dist/cjs/scaffold/types.js.map +1 -0
  177. package/dist/cjs/scaffold/validation.d.ts +81 -0
  178. package/dist/cjs/scaffold/validation.js +250 -0
  179. package/dist/cjs/scaffold/validation.js.map +1 -0
  180. package/dist/cjs/scaffold/validators.d.ts +33 -0
  181. package/dist/cjs/scaffold/validators.js +334 -0
  182. package/dist/cjs/scaffold/validators.js.map +1 -0
  183. package/dist/cjs/telemetry/index.d.ts +26 -0
  184. package/dist/cjs/telemetry/index.js +32 -0
  185. package/dist/cjs/telemetry/index.js.map +1 -0
  186. package/dist/cjs/telemetry/telemetry.d.ts +90 -0
  187. package/dist/cjs/telemetry/telemetry.js +283 -0
  188. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  189. package/dist/cjs/telemetry/types.d.ts +62 -0
  190. package/dist/cjs/telemetry/types.js +7 -0
  191. package/dist/cjs/telemetry/types.js.map +1 -0
  192. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  193. package/dist/esm/auth/oauth-implicit.js +8 -3
  194. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  195. package/dist/esm/auth/oauth.d.ts +1 -0
  196. package/dist/esm/auth/oauth.js +8 -3
  197. package/dist/esm/auth/oauth.js.map +1 -1
  198. package/dist/esm/auth/types.d.ts +5 -0
  199. package/dist/esm/auth/types.js.map +1 -1
  200. package/dist/esm/cli/am-command.d.ts +74 -0
  201. package/dist/esm/cli/am-command.js +196 -0
  202. package/dist/esm/cli/am-command.js.map +1 -0
  203. package/dist/esm/cli/base-command.d.ts +38 -0
  204. package/dist/esm/cli/base-command.js +142 -0
  205. package/dist/esm/cli/base-command.js.map +1 -1
  206. package/dist/esm/cli/config.d.ts +9 -0
  207. package/dist/esm/cli/config.js +19 -2
  208. package/dist/esm/cli/config.js.map +1 -1
  209. package/dist/esm/cli/index.d.ts +1 -0
  210. package/dist/esm/cli/index.js +1 -0
  211. package/dist/esm/cli/index.js.map +1 -1
  212. package/dist/esm/cli/instance-command.d.ts +1 -0
  213. package/dist/esm/cli/oauth-command.d.ts +21 -1
  214. package/dist/esm/cli/oauth-command.js +52 -7
  215. package/dist/esm/cli/oauth-command.js.map +1 -1
  216. package/dist/esm/cli/ods-command.d.ts +5 -1
  217. package/dist/esm/cli/ods-command.js +10 -4
  218. package/dist/esm/cli/ods-command.js.map +1 -1
  219. package/dist/esm/cli/webdav-command.d.ts +1 -0
  220. package/dist/esm/clients/am-api.d.ts +491 -0
  221. package/dist/esm/clients/am-api.js +944 -0
  222. package/dist/esm/clients/am-api.js.map +1 -0
  223. package/dist/esm/clients/am-apiclients-api.generated.d.ts +803 -0
  224. package/dist/esm/clients/am-apiclients-api.generated.js +6 -0
  225. package/dist/esm/clients/am-apiclients-api.generated.js.map +1 -0
  226. package/dist/esm/clients/am-roles-api.generated.d.ts +298 -0
  227. package/dist/esm/clients/am-roles-api.generated.js +6 -0
  228. package/dist/esm/clients/am-roles-api.generated.js.map +1 -0
  229. package/dist/esm/clients/am-users-api.generated.d.ts +891 -0
  230. package/dist/esm/clients/am-users-api.generated.js +6 -0
  231. package/dist/esm/clients/am-users-api.generated.js.map +1 -0
  232. package/dist/esm/clients/index.d.ts +4 -2
  233. package/dist/esm/clients/index.js +2 -1
  234. package/dist/esm/clients/index.js.map +1 -1
  235. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  236. package/dist/esm/clients/middleware-registry.js.map +1 -1
  237. package/dist/esm/clients/middleware.d.ts +49 -2
  238. package/dist/esm/clients/middleware.js +214 -2
  239. package/dist/esm/clients/middleware.js.map +1 -1
  240. package/dist/esm/clients/mrt.js +5 -1
  241. package/dist/esm/clients/mrt.js.map +1 -1
  242. package/dist/esm/config/dw-json.d.ts +104 -33
  243. package/dist/esm/config/dw-json.js +167 -2
  244. package/dist/esm/config/dw-json.js.map +1 -1
  245. package/dist/esm/config/index.d.ts +6 -4
  246. package/dist/esm/config/index.js +6 -2
  247. package/dist/esm/config/index.js.map +1 -1
  248. package/dist/esm/config/instance-manager.d.ts +97 -0
  249. package/dist/esm/config/instance-manager.js +166 -0
  250. package/dist/esm/config/instance-manager.js.map +1 -0
  251. package/dist/esm/config/mapping.d.ts +63 -5
  252. package/dist/esm/config/mapping.js +165 -20
  253. package/dist/esm/config/mapping.js.map +1 -1
  254. package/dist/esm/config/sources/dw-json-source.d.ts +17 -1
  255. package/dist/esm/config/sources/dw-json-source.js +70 -3
  256. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  257. package/dist/esm/config/sources/package-json-source.js +6 -3
  258. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  259. package/dist/esm/config/types.d.ts +72 -0
  260. package/dist/esm/defaults.d.ts +6 -0
  261. package/dist/esm/defaults.js +6 -0
  262. package/dist/esm/defaults.js.map +1 -1
  263. package/dist/esm/i18n/index.js +3 -0
  264. package/dist/esm/i18n/index.js.map +1 -1
  265. package/dist/esm/index.d.ts +8 -4
  266. package/dist/esm/index.js +9 -3
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/logging/logger.js +13 -1
  269. package/dist/esm/logging/logger.js.map +1 -1
  270. package/dist/esm/operations/content/asset-query.d.ts +22 -0
  271. package/dist/esm/operations/content/asset-query.js +77 -0
  272. package/dist/esm/operations/content/asset-query.js.map +1 -0
  273. package/dist/esm/operations/content/export.d.ts +57 -0
  274. package/dist/esm/operations/content/export.js +224 -0
  275. package/dist/esm/operations/content/export.js.map +1 -0
  276. package/dist/esm/operations/content/index.d.ts +43 -0
  277. package/dist/esm/operations/content/index.js +48 -0
  278. package/dist/esm/operations/content/index.js.map +1 -0
  279. package/dist/esm/operations/content/library.d.ts +137 -0
  280. package/dist/esm/operations/content/library.js +392 -0
  281. package/dist/esm/operations/content/library.js.map +1 -0
  282. package/dist/esm/operations/content/types.d.ts +144 -0
  283. package/dist/esm/operations/content/types.js +7 -0
  284. package/dist/esm/operations/content/types.js.map +1 -0
  285. package/dist/esm/operations/mrt/b2c-config.js +19 -4
  286. package/dist/esm/operations/mrt/b2c-config.js.map +1 -1
  287. package/dist/esm/operations/mrt/index.d.ts +2 -0
  288. package/dist/esm/operations/mrt/index.js +2 -0
  289. package/dist/esm/operations/mrt/index.js.map +1 -1
  290. package/dist/esm/operations/mrt/tail-logs.d.ts +130 -0
  291. package/dist/esm/operations/mrt/tail-logs.js +223 -0
  292. package/dist/esm/operations/mrt/tail-logs.js.map +1 -0
  293. package/dist/esm/operations/ods/index.d.ts +2 -0
  294. package/dist/esm/operations/ods/index.js +1 -0
  295. package/dist/esm/operations/ods/index.js.map +1 -1
  296. package/dist/esm/operations/ods/wait-for-sandbox.d.ts +64 -0
  297. package/dist/esm/operations/ods/wait-for-sandbox.js +114 -0
  298. package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -0
  299. package/dist/esm/operations/orgs/index.d.ts +74 -0
  300. package/dist/esm/operations/orgs/index.js +33 -0
  301. package/dist/esm/operations/orgs/index.js.map +1 -0
  302. package/dist/esm/operations/roles/index.d.ts +43 -0
  303. package/dist/esm/operations/roles/index.js +48 -0
  304. package/dist/esm/operations/roles/index.js.map +1 -0
  305. package/dist/esm/operations/users/index.d.ts +143 -0
  306. package/dist/esm/operations/users/index.js +141 -0
  307. package/dist/esm/operations/users/index.js.map +1 -0
  308. package/dist/esm/scaffold/engine.d.ts +68 -0
  309. package/dist/esm/scaffold/engine.js +149 -0
  310. package/dist/esm/scaffold/engine.js.map +1 -0
  311. package/dist/esm/scaffold/executor.d.ts +36 -0
  312. package/dist/esm/scaffold/executor.js +285 -0
  313. package/dist/esm/scaffold/executor.js.map +1 -0
  314. package/dist/esm/scaffold/index.d.ts +74 -0
  315. package/dist/esm/scaffold/index.js +23 -0
  316. package/dist/esm/scaffold/index.js.map +1 -0
  317. package/dist/esm/scaffold/merge.d.ts +56 -0
  318. package/dist/esm/scaffold/merge.js +183 -0
  319. package/dist/esm/scaffold/merge.js.map +1 -0
  320. package/dist/esm/scaffold/parameter-resolver.d.ts +86 -0
  321. package/dist/esm/scaffold/parameter-resolver.js +179 -0
  322. package/dist/esm/scaffold/parameter-resolver.js.map +1 -0
  323. package/dist/esm/scaffold/registry.d.ts +45 -0
  324. package/dist/esm/scaffold/registry.js +219 -0
  325. package/dist/esm/scaffold/registry.js.map +1 -0
  326. package/dist/esm/scaffold/sources.d.ts +45 -0
  327. package/dist/esm/scaffold/sources.js +113 -0
  328. package/dist/esm/scaffold/sources.js.map +1 -0
  329. package/dist/esm/scaffold/types.d.ts +280 -0
  330. package/dist/esm/scaffold/types.js +14 -0
  331. package/dist/esm/scaffold/types.js.map +1 -0
  332. package/dist/esm/scaffold/validation.d.ts +81 -0
  333. package/dist/esm/scaffold/validation.js +250 -0
  334. package/dist/esm/scaffold/validation.js.map +1 -0
  335. package/dist/esm/scaffold/validators.d.ts +33 -0
  336. package/dist/esm/scaffold/validators.js +334 -0
  337. package/dist/esm/scaffold/validators.js.map +1 -0
  338. package/dist/esm/telemetry/index.d.ts +26 -0
  339. package/dist/esm/telemetry/index.js +32 -0
  340. package/dist/esm/telemetry/index.js.map +1 -0
  341. package/dist/esm/telemetry/telemetry.d.ts +90 -0
  342. package/dist/esm/telemetry/telemetry.js +283 -0
  343. package/dist/esm/telemetry/telemetry.js.map +1 -0
  344. package/dist/esm/telemetry/types.d.ts +62 -0
  345. package/dist/esm/telemetry/types.js +7 -0
  346. package/dist/esm/telemetry/types.js.map +1 -0
  347. package/package.json +86 -17
  348. package/specs/am-apiclients-api-v1.yaml +965 -0
  349. package/specs/am-roles-api-v1.yaml +316 -0
  350. package/specs/am-users-api-v1.yaml +1102 -0
@@ -0,0 +1,114 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { getLogger } from '../../logging/logger.js';
7
+ export class SandboxPollingTimeoutError extends Error {
8
+ sandboxId;
9
+ targetState;
10
+ timeoutSeconds;
11
+ lastState;
12
+ constructor(sandboxId, targetState, timeoutSeconds, lastState) {
13
+ super(`Timeout waiting for sandbox ${sandboxId} to reach state ${targetState} after ${timeoutSeconds} seconds${lastState ? ` (lastState=${lastState})` : ''}`);
14
+ this.sandboxId = sandboxId;
15
+ this.targetState = targetState;
16
+ this.timeoutSeconds = timeoutSeconds;
17
+ this.lastState = lastState;
18
+ this.name = 'SandboxPollingTimeoutError';
19
+ }
20
+ }
21
+ export class SandboxPollingError extends Error {
22
+ sandboxId;
23
+ message;
24
+ constructor(sandboxId, message) {
25
+ super(`Failed to fetch sandbox status for ${sandboxId}: ${message}`);
26
+ this.sandboxId = sandboxId;
27
+ this.message = message;
28
+ this.name = 'SandboxPollingError';
29
+ }
30
+ }
31
+ export class SandboxTerminalStateError extends Error {
32
+ sandboxId;
33
+ targetState;
34
+ state;
35
+ constructor(sandboxId, targetState, state) {
36
+ super(`Sandbox ${sandboxId} reached terminal state ${state} while waiting for ${targetState}`);
37
+ this.sandboxId = sandboxId;
38
+ this.targetState = targetState;
39
+ this.state = state;
40
+ this.name = 'SandboxTerminalStateError';
41
+ }
42
+ }
43
+ async function defaultSleep(ms) {
44
+ await new Promise((resolve) => {
45
+ setTimeout(resolve, ms);
46
+ });
47
+ }
48
+ /**
49
+ * Waits for a sandbox to reach a target state by polling its status.
50
+ *
51
+ * This function polls the ODS API at regular intervals until the sandbox reaches the desired state,
52
+ * times out, or enters a terminal error state (failed/deleted).
53
+ *
54
+ * @param client - ODS client for API calls
55
+ * @param options - Polling configuration options
56
+ * @param options.sandboxId - ID of the sandbox to monitor
57
+ * @param options.targetState - Desired sandbox state (e.g., 'started', 'stopped', 'deleted')
58
+ * @param options.pollIntervalSeconds - Seconds between status checks
59
+ * @param options.timeoutSeconds - Maximum seconds to wait (0 = no timeout)
60
+ * @param options.onPoll - Optional callback invoked on each poll with current state
61
+ * @param options.sleep - Optional custom sleep function (primarily for testing)
62
+ *
63
+ * @throws {SandboxPollingTimeoutError} If the timeout is exceeded before reaching target state
64
+ * @throws {SandboxPollingError} If the API request fails
65
+ * @throws {SandboxTerminalStateError} If the sandbox enters a terminal error state
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * await waitForSandbox(odsClient, {
70
+ * sandboxId: 'abc-123',
71
+ * targetState: 'started',
72
+ * pollIntervalSeconds: 5,
73
+ * timeoutSeconds: 300,
74
+ * onPoll: (info) => console.log(`State: ${info.state} (${info.elapsedSeconds}s)`),
75
+ * });
76
+ * ```
77
+ */
78
+ export async function waitForSandbox(client, options) {
79
+ const logger = getLogger();
80
+ const { sandboxId, targetState, pollIntervalSeconds, timeoutSeconds } = options;
81
+ const sleepFn = options.sleep ?? defaultSleep;
82
+ const startTime = Date.now();
83
+ const pollIntervalMs = pollIntervalSeconds * 1000;
84
+ const timeoutMs = timeoutSeconds * 1000;
85
+ await sleepFn(pollIntervalMs);
86
+ let lastState;
87
+ while (true) {
88
+ const elapsedSeconds = Math.round((Date.now() - startTime) / 1000);
89
+ if (timeoutSeconds > 0 && Date.now() - startTime > timeoutMs) {
90
+ throw new SandboxPollingTimeoutError(sandboxId, targetState, timeoutSeconds, lastState);
91
+ }
92
+ const result = await client.GET('/sandboxes/{sandboxId}', {
93
+ params: {
94
+ path: { sandboxId },
95
+ },
96
+ });
97
+ if (!result.data?.data) {
98
+ throw new SandboxPollingError(sandboxId, result.response?.statusText || 'Unknown error');
99
+ }
100
+ const sandbox = result.data.data;
101
+ const currentState = sandbox.state || 'unknown';
102
+ lastState = currentState;
103
+ logger.trace({ sandboxId, elapsedSeconds, state: currentState }, '[ODS] Sandbox poll');
104
+ options.onPoll?.({ sandboxId, elapsedSeconds, state: currentState });
105
+ if (currentState === targetState) {
106
+ return;
107
+ }
108
+ if (currentState === 'failed' || currentState === 'deleted') {
109
+ throw new SandboxTerminalStateError(sandboxId, targetState, currentState);
110
+ }
111
+ await sleepFn(pollIntervalMs);
112
+ }
113
+ }
114
+ //# sourceMappingURL=wait-for-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-sandbox.js","sourceRoot":"","sources":["../../../../src/operations/ods/wait-for-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Account Manager organization management operations.
3
+ *
4
+ * This module provides high-level functions for managing organizations in Account Manager,
5
+ * including retrieving organization details.
6
+ *
7
+ * ## Core Organization Functions
8
+ *
9
+ * - {@link getOrg} - Get organization details by ID
10
+ * - {@link getOrgByName} - Get organization details by name
11
+ * - {@link listOrgs} - List organizations with pagination
12
+ *
13
+ * ## Usage
14
+ *
15
+ * ```typescript
16
+ * import {
17
+ * getOrg,
18
+ * getOrgByName,
19
+ * listOrgs,
20
+ * } from '@salesforce/b2c-tooling-sdk/operations/orgs';
21
+ * import {createAccountManagerOrgsClient} from '@salesforce/b2c-tooling-sdk/clients';
22
+ * import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
23
+ *
24
+ * const auth = new OAuthStrategy({
25
+ * clientId: 'your-client-id',
26
+ * clientSecret: 'your-client-secret',
27
+ * });
28
+ *
29
+ * const client = createAccountManagerOrgsClient({}, auth);
30
+ *
31
+ * // Get an organization by ID
32
+ * const org = await getOrg(client, 'org-id');
33
+ *
34
+ * // Get an organization by name
35
+ * const org = await getOrgByName(client, 'My Organization');
36
+ *
37
+ * // List organizations
38
+ * const orgs = await listOrgs(client, {size: 25, page: 0});
39
+ * ```
40
+ *
41
+ * ## Authentication
42
+ *
43
+ * Organization operations require OAuth authentication with appropriate Account Manager permissions.
44
+ *
45
+ * @module operations/orgs
46
+ */
47
+ import type { AccountManagerOrgsClient, AccountManagerOrganization, OrganizationCollection, ListOrgsOptions } from '../../clients/am-api.js';
48
+ export type { AccountManagerOrganization, OrganizationCollection, ListOrgsOptions } from '../../clients/am-api.js';
49
+ /**
50
+ * Gets an organization by ID.
51
+ *
52
+ * @param client - Account Manager Organizations client
53
+ * @param orgId - Organization ID
54
+ * @returns Organization details
55
+ * @throws Error if organization is not found
56
+ */
57
+ export declare function getOrg(client: AccountManagerOrgsClient, orgId: string): Promise<AccountManagerOrganization>;
58
+ /**
59
+ * Gets an organization by name (searches for exact or partial match).
60
+ *
61
+ * @param client - Account Manager Organizations client
62
+ * @param name - Organization name
63
+ * @returns Organization details
64
+ * @throws Error if organization is not found or ambiguous
65
+ */
66
+ export declare function getOrgByName(client: AccountManagerOrgsClient, name: string): Promise<AccountManagerOrganization>;
67
+ /**
68
+ * Lists organizations with pagination.
69
+ *
70
+ * @param client - Account Manager Organizations client
71
+ * @param options - List options (size, page, all)
72
+ * @returns Organization collection
73
+ */
74
+ export declare function listOrgs(client: AccountManagerOrgsClient, options?: ListOrgsOptions): Promise<OrganizationCollection>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Gets an organization by ID.
3
+ *
4
+ * @param client - Account Manager Organizations client
5
+ * @param orgId - Organization ID
6
+ * @returns Organization details
7
+ * @throws Error if organization is not found
8
+ */
9
+ export async function getOrg(client, orgId) {
10
+ return client.getOrg(orgId);
11
+ }
12
+ /**
13
+ * Gets an organization by name (searches for exact or partial match).
14
+ *
15
+ * @param client - Account Manager Organizations client
16
+ * @param name - Organization name
17
+ * @returns Organization details
18
+ * @throws Error if organization is not found or ambiguous
19
+ */
20
+ export async function getOrgByName(client, name) {
21
+ return client.getOrgByName(name);
22
+ }
23
+ /**
24
+ * Lists organizations with pagination.
25
+ *
26
+ * @param client - Account Manager Organizations client
27
+ * @param options - List options (size, page, all)
28
+ * @returns Organization collection
29
+ */
30
+ export async function listOrgs(client, options) {
31
+ return client.listOrgs(options);
32
+ }
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/orgs/index.ts"],"names":[],"mappings":"AA6DA;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAgC,EAAE,KAAa;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAgC,EAChC,IAAY;IAEZ,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,OAAyB;IAEzB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Account Manager role management operations.
3
+ *
4
+ * This module provides high-level functions for retrieving role information
5
+ * in Account Manager, including listing roles and getting role details.
6
+ *
7
+ * ## Core Role Functions
8
+ *
9
+ * - {@link getRole} - Get role details by ID
10
+ * - {@link listRoles} - List roles with pagination
11
+ *
12
+ * ## Usage
13
+ *
14
+ * ```typescript
15
+ * import {getRole, listRoles} from '@salesforce/b2c-tooling-sdk/operations/roles';
16
+ * import {createAccountManagerRolesClient} from '@salesforce/b2c-tooling-sdk/clients';
17
+ * import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
18
+ *
19
+ * const auth = new OAuthStrategy({
20
+ * clientId: 'your-client-id',
21
+ * clientSecret: 'your-client-secret',
22
+ * });
23
+ *
24
+ * const client = createAccountManagerRolesClient({}, auth);
25
+ *
26
+ * // Get a role by ID
27
+ * const role = await getRole(client, 'bm-admin');
28
+ *
29
+ * // List roles
30
+ * const roles = await listRoles(client, {size: 25, page: 0});
31
+ *
32
+ * // List roles filtered by target type
33
+ * const userRoles = await listRoles(client, {size: 25, page: 0, roleTargetType: 'User'});
34
+ * ```
35
+ *
36
+ * ## Authentication
37
+ *
38
+ * Role operations require OAuth authentication with appropriate Account Manager permissions.
39
+ *
40
+ * @module operations/roles
41
+ */
42
+ export { getRole, listRoles } from '../../clients/am-api.js';
43
+ export type { AccountManagerRole, RoleCollection, ListRolesOptions } from '../../clients/am-api.js';
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /**
7
+ * Account Manager role management operations.
8
+ *
9
+ * This module provides high-level functions for retrieving role information
10
+ * in Account Manager, including listing roles and getting role details.
11
+ *
12
+ * ## Core Role Functions
13
+ *
14
+ * - {@link getRole} - Get role details by ID
15
+ * - {@link listRoles} - List roles with pagination
16
+ *
17
+ * ## Usage
18
+ *
19
+ * ```typescript
20
+ * import {getRole, listRoles} from '@salesforce/b2c-tooling-sdk/operations/roles';
21
+ * import {createAccountManagerRolesClient} from '@salesforce/b2c-tooling-sdk/clients';
22
+ * import {OAuthStrategy} from '@salesforce/b2c-tooling-sdk/auth';
23
+ *
24
+ * const auth = new OAuthStrategy({
25
+ * clientId: 'your-client-id',
26
+ * clientSecret: 'your-client-secret',
27
+ * });
28
+ *
29
+ * const client = createAccountManagerRolesClient({}, auth);
30
+ *
31
+ * // Get a role by ID
32
+ * const role = await getRole(client, 'bm-admin');
33
+ *
34
+ * // List roles
35
+ * const roles = await listRoles(client, {size: 25, page: 0});
36
+ *
37
+ * // List roles filtered by target type
38
+ * const userRoles = await listRoles(client, {size: 25, page: 0, roleTargetType: 'User'});
39
+ * ```
40
+ *
41
+ * ## Authentication
42
+ *
43
+ * Role operations require OAuth authentication with appropriate Account Manager permissions.
44
+ *
45
+ * @module operations/roles
46
+ */
47
+ export { getRole, listRoles } from '../../clients/am-api.js';
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/roles/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Account Manager user management operations.
3
+ *
4
+ * This module provides high-level functions for managing users in Account Manager,
5
+ * including CRUD operations, role management, and user lifecycle operations.
6
+ *
7
+ * ## Core User Functions
8
+ *
9
+ * - {@link getUser} - Get user details by ID
10
+ * - {@link getUserByLogin} - Get user details by login (email)
11
+ * - {@link listUsers} - List users with pagination
12
+ * - {@link createUser} - Create a new user
13
+ * - {@link updateUser} - Update an existing user
14
+ * - {@link deleteUser} - Disable a user (soft delete)
15
+ * - {@link purgeUser} - Purge a disabled user (hard delete)
16
+ * - {@link resetUser} - Reset a user to INITIAL state
17
+ *
18
+ * ## Usage
19
+ *
20
+ * ```typescript
21
+ * import {
22
+ * getUserByLogin,
23
+ * listUsers,
24
+ * createUser,
25
+ * grantRole,
26
+ * } from '@salesforce/b2c-tooling-sdk/operations/users';
27
+ * import { createAccountManagerUsersClient } from '@salesforce/b2c-tooling-sdk/clients';
28
+ * import { OAuthStrategy } from '@salesforce/b2c-tooling-sdk/auth';
29
+ *
30
+ * const auth = new OAuthStrategy({
31
+ * clientId: 'your-client-id',
32
+ * clientSecret: 'your-client-secret',
33
+ * });
34
+ *
35
+ * const client = createAccountManagerUsersClient({}, auth);
36
+ *
37
+ * // Get a user by login
38
+ * const user = await getUserByLogin(client, 'user@example.com');
39
+ *
40
+ * // List users
41
+ * const users = await listUsers(client, { size: 25, page: 0 });
42
+ *
43
+ * // Create a new user
44
+ * const newUser = await createUser(client, {
45
+ * mail: 'newuser@example.com',
46
+ * firstName: 'John',
47
+ * lastName: 'Doe',
48
+ * organizations: ['org-id'],
49
+ * primaryOrganization: 'org-id',
50
+ * });
51
+ * ```
52
+ *
53
+ * ## Authentication
54
+ *
55
+ * User operations require OAuth authentication with appropriate Account Manager permissions.
56
+ *
57
+ * @module operations/users
58
+ */
59
+ import type { AccountManagerUsersClient, AccountManagerUser, UserCreate, UserUpdate } from '../../clients/am-api.js';
60
+ import { getUser, listUsers, deleteUser, purgeUser, resetUser } from '../../clients/am-api.js';
61
+ /**
62
+ * Options for creating a user.
63
+ */
64
+ export interface CreateUserOptions {
65
+ /** User details */
66
+ user: UserCreate;
67
+ }
68
+ /**
69
+ * Options for updating a user.
70
+ */
71
+ export interface UpdateUserOptions {
72
+ /** User ID */
73
+ userId: string;
74
+ /** Changes to apply */
75
+ changes: UserUpdate;
76
+ }
77
+ /**
78
+ * Options for granting a role.
79
+ */
80
+ export interface GrantRoleOptions {
81
+ /** User ID */
82
+ userId: string;
83
+ /** Role to grant */
84
+ role: string;
85
+ /** Optional scope for the role (tenant IDs, comma-separated) */
86
+ scope?: string;
87
+ }
88
+ /**
89
+ * Options for revoking a role.
90
+ */
91
+ export interface RevokeRoleOptions {
92
+ /** User ID */
93
+ userId: string;
94
+ /** Role to revoke */
95
+ role: string;
96
+ /** Optional scope to remove (if not provided, removes entire role) */
97
+ scope?: string;
98
+ }
99
+ export { getUser, listUsers, deleteUser, purgeUser, resetUser };
100
+ /**
101
+ * Retrieves details of a user by login (email).
102
+ * This searches through paginated results to find the user.
103
+ *
104
+ * @param client - Account Manager client
105
+ * @param login - User login (email)
106
+ * @returns User details
107
+ * @throws Error if user is not found
108
+ */
109
+ export declare function getUserByLogin(client: AccountManagerUsersClient, login: string): Promise<AccountManagerUser>;
110
+ /**
111
+ * Creates a new user.
112
+ *
113
+ * @param client - Account Manager client
114
+ * @param options - Create options (user details)
115
+ * @returns Created user
116
+ */
117
+ export declare function createUser(client: AccountManagerUsersClient, options: CreateUserOptions): Promise<AccountManagerUser>;
118
+ /**
119
+ * Updates an existing user.
120
+ *
121
+ * @param client - Account Manager client
122
+ * @param options - Update options (userId, changes)
123
+ * @returns Updated user
124
+ */
125
+ export declare function updateUser(client: AccountManagerUsersClient, options: UpdateUserOptions): Promise<AccountManagerUser>;
126
+ /**
127
+ * Grants a role to a user, optionally with scope.
128
+ * This updates the user's roles and roleTenantFilter.
129
+ *
130
+ * @param client - Account Manager client
131
+ * @param options - Grant options (userId, role, optional scope)
132
+ * @returns Updated user
133
+ */
134
+ export declare function grantRole(client: AccountManagerUsersClient, options: GrantRoleOptions): Promise<AccountManagerUser>;
135
+ /**
136
+ * Revokes a role from a user, optionally removing specific scope.
137
+ *
138
+ * @param client - Account Manager client
139
+ * @param options - Revoke options (userId, role, optional scope)
140
+ * @returns Updated user
141
+ */
142
+ export declare function revokeRole(client: AccountManagerUsersClient, options: RevokeRoleOptions): Promise<AccountManagerUser>;
143
+ export type { AccountManagerUser, UserCreate, UserUpdate, UserCollection } from '../../clients/am-api.js';
@@ -0,0 +1,141 @@
1
+ import { getUser, listUsers, createUser as createUserApi, updateUser as updateUserApi, deleteUser, purgeUser, resetUser, findUserByLogin, } from '../../clients/am-api.js';
2
+ // Re-export primary API operations from client
3
+ export { getUser, listUsers, deleteUser, purgeUser, resetUser };
4
+ /**
5
+ * Retrieves details of a user by login (email).
6
+ * This searches through paginated results to find the user.
7
+ *
8
+ * @param client - Account Manager client
9
+ * @param login - User login (email)
10
+ * @returns User details
11
+ * @throws Error if user is not found
12
+ */
13
+ export async function getUserByLogin(client, login) {
14
+ const user = await findUserByLogin(client, login);
15
+ if (!user) {
16
+ throw new Error(`User ${login} not found`);
17
+ }
18
+ return user;
19
+ }
20
+ /**
21
+ * Creates a new user.
22
+ *
23
+ * @param client - Account Manager client
24
+ * @param options - Create options (user details)
25
+ * @returns Created user
26
+ */
27
+ export async function createUser(client, options) {
28
+ return createUserApi(client, options.user);
29
+ }
30
+ /**
31
+ * Updates an existing user.
32
+ *
33
+ * @param client - Account Manager client
34
+ * @param options - Update options (userId, changes)
35
+ * @returns Updated user
36
+ */
37
+ export async function updateUser(client, options) {
38
+ return updateUserApi(client, options.userId, options.changes);
39
+ }
40
+ /**
41
+ * Grants a role to a user, optionally with scope.
42
+ * This updates the user's roles and roleTenantFilter.
43
+ *
44
+ * @param client - Account Manager client
45
+ * @param options - Grant options (userId, role, optional scope)
46
+ * @returns Updated user
47
+ */
48
+ export async function grantRole(client, options) {
49
+ // First get the current user
50
+ const user = await getUser(client, options.userId);
51
+ // Build updated roles
52
+ const currentRoles = Array.isArray(user.roles)
53
+ ? user.roles.map((r) => (typeof r === 'string' ? r : r.roleEnumName || ''))
54
+ : [];
55
+ const updatedRoles = currentRoles.includes(options.role) ? currentRoles : [...currentRoles, options.role];
56
+ // Build updated roleTenantFilter
57
+ let roleTenantFilter = user.roleTenantFilter || '';
58
+ if (options.scope) {
59
+ const scopes = options.scope.split(',');
60
+ // Parse existing filter
61
+ const filters = roleTenantFilter.split(';').filter(Boolean);
62
+ const filterMap = new Map();
63
+ for (const filter of filters) {
64
+ const [role, tenants] = filter.split(':');
65
+ if (tenants) {
66
+ filterMap.set(role, tenants.split(','));
67
+ }
68
+ }
69
+ // Add new scopes
70
+ const existingScopes = filterMap.get(options.role) || [];
71
+ const allScopes = [...new Set([...existingScopes, ...scopes])];
72
+ filterMap.set(options.role, allScopes);
73
+ // Rebuild filter string
74
+ roleTenantFilter = Array.from(filterMap.entries())
75
+ .map(([role, tenants]) => `${role}:${tenants.join(',')}`)
76
+ .join(';');
77
+ }
78
+ return updateUser(client, {
79
+ userId: options.userId,
80
+ changes: {
81
+ roles: updatedRoles,
82
+ roleTenantFilter: roleTenantFilter || undefined,
83
+ },
84
+ });
85
+ }
86
+ /**
87
+ * Revokes a role from a user, optionally removing specific scope.
88
+ *
89
+ * @param client - Account Manager client
90
+ * @param options - Revoke options (userId, role, optional scope)
91
+ * @returns Updated user
92
+ */
93
+ export async function revokeRole(client, options) {
94
+ // First get the current user
95
+ const user = await getUser(client, options.userId);
96
+ // Build updated roles
97
+ const currentRoles = Array.isArray(user.roles)
98
+ ? user.roles.map((r) => (typeof r === 'string' ? r : r.roleEnumName || ''))
99
+ : [];
100
+ let updatedRoles = currentRoles;
101
+ // Build updated roleTenantFilter
102
+ let roleTenantFilter = user.roleTenantFilter || '';
103
+ if (!options.scope) {
104
+ // Remove entire role
105
+ updatedRoles = currentRoles.filter((r) => r !== options.role);
106
+ // Remove all scopes for this role
107
+ const filters = roleTenantFilter.split(';').filter(Boolean);
108
+ roleTenantFilter = filters.filter((f) => !f.startsWith(`${options.role}:`)).join(';');
109
+ }
110
+ else {
111
+ // Remove specific scope
112
+ const scopes = options.scope.split(',');
113
+ const filters = roleTenantFilter.split(';').filter(Boolean);
114
+ const filterMap = new Map();
115
+ for (const filter of filters) {
116
+ const [role, tenants] = filter.split(':');
117
+ if (tenants) {
118
+ filterMap.set(role, tenants.split(','));
119
+ }
120
+ }
121
+ const existingScopes = filterMap.get(options.role) || [];
122
+ const updatedScopes = existingScopes.filter((s) => !scopes.includes(s));
123
+ if (updatedScopes.length > 0) {
124
+ filterMap.set(options.role, updatedScopes);
125
+ }
126
+ else {
127
+ filterMap.delete(options.role);
128
+ }
129
+ roleTenantFilter = Array.from(filterMap.entries())
130
+ .map(([role, tenants]) => `${role}:${tenants.join(',')}`)
131
+ .join(';');
132
+ }
133
+ return updateUser(client, {
134
+ userId: options.userId,
135
+ changes: {
136
+ roles: updatedRoles.length > 0 ? updatedRoles : undefined,
137
+ roleTenantFilter: roleTenantFilter || undefined,
138
+ },
139
+ });
140
+ }
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/users/index.ts"],"names":[],"mappings":"AAgEA,OAAO,EACL,OAAO,EACP,SAAS,EACT,UAAU,IAAI,aAAa,EAC3B,UAAU,IAAI,aAAa,EAC3B,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,GAChB,MAAM,yBAAyB,CAAC;AA4CjC,+CAA+C;AAC/C,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAiC,EAAE,KAAa;IACnF,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiC,EACjC,OAA0B;IAE1B,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiC,EACjC,OAA0B;IAE1B,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiC,EACjC,OAAyB;IAEzB,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1G,iCAAiC;IACjC,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,wBAAwB;QACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,iBAAiB;QACjB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvC,wBAAwB;QACxB,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;SAChD;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiC,EACjC,OAA0B;IAE1B,6BAA6B;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnD,sBAAsB;IACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,iCAAiC;IACjC,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,qBAAqB;QACrB,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,kCAAkC;QAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE;YACP,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACzD,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;SAChD;KACF,CAAC,CAAC;AACL,CAAC"}