@itwin/access-control-client 3.7.0 → 4.1.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 (309) hide show
  1. package/CHANGELOG.md +124 -25
  2. package/README.md +147 -669
  3. package/lib/cjs/AccessControlClient.d.ts +26 -9
  4. package/lib/cjs/AccessControlClient.d.ts.map +1 -1
  5. package/lib/cjs/AccessControlClient.js +21 -5
  6. package/lib/cjs/AccessControlClient.js.map +1 -1
  7. package/lib/cjs/access-control-client.d.ts +30 -1
  8. package/lib/cjs/access-control-client.d.ts.map +1 -1
  9. package/lib/cjs/access-control-client.js +42 -6
  10. package/lib/cjs/access-control-client.js.map +1 -1
  11. package/lib/cjs/accessControlClientInterfaces/GroupClient.d.ts +19 -0
  12. package/lib/cjs/accessControlClientInterfaces/GroupClient.d.ts.map +1 -0
  13. package/lib/cjs/accessControlClientInterfaces/GroupClient.js +7 -0
  14. package/lib/cjs/accessControlClientInterfaces/GroupClient.js.map +1 -0
  15. package/lib/cjs/accessControlClientInterfaces/GroupMemberInvitationClient.d.ts +15 -0
  16. package/lib/cjs/accessControlClientInterfaces/GroupMemberInvitationClient.d.ts.map +1 -0
  17. package/lib/cjs/accessControlClientInterfaces/GroupMemberInvitationClient.js +7 -0
  18. package/lib/cjs/accessControlClientInterfaces/GroupMemberInvitationClient.js.map +1 -0
  19. package/lib/cjs/accessControlClientInterfaces/GroupMembersClient.d.ts +19 -0
  20. package/lib/cjs/accessControlClientInterfaces/GroupMembersClient.d.ts.map +1 -0
  21. package/lib/cjs/accessControlClientInterfaces/GroupMembersClient.js +7 -0
  22. package/lib/cjs/accessControlClientInterfaces/GroupMembersClient.js.map +1 -0
  23. package/lib/cjs/accessControlClientInterfaces/ITwinJobsClient.d.ts +12 -0
  24. package/lib/cjs/accessControlClientInterfaces/ITwinJobsClient.d.ts.map +1 -0
  25. package/lib/cjs/accessControlClientInterfaces/ITwinJobsClient.js +7 -0
  26. package/lib/cjs/accessControlClientInterfaces/ITwinJobsClient.js.map +1 -0
  27. package/lib/cjs/accessControlClientInterfaces/ItwinSharesClient.d.ts +25 -0
  28. package/lib/cjs/accessControlClientInterfaces/ItwinSharesClient.d.ts.map +1 -0
  29. package/lib/cjs/accessControlClientInterfaces/ItwinSharesClient.js +7 -0
  30. package/lib/cjs/accessControlClientInterfaces/ItwinSharesClient.js.map +1 -0
  31. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.d.ts +12 -0
  32. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.d.ts.map +1 -0
  33. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.js +7 -0
  34. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.js.map +1 -0
  35. package/lib/cjs/accessControlClientInterfaces/OwnerMembersClient .d.ts +13 -0
  36. package/lib/cjs/accessControlClientInterfaces/OwnerMembersClient .d.ts.map +1 -0
  37. package/lib/cjs/accessControlClientInterfaces/OwnerMembersClient .js +7 -0
  38. package/lib/cjs/accessControlClientInterfaces/OwnerMembersClient .js.map +1 -0
  39. package/lib/cjs/accessControlClientInterfaces/PermissionsClient.d.ts +10 -0
  40. package/lib/cjs/accessControlClientInterfaces/PermissionsClient.d.ts.map +1 -0
  41. package/lib/cjs/accessControlClientInterfaces/PermissionsClient.js +7 -0
  42. package/lib/cjs/accessControlClientInterfaces/PermissionsClient.js.map +1 -0
  43. package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts +16 -0
  44. package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts.map +1 -0
  45. package/lib/cjs/accessControlClientInterfaces/RolesClient.js +7 -0
  46. package/lib/cjs/accessControlClientInterfaces/RolesClient.js.map +1 -0
  47. package/lib/cjs/accessControlClientInterfaces/UserMembersClient.d.ts +16 -0
  48. package/lib/cjs/accessControlClientInterfaces/UserMembersClient.d.ts.map +1 -0
  49. package/lib/cjs/accessControlClientInterfaces/UserMembersClient.js +7 -0
  50. package/lib/cjs/accessControlClientInterfaces/UserMembersClient.js.map +1 -0
  51. package/lib/cjs/accessControlClientInterfaces/accessControl.d.ts +23 -0
  52. package/lib/cjs/accessControlClientInterfaces/accessControl.d.ts.map +1 -0
  53. package/lib/cjs/accessControlClientInterfaces/accessControl.js +7 -0
  54. package/lib/cjs/accessControlClientInterfaces/accessControl.js.map +1 -0
  55. package/lib/cjs/subClients/BaseClient.d.ts +88 -29
  56. package/lib/cjs/subClients/BaseClient.d.ts.map +1 -1
  57. package/lib/cjs/subClients/BaseClient.js +165 -40
  58. package/lib/cjs/subClients/BaseClient.js.map +1 -1
  59. package/lib/cjs/subClients/GroupMemberInvitationsClient.d.ts +33 -0
  60. package/lib/cjs/subClients/GroupMemberInvitationsClient.d.ts.map +1 -0
  61. package/lib/cjs/subClients/GroupMemberInvitationsClient.js +48 -0
  62. package/lib/cjs/subClients/GroupMemberInvitationsClient.js.map +1 -0
  63. package/lib/cjs/subClients/GroupMembersClient.d.ts +16 -6
  64. package/lib/cjs/subClients/GroupMembersClient.d.ts.map +1 -1
  65. package/lib/cjs/subClients/GroupMembersClient.js +22 -13
  66. package/lib/cjs/subClients/GroupMembersClient.js.map +1 -1
  67. package/lib/cjs/subClients/GroupsClient.d.ts +18 -10
  68. package/lib/cjs/subClients/GroupsClient.d.ts.map +1 -1
  69. package/lib/cjs/subClients/GroupsClient.js +27 -12
  70. package/lib/cjs/subClients/GroupsClient.js.map +1 -1
  71. package/lib/cjs/subClients/ITwinJobsClient.d.ts +12 -5
  72. package/lib/cjs/subClients/ITwinJobsClient.d.ts.map +1 -1
  73. package/lib/cjs/subClients/ITwinJobsClient.js +15 -3
  74. package/lib/cjs/subClients/ITwinJobsClient.js.map +1 -1
  75. package/lib/cjs/subClients/ItwinShares.d.ts +61 -0
  76. package/lib/cjs/subClients/ItwinShares.d.ts.map +1 -0
  77. package/lib/cjs/subClients/ItwinShares.js +77 -0
  78. package/lib/cjs/subClients/ItwinShares.js.map +1 -0
  79. package/lib/cjs/subClients/MemberInvitationsClient.d.ts +23 -3
  80. package/lib/cjs/subClients/MemberInvitationsClient.d.ts.map +1 -1
  81. package/lib/cjs/subClients/MemberInvitationsClient.js +32 -7
  82. package/lib/cjs/subClients/MemberInvitationsClient.js.map +1 -1
  83. package/lib/cjs/subClients/OwnerMembersClient.d.ts +45 -6
  84. package/lib/cjs/subClients/OwnerMembersClient.d.ts.map +1 -1
  85. package/lib/cjs/subClients/OwnerMembersClient.js +50 -10
  86. package/lib/cjs/subClients/OwnerMembersClient.js.map +1 -1
  87. package/lib/cjs/subClients/PermissionsClient.d.ts +10 -3
  88. package/lib/cjs/subClients/PermissionsClient.d.ts.map +1 -1
  89. package/lib/cjs/subClients/PermissionsClient.js +14 -2
  90. package/lib/cjs/subClients/PermissionsClient.js.map +1 -1
  91. package/lib/cjs/subClients/RolesClient.d.ts +13 -8
  92. package/lib/cjs/subClients/RolesClient.d.ts.map +1 -1
  93. package/lib/cjs/subClients/RolesClient.js +18 -6
  94. package/lib/cjs/subClients/RolesClient.js.map +1 -1
  95. package/lib/cjs/subClients/UserMembersClient.d.ts +13 -6
  96. package/lib/cjs/subClients/UserMembersClient.d.ts.map +1 -1
  97. package/lib/cjs/subClients/UserMembersClient.js +21 -9
  98. package/lib/cjs/subClients/UserMembersClient.js.map +1 -1
  99. package/lib/cjs/types/CommonApiTypes.d.ts +78 -0
  100. package/lib/cjs/types/CommonApiTypes.d.ts.map +1 -0
  101. package/lib/cjs/types/CommonApiTypes.js +7 -0
  102. package/lib/cjs/types/CommonApiTypes.js.map +1 -0
  103. package/lib/cjs/types/GroupMember.d.ts +75 -0
  104. package/lib/cjs/types/GroupMember.d.ts.map +1 -0
  105. package/lib/cjs/types/GroupMember.js +7 -0
  106. package/lib/cjs/types/GroupMember.js.map +1 -0
  107. package/lib/cjs/types/Groups.d.ts +83 -0
  108. package/lib/cjs/types/Groups.d.ts.map +1 -0
  109. package/lib/cjs/types/Groups.js +7 -0
  110. package/lib/cjs/types/Groups.js.map +1 -0
  111. package/lib/cjs/types/ITwinJob.d.ts +70 -0
  112. package/lib/cjs/types/ITwinJob.d.ts.map +1 -0
  113. package/lib/cjs/types/ITwinJob.js +7 -0
  114. package/lib/cjs/types/ITwinJob.js.map +1 -0
  115. package/lib/cjs/types/Invitations.d.ts +146 -0
  116. package/lib/cjs/types/Invitations.d.ts.map +1 -0
  117. package/lib/cjs/types/Invitations.js +7 -0
  118. package/lib/cjs/types/Invitations.js.map +1 -0
  119. package/lib/cjs/types/Members.d.ts +71 -0
  120. package/lib/cjs/types/Members.d.ts.map +1 -0
  121. package/lib/cjs/types/Members.js +7 -0
  122. package/lib/cjs/types/Members.js.map +1 -0
  123. package/lib/cjs/types/OwnerMember.d.ts +105 -0
  124. package/lib/cjs/types/OwnerMember.d.ts.map +1 -0
  125. package/lib/cjs/types/OwnerMember.js +7 -0
  126. package/lib/cjs/types/OwnerMember.js.map +1 -0
  127. package/lib/cjs/types/Permission.d.ts +5 -0
  128. package/lib/cjs/types/Permission.d.ts.map +1 -0
  129. package/lib/cjs/types/Permission.js +7 -0
  130. package/lib/cjs/types/Permission.js.map +1 -0
  131. package/lib/cjs/types/Role.d.ts +33 -0
  132. package/lib/cjs/types/Role.d.ts.map +1 -0
  133. package/lib/cjs/types/Role.js +7 -0
  134. package/lib/cjs/types/Role.js.map +1 -0
  135. package/lib/cjs/types/ShareContract.d.ts +80 -0
  136. package/lib/cjs/types/ShareContract.d.ts.map +1 -0
  137. package/lib/cjs/types/ShareContract.js +7 -0
  138. package/lib/cjs/types/ShareContract.js.map +1 -0
  139. package/lib/cjs/types/UserMembers.d.ts +115 -0
  140. package/lib/cjs/types/UserMembers.d.ts.map +1 -0
  141. package/lib/cjs/types/UserMembers.js +7 -0
  142. package/lib/cjs/types/UserMembers.js.map +1 -0
  143. package/lib/cjs/types/links.d.ts +20 -0
  144. package/lib/cjs/types/links.d.ts.map +1 -0
  145. package/lib/cjs/types/links.js +7 -0
  146. package/lib/cjs/types/links.js.map +1 -0
  147. package/lib/cjs/types/typeUtils.d.ts +42 -0
  148. package/lib/cjs/types/typeUtils.d.ts.map +1 -0
  149. package/lib/cjs/types/typeUtils.js +25 -0
  150. package/lib/cjs/types/typeUtils.js.map +1 -0
  151. package/lib/esm/AccessControlClient.d.ts +26 -9
  152. package/lib/esm/AccessControlClient.d.ts.map +1 -1
  153. package/lib/esm/AccessControlClient.js +31 -5
  154. package/lib/esm/AccessControlClient.js.map +1 -1
  155. package/lib/esm/access-control-client.d.ts +30 -1
  156. package/lib/esm/access-control-client.d.ts.map +1 -1
  157. package/lib/esm/access-control-client.js +33 -1
  158. package/lib/esm/access-control-client.js.map +1 -1
  159. package/lib/esm/accessControlClientInterfaces/GroupClient.d.ts +19 -0
  160. package/lib/esm/accessControlClientInterfaces/GroupClient.d.ts.map +1 -0
  161. package/lib/esm/accessControlClientInterfaces/GroupClient.js +6 -0
  162. package/lib/esm/accessControlClientInterfaces/GroupClient.js.map +1 -0
  163. package/lib/esm/accessControlClientInterfaces/GroupMemberInvitationClient.d.ts +15 -0
  164. package/lib/esm/accessControlClientInterfaces/GroupMemberInvitationClient.d.ts.map +1 -0
  165. package/lib/esm/accessControlClientInterfaces/GroupMemberInvitationClient.js +6 -0
  166. package/lib/esm/accessControlClientInterfaces/GroupMemberInvitationClient.js.map +1 -0
  167. package/lib/esm/accessControlClientInterfaces/GroupMembersClient.d.ts +19 -0
  168. package/lib/esm/accessControlClientInterfaces/GroupMembersClient.d.ts.map +1 -0
  169. package/lib/esm/accessControlClientInterfaces/GroupMembersClient.js +6 -0
  170. package/lib/esm/accessControlClientInterfaces/GroupMembersClient.js.map +1 -0
  171. package/lib/esm/accessControlClientInterfaces/ITwinJobsClient.d.ts +12 -0
  172. package/lib/esm/accessControlClientInterfaces/ITwinJobsClient.d.ts.map +1 -0
  173. package/lib/esm/accessControlClientInterfaces/ITwinJobsClient.js +6 -0
  174. package/lib/esm/accessControlClientInterfaces/ITwinJobsClient.js.map +1 -0
  175. package/lib/esm/accessControlClientInterfaces/ItwinSharesClient.d.ts +25 -0
  176. package/lib/esm/accessControlClientInterfaces/ItwinSharesClient.d.ts.map +1 -0
  177. package/lib/esm/accessControlClientInterfaces/ItwinSharesClient.js +6 -0
  178. package/lib/esm/accessControlClientInterfaces/ItwinSharesClient.js.map +1 -0
  179. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.d.ts +12 -0
  180. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.d.ts.map +1 -0
  181. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.js +6 -0
  182. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.js.map +1 -0
  183. package/lib/esm/accessControlClientInterfaces/OwnerMembersClient .d.ts +13 -0
  184. package/lib/esm/accessControlClientInterfaces/OwnerMembersClient .d.ts.map +1 -0
  185. package/lib/esm/accessControlClientInterfaces/OwnerMembersClient .js +6 -0
  186. package/lib/esm/accessControlClientInterfaces/OwnerMembersClient .js.map +1 -0
  187. package/lib/esm/accessControlClientInterfaces/PermissionsClient.d.ts +10 -0
  188. package/lib/esm/accessControlClientInterfaces/PermissionsClient.d.ts.map +1 -0
  189. package/lib/esm/accessControlClientInterfaces/PermissionsClient.js +6 -0
  190. package/lib/esm/accessControlClientInterfaces/PermissionsClient.js.map +1 -0
  191. package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts +16 -0
  192. package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts.map +1 -0
  193. package/lib/esm/accessControlClientInterfaces/RolesClient.js +6 -0
  194. package/lib/esm/accessControlClientInterfaces/RolesClient.js.map +1 -0
  195. package/lib/esm/accessControlClientInterfaces/UserMembersClient.d.ts +16 -0
  196. package/lib/esm/accessControlClientInterfaces/UserMembersClient.d.ts.map +1 -0
  197. package/lib/esm/accessControlClientInterfaces/UserMembersClient.js +6 -0
  198. package/lib/esm/accessControlClientInterfaces/UserMembersClient.js.map +1 -0
  199. package/lib/esm/accessControlClientInterfaces/accessControl.d.ts +23 -0
  200. package/lib/esm/accessControlClientInterfaces/accessControl.d.ts.map +1 -0
  201. package/lib/esm/accessControlClientInterfaces/accessControl.js +6 -0
  202. package/lib/esm/accessControlClientInterfaces/accessControl.js.map +1 -0
  203. package/lib/esm/subClients/BaseClient.d.ts +88 -29
  204. package/lib/esm/subClients/BaseClient.d.ts.map +1 -1
  205. package/lib/esm/subClients/BaseClient.js +166 -41
  206. package/lib/esm/subClients/BaseClient.js.map +1 -1
  207. package/lib/esm/subClients/GroupMemberInvitationsClient.d.ts +33 -0
  208. package/lib/esm/subClients/GroupMemberInvitationsClient.d.ts.map +1 -0
  209. package/lib/esm/subClients/GroupMemberInvitationsClient.js +44 -0
  210. package/lib/esm/subClients/GroupMemberInvitationsClient.js.map +1 -0
  211. package/lib/esm/subClients/GroupMembersClient.d.ts +16 -6
  212. package/lib/esm/subClients/GroupMembersClient.d.ts.map +1 -1
  213. package/lib/esm/subClients/GroupMembersClient.js +22 -13
  214. package/lib/esm/subClients/GroupMembersClient.js.map +1 -1
  215. package/lib/esm/subClients/GroupsClient.d.ts +18 -10
  216. package/lib/esm/subClients/GroupsClient.d.ts.map +1 -1
  217. package/lib/esm/subClients/GroupsClient.js +27 -12
  218. package/lib/esm/subClients/GroupsClient.js.map +1 -1
  219. package/lib/esm/subClients/ITwinJobsClient.d.ts +12 -5
  220. package/lib/esm/subClients/ITwinJobsClient.d.ts.map +1 -1
  221. package/lib/esm/subClients/ITwinJobsClient.js +15 -3
  222. package/lib/esm/subClients/ITwinJobsClient.js.map +1 -1
  223. package/lib/esm/subClients/ItwinShares.d.ts +61 -0
  224. package/lib/esm/subClients/ItwinShares.d.ts.map +1 -0
  225. package/lib/esm/subClients/ItwinShares.js +73 -0
  226. package/lib/esm/subClients/ItwinShares.js.map +1 -0
  227. package/lib/esm/subClients/MemberInvitationsClient.d.ts +23 -3
  228. package/lib/esm/subClients/MemberInvitationsClient.d.ts.map +1 -1
  229. package/lib/esm/subClients/MemberInvitationsClient.js +32 -7
  230. package/lib/esm/subClients/MemberInvitationsClient.js.map +1 -1
  231. package/lib/esm/subClients/OwnerMembersClient.d.ts +45 -6
  232. package/lib/esm/subClients/OwnerMembersClient.d.ts.map +1 -1
  233. package/lib/esm/subClients/OwnerMembersClient.js +50 -10
  234. package/lib/esm/subClients/OwnerMembersClient.js.map +1 -1
  235. package/lib/esm/subClients/PermissionsClient.d.ts +10 -3
  236. package/lib/esm/subClients/PermissionsClient.d.ts.map +1 -1
  237. package/lib/esm/subClients/PermissionsClient.js +14 -2
  238. package/lib/esm/subClients/PermissionsClient.js.map +1 -1
  239. package/lib/esm/subClients/RolesClient.d.ts +13 -8
  240. package/lib/esm/subClients/RolesClient.d.ts.map +1 -1
  241. package/lib/esm/subClients/RolesClient.js +18 -6
  242. package/lib/esm/subClients/RolesClient.js.map +1 -1
  243. package/lib/esm/subClients/UserMembersClient.d.ts +13 -6
  244. package/lib/esm/subClients/UserMembersClient.d.ts.map +1 -1
  245. package/lib/esm/subClients/UserMembersClient.js +21 -9
  246. package/lib/esm/subClients/UserMembersClient.js.map +1 -1
  247. package/lib/esm/types/CommonApiTypes.d.ts +78 -0
  248. package/lib/esm/types/CommonApiTypes.d.ts.map +1 -0
  249. package/lib/esm/types/CommonApiTypes.js +6 -0
  250. package/lib/esm/types/CommonApiTypes.js.map +1 -0
  251. package/lib/esm/types/GroupMember.d.ts +75 -0
  252. package/lib/esm/types/GroupMember.d.ts.map +1 -0
  253. package/lib/esm/types/GroupMember.js +6 -0
  254. package/lib/esm/types/GroupMember.js.map +1 -0
  255. package/lib/esm/types/Groups.d.ts +83 -0
  256. package/lib/esm/types/Groups.d.ts.map +1 -0
  257. package/lib/esm/types/Groups.js +6 -0
  258. package/lib/esm/types/Groups.js.map +1 -0
  259. package/lib/esm/types/ITwinJob.d.ts +70 -0
  260. package/lib/esm/types/ITwinJob.d.ts.map +1 -0
  261. package/lib/esm/types/ITwinJob.js +6 -0
  262. package/lib/esm/types/ITwinJob.js.map +1 -0
  263. package/lib/esm/types/Invitations.d.ts +146 -0
  264. package/lib/esm/types/Invitations.d.ts.map +1 -0
  265. package/lib/esm/types/Invitations.js +6 -0
  266. package/lib/esm/types/Invitations.js.map +1 -0
  267. package/lib/esm/types/Members.d.ts +71 -0
  268. package/lib/esm/types/Members.d.ts.map +1 -0
  269. package/lib/esm/types/Members.js +6 -0
  270. package/lib/esm/types/Members.js.map +1 -0
  271. package/lib/esm/types/OwnerMember.d.ts +105 -0
  272. package/lib/esm/types/OwnerMember.d.ts.map +1 -0
  273. package/lib/esm/types/OwnerMember.js +6 -0
  274. package/lib/esm/types/OwnerMember.js.map +1 -0
  275. package/lib/esm/types/Permission.d.ts +5 -0
  276. package/lib/esm/types/Permission.d.ts.map +1 -0
  277. package/lib/esm/types/Permission.js +6 -0
  278. package/lib/esm/types/Permission.js.map +1 -0
  279. package/lib/esm/types/Role.d.ts +33 -0
  280. package/lib/esm/types/Role.d.ts.map +1 -0
  281. package/lib/esm/types/Role.js +6 -0
  282. package/lib/esm/types/Role.js.map +1 -0
  283. package/lib/esm/types/ShareContract.d.ts +80 -0
  284. package/lib/esm/types/ShareContract.d.ts.map +1 -0
  285. package/lib/esm/types/ShareContract.js +6 -0
  286. package/lib/esm/types/ShareContract.js.map +1 -0
  287. package/lib/esm/types/UserMembers.d.ts +115 -0
  288. package/lib/esm/types/UserMembers.d.ts.map +1 -0
  289. package/lib/esm/types/UserMembers.js +6 -0
  290. package/lib/esm/types/UserMembers.js.map +1 -0
  291. package/lib/esm/types/links.d.ts +20 -0
  292. package/lib/esm/types/links.d.ts.map +1 -0
  293. package/lib/esm/types/links.js +6 -0
  294. package/lib/esm/types/links.js.map +1 -0
  295. package/lib/esm/types/typeUtils.d.ts +42 -0
  296. package/lib/esm/types/typeUtils.d.ts.map +1 -0
  297. package/lib/esm/types/typeUtils.js +22 -0
  298. package/lib/esm/types/typeUtils.js.map +1 -0
  299. package/package.json +59 -45
  300. package/CONTRIBUTING.md +0 -90
  301. package/GETTINGSTARTED.md +0 -35
  302. package/lib/cjs/accessControlTypes.d.ts +0 -229
  303. package/lib/cjs/accessControlTypes.d.ts.map +0 -1
  304. package/lib/cjs/accessControlTypes.js +0 -25
  305. package/lib/cjs/accessControlTypes.js.map +0 -1
  306. package/lib/esm/accessControlTypes.d.ts +0 -229
  307. package/lib/esm/accessControlTypes.d.ts.map +0 -1
  308. package/lib/esm/accessControlTypes.js +0 -22
  309. package/lib/esm/accessControlTypes.js.map +0 -1
