@itwin/access-control-client 4.1.0 → 4.3.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 (34) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.d.ts +2 -0
  3. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.d.ts.map +1 -1
  4. package/lib/cjs/accessControlClientInterfaces/MemberInvitationsClient.js.map +1 -1
  5. package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts +2 -2
  6. package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts.map +1 -1
  7. package/lib/cjs/accessControlClientInterfaces/RolesClient.js.map +1 -1
  8. package/lib/cjs/subClients/MemberInvitationsClient.d.ts +10 -0
  9. package/lib/cjs/subClients/MemberInvitationsClient.d.ts.map +1 -1
  10. package/lib/cjs/subClients/MemberInvitationsClient.js +13 -0
  11. package/lib/cjs/subClients/MemberInvitationsClient.js.map +1 -1
  12. package/lib/cjs/subClients/RolesClient.d.ts +2 -2
  13. package/lib/cjs/subClients/RolesClient.d.ts.map +1 -1
  14. package/lib/cjs/subClients/RolesClient.js.map +1 -1
  15. package/lib/cjs/types/Role.d.ts +3 -0
  16. package/lib/cjs/types/Role.d.ts.map +1 -1
  17. package/lib/cjs/types/Role.js.map +1 -1
  18. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.d.ts +2 -0
  19. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.d.ts.map +1 -1
  20. package/lib/esm/accessControlClientInterfaces/MemberInvitationsClient.js.map +1 -1
  21. package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts +2 -2
  22. package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts.map +1 -1
  23. package/lib/esm/accessControlClientInterfaces/RolesClient.js.map +1 -1
  24. package/lib/esm/subClients/MemberInvitationsClient.d.ts +10 -0
  25. package/lib/esm/subClients/MemberInvitationsClient.d.ts.map +1 -1
  26. package/lib/esm/subClients/MemberInvitationsClient.js +13 -0
  27. package/lib/esm/subClients/MemberInvitationsClient.js.map +1 -1
  28. package/lib/esm/subClients/RolesClient.d.ts +2 -2
  29. package/lib/esm/subClients/RolesClient.d.ts.map +1 -1
  30. package/lib/esm/subClients/RolesClient.js.map +1 -1
  31. package/lib/esm/types/Role.d.ts +3 -0
  32. package/lib/esm/types/Role.d.ts.map +1 -1
  33. package/lib/esm/types/Role.js.map +1 -1
  34. package/package.json +20 -19
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Change Log - @itwin/access-control-client
2
2
 
3
+ ## 4.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ ### [4.3.0](https://www.npmjs.com/package/@itwin/access-control-client/v/4.3.0) - 2026-03-26
8
+
9
+ add support for role 'type' property in role create/get responses
10
+
11
+ ### Patch Changes
12
+
13
+ ### [4.2.1](https://www.npmjs.com/package/@itwin/access-control-client/v/4.2.1) - 2026-03-26
14
+
15
+ updating picomatch and changesets packages to latest versions to avoid vulnerabilities
16
+
17
+ ## 4.2.0
18
+
19
+ ### Minor Changes
20
+
21
+ ### [4.2.0](https://www.npmjs.com/package/@itwin/access-control-client/v/4.2.0) - 2026-03-19
22
+
23
+ Added new endpoint for accepting user invites
24
+
25
+ ### Patch Changes
26
+
27
+ ### [4.1.1](https://www.npmjs.com/package/@itwin/access-control-client/v/4.1.1) - 2026-03-19
28
+
29
+ Fixed dev dep audit issues and updated packages
30
+
3
31
  ## 4.1.0
4
32
 
5
33
  ### Minor Changes
@@ -8,5 +8,7 @@ export interface IMemberInvitationsClient {
8
8
  getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;
9
9
  /** Removes an existing member invitation. */
10
10
  deleteITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
11
+ /** Accepts an existing member invitation. */
12
+ acceptITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
11
13
  }
