@itwin/access-control-client 3.7.0 → 4.0.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 +116 -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 +10 -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 +17 -9
  68. package/lib/cjs/subClients/GroupsClient.d.ts.map +1 -1
  69. package/lib/cjs/subClients/GroupsClient.js +22 -10
  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 +16 -3
  80. package/lib/cjs/subClients/MemberInvitationsClient.d.ts.map +1 -1
  81. package/lib/cjs/subClients/MemberInvitationsClient.js +22 -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 +64 -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 +128 -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 +10 -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 +17 -9
  216. package/lib/esm/subClients/GroupsClient.d.ts.map +1 -1
  217. package/lib/esm/subClients/GroupsClient.js +22 -10
  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 +16 -3
  228. package/lib/esm/subClients/MemberInvitationsClient.d.ts.map +1 -1
  229. package/lib/esm/subClients/MemberInvitationsClient.js +22 -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 +64 -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 +128 -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
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=Members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Members.js","sourceRoot":"","sources":["../../../src/types/Members.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\nimport type { Role } from \"./Role\";\n\n\ninterface UserBase {\n /** Unique identifier for the user */\n id: string;\n /** Email address of the user */\n email: string;\n /** First name of the user */\n givenName: string;\n /** Last name of the user */\n surname: string;\n /** Organization the user belongs to */\n organization: string;\n}\n\n/**\n * Represents a user within a group in the access control system.\n *\n * @example\n * ```typescript\n * const groupUser: GroupUser = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * email: \"sarah.connor@techcorp.com\",\n * givenName: \"Sarah\",\n * surname: \"Connor\",\n * organization: \"TechCorp Industries\"\n * };\n * ```\n */\nexport type GroupUser = UserBase;\n\n/**\n * Represents a user who is a member of an iTwin with associated roles and profile information.\n *\n * @remarks\n * User members are individuals who have been added to an iTwin and assigned specific roles.\n * This provides information about the user's identity, assigned roles, and organization.\n *\n * @example\n * ```typescript\n * const userMember: UserMember = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * email: \"john.smith@company.com\",\n * givenName: \"John\",\n * surname: \"Smith\",\n * organization: \"ACME Corporation\",\n * roles: [\n * { id: \"admin-role\", displayName: \"Administrator\", description : \"Has full access to all resources\" },\n * { id: \"viewer-role\", displayName: \"Project Viewer\", description : \"Can view project details\" }\n * ]\n * };\n * ```\n */\nexport interface UserMember extends UserBase{\n /** Array of roles assigned to this user member */\n roles: Role[];\n}\n\n/**\n * Represents an iTwin owner member with their basic information.\n *\n * @example\n * ```typescript\n * const ownerMember: OwnerMember = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * email: \"john.doe@company.com\",\n * givenName: \"John\",\n * surname: \"Doe\",\n * organization: \"Acme Corporation\"\n * };\n * ```\n */\nexport type OwnerMember = UserBase;"]}
@@ -0,0 +1,105 @@
1
+ import type { MemberInvitation } from "./Invitations";
2
+ import type { Links } from "./links";
3
+ import type { OwnerMember } from "./Members";
4
+ /**
5
+ * Response object when adding a new owner member to an iTwin.
6
+ *
7
+ * @remarks
8
+ * Add new iTwin owner members. iTwin Owners are users which have full control over the iTwin.
9
+ * Each owner is granted all permissions on the iTwin, allowing them to perform any action on the iTwin they own.
10
+ *
11
+ * Users which are external (i.e. not in the same organization as the iTwin) are not automatically added to the iTwin.
12
+ * Instead, they're invited. Users which are not external, are immediately added as members on the iTwin.
13
+ *
14
+ * Invited individuals will receive an invitation via Email, where they'll be prompted to accept the invitation.
15
+ * Upon accepting, they'll then become a member of the iTwin.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const addResponse: AddOwnerMemberResponse = {
20
+ * member: {
21
+ * id: "550e8400-e29b-41d4-a716-446655440000",
22
+ * email: "new.owner@company.com",
23
+ * givenName: "Jane",
24
+ * surname: "Smith",
25
+ * organization: "Tech Solutions Inc"
26
+ * },
27
+ * invitation: {
28
+ * id: "inv-550e8400-e29b-41d4-a716-446655440001",
29
+ * email: "new.owner@company.com",
30
+ * invitedByEmail: "admin@company.com",
31
+ * status: "Pending",
32
+ * createdDate: "2023-10-15T10:30:00Z",
33
+ * expirationDate: "2023-11-15T10:30:00Z"
34
+ * }
35
+ * };
36
+ * ```
37
+ */
38
+ export interface AddOwnerMemberResponse {
39
+ /** The newly added owner member */
40
+ member: OwnerMember;
41
+ /** Invitation details for the new member */
42
+ invitation: MemberInvitation | null;
43
+ }
44
+ /**
45
+ * Response object containing multiple owner members with pagination links.
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const multiResponse: OwnerMemberMultiResponse = {
50
+ * members: [
51
+ * {
52
+ * id: "owner1-550e8400-e29b-41d4-a716-446655440000",
53
+ * email: "owner1@company.com",
54
+ * givenName: "Alice",
55
+ * surname: "Johnson",
56
+ * organization: "Primary Corp"
57
+ * },
58
+ * {
59
+ * id: "owner2-550e8400-e29b-41d4-a716-446655440001",
60
+ * email: "owner2@company.com",
61
+ * givenName: "Bob",
62
+ * surname: "Wilson",
63
+ * organization: "Secondary LLC"
64
+ * }
65
+ * ],
66
+ * _links: {
67
+ * self: { href: "/members/owners?$skip=0&$top=100 },
68
+ * next: { href: "/members/owners?$skip=100&$top=100" },
69
+ * prev: { href: "/members/owners?$skip=0&$top=100" }
70
+ * }
71
+ * };
72
+ * ```
73
+ *
74
+ * @remarks
75
+ * This interface is used for API responses that return collections of owner members,
76
+ * such as GET /members/owners operations. Includes HAL-style navigation links for pagination.
77
+ *
78
+ * #### Missing Users
79
+ * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still an owner member of the iTwin. When this happens, the owner members will be returned from this API endpoint with the following values:
80
+ * ```typescript
81
+ * { members: [
82
+ * {
83
+ * "id": <memberId>,
84
+ * "email": null,
85
+ * "givenName": null,
86
+ * "surname": null,
87
+ * "organization": null,
88
+ * ...
89
+ * }
90
+ * ]
91
+ * }
92
+ * ```
93
+ *
94
+ * #### Cleanup
95
+ * The Access Control API will perform a once-a-week cleanup to remove these "Missing Users". You can rely on this automated clean-up if this timeline is sufficient.
96
+ *
97
+ * If not, you can use the Remove iTwin Owner Member API (use the memberId) to remove the owner member from the iTwin.
98
+ */
99
+ export interface OwnerMemberMultiResponse {
100
+ /** Array of owner members */
101
+ members: OwnerMember[];
102
+ /** Navigation links for pagination */
103
+ "_links": Links;
104
+ }
105
+ //# sourceMappingURL=OwnerMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwnerMember.d.ts","sourceRoot":"","sources":["../../../src/types/OwnerMember.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,4CAA4C;IAC5C,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,sCAAsC;IAEtC,QAAQ,EAAE,KAAK,CAAC;CACjB"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=OwnerMember.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwnerMember.js","sourceRoot":"","sources":["../../../src/types/OwnerMember.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\nimport type { MemberInvitation } from \"./Invitations\";\nimport type { Links } from \"./links\";\nimport type { OwnerMember } from \"./Members\";\n\n/**\n * Response object when adding a new owner member to an iTwin.\n *\n * @remarks\n * Add new iTwin owner members. iTwin Owners are users which have full control over the iTwin.\n * Each owner is granted all permissions on the iTwin, allowing them to perform any action on the iTwin they own.\n *\n * Users which are external (i.e. not in the same organization as the iTwin) are not automatically added to the iTwin.\n * Instead, they're invited. Users which are not external, are immediately added as members on the iTwin.\n *\n * Invited individuals will receive an invitation via Email, where they'll be prompted to accept the invitation.\n * Upon accepting, they'll then become a member of the iTwin.\n *\n * @example\n * ```typescript\n * const addResponse: AddOwnerMemberResponse = {\n * member: {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * email: \"new.owner@company.com\",\n * givenName: \"Jane\",\n * surname: \"Smith\",\n * organization: \"Tech Solutions Inc\"\n * },\n * invitation: {\n * id: \"inv-550e8400-e29b-41d4-a716-446655440001\",\n * email: \"new.owner@company.com\",\n * invitedByEmail: \"admin@company.com\",\n * status: \"Pending\",\n * createdDate: \"2023-10-15T10:30:00Z\",\n * expirationDate: \"2023-11-15T10:30:00Z\"\n * }\n * };\n * ```\n */\nexport interface AddOwnerMemberResponse {\n /** The newly added owner member */\n member: OwnerMember;\n /** Invitation details for the new member */\n invitation: MemberInvitation | null;\n}\n\n/**\n * Response object containing multiple owner members with pagination links.\n *\n * @example\n * ```typescript\n * const multiResponse: OwnerMemberMultiResponse = {\n * members: [\n * {\n * id: \"owner1-550e8400-e29b-41d4-a716-446655440000\",\n * email: \"owner1@company.com\",\n * givenName: \"Alice\",\n * surname: \"Johnson\",\n * organization: \"Primary Corp\"\n * },\n * {\n * id: \"owner2-550e8400-e29b-41d4-a716-446655440001\",\n * email: \"owner2@company.com\",\n * givenName: \"Bob\",\n * surname: \"Wilson\",\n * organization: \"Secondary LLC\"\n * }\n * ],\n * _links: {\n * self: { href: \"/members/owners?$skip=0&$top=100 },\n * next: { href: \"/members/owners?$skip=100&$top=100\" },\n * prev: { href: \"/members/owners?$skip=0&$top=100\" }\n * }\n * };\n * ```\n *\n * @remarks\n * This interface is used for API responses that return collections of owner members,\n * such as GET /members/owners operations. Includes HAL-style navigation links for pagination.\n *\n * #### Missing Users\n * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still an owner member of the iTwin. When this happens, the owner members will be returned from this API endpoint with the following values:\n * ```typescript\n * { members: [\n * {\n * \"id\": <memberId>,\n * \"email\": null,\n * \"givenName\": null,\n * \"surname\": null,\n * \"organization\": null,\n * ...\n * }\n * ]\n * }\n * ```\n *\n * #### Cleanup\n * The Access Control API will perform a once-a-week cleanup to remove these \"Missing Users\". You can rely on this automated clean-up if this timeline is sufficient.\n *\n * If not, you can use the Remove iTwin Owner Member API (use the memberId) to remove the owner member from the iTwin.\n */\nexport interface OwnerMemberMultiResponse {\n /** Array of owner members */\n members: OwnerMember[];\n /** Navigation links for pagination */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"_links\": Links;\n}"]}
@@ -0,0 +1,5 @@
1
+ /** Represents a permission string used in access control operations.
2
+ * Permissions define what actions a user or role is allowed to perform within an iTwin.
3
+ */
4
+ export type Permission = string;
5
+ //# sourceMappingURL=Permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.d.ts","sourceRoot":"","sources":["../../../src/types/Permission.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=Permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../src/types/Permission.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\n/** Represents a permission string used in access control operations.\n * Permissions define what actions a user or role is allowed to perform within an iTwin.\n */\nexport type Permission = string;"]}
@@ -0,0 +1,33 @@
1
+ import type { Permission } from "./Permission";
2
+ /**
3
+ * Represents a role that defines a set of permissions for iTwin access control.
4
+ * Roles are assigned to users to grant them specific capabilities within an iTwin.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * const projectManagerRole: Role = {
9
+ * id: "550e8400-e29b-41d4-a716-446655440000",
10
+ * displayName: "Project Manager",
11
+ * description: "Full access to manage project resources, users, and settings",
12
+ * permissions: [
13
+ * "itwins_read",
14
+ * "itwins_modify",
15
+ * "itwins_members_read",
16
+ * "itwins_members_modify",
17
+ * "imodels_read",
18
+ * "imodels_write"
19
+ * ]
20
+ * };
21
+ * ```
22
+ */
23
+ export interface Role {
24
+ /** Unique identifier for the role. Optional when creating a new role. */
25
+ id: string;
26
+ /** Human-readable name for the role */
27
+ displayName: string;
28
+ /** Detailed description of what this role provides */
29
+ description: string;
30
+ /** Array of permissions associated with this role */
31
+ permissions: Permission[];
32
+ }
33
+ //# sourceMappingURL=Role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,IAAI;IACnB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=Role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\nimport type { Permission } from \"./Permission\";\n\n/**\n * Represents a role that defines a set of permissions for iTwin access control.\n * Roles are assigned to users to grant them specific capabilities within an iTwin.\n *\n * @example\n * ```typescript\n * const projectManagerRole: Role = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * displayName: \"Project Manager\",\n * description: \"Full access to manage project resources, users, and settings\",\n * permissions: [\n * \"itwins_read\",\n * \"itwins_modify\",\n * \"itwins_members_read\",\n * \"itwins_members_modify\",\n * \"imodels_read\",\n * \"imodels_write\"\n * ]\n * };\n * ```\n */\nexport interface Role {\n /** Unique identifier for the role. Optional when creating a new role. */\n id: string;\n /** Human-readable name for the role */\n displayName: string;\n /** Detailed description of what this role provides */\n description: string;\n /** Array of permissions associated with this role */\n permissions: Permission[];\n}\n"]}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Represents an iTwin share contract that allows public access to iTwin data.
3
+ * Share contracts enable external users to access iTwin resources without authentication.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const shareContract: ShareContract = {
8
+ * id: "550e8400-e29b-41d4-a716-446655440000",
9
+ * iTwinId: "a1b2c3d4-e5f6-4789-0123-456789abcdef",
10
+ * shareKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
11
+ * shareContract: "Default",
12
+ * expiration: "2024-12-31T23:59:59.999Z"
13
+ * };
14
+ *
15
+ * // Usage in authorization header:
16
+ * const authHeader = `Basic ${shareContract.shareKey}`;
17
+ * ```
18
+ */
19
+ export interface ShareContract {
20
+ /** Unique identifier for the share contract */
21
+ id: string;
22
+ /** The iTwin ID that this share contract applies to */
23
+ iTwinId: string;
24
+ /** The share key used for authentication. Prepend with 'Basic' in authorization headers. */
25
+ shareKey: string;
26
+ /** The type of share contract (e.g., "Default") that defines available APIs */
27
+ shareContract: string;
28
+ /** ISO date string when the share contract expires */
29
+ expiration: string;
30
+ }
31
+ /**
32
+ * Response object containing a single share contract.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const response: SingleShareContractResponse = {
37
+ * share: {
38
+ * id: "550e8400-e29b-41d4-a716-446655440000",
39
+ * iTwinId: "a1b2c3d4-e5f6-4789-0123-456789abcdef",
40
+ * shareKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
41
+ * shareContract: "Default",
42
+ * expiration: "2024-12-31T23:59:59.999Z"
43
+ * }
44
+ * };
45
+ * ```
46
+ */
47
+ export interface SingleShareContractResponse {
48
+ /** The share contract data */
49
+ share: ShareContract;
50
+ }
51
+ /**
52
+ * Response object containing multiple share contracts.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const response: MultiShareContractResponse = {
57
+ * shares: [
58
+ * {
59
+ * id: "share1-550e8400-e29b-41d4-a716-446655440000",
60
+ * iTwinId: "a1b2c3d4-e5f6-4789-0123-456789abcdef",
61
+ * shareKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
62
+ * shareContract: "Default",
63
+ * expiration: "2024-12-31T23:59:59.999Z"
64
+ * },
65
+ * {
66
+ * id: "share2-550e8400-e29b-41d4-a716-446655440001",
67
+ * iTwinId: "a1b2c3d4-e5f6-4789-0123-456789abcdef",
68
+ * shareKey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
69
+ * shareContract: "Premium",
70
+ * expiration: "2025-06-30T23:59:59.999Z"
71
+ * }
72
+ * ]
73
+ * };
74
+ * ```
75
+ */
76
+ export interface MultiShareContractResponse {
77
+ /** Array of share contracts */
78
+ shares: ShareContract[];
79
+ }
80
+ //# sourceMappingURL=ShareContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareContract.d.ts","sourceRoot":"","sources":["../../../src/types/ShareContract.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8BAA8B;IAC9B,KAAK,EAAG,aAAa,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=ShareContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareContract.js","sourceRoot":"","sources":["../../../src/types/ShareContract.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\n/**\n * Represents an iTwin share contract that allows public access to iTwin data.\n * Share contracts enable external users to access iTwin resources without authentication.\n *\n * @example\n * ```typescript\n * const shareContract: ShareContract = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * iTwinId: \"a1b2c3d4-e5f6-4789-0123-456789abcdef\",\n * shareKey: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n * shareContract: \"Default\",\n * expiration: \"2024-12-31T23:59:59.999Z\"\n * };\n *\n * // Usage in authorization header:\n * const authHeader = `Basic ${shareContract.shareKey}`;\n * ```\n */\nexport interface ShareContract {\n /** Unique identifier for the share contract */\n id: string;\n /** The iTwin ID that this share contract applies to */\n iTwinId: string;\n /** The share key used for authentication. Prepend with 'Basic' in authorization headers. */\n shareKey: string;\n /** The type of share contract (e.g., \"Default\") that defines available APIs */\n shareContract: string;\n /** ISO date string when the share contract expires */\n expiration: string;\n}\n\n/**\n * Response object containing a single share contract.\n *\n * @example\n * ```typescript\n * const response: SingleShareContractResponse = {\n * share: {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * iTwinId: \"a1b2c3d4-e5f6-4789-0123-456789abcdef\",\n * shareKey: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n * shareContract: \"Default\",\n * expiration: \"2024-12-31T23:59:59.999Z\"\n * }\n * };\n * ```\n */\nexport interface SingleShareContractResponse {\n /** The share contract data */\n share: ShareContract;\n}\n\n/**\n * Response object containing multiple share contracts.\n *\n * @example\n * ```typescript\n * const response: MultiShareContractResponse = {\n * shares: [\n * {\n * id: \"share1-550e8400-e29b-41d4-a716-446655440000\",\n * iTwinId: \"a1b2c3d4-e5f6-4789-0123-456789abcdef\",\n * shareKey: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n * shareContract: \"Default\",\n * expiration: \"2024-12-31T23:59:59.999Z\"\n * },\n * {\n * id: \"share2-550e8400-e29b-41d4-a716-446655440001\",\n * iTwinId: \"a1b2c3d4-e5f6-4789-0123-456789abcdef\",\n * shareKey: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n * shareContract: \"Premium\",\n * expiration: \"2025-06-30T23:59:59.999Z\"\n * }\n * ]\n * };\n * ```\n */\nexport interface MultiShareContractResponse {\n /** Array of share contracts */\n shares: ShareContract[];\n}\n"]}
@@ -0,0 +1,115 @@
1
+ import type { MemberInvitation } from "./Invitations";
2
+ import type { Links } from "./links";
3
+ import type { UserMember } from "./Members";
4
+ /**
5
+ * Request to add or invite a user member to an iTwin with role assignments.
6
+ *
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const newMember: AddUserMember = {
11
+ * email: "newuser@company.com",
12
+ * roleIds: ["5abbfcef-0eab-472a-b5f5-5c5a43df34b1", "83ee0d80-dea3-495a-b6c0-7bb102ebbcc3"]
13
+ * };
14
+ * ```
15
+ */
16
+ export interface AddUserMember {
17
+ /** Array of role IDs to assign to the user */
18
+ roleIds: string[];
19
+ /** Email address of the user to add or invite */
20
+ email: string;
21
+ }
22
+ /**
23
+ * Response from adding user members to an iTwin.
24
+ *
25
+ * @remarks
26
+ * This response contains both members (users immediately added) and invitations
27
+ * (external users who need to accept invitations). Internal users are automatically
28
+ * added as members, while external users receive email invitations.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const response: AddUserMemberResponse = {
33
+ * members: [
34
+ * // Internal users added immediately
35
+ * { id: "123", email: "internal@company.com", givenName: "Jane", surname: "Doe", organization: "ACME Corp", roles: [...] }
36
+ * ],
37
+ * invitations: [
38
+ * // External users who received invitations
39
+ * { id: "inv456", email: "external@other.com", status: "Pending", roles: [...] }
40
+ * ]
41
+ * };
42
+ * ```
43
+ */
44
+ export interface AddUserMemberResponse {
45
+ /** Users that were immediately added as members (internal users) */
46
+ members: UserMember[];
47
+ /** Invitations sent to external users who need to accept them */
48
+ invitations: MemberInvitation[];
49
+ }
50
+ /**
51
+ * API response wrapper for a single user member operation.
52
+ *
53
+ * @remarks
54
+ * This interface is used for API responses that return a single user member,
55
+ * such as GET /members/{id} operations.
56
+ *
57
+ * #### Missing Users
58
+ * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still a user member of the iTwin. When this happens, the user member will be returned from this API endpoint with the follow values:
59
+ * ```typescript
60
+ * { member:
61
+ {
62
+ "id": <memberId>,
63
+ "email": null,
64
+ "givenName": null,
65
+ "surname": null,
66
+ "organization": null,
67
+ ...
68
+ }
69
+ * }
70
+ * ```
71
+ *
72
+ * #### Cleanup
73
+ * The Access Control API will perform a once-a-week cleanup to remove these "Missing Users". You can rely on this automated clean-up if this timeline is sufficient.
74
+ *
75
+ * If not, you can use the Remove iTwin User Member API (use the memberId) to remove the user member from the iTwin.
76
+ */
77
+ export interface SingleUserMemberResponse {
78
+ /** The user member data */
79
+ member: UserMember;
80
+ }
81
+ /**
82
+ * API response wrapper for multiple user members with pagination support.
83
+ *
84
+ * @remarks
85
+ * This interface is used for API responses that return collections of user members,
86
+ * such as GET /members operations. Includes HAL-style navigation links for pagination.
87
+ *
88
+ * #### Missing Users
89
+ * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still a user member of the iTwin. When this happens, the user members will be returned from this API endpoint with the following values:
90
+ * ```typescript
91
+ * { members: [
92
+ * {
93
+ * "id": <memberId>,
94
+ * "email": null,
95
+ * "givenName": null,
96
+ * "surname": null,
97
+ * "organization": null,
98
+ * ...
99
+ * }
100
+ * ]
101
+ * }
102
+ * ```
103
+ *
104
+ * #### Cleanup
105
+ * The Access Control API will perform a once-a-week cleanup to remove these "Missing Users". You can rely on this automated clean-up if this timeline is sufficient.
106
+ *
107
+ * If not, you can use the Remove iTwin User Member API (use the memberId) to remove the user member from the iTwin.
108
+ */
109
+ export interface MultipleUserMembersResponse {
110
+ /** Array of user members in the current page */
111
+ members: UserMember[];
112
+ /** HAL-style navigation links for pagination (first, next, prev, last) */
113
+ _links: Links;
114
+ }
115
+ //# sourceMappingURL=UserMembers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMembers.d.ts","sourceRoot":"","sources":["../../../src/types/UserMembers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,iEAAiE;IACjE,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gDAAgD;IAChD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0EAA0E;IAE1E,MAAM,EAAE,KAAK,CAAC;CACf"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=UserMembers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMembers.js","sourceRoot":"","sources":["../../../src/types/UserMembers.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","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\nimport type { MemberInvitation } from \"./Invitations\";\nimport type { Links } from \"./links\";\nimport type { UserMember } from \"./Members\";\n\n/**\n * Request to add or invite a user member to an iTwin with role assignments.\n *\n *\n * @example\n * ```typescript\n * const newMember: AddUserMember = {\n * email: \"newuser@company.com\",\n * roleIds: [\"5abbfcef-0eab-472a-b5f5-5c5a43df34b1\", \"83ee0d80-dea3-495a-b6c0-7bb102ebbcc3\"]\n * };\n * ```\n */\nexport interface AddUserMember {\n /** Array of role IDs to assign to the user */\n roleIds: string[];\n /** Email address of the user to add or invite */\n email: string;\n}\n\n/**\n * Response from adding user members to an iTwin.\n *\n * @remarks\n * This response contains both members (users immediately added) and invitations\n * (external users who need to accept invitations). Internal users are automatically\n * added as members, while external users receive email invitations.\n *\n * @example\n * ```typescript\n * const response: AddUserMemberResponse = {\n * members: [\n * // Internal users added immediately\n * { id: \"123\", email: \"internal@company.com\", givenName: \"Jane\", surname: \"Doe\", organization: \"ACME Corp\", roles: [...] }\n * ],\n * invitations: [\n * // External users who received invitations\n * { id: \"inv456\", email: \"external@other.com\", status: \"Pending\", roles: [...] }\n * ]\n * };\n * ```\n */\nexport interface AddUserMemberResponse {\n /** Users that were immediately added as members (internal users) */\n members: UserMember[];\n /** Invitations sent to external users who need to accept them */\n invitations: MemberInvitation[];\n}\n\n/**\n * API response wrapper for a single user member operation.\n *\n * @remarks\n * This interface is used for API responses that return a single user member,\n * such as GET /members/{id} operations.\n *\n * #### Missing Users\n * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still a user member of the iTwin. When this happens, the user member will be returned from this API endpoint with the follow values:\n * ```typescript\n * { member:\n {\n \"id\": <memberId>,\n \"email\": null,\n \"givenName\": null,\n \"surname\": null,\n \"organization\": null,\n ...\n }\n * }\n * ```\n *\n * #### Cleanup\n * The Access Control API will perform a once-a-week cleanup to remove these \"Missing Users\". You can rely on this automated clean-up if this timeline is sufficient.\n *\n * If not, you can use the Remove iTwin User Member API (use the memberId) to remove the user member from the iTwin.\n */\nexport interface SingleUserMemberResponse {\n /** The user member data */\n member: UserMember;\n}\n\n/**\n * API response wrapper for multiple user members with pagination support.\n *\n * @remarks\n * This interface is used for API responses that return collections of user members,\n * such as GET /members operations. Includes HAL-style navigation links for pagination.\n *\n * #### Missing Users\n * When users are removed from the Bentley Identity Management System, they are not automatically removed from the iTwin. Therefore, it is possible to have a situation where the user is no longer valid, yet they are still a user member of the iTwin. When this happens, the user members will be returned from this API endpoint with the following values:\n * ```typescript\n * { members: [\n * {\n * \"id\": <memberId>,\n * \"email\": null,\n * \"givenName\": null,\n * \"surname\": null,\n * \"organization\": null,\n * ...\n * }\n * ]\n * }\n * ```\n *\n * #### Cleanup\n * The Access Control API will perform a once-a-week cleanup to remove these \"Missing Users\". You can rely on this automated clean-up if this timeline is sufficient.\n *\n * If not, you can use the Remove iTwin User Member API (use the memberId) to remove the user member from the iTwin.\n */\nexport interface MultipleUserMembersResponse {\n /** Array of user members in the current page */\n members: UserMember[];\n /** HAL-style navigation links for pagination (first, next, prev, last) */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _links: Links;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Represents a hyperlink reference in API responses
3
+ */
4
+ export interface Link {
5
+ /** The URL or URI of the link */
6
+ href: string;
7
+ }
8
+ /**
9
+ * Collection of navigation links typically used for pagination in API responses.
10
+ * Follows HAL (Hypertext Application Language) specification for hypermedia links.
11
+ */
12
+ export interface Links {
13
+ /** Link to the current resource */
14
+ self: Link;
15
+ /** Link to the previous page of results */
16
+ prev: Link;
17
+ /** Link to the next page of results */
18
+ next: Link;
19
+ }
20
+ //# sourceMappingURL=links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/types/links.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,2CAA2C;IAC3C,IAAI,EAAE,IAAI,CAAC;IACX,uCAAuC;IACvC,IAAI,EAAE,IAAI,CAAC;CACZ"}
@@ -0,0 +1,6 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export {};
6
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/types/links.ts"],"names":[],"mappings":"AAAA;;;+FAG+F","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\n/**\n * Represents a hyperlink reference in API responses\n */\nexport interface Link {\n /** The URL or URI of the link */\n href: string;\n}\n\n/**\n * Collection of navigation links typically used for pagination in API responses.\n * Follows HAL (Hypertext Application Language) specification for hypermedia links.\n */\nexport interface Links {\n /** Link to the current resource */\n self: Link;\n /** Link to the previous page of results */\n prev: Link;\n /** Link to the next page of results */\n next: Link;\n}"]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Type guard to check if an object has a specific property and narrows the type to Record<string, unknown>
3
+ * @param obj - Unknown object to check for property existence
4
+ * @param prop - Property key name to check for
5
+ * @returns True if the object has the specified property, false otherwise
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const data: unknown = { name: "John", age: 30 };
10
+ * if (hasProperty(data, "name")) {
11
+ * console.log(data.name); // ✅ Type-safe access
12
+ * }
13
+ * ```
14
+ */
15
+ export declare function hasProperty(obj: unknown, prop: string): obj is Record<string, unknown>;
16
+ /**
17
+ * Utility type that creates a mapping object where every property of type T must be mapped to a string value.
18
+ * This ensures you can't forget to handle any properties - TypeScript will give you an error if you miss one.
19
+ *
20
+ * @template T - The source object type whose properties need to be mapped
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * interface User { name: string; age: number; }
25
+ *
26
+ * // ✅ Valid - all properties mapped
27
+ * const mapping: ParameterMapping<User> = {
28
+ * name: "user_name",
29
+ * age: "user_age"
30
+ * };
31
+ *
32
+ * // ❌ TypeScript error - missing 'age' property
33
+ * const incomplete: ParameterMapping<User> = {
34
+ * name: "user_name"
35
+ * // Error: Property 'age' is missing!
36
+ * };
37
+ * ```
38
+ */
39
+ export type ParameterMapping<T> = {
40
+ [K in keyof Required<T>]: string;
41
+ };
42
+ //# sourceMappingURL=typeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,GACX,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM;CACjC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Type guard to check if an object has a specific property and narrows the type to Record<string, unknown>
7
+ * @param obj - Unknown object to check for property existence
8
+ * @param prop - Property key name to check for
9
+ * @returns True if the object has the specified property, false otherwise
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const data: unknown = { name: "John", age: 30 };
14
+ * if (hasProperty(data, "name")) {
15
+ * console.log(data.name); // ✅ Type-safe access
16
+ * }
17
+ * ```
18
+ */
19
+ export function hasProperty(obj, prop) {
20
+ return typeof obj === "object" && obj !== null && prop in obj;
21
+ }
22
+ //# sourceMappingURL=typeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.js","sourceRoot":"","sources":["../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,GAAY,EACZ,IAAY;IAEZ,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;AAChE,CAAC","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\n/**\n * Type guard to check if an object has a specific property and narrows the type to Record<string, unknown>\n * @param obj - Unknown object to check for property existence\n * @param prop - Property key name to check for\n * @returns True if the object has the specified property, false otherwise\n *\n * @example\n * ```typescript\n * const data: unknown = { name: \"John\", age: 30 };\n * if (hasProperty(data, \"name\")) {\n * console.log(data.name); // ✅ Type-safe access\n * }\n * ```\n */\nexport function hasProperty(\n obj: unknown,\n prop: string\n): obj is Record<string, unknown> {\n return typeof obj === \"object\" && obj !== null && prop in obj;\n}\n\n/**\n * Utility type that creates a mapping object where every property of type T must be mapped to a string value.\n * This ensures you can't forget to handle any properties - TypeScript will give you an error if you miss one.\n *\n * @template T - The source object type whose properties need to be mapped\n *\n * @example\n * ```typescript\n * interface User { name: string; age: number; }\n *\n * // ✅ Valid - all properties mapped\n * const mapping: ParameterMapping<User> = {\n * name: \"user_name\",\n * age: \"user_age\"\n * };\n *\n * // ❌ TypeScript error - missing 'age' property\n * const incomplete: ParameterMapping<User> = {\n * name: \"user_name\"\n * // Error: Property 'age' is missing!\n * };\n * ```\n */\nexport type ParameterMapping<T> = {\n [K in keyof Required<T>]: string;\n};"]}