@@ -2,37 +2,47 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, AccessControlQueryArg, AddGroupMember, GroupMember, IGroupMembersClient } from "../accessControlTypes";
5
+ import type { IGroupMembersClient } from "../accessControlClientInterfaces/GroupMembersClient";
6
+ import type { BentleyAPIResponse, ODataQueryParams } from "../types/CommonApiTypes";
7
+ import type { GroupMemberAssignment, MultipleGroupMembersResponse, SingleGroupMemberResponse } from "../types/GroupMember";
8
+ import type { Links } from "../types/links";
6
9
  import { BaseClient } from "./BaseClient";
10
+ /** Client API to perform iTwin group members operations.
11
+ */
7
12
  export declare class GroupMembersClient extends BaseClient implements IGroupMembersClient {
13
+ /** Create a new GroupMembersClient instance
14
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
15
+ */
8
16
  constructor(url?: string);
9
17
  /** Retrieves a list of iTwin group members and their roles assignments.
10
18
  * @param accessToken The client access token string
11
19
  * @param iTwinId The id of the iTwin
12
20
  * @returns Array of members
13
21
  */
14
- queryITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<GroupMember[]>>;
22
+ queryITwinGroupMembers(accessToken: AccessToken, iTwinId: string, arg?: Pick<ODataQueryParams, "top" | "skip">): Promise<BentleyAPIResponse<MultipleGroupMembersResponse & {
23
+ _links: Links;
24
+ }>>;
15
25
  /** Retrieves a specific group member for a specified iTwin.
16
26
  * @param accessToken The client access token string
17
27
  * @param iTwinId The id of the iTwin
18
28
  * @param memberId The id of the member
19
29
  * @returns Member
20
30
  */
21
- getITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<GroupMember>>;
31
+ getITwinGroupMember(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<BentleyAPIResponse<SingleGroupMemberResponse>>;
22
32
  /** Add new iTwin group members
23
33
  * @param accessToken The client access token string
24
34
  * @param iTwinId The id of the iTwin
25
35
  * @param newMembers The list of new members to be added along with their role
26
36
  * @returns Member[]
27
37
  */
28
- addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddGroupMember[]): Promise<AccessControlAPIResponse<GroupMember[]>>;
38
+ addITwinGroupMembers(accessToken: AccessToken, iTwinId: string, newMembers: GroupMemberAssignment): Promise<BentleyAPIResponse<MultipleGroupMembersResponse>>;
29
39
  /** Remove the specified group member from the iTwin
30
40
  * @param accessToken The client access token string
31
41
  * @param iTwinId The id of the iTwin
32
42
  * @param memberId The id of the member
33
43
  * @returns No Content
34
44
  */
35
- removeITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
45
+ removeITwinGroupMember(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<BentleyAPIResponse<undefined>>;
36
46
  /** Update iTwin group member roles
37
47
  * @param accessToken The client access token string
38
48
  * @param iTwinId The id of the iTwin
@@ -40,6 +50,6 @@ export declare class GroupMembersClient extends BaseClient implements IGroupMemb
40
50
  * @param roleIds The ids of the roles to be assigned
41
51
  * @returns Member
42
52
  */
43
- updateITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string, roleIds: string[]): Promise<AccessControlAPIResponse<GroupMember>>;
53
+ updateITwinGroupMember(accessToken: AccessToken, iTwinId: string, memberId: string, roleIds: string[]): Promise<BentleyAPIResponse<SingleGroupMemberResponse>>;
44
54
  }