12
14
  //# sourceMappingURL=MemberInvitationsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE7G,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAEjE,mDAAmD;IACnD,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE7G,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAEjE,mDAAmD;IACnD,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\n\nexport interface IMemberInvitationsClient {\n /** Retrieves a list of member invitations. */\n queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>>;\n\n /** Retrieves a member invitations by invite id. */\n getITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;\n\n /** Removes an existing member invitation. */\n deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n}"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\n\nexport interface IMemberInvitationsClient {\n /** Retrieves a list of member invitations. */\n queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>>;\n\n /** Retrieves a member invitations by invite id. */\n getITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;\n\n /** Removes an existing member invitation. */\n deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Accepts an existing member invitation. */\n acceptITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n}"]}
@@ -7,10 +7,10 @@ export interface IRolesClient {
7
7
  /** Retrieves a role for a specified iTwin */
8
8
  getITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<Role>>;
9
9
  /** Creates a new iTwin Role */
10
- createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
10
+ createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
11
11
  /** Removes an existing iTwin Role */
12
12
  deleteITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<undefined>>;
13
13
  /** Updates an existing iTwin Role */
14
- updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
14
+ updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
15
15
  }
16
16
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjF,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAC9B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1F,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
1
+ {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\" | \"type\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
@@ -26,6 +26,16 @@ export declare class MemberInvitationsClient extends BaseClient implements IMemb
26
26
  * @returns No Content
27
27
  */
28
28
  deleteITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
29
+ /** Accepts a member invitation.
30
+ * @param accessToken The client access token string
31
+ * @param iTwinId The id of the iTwin
32
+ * @param invitationId The id of the invitation id
33
+ * @returns No Content
34
+ * @beta
35
+ * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.
36
+ * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.
37
+ */
38
+ acceptITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
29
39
  /** Deletes a member invitations.
30
40
  * @param accessToken The client access token string
31
41
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;IACnC;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;IAahE;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKvC;;;;;KAKC;IACU,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;CAKpK"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;IACnC;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;IAahE;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;;;OAQG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKvC;;;;;KAKC;IACU,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;CAKpK"}
@@ -37,6 +37,19 @@ class MemberInvitationsClient extends BaseClient_1.BaseClient {
37
37
  const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;
38
38
  return this.sendGenericAPIRequest(accessToken, "DELETE", url);
39
39
  }
40
+ /** Accepts a member invitation.
41
+ * @param accessToken The client access token string
42
+ * @param iTwinId The id of the iTwin
43
+ * @param invitationId The id of the invitation id
44
+ * @returns No Content
45
+ * @beta
46
+ * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.
47
+ * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.
48
+ */
49
+ async acceptITwinMemberInvitation(accessToken, iTwinId, invitationId) {
50
+ const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}/accept`;
51
+ return this.sendGenericAPIRequest(accessToken, "POST", url);
52
+ }
40
53
  /** Deletes a member invitations.
41
54
  * @param accessToken The client access token string
42
55
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAE1C;GACG;AACH,MAAa,uBACX,SAAQ,uBAAU;IAElB;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA4C;QAE5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,uBACrC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACtH,EAAE,CAAC;QAEH,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAEC;;;;;KAKC;IACI,KAAK,CAAC,wBAAwB,CAAC,WAAwB,EAAE,OAAe,EAAE,YAAoB;QACnG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CAEF;AA1DD,0DA0DC","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 { IMemberInvitationsClient } from \"../accessControlClientInterfaces/MemberInvitationsClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin member invitation operations.\n */\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n /** Create a new MemberInvitationsClient 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 member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations${\n arg ? `?${this.getQueryString(MemberInvitationsClient.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 /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n */\n public async deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns A member invitation or error object\n */\n public async getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n}\n"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAE1C;GACG;AACH,MAAa,uBACX,SAAQ,uBAAU;IAElB;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA4C;QAE5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,uBACrC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACtH,EAAE,CAAC;QAEH,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,SAAS,CAAC;QACrF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEC;;;;;KAKC;IACI,KAAK,CAAC,wBAAwB,CAAC,WAAwB,EAAE,OAAe,EAAE,YAAoB;QACnG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CAEF;AA5ED,0DA4EC","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 { IMemberInvitationsClient } from \"../accessControlClientInterfaces/MemberInvitationsClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin member invitation operations.\n */\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n /** Create a new MemberInvitationsClient 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 member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations${\n arg ? `?${this.getQueryString(MemberInvitationsClient.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 /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n */\n public async deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Accepts a member invitation.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n * @beta\n * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.\n * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.\n */\n public async acceptITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}/accept`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url);\n }\n\n /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns A member invitation or error object\n */\n public async getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n}\n"]}
@@ -31,7 +31,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
31
31
  * @param role The role to be created