45
55
  //# sourceMappingURL=GroupMembersClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAWjD;;;;;OAKG;IACU,yBAAyB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAcnD;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;OAMG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;CAalD"}
1
+ {"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC3H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;IAC9B;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,4BAA4B,GAC1D;QAEA,MAAM,EAAE,KAAK,CAAA;KACZ,CACA,CAAC;IAeF;;;;;OAKG;IACU,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;IAUzD;;;;;OAKG;IACU,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;IAU5D;;;;;OAKG;IACU,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;OAMG;IACU,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;CAY1D"}
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module AccessControlClient
8
+ */
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
10
  exports.GroupMembersClient = void 0;
4
11
  const BaseClient_1 = require("./BaseClient");
12
+ /** Client API to perform iTwin group members operations.
13
+ */
5
14
  class GroupMembersClient extends BaseClient_1.BaseClient {
15
+ /** Create a new GroupMembersClient instance
16
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
17
+ */
6
18
  constructor(url) {
7
19
  super(url);
8
20
  }
@@ -11,12 +23,12 @@ class GroupMembersClient extends BaseClient_1.BaseClient {
11
23
  * @param iTwinId The id of the iTwin
12
24
  * @returns Array of members
13
25
  */
14
- async queryITwinGroupMembersAsync(accessToken, iTwinId, arg) {
26
+ async queryITwinGroupMembers(accessToken, iTwinId, arg) {
15
27
  let url = `${this._baseUrl}/${iTwinId}/members/groups`;
16
28
  if (arg) {
17
- url += `?${this.getQueryString(arg)}`;
29
+ url += `?${this.getQueryString(GroupMembersClient.paginationParamMapping, { top: arg.top, skip: arg.skip })}`;
18
30
  }
19
- return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "members"); // TODO: Consider how to handle paging
31
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined);
20
32
  }
21
33
  /** Retrieves a specific group member for a specified iTwin.
22
34
  * @param accessToken The client access token string
@@ -24,9 +36,9 @@ class GroupMembersClient extends BaseClient_1.BaseClient {
24
36
  * @param memberId The id of the member
25
37
  * @returns Member
26
38
  */
27
- async getITwinGroupMemberAsync(accessToken, iTwinId, memberId) {
39
+ async getITwinGroupMember(accessToken, iTwinId, memberId) {
28
40
  const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;
29
- return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "member");
41
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined);
30
42
  }
31
43
  /** Add new iTwin group members
32
44
  * @param accessToken The client access token string
@@ -34,12 +46,9 @@ class GroupMembersClient extends BaseClient_1.BaseClient {
34
46
  * @param newMembers The list of new members to be added along with their role
35
47
  * @returns Member[]
36
48
  */
37
- async addITwinGroupMembersAsync(accessToken, iTwinId, newMembers) {
49
+ async addITwinGroupMembers(accessToken, iTwinId, newMembers) {
38
50
  const url = `${this._baseUrl}/${iTwinId}/members/groups`;
39
- const body = {
40
- members: newMembers,
41
- };
42
- return this.sendGenericAPIRequest(accessToken, "POST", url, body, "members");
51
+ return this.sendGenericAPIRequest(accessToken, "POST", url, newMembers);
43
52
  }
44
53
  /** Remove the specified group member from the iTwin
45
54
  * @param accessToken The client access token string
@@ -47,7 +56,7 @@ class GroupMembersClient extends BaseClient_1.BaseClient {
47
56
  * @param memberId The id of the member
48
57
  * @returns No Content
49
58
  */
50
- async removeITwinGroupMemberAsync(accessToken, iTwinId, memberId) {
59
+ async removeITwinGroupMember(accessToken, iTwinId, memberId) {
51
60
  const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;
52
61
  return this.sendGenericAPIRequest(accessToken, "DELETE", url);
53
62
  }
@@ -58,12 +67,12 @@ class GroupMembersClient extends BaseClient_1.BaseClient {
58
67
  * @param roleIds The ids of the roles to be assigned
59
68
  * @returns Member
60
69
  */
61
- async updateITwinGroupMemberAsync(accessToken, iTwinId, memberId, roleIds) {
70
+ async updateITwinGroupMember(accessToken, iTwinId, memberId, roleIds) {
62
71
  const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;
63
72
  const body = {
64
73
  roleIds,
65
74
  };
66
- return this.sendGenericAPIRequest(accessToken, "PATCH", url, body, "member");
75
+ return this.sendGenericAPIRequest(accessToken, "PATCH", url, body);
67
76
  }
68
77
  }
69
78
  exports.GroupMembersClient = GroupMembersClient;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":";;;AAeA,6CAA0C;AAE1C,MAAa,kBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,yBAAyB,CACpC,WAAwB,EACxB,OAAe,EACf,UAA4B;QAE5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AArHD,gDAqHC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddGroupMember,\n GroupMember,\n IGroupMembersClient,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupMembersClient\n extends BaseClient\n implements IGroupMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin group members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/groups`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Retrieves a specific group member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"member\"\n );\n }\n\n /** Add new iTwin group members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of new members to be added along with their role\n * @returns Member[]\n */\n public async addITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: AddGroupMember[]\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups`;\n const body = {\n members: newMembers,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n body,\n \"members\"\n );\n }\n\n /** Remove the specified group member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin group member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body,\n \"member\"\n );\n }\n}\n"]}
1
+ {"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAOH,6CAA0C;AAE1C;GACG;AACH,MAAa,kBACX,SAAQ,uBAAU;IAElB;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,GAA4C;QAO5C,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChH,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,UAAiC;QAEjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AAtHD,gDAsHC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { IGroupMembersClient } from \"../accessControlClientInterfaces/GroupMembersClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { GroupMemberAssignment, MultipleGroupMembersResponse, SingleGroupMemberResponse } from \"../types/GroupMember\";\nimport type { Links } from \"../types/links\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin group members operations.\n */\nexport class GroupMembersClient\n extends BaseClient\n implements IGroupMembersClient {\n /** Create a new GroupMembersClient instance\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\n */\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin group members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinGroupMembers(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleGroupMembersResponse &\n {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _links: Links\n }\n >> {\n let url = `${this._baseUrl}/${iTwinId}/members/groups`;\n\n if (arg) {\n url += `?${this.getQueryString(GroupMembersClient.paginationParamMapping, { top: arg.top, skip: arg.skip })}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n );\n }\n\n /** Retrieves a specific group member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinGroupMember(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<BentleyAPIResponse<SingleGroupMemberResponse>>{\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n );\n }\n\n /** Add new iTwin group members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of new members to be added along with their role\n * @returns Member[]\n */\n public async addITwinGroupMembers(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: GroupMemberAssignment\n ): Promise<BentleyAPIResponse<MultipleGroupMembersResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n newMembers,\n );\n }\n\n /** Remove the specified group member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinGroupMember(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin group member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinGroupMember(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<BentleyAPIResponse<SingleGroupMemberResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body\n );\n }\n}\n"]}
@@ -2,45 +2,53 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, Group, GroupUpdate, IGroupsClient } from "../accessControlTypes";
5
+ import type { IGroupsClient } from "../accessControlClientInterfaces/GroupClient";
6
+ import type { BentleyAPIResponse, ODataQueryParams } from "../types/CommonApiTypes";
7
+ import type { Group, GroupsResponseWithConditionalLinks, SingleGroupResponse } from "../types/Groups";
6
8
  import { BaseClient } from "./BaseClient";