32
32
  * @returns Role
33
33
  */
34
- createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
34
+ createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
35
35
  /** Delete the specified iTwin role
36
36
  * @param accessToken The client access token string
37
37
  * @param iTwinId The id of the iTwin
@@ -46,6 +46,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
46
46
  * @param role The updated role
47
47
  * @returns Role
48
48
  */
49
- updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
49
+ updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
50
50
  }
51
51
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;IAKhF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAC9B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC;IAKzF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAG1C;GACG;AACH,MAAa,WAAY,SAAQ,uBAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAA+B;QAE/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF;AAjFD,kCAiFC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAG1C;GACG;AACH,MAAa,WAAY,SAAQ,uBAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAwC;QAExC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF;AAjFD,kCAiFC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\" | \"type\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
@@ -9,6 +9,7 @@ import type { Permission } from "./Permission";
9
9
  * id: "550e8400-e29b-41d4-a716-446655440000",
10
10
  * displayName: "Project Manager",
11
11
  * description: "Full access to manage project resources, users, and settings",
12
+ * type: "Custom",
12
13
  * permissions: [
13
14
  * "itwins_read",
14
15
  * "itwins_modify",
@@ -29,5 +30,7 @@ export interface Role {
29
30
  description: string;
30
31
  /** Array of permissions associated with this role */
31
32
  permissions: Permission[];
33
+ /** The type of role, either Custom or Default */
34
+ type: string;
32
35
  }
33
36
  //# sourceMappingURL=Role.d.ts.map
@@ -1 +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"}
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;;;;;;;;;;;;;;;;;;;;;GAqBG;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;IAC1B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -1 +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"]}
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 * type: \"Custom\",\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 /** The type of role, either Custom or Default */\n type: string;\n}\n"]}
@@ -8,5 +8,7 @@ export interface IMemberInvitationsClient {
8
8
  getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;
9
9
  /** Removes an existing member invitation. */
10
10
  deleteITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
11
+ /** Accepts an existing member invitation. */
12
+ acceptITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
11
13
  }
12
14
  //# sourceMappingURL=MemberInvitationsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE7G,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAEjE,mDAAmD;IACnD,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE7G,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAEjE,mDAAmD;IACnD,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,6CAA6C;IAC7C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\n\nexport interface IMemberInvitationsClient {\n /** Retrieves a list of member invitations. */\n queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>>;\n\n /** Retrieves a member invitations by invite id. */\n getITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;\n\n /** Removes an existing member invitation. */\n deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n}"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/MemberInvitationsClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\n\nexport interface IMemberInvitationsClient {\n /** Retrieves a list of member invitations. */\n queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>>;\n\n /** Retrieves a member invitations by invite id. */\n getITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>>;\n\n /** Removes an existing member invitation. */\n deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Accepts an existing member invitation. */\n acceptITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n}"]}
@@ -7,10 +7,10 @@ export interface IRolesClient {
7
7
  /** Retrieves a role for a specified iTwin */
8
8
  getITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<Role>>;
9
9
  /** Creates a new iTwin Role */
10
- createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
10
+ createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
11
11
  /** Removes an existing iTwin Role */
12
12
  deleteITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<undefined>>;
13
13
  /** Updates an existing iTwin Role */
14
- updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
14
+ updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
15
15
  }
16
16
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjF,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAC9B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1F,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
1
+ {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.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 { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\" | \"type\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
@@ -26,6 +26,16 @@ export declare class MemberInvitationsClient extends BaseClient implements IMemb
26
26
  * @returns No Content
27
27
  */
28
28
  deleteITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
29
+ /** Accepts a member invitation.
30
+ * @param accessToken The client access token string
31
+ * @param iTwinId The id of the iTwin
32
+ * @param invitationId The id of the invitation id
33
+ * @returns No Content
34
+ * @beta
35
+ * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.
36
+ * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.
37
+ */
38
+ acceptITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<undefined>>;
29
39
  /** Deletes a member invitations.
30
40
  * @param accessToken The client access token string
31
41
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;IACnC;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;IAahE;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKvC;;;;;KAKC;IACU,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;CAKpK"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;IACnC;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC,GAC3C,OAAO,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;IAahE;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;;;OAQG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKvC;;;;;KAKC;IACU,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;CAKpK"}
@@ -34,6 +34,19 @@ export class MemberInvitationsClient extends BaseClient {
34
34
  const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;
35
35
  return this.sendGenericAPIRequest(accessToken, "DELETE", url);
36
36
  }
37
+ /** Accepts a member invitation.
38
+ * @param accessToken The client access token string
39
+ * @param iTwinId The id of the iTwin
40
+ * @param invitationId The id of the invitation id
41
+ * @returns No Content
42
+ * @beta
43
+ * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.
44
+ * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.
45
+ */
46
+ async acceptITwinMemberInvitation(accessToken, iTwinId, invitationId) {
47
+ const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}/accept`;
48
+ return this.sendGenericAPIRequest(accessToken, "POST", url);
49
+ }
37
50
  /** Deletes a member invitations.
38
51
  * @param accessToken The client access token string
39
52
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,MAAM,OAAO,uBACX,SAAQ,UAAU;IAElB;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA4C;QAE5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,uBACrC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACtH,EAAE,CAAC;QAEH,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAEC;;;;;KAKC;IACI,KAAK,CAAC,wBAAwB,CAAC,WAAwB,EAAE,OAAe,EAAE,YAAoB;QACnG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CAEF","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 { IMemberInvitationsClient } from \"../accessControlClientInterfaces/MemberInvitationsClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin member invitation operations.\n */\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n /** Create a new MemberInvitationsClient 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 member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations${\n arg ? `?${this.getQueryString(MemberInvitationsClient.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 /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n */\n public async deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns A member invitation or error object\n */\n public async getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n}\n"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;GACG;AACH,MAAM,OAAO,uBACX,SAAQ,UAAU;IAElB;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA4C;QAE5C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,uBACrC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACtH,EAAE,CAAC;QAEH,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,SAAS,CAAC;QACrF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEC;;;;;KAKC;IACI,KAAK,CAAC,wBAAwB,CAAC,WAAwB,EAAE,OAAe,EAAE,YAAoB;QACnG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CAEF","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 { IMemberInvitationsClient } from \"../accessControlClientInterfaces/MemberInvitationsClient\";\nimport type { BentleyAPIResponse, ODataQueryParams } from \"../types/CommonApiTypes\";\nimport type { MultipleMemberInvitationResponse, SingleMemberInvitationResponse } from \"../types/Invitations\";\nimport { BaseClient } from \"./BaseClient\";\n\n/** Client API to perform iTwin member invitation operations.\n */\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n /** Create a new MemberInvitationsClient 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 member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitations(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: Pick<ODataQueryParams, \"top\" | \"skip\">\n ): Promise<BentleyAPIResponse<MultipleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations${\n arg ? `?${this.getQueryString(MemberInvitationsClient.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 /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n */\n public async deleteITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Accepts a member invitation.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns No Content\n * @beta\n * @remarks On success, the invited user is added as an iTwin member with the roles from all pending invitations for that user. After acceptance, all of that user’s pending invitations for the iTwin are consumed and can no longer be accessed.\n * If the invited user is already a member of the iTwin, the request is treated as a success. Only the invited user can accept this invitation through this API. The invited user must already exist as a member in IMS.\n */\n public async acceptITwinMemberInvitation(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<BentleyAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}/accept`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url);\n }\n\n /** Deletes a member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param invitationId The id of the invitation id\n * @returns A member invitation or error object\n */\n public async getITwinMemberInvitation(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<BentleyAPIResponse<SingleMemberInvitationResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\n }\n\n}\n"]}
@@ -31,7 +31,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
31
31
  * @param role The role to be created
32
32
  * @returns Role
33
33
  */
34
- createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
34
+ createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
35
35
  /** Delete the specified iTwin role
36
36
  * @param accessToken The client access token string
37
37
  * @param iTwinId The id of the iTwin
@@ -46,6 +46,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
46
46
  * @param role The updated role
47
47
  * @returns Role
48
48
  */
49
- updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
49
+ updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
50
50
  }