9
+ /** Client API to perform iTwin group operations.
10
+ */
7
11
  export declare class GroupsClient extends BaseClient implements IGroupsClient {
12
+ /** Create a new GroupsClient instance
13
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
14
+ */
8
15
  constructor(url?: string);
9
16
  /** Retrieves a list of available user roles that are defined for a specified iTwin
10
17
  * @param accessToken The client access token string
11
18
  * @param iTwinId The id of the iTwin
12
- * @returns Group[]
19
+ * @returns MultipleGroupsResponse
13
20
  */
14
- getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string, additionalHeaders?: {
15
- [key: string]: string;
16
- }): Promise<AccessControlAPIResponse<Group[]>>;
21
+ getITwinGroups<T extends Pick<ODataQueryParams, "top" | "skip"> | undefined = undefined>(accessToken: AccessToken, iTwinId: string, arg?: T): Promise<BentleyAPIResponse<GroupsResponseWithConditionalLinks<T>>>;
17
22
  /** Retrieves the specified role for the specified iTwin
18
23
  * @param accessToken The client access token string
19
24
  * @param iTwinId The id of the iTwin
20
25
  * @returns Group
21
26
  */
22
- getITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<AccessControlAPIResponse<Group>>;
27
+ getITwinGroup(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<BentleyAPIResponse<SingleGroupResponse>>;
23
28
  /** Creates a new iTwin group
24
29
  * @param accessToken The client access token string
25
30
  * @param iTwinId The id of the iTwin
26
31
  * @param group The group to be created
27
32
  * @returns Group
28
33
  */
29
- createITwinGroupAsync(accessToken: AccessToken, iTwinId: string, group: Group): Promise<AccessControlAPIResponse<Group>>;
34
+ createITwinGroup(accessToken: AccessToken, iTwinId: string, group: Pick<Group, "name" | "description">): Promise<BentleyAPIResponse<SingleGroupResponse>>;
30
35
  /** Delete the specified iTwin group
31
36
  * @param accessToken The client access token string
32
37
  * @param iTwinId The id of the iTwin
33
38
  * @param groupId The id of the group to remove
34
39
  * @returns No Content
35
40
  */
36
- deleteITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<AccessControlAPIResponse<undefined>>;
41
+ deleteITwinGroup(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<BentleyAPIResponse<undefined>>;
37
42
  /** Update the specified iTwin group
38
43
  * @param accessToken The client access token string
39
44
  * @param iTwinId The id of the iTwin
40
45
  * @param groupId The id of the role to update
41
46
  * @param group The updated group
42
- * @returns Role
47
+ * @returns Group that was updated
43
48
  */
44
- updateITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string, group: GroupUpdate): Promise<AccessControlAPIResponse<Group>>;
49
+ updateITwinGroup(accessToken: AccessToken, iTwinId: string, groupId: string, group: Partial<Pick<Group, "name" | "description"> & {
50
+ members: string[];
51
+ imsGroups: string[];
52
+ }>): Promise<BentleyAPIResponse<SingleGroupResponse>>;
45
53
  }