51
51
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;IAKhF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAC9B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC;IAKzF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAA+B;QAE/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAwC;QAExC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\" | \"type\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
@@ -9,6 +9,7 @@ import type { Permission } from "./Permission";
9
9
  * id: "550e8400-e29b-41d4-a716-446655440000",
10
10
  * displayName: "Project Manager",
11
11
  * description: "Full access to manage project resources, users, and settings",
12
+ * type: "Custom",
12
13
  * permissions: [
13
14
  * "itwins_read",
14
15
  * "itwins_modify",
@@ -29,5 +30,7 @@ export interface Role {
29
30
  description: string;
30
31
  /** Array of permissions associated with this role */
31
32
  permissions: Permission[];
33
+ /** The type of role, either Custom or Default */
34
+ type: string;
32
35
  }
33
36
  //# sourceMappingURL=Role.d.ts.map
@@ -1 +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"}
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;;;;;;;;;;;;;;;;;;;;;GAqBG;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;IAC1B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -1 +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"]}
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 * type: \"Custom\",\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 /** The type of role, either Custom or Default */\n type: string;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/access-control-client",
3
- "version": "4.1.0",
3
+ "version": "4.3.0",
4
4
  "description": "Access control client for the iTwin platform",
5
5
  "main": "lib/cjs/access-control-client.js",
6
6
  "module": "lib/esm/access-control-client.js",
@@ -27,25 +27,26 @@
27
27
  }
28
28
  },
29
29
  "devDependencies": {
30
- "@changesets/cli": "^2.27.11",
31
- "@changesets/types": "6.0.0",
32
- "@eslint/eslintrc": "^3.3.1",
33
- "@itwin/build-tools": "^5.1.8",
34
- "@itwin/core-bentley": "^5.1.8",
35
- "@itwin/eslint-plugin": "^5.2.1",
36
- "@itwin/oidc-signin-tool": "^5.0.1",
37
- "@playwright/test": "1.48.2",
38
- "@types/node": "20.19.16",
39
- "@typescript-eslint/eslint-plugin": "^8.44.0",
40
- "@typescript-eslint/parser": "^8.44.0",
30
+ "@changesets/cli": "^2.30.0",
31
+ "@changesets/types": "6.1.0",
32
+ "@eslint/eslintrc": "^3.3.5",
33
+ "@itwin/build-tools": "^5.7.2",
34
+ "@itwin/core-bentley": "^5.7.2",
35
+ "@itwin/eslint-plugin": "^6.0.0",
36
+ "@itwin/oidc-signin-tool": "^5.1.1",
37
+ "@playwright/test": "1.56.0",
38
+ "@types/node": "25.5.00",
39
+ "@typescript-eslint/eslint-plugin": "^8.57.1",
40
+ "@typescript-eslint/parser": "^8.57.1",
41
+ "@vitest/coverage-v8": "^3.2.4",
41
42
  "@vitest/ui": "^3.2.4",
42
- "dotenv": "^10.0.0",
43
- "dotenv-expand": "^5.1.0",
44
- "eslint": "^9.11.1",
45
- "rimraf": "^6.0.1",
46
- "source-map-loader": "^1.1.3",
47
- "typedoc": "^0.28.13",
48
- "typescript": "~5.9.2",
43
+ "dotenv": "^17.3.0",
44
+ "dotenv-expand": "^12.0.3",
45
+ "eslint": "^9.39.4",
46
+ "rimraf": "^6.1.3",
47
+ "source-map-loader": "^5.0.0",
48
+ "typedoc": "^0.28.17",
49
+ "typescript": "~5.9.3",
49
50
  "vite": "^5.4.10",
50
51
  "vitest": "^3.2.4"
51
52
  },