46
54
  //# sourceMappingURL=GroupsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;gBAChD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC;IAK7C;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;CAI5C"}
1
+ {"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;IACnE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,cAAc,CAAC,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,SAAS,EAClG,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,CAAC,GACN,OAAO,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC;IASrE;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAKnD;;;;;QAKI;IACS,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,GAC1C,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAKnD;;;;;QAKI;IACS,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAC/F,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAIpD"}
@@ -1,28 +1,43 @@
1
1
  "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module AccessControlClient
8
+ */
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
10
  exports.GroupsClient = void 0;
4
11
  const BaseClient_1 = require("./BaseClient");
12
+ /** Client API to perform iTwin group operations.
13
+ */
5
14
  class GroupsClient extends BaseClient_1.BaseClient {
15
+ /** Create a new GroupsClient instance
16
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
17
+ */
6
18
  constructor(url) {
7
19
  super(url);
8
20
  }
9
21
  /** Retrieves a list of available user roles that are defined for a specified iTwin
10
22
  * @param accessToken The client access token string
11
23
  * @param iTwinId The id of the iTwin
12
- * @returns Group[]
24
+ * @returns MultipleGroupsResponse
13
25
  */
14
- async getITwinGroupsAsync(accessToken, iTwinId, additionalHeaders) {
15
- const url = `${this._baseUrl}/${iTwinId}/groups`;
16
- return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "groups", additionalHeaders);
26
+ async getITwinGroups(accessToken, iTwinId, arg) {
27
+ let url = `${this._baseUrl}/${iTwinId}/groups`;
28
+ if (arg) {
29
+ url += `?${this.getQueryString(GroupsClient.paginationParamMapping, { top: arg.top, skip: arg.skip })}`;
30
+ }
31
+ return this.sendGenericAPIRequest(accessToken, "GET", url);
17
32
  }
18
33
  /** Retrieves the specified role for the specified iTwin
19
34
  * @param accessToken The client access token string
20
35
  * @param iTwinId The id of the iTwin
21
36
  * @returns Group
22
37
  */
23
- async getITwinGroupAsync(accessToken, iTwinId, groupId) {
38
+ async getITwinGroup(accessToken, iTwinId, groupId) {
24
39
  const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;
25
- return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "group");
40
+ return this.sendGenericAPIRequest(accessToken, "GET", url);
26
41
  }
27
42
  /** Creates a new iTwin group
28
43
  * @param accessToken The client access token string
@@ -30,9 +45,9 @@ class GroupsClient extends BaseClient_1.BaseClient {
30
45
  * @param group The group to be created
31
46
  * @returns Group
32
47
  */
33
- async createITwinGroupAsync(accessToken, iTwinId, group) {
48
+ async createITwinGroup(accessToken, iTwinId, group) {
34
49
  const url = `${this._baseUrl}/${iTwinId}/groups`;
35
- return this.sendGenericAPIRequest(accessToken, "POST", url, group, "group");
50
+ return this.sendGenericAPIRequest(accessToken, "POST", url, group);
36
51
  }
37
52
  /** Delete the specified iTwin group
38
53
  * @param accessToken The client access token string
@@ -40,7 +55,7 @@ class GroupsClient extends BaseClient_1.BaseClient {
40
55
  * @param groupId The id of the group to remove
41
56
  * @returns No Content
42
57
  */
43
- async deleteITwinGroupAsync(accessToken, iTwinId, groupId) {
58
+ async deleteITwinGroup(accessToken, iTwinId, groupId) {
44
59
  const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;
45
60
  return this.sendGenericAPIRequest(accessToken, "DELETE", url);
46
61
  }
@@ -49,11 +64,11 @@ class GroupsClient extends BaseClient_1.BaseClient {
49
64
  * @param iTwinId The id of the iTwin
50
65
  * @param groupId The id of the role to update
51
66
  * @param group The updated group
52
- * @returns Role
67
+ * @returns Group that was updated
53
68
  */
54
- async updateITwinGroupAsync(accessToken, iTwinId, groupId, group) {
69
+ async updateITwinGroup(accessToken, iTwinId, groupId, group) {
55
70
  const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;
56
- return this.sendGenericAPIRequest(accessToken, "PATCH", url, group, "group");
71
+ return this.sendGenericAPIRequest(accessToken, "PATCH", url, group);
57
72
  }
58
73
  }
59
74
  exports.GroupsClient = GroupsClient;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,YAAa,SAAQ,uBAAU;IAC1C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,iBAA6C;QAE7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACrG,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,KAAY;QAEZ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe,EACf,KAAkB;QAElB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;CACF;AA/ED,oCA+EC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { AccessControlAPIResponse, Group, GroupUpdate, IGroupsClient } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupsClient extends BaseClient implements IGroupsClient{\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of available user roles that are defined for a specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group[]\n */\n public async getITwinGroupsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n additionalHeaders?: { [key: string]: string }\n ): Promise<AccessControlAPIResponse<Group[]>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"groups\", additionalHeaders);\n }\n\n /** Retrieves the specified role for the specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group\n */\n public async getITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"group\");\n }\n\n /** Creates a new iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param group The group to be created\n * @returns Group\n */\n public async createITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n group: Group\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, group, \"group\");\n }\n\n /** Delete the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the group to remove\n * @returns No Content\n */\n public async deleteITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<undefined>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the role to update\n * @param group The updated group\n * @returns Role\n */\n public async updateITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n group: GroupUpdate\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, group, \"group\");\n }\n}\n"]}
1
+ {"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAE1C;GACG;AACH,MAAa,YAAa,SAAQ,uBAAU;IAC1C;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,cAAc,CACzB,WAAwB,EACxB,OAAe,EACf,GAAO;QAEP,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QAE/C,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,KAA2C;QAE3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,OAAe,EACf,KAAgG;QAEhG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;CACF;AAtFD,oCAsFC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { IGroupsClient } from \"../accessControlClientInterfaces/GroupClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { Group, GroupsResponseWithConditionalLinks, SingleGroupResponse } from \"../types/Groups\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin group operations.\n */\nexport class GroupsClient extends BaseClient implements IGroupsClient{\n /** Create a new GroupsClient instance\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\n */\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of available user roles that are defined for a specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns MultipleGroupsResponse\n */\n public async getITwinGroups<T extends Pick<ODataQueryParams, \"top\" | \"skip\"> | undefined = undefined>(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: T\n ): Promise<BentleyAPIResponse<GroupsResponseWithConditionalLinks<T>>>{\n let url = `${this._baseUrl}/${iTwinId}/groups`;\n\n if (arg) {\n url += `?${this.getQueryString(GroupsClient.paginationParamMapping, { top: arg.top, skip: arg.skip })}`;\n }\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n /** Retrieves the specified role for the specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group\n */\n public async getITwinGroup(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<BentleyAPIResponse<SingleGroupResponse>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n /** Creates a new iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param group The group to be created\n * @returns Group\n */\n public async createITwinGroup(\n accessToken: AccessToken,\n iTwinId: string,\n group: Pick< Group, \"name\" | \"description\">\n ): Promise<BentleyAPIResponse<SingleGroupResponse>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, group);\n }\n\n /** Delete the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the group to remove\n * @returns No Content\n */\n public async deleteITwinGroup(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<BentleyAPIResponse<undefined>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the role to update\n * @param group The updated group\n * @returns Group that was updated\n */\n public async updateITwinGroup(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n group: Partial<Pick<Group, \"name\" | \"description\"> & { members: string[]; imsGroups: string[] }>\n ): Promise<BentleyAPIResponse<SingleGroupResponse>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, group);\n }\n}\n"]}
@@ -2,9 +2,16 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from "../accessControlTypes";
5
+ import type { IITwinJobsClient } from "../accessControlClientInterfaces/ITwinJobsClient";
6
+ import type { BentleyAPIResponse, ResultMode } from "../types/CommonApiTypes";
7
+ import type { ITwinJob, ITwinJobActions } from "../types/ITwinJob";
6
8
  import { BaseClient } from "./BaseClient";
9
+ /** Client API to perform iTwin job operations.
10
+ */
7
11
  export declare class ITwinJobsClient extends BaseClient implements IITwinJobsClient {
12
+ /** Create a new ITwinJobsClient instance
13
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
14
+ */
8
15
  constructor(url?: string);
9
16
  /** Create a new iTwin Job
10
17
  * @param accessToken The client access token string
@@ -12,7 +19,7 @@ export declare class ITwinJobsClient extends BaseClient implements IITwinJobsCli
12
19
  * @param iTwinActions The actions of the iTwin Job
13
20
  * @returns ITwin Job
14
21
  */
15
- createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
22
+ createITwinJob(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<BentleyAPIResponse<ITwinJob>>;
16
23
  /** Gets an iTwin Job.
17
24
  * @param accessToken The client access token string
18
25
  * @param iTwinId The id of the iTwin
@@ -20,19 +27,19 @@ export declare class ITwinJobsClient extends BaseClient implements IITwinJobsCli
20
27
  * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
21
28
  * @returns ITwin Job
22
29
  */
23
- getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
30
+ getITwinJob<T extends ResultMode = "minimal">(accessToken: AccessToken, iTwinId: string, iTwinJobId: string, resultMode?: T): Promise<BentleyAPIResponse<T extends "representation" ? ITwinJob : Omit<ITwinJob, "error">>>;
24
31
  /** Gets an iTwin Job.
25
32
  * @param accessToken The client access token string
26
33
  * @param iTwinId The id of the iTwin
27
34
  * @param iTwinJobId The id of the iTwin Job
28
35
  * @returns ITwin Job Actions
29
36
  */
30
- getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
37
+ getITwinJobActions(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<BentleyAPIResponse<ITwinJobActions>>;
31
38
  /**
32
39
  * Format result mode parameter into a headers entry
33
40
  * @param resultMode (Optional) Access Control result mode
34
41
  * @protected
35
42
  */
36
- protected getResultModeHeaders(resultMode?: AccessControlResultMode): Record<string, string>;
43
+ protected getResultModeHeaders(resultMode?: ResultMode): Record<string, string>;
37
44
  }
38
45
  //# sourceMappingURL=ITwinJobsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinJobsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5I,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;gBACtD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;;SAKK;IACQ,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAK9C;;;;;;SAMK;IACQ,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAM9C;;;;;SAKK;IACQ,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAKrD;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,GAAE,uBAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAKxG"}
1
+ {"version":3,"file":"ITwinJobsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;IACzE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;;SAKK;IACQ,cAAc,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAKxC;;;;;;SAMK;IACQ,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EACvD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,kBAAkB,CAAC,CAAC,SAAS,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAM/F;;;;;SAKK;IACQ,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAK/C;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,GAAE,UAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAK3F"}
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module AccessControlClient
8
+ */
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
10
  exports.ITwinJobsClient = void 0;
4
11
  const BaseClient_1 = require("./BaseClient");
12
+ /** Client API to perform iTwin job operations.
13
+ */
5
14
  class ITwinJobsClient extends BaseClient_1.BaseClient {
15
+ /** Create a new ITwinJobsClient instance
16
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
17
+ */
6
18
  constructor(url) {
7
19
  super(url);
8
20
  }
@@ -12,7 +24,7 @@ class ITwinJobsClient extends BaseClient_1.BaseClient {
12
24
  * @param iTwinActions The actions of the iTwin Job
13
25
  * @returns ITwin Job
14
26
  */
15
- async createITwinJobAsync(accessToken, iTwinId, iTwinJobActions) {
27
+ async createITwinJob(accessToken, iTwinId, iTwinJobActions) {
16
28
  const url = `${this._baseUrl}/${iTwinId}/jobs`;
17
29
  return this.sendGenericAPIRequest(accessToken, "POST", url, { actions: iTwinJobActions });
18
30
  }
@@ -23,7 +35,7 @@ class ITwinJobsClient extends BaseClient_1.BaseClient {
23
35
  * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
24
36
  * @returns ITwin Job
25
37
  */
26
- async getITwinJobAsync(accessToken, iTwinId, iTwinJobId, resultMode) {
38
+ async getITwinJob(accessToken, iTwinId, iTwinJobId, resultMode) {
27
39
  const headers = this.getResultModeHeaders(resultMode);
28
40
  const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;
29
41
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, undefined, headers);
@@ -34,7 +46,7 @@ class ITwinJobsClient extends BaseClient_1.BaseClient {
34
46
  * @param iTwinJobId The id of the iTwin Job
35
47
  * @returns ITwin Job Actions
36
48
  */
37
- async getITwinJobActionsAsync(accessToken, iTwinId, iTwinJobId) {
49
+ async getITwinJobActions(accessToken, iTwinId, iTwinJobId) {
38
50
  const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;
39
51
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "actions");
40
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ITwinJobsClient.js","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,eAAgC;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;SAMK;IACE,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,UAAkB,EAClB,UAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,uBAAuB,CAClC,WAAwB,EACxB,OAAe,EACf,UAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,UAAU,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,aAAsC,SAAS;QAC5E,OAAO;YACL,MAAM,EAAE,UAAU,UAAU,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AA/DD,0CA+DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { AccessControlAPIResponse, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class ITwinJobsClient extends BaseClient implements IITwinJobsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Create a new iTwin Job\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinActions The actions of the iTwin Job\n * @returns ITwin Job\n */\n public async createITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobActions: ITwinJobActions\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, { actions: iTwinJobActions });\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)\n * @returns ITwin Job\n */\n public async getITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId: string,\n resultMode?: AccessControlResultMode\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const headers = this.getResultModeHeaders(resultMode);\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, undefined, headers);\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @returns ITwin Job Actions\n */\n public async getITwinJobActionsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId?: string\n ): Promise<AccessControlAPIResponse<ITwinJobActions>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"actions\");\n }\n\n /**\n * Format result mode parameter into a headers entry\n * @param resultMode (Optional) Access Control result mode\n * @protected\n */\n protected getResultModeHeaders(resultMode: AccessControlResultMode = \"minimal\"): Record<string, string> {\n return {\n prefer: `return=${resultMode}`,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"ITwinJobsClient.js","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAE1C;GACG;AACH,MAAa,eAAgB,SAAQ,uBAAU;IAC7C;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,cAAc,CACzB,WAAwB,EACxB,OAAe,EACf,eAAgC;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;SAMK;IACE,KAAK,CAAC,WAAW,CACtB,WAAwB,EACxB,OAAe,EACf,UAAkB,EAClB,UAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,kBAAkB,CAC7B,WAAwB,EACxB,OAAe,EACf,UAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,UAAU,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,aAAyB,SAAS;QAC/D,OAAO;YACL,MAAM,EAAE,UAAU,UAAU,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AAlED,0CAkEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { IITwinJobsClient } from \"../accessControlClientInterfaces/ITwinJobsClient\";\nimport type { BentleyAPIResponse, ResultMode } from \"../types/CommonApiTypes\";\nimport type { ITwinJob, ITwinJobActions } from \"../types/ITwinJob\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin job operations.\n */\nexport class ITwinJobsClient extends BaseClient implements IITwinJobsClient {\n /** Create a new ITwinJobsClient instance\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\n */\n public constructor(url?: string) {\n super(url);\n }\n\n /** Create a new iTwin Job\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinActions The actions of the iTwin Job\n * @returns ITwin Job\n */\n public async createITwinJob(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobActions: ITwinJobActions\n ): Promise<BentleyAPIResponse<ITwinJob>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, { actions: iTwinJobActions });\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)\n * @returns ITwin Job\n */\n public async getITwinJob<T extends ResultMode = \"minimal\">(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId: string,\n resultMode?: T\n ): Promise<BentleyAPIResponse<T extends \"representation\" ? ITwinJob : Omit<ITwinJob, \"error\">>> {\n const headers = this.getResultModeHeaders(resultMode);\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, undefined, headers);\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @returns ITwin Job Actions\n */\n public async getITwinJobActions(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId?: string\n ): Promise<BentleyAPIResponse<ITwinJobActions>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"actions\");\n }\n\n /**\n * Format result mode parameter into a headers entry\n * @param resultMode (Optional) Access Control result mode\n * @protected\n */\n protected getResultModeHeaders(resultMode: ResultMode = \"minimal\"): Record<string, string> {\n return {\n prefer: `return=${resultMode}`,\n };\n }\n}\n"]}
@@ -0,0 +1,61 @@
1
+ /** @packageDocumentation
2
+ * @module AccessControlClient
3
+ */
4
+ import type { AccessToken } from "@itwin/core-bentley";
5
+ import type { IITwinSharesClient } from "../accessControlClientInterfaces/ItwinSharesClient";
6
+ import type { BentleyAPIResponse } from "../types/CommonApiTypes";
7
+ import type { MultiShareContractResponse, ShareContract, SingleShareContractResponse } from "../types/ShareContract";
8
+ import { BaseClient } from "./BaseClient";
9
+ /** Client API to perform iTwin share operations.
10
+ * @beta
11
+ */
12
+ export declare class ITwinSharesClient extends BaseClient implements IITwinSharesClient {
13
+ /** Create a new ITwinSharesClient instance
14
+ * @param url Optional base URL for the access control service. If not provided, defaults to base url.
15
+ */
16
+ constructor(url?: string);
17
+ /** Create a new iTwin share
18
+ * @param accessToken The client access token string
19
+ * @param iTwinId The id of the iTwin
20
+ * @param iTwinShare The details of the iTwin share to be created
21
+ * @remarks
22
+ * #### Create
23
+ * Creating an iTwin Share allows your iTwin to be publicly accessible, enabling anyone with the `shareKey` to view its data without needing to sign in. To use a share, take the value of the `shareKey` property and prepend it with the `Basic` prefix in the authorization header of your request.
24
+ *
25
+ * #### Share Contract
26
+ * Each share is governed by a share contract that specifies the APIs available for the share and its associated iTwin.
27
+ * Only an iTwin admin can create iTwin Shares, and only a maximum of 10 shares can be active at a time per application that created it.
28
+ * The share contract expires after 90 days unless a shorter expiration is specified in the request body, with 90 days being the maximum duration. If the expiration property in the request body is left empty, it will default to the maximum duration from the moment of creation.
29
+ * A share can be revoked at any time using the Revoke iTwin Share endpoint.
30
+ * @returns ITwin Share
31
+ * @beta
32
+ */
33
+ createITwinShare(accessToken: AccessToken, iTwinId: string, iTwinShare: Partial<Pick<ShareContract, "shareContract"> & {
34
+ expiration: string | null;
35
+ }>): Promise<BentleyAPIResponse<SingleShareContractResponse>>;
36
+ /** Get iTwin share
37
+ * @param accessToken The client access token string
38
+ * @param iTwinId The id of the iTwin
39
+ * @param sharedId The id of the iTwin share to be retrieved
40
+ * @returns The iTwin share details
41
+ * @beta
42
+ */
43
+ getITwinShare(accessToken: AccessToken, iTwinId: string, sharedId: string): Promise<BentleyAPIResponse<SingleShareContractResponse>>;
44
+ /** Get iTwin shares
45
+ * @param accessToken The client access token string
46
+ * @param iTwinId The id of the iTwin
47
+ * @param sharedId The id of the iTwin share to be retrieved
48
+ * @returns The iTwin share details
49
+ * @beta
50
+ */
51
+ getITwinShares(accessToken: AccessToken, iTwinId: string): Promise<BentleyAPIResponse<MultiShareContractResponse>>;
52
+ /** Revoke iTwin share
53
+ * @param accessToken The client access token string
54
+ * @param iTwinId The id of the iTwin
55
+ * @param sharedId The id of the iTwin share to be revoked
56
+ * @returns No Content
57
+ * @beta
58
+ */
59
+ revokeITwinShare(accessToken: AccessToken, iTwinId: string, sharedId: string): Promise<BentleyAPIResponse<undefined>>;
60
+ }
61
+ //# sourceMappingURL=ItwinShares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItwinShares.d.ts","sourceRoot":"","sources":["../../../src/subClients/ItwinShares.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,qBAAa,iBACX,SAAQ,UACR,YAAW,kBAAkB;IAE7B;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;;;;;;;;;;;;OAeG;IACU,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,GACxF,OAAO,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAKzD;;;;;;KAMC;IACU,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAK3D;;;;;;OAMG;IACU,cAAc,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAKxD;;;;;;KAMC;IACU,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;CAK1C"}