@itwin/access-control-client 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # Change Log - @itwin/access-control-client
2
+
3
+ ## 1.0.0
4
+
5
+ - Intial commit.
@@ -0,0 +1,90 @@
1
+ # Contributing
2
+
3
+ This project accepts contributions from other teams at Bentley.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Creating Issues and Enhancements](#creating-issues-and-enhancements)
8
+ - [Writing Good Bug Reports and Feature Requests](#writing-good-bug-reports-and-feature-requests)
9
+ - [Final Checklist](#final-checklist)
10
+ - [Pull Requests](#pull-requests)
11
+ - [Submitting Pull Requests](#submitting-pull-requests)
12
+ - [File Headers](#file-headers)
13
+ - [Editor Config](#editor-config)
14
+ - [VS Code](#vs-code)
15
+ - [Visual Studio](#visual-studio)
16
+
17
+ ## Creating Issues and Enhancements
18
+
19
+ Have you identified a reproducible problem in this code? Have a feature requests? Please enter a Bug or Product Backlog Item, but first make sure that you search the work items to make sure that it has not been entered yet. If you find your issue already exists, make relevant comments.
20
+
21
+ All work in this repository and every pull request must have a linked work item.
22
+
23
+ ### Writing Good Bug Reports and Feature Requests
24
+
25
+ File a single issue per problem and feature request. Do not enumerate multiple bugs or feature requests in the same issue.
26
+
27
+ Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
28
+
29
+ The more information you can provide, the more likely someone will be successful at reproducing the issue and finding a fix.
30
+
31
+ Please include the following with each issue:
32
+
33
+ * Version of the code
34
+ * Your operating system
35
+ * Reproducible steps (1... 2... 3...) that cause the issue
36
+ * What you expected to see, versus what you actually saw
37
+ * Images, animations, or a link to a video showing the issue occurring
38
+ * A code snippet that demonstrates the issue or a link to a code repository the developers can easily pull down to recreate the issue locally
39
+
40
+ ### Final Checklist
41
+
42
+ Please remember to do the following:
43
+
44
+ * [ ] Search work items to ensure your report is a new issue
45
+ * [ ] Simplify your code around the issue to better isolate the problem
46
+
47
+ ## Pull Requests
48
+
49
+ We follow a [feature branch and pull request workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) to ensure that all code changes in this repository are code reviewed and all tests pass. This means that there will be a number of reviewers that formally review and sign off for changes. Reviewers should check for redundancy, optimization, stylization, and standardization in each changeset. While we will try to keep this repository as collaborative and open-source as possible, it must also be reliable.
50
+
51
+ Every change must be tested with proper unit tests. Integration tests are highly encouraged in libraries with critical workflows to ensure end-to-end consistency.
52
+
53
+ ### Submitting Pull Requests
54
+
55
+ - **DO** ensure you have added unit tests for your changes.
56
+ - **DO** run all unit tests before you submit your pull request.
57
+ - **DO** link the pull request to a Work Item.
58
+ - **DO** ensure submissions pass all Continuous Integration and are merge conflict free.
59
+ - **DO** follow the [.editorconfig](http://editorconfig.org/) settings for each directory.
60
+ - **DON'T** submit large code formatting changes without discussing with the team first.
61
+ - **DON'T** surprise us with big pull requests. Instead, file an issue and start a discussion so we can agree on a direction before you invest a large amount of time.
62
+ - **DON'T** fix merge conflicts using a merge commit. Prefer `git rebase`.
63
+ - **DON'T** mix independent, unrelated changes in one PR.
64
+
65
+ If you are unfamiliar with creating pull requests, please read [PULL_REQUESTS.md](PULL_REQUESTS.md).
66
+
67
+ These two blogs posts on contributing code to open source projects are good too: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and [Don’t “Push” Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik.
68
+
69
+ ## File Headers
70
+
71
+ The following file headers are used in this project. Please use it for new files.
72
+
73
+ ```typescript
74
+ /*---------------------------------------------------------------------------------------------
75
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
76
+ * See LICENSE.md in the project root for license terms and full copyright notice.
77
+ *--------------------------------------------------------------------------------------------*/
78
+ ```
79
+
80
+ ## Editor Config
81
+
82
+ This project uses an `.editorconfig` file to maintain a consistent style standard (braces, tabs, etc.) across all files in the solution. For more information or to find extensions for code editors other than VS Code and Visual Studio, see the [EditorConfig](https://editorconfig.org/) website.
83
+
84
+ ### VS Code
85
+
86
+ Download the [EditorConfig for VSCode](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) to override your user/workspace settings with settings found in this repository's `.editorconfig` files.
87
+
88
+ ### Visual Studio
89
+
90
+ Visual Studio 2017 and newer comes with EditorConfig support built in. Older versions of Visual Studio will need to install the [EditorConfig extension](https://marketplace.visualstudio.com/items?itemName=EditorConfigTeam.EditorConfig).
@@ -0,0 +1,33 @@
1
+ ## Integration Test Setup
2
+
3
+ Make sure an `.env` file is created in the root folder. The following are the keys without the values:
4
+ ```
5
+ IMJS_AUTH_AUTHORITY=""
6
+ IMJS_URL_PREFIX=""
7
+ IMJS_OIDC_AUTHING_BROWSER_TEST_AUTHORITY=""
8
+ IMJS_OIDC_BROWSER_TEST_CLIENT_ID=""
9
+ IMJS_OIDC_BROWSER_TEST_REDIRECT_URI=""
10
+ IMJS_OIDC_BROWSER_TEST_SCOPES=""
11
+ IMJS_OIDC_AUTHING_BROWSER_TEST_SCOPES=""
12
+ IMJS_TEST_REGULAR_USER_NAME=""
13
+ IMJS_TEST_REGULAR_USER_PASSWORD=""
14
+ IMJS_TEST_REGULAR_USER_ID=""
15
+ IMJS_TEST_ASSET_ID=""
16
+ IMJS_TEST_PROJECT_ID=""
17
+ IMJS_TEST_IMODEL_ID=""
18
+ IMJS_TEST_PERMANENT_ROLE_ID1=""
19
+ IMJS_TEST_PERMANENT_ROLE_NAME1=""
20
+ IMJS_TEST_PERMANENT_ROLE_ID2=""
21
+ IMJS_TEST_PERMANENT_ROLE_NAME2=""
22
+ IMJS_TEST_TEMP_USER_EMAIL=""
23
+ IMJS_TEST_TEMP_USER_ID=""
24
+ ```
25
+
26
+ Run the following npm commands from the root folder in order.
27
+ ```
28
+ npm i
29
+ npm run build
30
+ npm run test
31
+ ```
32
+
33
+ `npm run test` runs a script defined in `package.json`.
package/README.md CHANGED
@@ -8,7 +8,299 @@ If you have questions, or wish to contribute to iTwin.js, see our [Contributing
8
8
 
9
9
  ## About this Repository
10
10
 
11
- Contains the __@itwin/access-control-client__ package that wraps sending requests to the access control service. Visit the [iTwins API](https://developer.bentley.com/apis/access-control/) for more documentation on the iTwins service.
11
+ Contains the **@itwin/access-control-client** package that wraps sending requests to the access control service. Visit the [Access Control API](https://developer.bentley.com/apis/access-control/) for more documentation on the Access Control service.
12
+
13
+ ## Usage examples
14
+
15
+ ### Get list of Roles for an iTwin
16
+
17
+ ```typescript
18
+ import type { AccessToken } from "@itwin/core-bentley";
19
+ import {
20
+ AccessControlClient,
21
+ IAccessControlClient,
22
+ Role,
23
+ AccessControlAPIResponse,
24
+ } from "@itwin/access-control-client";
25
+
26
+ /** Function that queries all Roles for a given iTwin and prints their ids to the console. */
27
+ async function printiTwinRoleIds(): Promise<void> {
28
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
29
+ const accessToken: AccessToken = { get_access_token_logic_here };
30
+
31
+ const iTwinsResponse: AccessControlAPIResponse<Role[]> =
32
+ await accessControlClient.roles.getITwinRolesAsync(
33
+ accessToken,
34
+ "2f981e83-47e4-4f36-8ee9-4264453688a1"
35
+ );
36
+
37
+ iTwinsResponse.data!.forEach((actualRole: Role) => {
38
+ console.log(actualRole.id);
39
+ });
40
+ }
41
+ ```
42
+
43
+ ### Get specific role for an iTwin
44
+
45
+ ```typescript
46
+ import type { AccessToken } from "@itwin/core-bentley";
47
+ import {
48
+ AccessControlClient,
49
+ IAccessControlClient,
50
+ Role,
51
+ AccessControlAPIResponse,
52
+ } from "@itwin/access-control-client";
53
+
54
+ /** Function that gets a specific role for an iTwin and then prints the id and displayName to the console. */
55
+ async function printiTwinRole(): Promise<void> {
56
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
57
+ const accessToken: AccessToken = { get_access_token_logic_here };
58
+
59
+ const iTwinsResponse: AccessControlAPIResponse<Role> =
60
+ await accessControlClient.roles.getITwinRoleAsync(
61
+ accessToken,
62
+ "2f981e83-47e4-4f36-8ee9-4264453688a1",
63
+ "2d593231-db14-4c1f-9db4-96f2b91b0bde"
64
+ );
65
+
66
+ const actualRole = iTwinsResponse.data!;
67
+ console.log(actualRole.id, actualRole.displayName);
68
+ }
69
+ ```
70
+
71
+ ### Create, update, and delete a Role
72
+
73
+ ```typescript
74
+ import type { AccessToken } from "@itwin/core-bentley";
75
+ import {
76
+ AccessControlClient,
77
+ IAccessControlClient,
78
+ Role,
79
+ AccessControlAPIResponse,
80
+ } from "@itwin/access-control-client";
81
+
82
+ /** Function that creates, updates, and deletes a role. */
83
+ async function printiTwinRole(): Promise<void> {
84
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
85
+ const accessToken: AccessToken = { get_access_token_logic_here };
86
+
87
+ // Create role
88
+ const createResponse: AccessControlAPIResponse<Role> =
89
+ await accessControlClient.roles.createITwinRoleAsync(
90
+ accessToken,
91
+ "71fd32ed-5ee4-4e22-bc4d-b8e973e0b7b7",
92
+ "d8215a6b-465d-44ff-910b-40d4541d1ebf"
93
+ );
94
+
95
+ // Update role
96
+ const updatedRole: Role = {
97
+ displayName: "Some new role name",
98
+ description: "UPDATED ROLE DESCRIPTION",
99
+ permissions: [],
100
+ };
101
+ const updateResponse: AccessControlAPIResponse<Role> =
102
+ await accessControlClient.roles.updateITwinRoleAsync(
103
+ accessToken,
104
+ "71fd32ed-5ee4-4e22-bc4d-b8e973e0b7b7",
105
+ createResponse.data!.id,
106
+ updatedRole
107
+ );
108
+
109
+ // Delete Role
110
+ const deleteResponse: AccessControlAPIResponse<undefined> =
111
+ await accessControlClient.roles.deleteITwinRoleAsync(
112
+ accessToken,
113
+ "71fd32ed-5ee4-4e22-bc4d-b8e973e0b7b7",
114
+ createResponse.data!.id
115
+ );
116
+ }
117
+ ```
118
+
119
+ ### Get list of Members for an iTwin
120
+
121
+ ```typescript
122
+ import type { AccessToken } from "@itwin/core-bentley";
123
+ import {
124
+ AccessControlClient,
125
+ IAccessControlClient,
126
+ Member,
127
+ AccessControlAPIResponse,
128
+ } from "@itwin/access-control-client";
129
+
130
+ /** Function that queries all Members for a given iTwin and prints their ids to the console. */
131
+ async function printiTwinMemberIds(): Promise<void> {
132
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
133
+ const accessToken: AccessToken = { get_access_token_logic_here };
134
+
135
+ const iTwinsResponse: AccessControlAPIResponse<Member[]> =
136
+ await accessControlClient.members.queryITwinMembersAsync(
137
+ accessToken,
138
+ "9bd7d24d-1508-4dba-99ab-23b3166401a0"
139
+ );
140
+
141
+ iTwinsResponse.data!.forEach((actualMember: Member) => {
142
+ console.log(actualMember.id);
143
+ });
144
+ }
145
+ ```
146
+
147
+ ### Get a filtered list of Members for an iTwin using $top/$skip
148
+
149
+ ```typescript
150
+ import type { AccessToken } from "@itwin/core-bentley";
151
+ import {
152
+ AccessControlClient,
153
+ IAccessControlClient,
154
+ Member,
155
+ AccessControlAPIResponse,
156
+ } from "@itwin/access-control-client";
157
+
158
+ /** Function that queries all Members for a given iTwin and prints their ids to the console. */
159
+ async function printiTwinMemberIds(): Promise<void> {
160
+ const skipAmmount = 5;
161
+ const topAmount = 3;
162
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
163
+ const accessToken: AccessToken = { get_access_token_logic_here };
164
+
165
+ const iTwinsResponse: AccessControlAPIResponse<Member[]> =
166
+ await accessControlClient.members.queryITwinMembersAsync(
167
+ accessToken,
168
+ "9bd7d24d-1508-4dba-99ab-23b3166401a0",
169
+ { skip: skipAmmount, top: topAmount }
170
+ );
171
+
172
+ iTwinsResponse.data!.forEach((actualMember: Member) => {
173
+ console.log(actualMember.id);
174
+ });
175
+ }
176
+ ```
177
+
178
+ ### Get a specific Member of an iTwin
179
+
180
+ ```typescript
181
+ import type { AccessToken } from "@itwin/core-bentley";
182
+ import {
183
+ AccessControlClient,
184
+ IAccessControlClient,
185
+ Member,
186
+ AccessControlAPIResponse,
187
+ } from "@itwin/access-control-client";
188
+
189
+ /** Function that gets a member of an iTwin prints the id and email to the console. */
190
+ async function printiTwinMemberIds(): Promise<void> {
191
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
192
+ const accessToken: AccessToken = { get_access_token_logic_here };
193
+
194
+ const iTwinsResponse: AccessControlAPIResponse<Member> =
195
+ await accessControlClient.members.getITwinMemberAsync(
196
+ accessToken,
197
+ "9bd7d24d-1508-4dba-99ab-23b3166401a0",
198
+ "a083cc1c-f51a-4c52-8614-5774ab79eca1"
199
+ );
200
+
201
+ const actualMember = iTwinsResponse.data!;
202
+ console.log(actualMember.id, actualMember.email);
203
+ }
204
+ ```
205
+
206
+ ### Create, update, and delete a Member
207
+
208
+ ```typescript
209
+ import type { AccessToken } from "@itwin/core-bentley";
210
+ import {
211
+ AccessControlClient,
212
+ IAccessControlClient,
213
+ Member,
214
+ AccessControlAPIResponse,
215
+ } from "@itwin/access-control-client";
216
+
217
+ /** Function that creates, updates, and deletes a member. */
218
+ async function printiTwinRole(): Promise<void> {
219
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
220
+ const accessToken: AccessToken = { get_access_token_logic_here };
221
+
222
+ // Create member
223
+ const createResponse: AccessControlAPIResponse<Role> =
224
+ await accessControlClient.members.addITwinMembersAsync(
225
+ accessToken,
226
+ "71fd32ed-5ee4-4e22-bc4d-b8e973e0b7b7",
227
+ "d8215a6b-465d-44ff-910b-40d4541d1ebf"
228
+ );
229
+
230
+ // Update member's role
231
+ const updatedMemberResponse: AccessControlAPIResponse<Member> =
232
+ await accessControlClient.members.updateITwinMemberAsync(
233
+ accessToken,
234
+ "b1803a0c-d440-4902-b527-54bf7f72500f",
235
+ "6401109c-75d7-46b8-8dbd-182d02155141",
236
+ [
237
+ "25162c0c-dce7-419e-bb51-fd13efd5b54a",
238
+ "10e3d778-0d35-4c4d-bf77-547bb366cb14",
239
+ ]
240
+ );
241
+
242
+ // Delete member
243
+ const removeMemberResponse: AccessControlAPIResponse<undefined> =
244
+ await accessControlClient.members.removeITwinMemberAsync(
245
+ accessToken,
246
+ "b1803a0c-d440-4902-b527-54bf7f72500f",
247
+ "6401109c-75d7-46b8-8dbd-182d02155141"
248
+ );
249
+ }
250
+ ```
251
+
252
+ ### Get a list of Permissions
253
+
254
+ ```typescript
255
+ import type { AccessToken } from "@itwin/core-bentley";
256
+ import {
257
+ AccessControlClient,
258
+ IAccessControlClient,
259
+ Permission,
260
+ AccessControlAPIResponse,
261
+ } from "@itwin/access-control-client";
262
+
263
+ /** Function that queries all Permissions and prints the ids to the console. */
264
+ async function printiTwinPermissionIds(): Promise<void> {
265
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
266
+ const accessToken: AccessToken = { get_access_token_logic_here };
267
+
268
+ const iTwinsResponse: AccessControlAPIResponse<Permission[]> =
269
+ await accessControlClient.permissions.getPermissionsAsync(accessToken);
270
+
271
+ iTwinsResponse.data!.forEach((actualPermission: Permission) => {
272
+ console.log(actualPermission.id);
273
+ });
274
+ }
275
+ ```
276
+
277
+ ### Get a list of Permissions for an iTwin
278
+
279
+ ```typescript
280
+ import type { AccessToken } from "@itwin/core-bentley";
281
+ import {
282
+ AccessControlClient,
283
+ IAccessControlClient,
284
+ Permission,
285
+ AccessControlAPIResponse,
286
+ } from "@itwin/access-control-client";
287
+
288
+ /** Function that queries Permissions for a given iTwin and prints the ids to the console. */
289
+ async function printiTwinPermissionIds(): Promise<void> {
290
+ const accessControlClient: IAccessControlClient = new AccessControlClient();
291
+ const accessToken: AccessToken = { get_access_token_logic_here };
292
+
293
+ const iTwinsResponse: AccessControlAPIResponse<Permission[]> =
294
+ await accessControlClient.permissions.getITwinPermissionsAsync(
295
+ accessToken,
296
+ "6c704296-9028-4a1e-ae67-c0104a11402a"
297
+ );
298
+
299
+ iTwinsResponse.data!.forEach((actualPermission: Permission) => {
300
+ console.log(actualPermission.id);
301
+ });
302
+ }
303
+ ```
12
304
 
13
305
  ## Contributing to this Repository
14
306
 
@@ -19,7 +19,7 @@ export interface IMembersClient {
19
19
  /** Retrieves a specific member for a specified iTwin. */
20
20
  getITwinMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<Member>>;
21
21
  /** Add new iTwin members */
22
- addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: NewMember[]): Promise<AccessControlAPIResponse<undefined>>;
22
+ addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: Member[]): Promise<AccessControlAPIResponse<undefined>>;
23
23
  /** Remove the specified iTwin member */
24
24
  removeITwinMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
25
25
  /** Update iTwin team member roles */
@@ -31,11 +31,11 @@ export interface IRolesClient {
31
31
  /** Retrieves a role for a specified iTwin */
32
32
  getITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<AccessControlAPIResponse<Role>>;
33
33
  /** Creates a new iTwin Role */
34
- createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
34
+ createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
35
35
  /** Removes an existing iTwin Role */
36
36
  deleteITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<AccessControlAPIResponse<undefined>>;
37
37
  /** Updates an existing iTwin Role */
38
- updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
38
+ updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
39
39
  }
40
40
  export interface AccessControlQueryArg {
41
41
  top?: number;
@@ -59,22 +59,18 @@ export interface ErrorDetail {
59
59
  }
60
60
  export declare type Permission = string;
61
61
  export interface Member {
62
- id: string;
63
- email: string;
64
- givenName: string;
65
- surname: string;
66
- organization: string;
67
- roles: Omit<Role, "permissions">[];
68
- }
69
- export interface NewMember {
70
- email: string;
71
- roleId: string;
62
+ id?: string;
63
+ roleid?: string;
64
+ email?: string;
65
+ givenName?: string;
66
+ surname?: string;
67
+ organization?: string;
68
+ roles?: Omit<Role, "permissions">[];
72
69
  }
73
70
  export interface Role {
74
- id: string;
71
+ id?: string;
75
72
  displayName: string;
76
73
  description: string;
77
74
  permissions: Permission[];
78
75
  }
79
- export declare type NewRole = Omit<Role, "id">;
80
76
  //# sourceMappingURL=accessControlTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n members: IMembersClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken,\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IMembersClient{\r\n /** Retrieves a list of team members and their roles assigned to a specified iTwin. */\r\n queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>;\r\n\r\n /** Retrieves a specific member for a specified iTwin. */\r\n getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n\r\n /** Add new iTwin members */\r\n addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: NewMember[]\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Remove the specified iTwin member */\r\n removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin team member roles */\r\n updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\nexport type Permission = string;\r\n\r\nexport interface Member {\r\n id: string;\r\n email: string;\r\n givenName: string;\r\n surname: string;\r\n organization: string;\r\n roles: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface NewMember {\r\n email: string;\r\n roleId: string;\r\n}\r\n\r\nexport interface Role {\r\n id: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport type NewRole = Omit<Role, \"id\">;\r\n"]}
1
+ {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n members: IMembersClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken,\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IMembersClient{\r\n /** Retrieves a list of team members and their roles assigned to a specified iTwin. */\r\n queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>;\r\n\r\n /** Retrieves a specific member for a specified iTwin. */\r\n getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n\r\n /** Add new iTwin members */\r\n addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: Member[]\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Remove the specified iTwin member */\r\n removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin team member roles */\r\n updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\nexport type Permission = string;\r\n\r\nexport interface Member {\r\n id?: string;\r\n roleid?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member, NewMember } from "../accessControlTypes";
5
+ import type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member } from "../accessControlTypes";
6
6
  import { BaseClient } from "./BaseClient";
7
7
  export declare class MembersClient extends BaseClient implements IMembersClient {
8
8
  /** Retrieves a list of iTwin members and their roles assignments.
@@ -24,7 +24,7 @@ export declare class MembersClient extends BaseClient implements IMembersClient
24
24
  * @param newMembers The list of new members to be added along with their role
25
25
  * @returns No Content
26
26
  */
27
- addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: NewMember[]): Promise<AccessControlAPIResponse<undefined>>;
27
+ addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: Member[]): Promise<AccessControlAPIResponse<undefined>>;
28
28
  /** Remove the specified member from the iTwin
29
29
  * @param accessToken The client access token string
30
30
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,aAAc,SAAQ,UAAW,YAAW,cAAc;IACrE;;;;QAII;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;IAM9C;;;;;QAKI;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAK5C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAQ/C;;;;;QAKI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;CAO7C"}
1
+ {"version":3,"file":"MembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,aAAc,SAAQ,UAAW,YAAW,cAAc;IACrE;;;;QAII;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;IAM9C;;;;;QAKI;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAK5C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAQ/C;;;;;QAKI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;CAO7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MembersClient.js","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,aAAc,SAAQ,uBAAU;IAC3C;;;;QAII;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAsC;IAC1H,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,UAAuB;QAEvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;CACF;AAnFD,sCAmFC","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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member, NewMember } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class MembersClient extends BaseClient implements IMembersClient{\r\n /** Retrieves a list of iTwin members and their roles assignments.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Array of members\r\n */\r\n public async queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>{\r\n let url = `${this._baseUrl}/${iTwinId}/members`;\r\n if (arg) url += `?${this.getQueryString(arg)}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"members\"); // TODO: Consider how to handle paging\r\n }\r\n\r\n /** Retrieves a specific member for a specified iTwin.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns Member\r\n */\r\n public async getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"member\");\r\n }\r\n\r\n /** Add new iTwin members\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param newMembers The list of new members to be added along with their role\r\n * @returns No Content\r\n */\r\n public async addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: NewMember[]\r\n ): Promise<AccessControlAPIResponse<undefined>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members`;\r\n const body = {\r\n members: newMembers,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, body);\r\n }\r\n\r\n /** Remove the specified member from the iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns No Content\r\n */\r\n public async removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update iTwin team member roles\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @param roleIds The ids of the roles to be assigned\r\n * @returns Member\r\n */\r\n public async updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n const body = {\r\n roleIds,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, body, \"member\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MembersClient.js","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,aAAc,SAAQ,uBAAU;IAC3C;;;;QAII;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAsC;IAC1H,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,UAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;CACF;AAnFD,sCAmFC","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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class MembersClient extends BaseClient implements IMembersClient{\r\n /** Retrieves a list of iTwin members and their roles assignments.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Array of members\r\n */\r\n public async queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>{\r\n let url = `${this._baseUrl}/${iTwinId}/members`;\r\n if (arg) url += `?${this.getQueryString(arg)}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"members\"); // TODO: Consider how to handle paging\r\n }\r\n\r\n /** Retrieves a specific member for a specified iTwin.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns Member\r\n */\r\n public async getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"member\");\r\n }\r\n\r\n /** Add new iTwin members\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param newMembers The list of new members to be added along with their role\r\n * @returns No Content\r\n */\r\n public async addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: Member[]\r\n ): Promise<AccessControlAPIResponse<undefined>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members`;\r\n const body = {\r\n members: newMembers,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, body);\r\n }\r\n\r\n /** Remove the specified member from the iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns No Content\r\n */\r\n public async removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update iTwin team member roles\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @param roleIds The ids of the roles to be assigned\r\n * @returns Member\r\n */\r\n public async updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n const body = {\r\n roleIds,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, body, \"member\");\r\n }\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, IRolesClient, NewRole, Role } from "../accessControlTypes";
5
+ import type { AccessControlAPIResponse, IRolesClient, Role } from "../accessControlTypes";
6
6
  import { BaseClient } from "./BaseClient";
7
7
  export declare class RolesClient extends BaseClient implements IRolesClient {
8
8
  /** Retrieves a list of available user roles that are defined for a specified iTwin
@@ -23,7 +23,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
23
23
  * @param role The role to be created
24
24
  * @returns Role
25
25
  */
26
- createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
26
+ createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
27
27
  /** Delete the specified iTwin role
28
28
  * @param accessToken The client access token string
29
29
  * @param iTwinId The id of the iTwin
@@ -38,6 +38,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
38
38
  * @param role The updated role
39
39
  * @returns Role
40
40
  */
41
- updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
41
+ updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
42
42
  }
43
43
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAK5C;;;;QAII;IACS,iBAAiB,CAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;CAI3C"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAK5C;;;;QAII;IACS,iBAAiB,CAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;CAI3C"}
@@ -19,7 +19,7 @@ class RolesClient extends BaseClient_1.BaseClient {
19
19
  */
20
20
  async getITwinRoleAsync(accessToken, iTwinId, roleId) {
21
21
  const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;
22
- return this.sendGenericAPIRequest(accessToken, "GET", url);
22
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "role");
23
23
  }
24
24
  /** Creates a new iTwin Role
25
25
  * @param accessToken The client access token string
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,WAAY,SAAQ,uBAAU;IACzC;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,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,iBAAiB,CAC5B,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,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,IAAa;QAEb,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,oBAAoB,CAC/B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAa;QAEb,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;AA1ED,kCA0EC","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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, IRolesClient, NewRole, Role } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class RolesClient extends BaseClient implements IRolesClient{\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 getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<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 getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>{\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\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 createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>{\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 deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<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":";;;AASA,6CAA0C;AAE1C,MAAa,WAAY,SAAQ,uBAAU;IACzC;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,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,iBAAiB,CAC5B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,IAAU;QAEV,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,oBAAoB,CAC/B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAU;QAEV,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;AA1ED,kCA0EC","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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, IRolesClient, Role } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class RolesClient extends BaseClient implements IRolesClient{\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 getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<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 getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>{\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 deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<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"]}
@@ -19,7 +19,7 @@ export interface IMembersClient {
19
19
  /** Retrieves a specific member for a specified iTwin. */
20
20
  getITwinMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<Member>>;
21
21
  /** Add new iTwin members */
22
- addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: NewMember[]): Promise<AccessControlAPIResponse<undefined>>;
22
+ addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: Member[]): Promise<AccessControlAPIResponse<undefined>>;
23
23
  /** Remove the specified iTwin member */
24
24
  removeITwinMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
25
25
  /** Update iTwin team member roles */
@@ -31,11 +31,11 @@ export interface IRolesClient {
31
31
  /** Retrieves a role for a specified iTwin */
32
32
  getITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<AccessControlAPIResponse<Role>>;
33
33
  /** Creates a new iTwin Role */
34
- createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
34
+ createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
35
35
  /** Removes an existing iTwin Role */
36
36
  deleteITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<AccessControlAPIResponse<undefined>>;
37
37
  /** Updates an existing iTwin Role */
38
- updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
38
+ updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
39
39
  }
40
40
  export interface AccessControlQueryArg {
41
41
  top?: number;
@@ -59,22 +59,18 @@ export interface ErrorDetail {
59
59
  }
60
60
  export declare type Permission = string;
61
61
  export interface Member {
62
- id: string;
63
- email: string;
64
- givenName: string;
65
- surname: string;
66
- organization: string;
67
- roles: Omit<Role, "permissions">[];
68
- }
69
- export interface NewMember {
70
- email: string;
71
- roleId: string;
62
+ id?: string;
63
+ roleid?: string;
64
+ email?: string;
65
+ givenName?: string;
66
+ surname?: string;
67
+ organization?: string;
68
+ roles?: Omit<Role, "permissions">[];
72
69
  }
73
70
  export interface Role {
74
- id: string;
71
+ id?: string;
75
72
  displayName: string;
76
73
  description: string;
77
74
  permissions: Permission[];
78
75
  }
79
- export declare type NewRole = Omit<Role, "id">;
80
76
  //# sourceMappingURL=accessControlTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n members: IMembersClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken,\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IMembersClient{\r\n /** Retrieves a list of team members and their roles assigned to a specified iTwin. */\r\n queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>;\r\n\r\n /** Retrieves a specific member for a specified iTwin. */\r\n getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n\r\n /** Add new iTwin members */\r\n addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: NewMember[]\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Remove the specified iTwin member */\r\n removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin team member roles */\r\n updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\nexport type Permission = string;\r\n\r\nexport interface Member {\r\n id: string;\r\n email: string;\r\n givenName: string;\r\n surname: string;\r\n organization: string;\r\n roles: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface NewMember {\r\n email: string;\r\n roleId: string;\r\n}\r\n\r\nexport interface Role {\r\n id: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport type NewRole = Omit<Role, \"id\">;\r\n"]}
1
+ {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n members: IMembersClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken,\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IMembersClient{\r\n /** Retrieves a list of team members and their roles assigned to a specified iTwin. */\r\n queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>;\r\n\r\n /** Retrieves a specific member for a specified iTwin. */\r\n getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n\r\n /** Add new iTwin members */\r\n addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: Member[]\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Remove the specified iTwin member */\r\n removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin team member roles */\r\n updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\nexport type Permission = string;\r\n\r\nexport interface Member {\r\n id?: string;\r\n roleid?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member, NewMember } from "../accessControlTypes";
5
+ import type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member } from "../accessControlTypes";
6
6
  import { BaseClient } from "./BaseClient";
7
7
  export declare class MembersClient extends BaseClient implements IMembersClient {
8
8
  /** Retrieves a list of iTwin members and their roles assignments.
@@ -24,7 +24,7 @@ export declare class MembersClient extends BaseClient implements IMembersClient
24
24
  * @param newMembers The list of new members to be added along with their role
25
25
  * @returns No Content
26
26
  */
27
- addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: NewMember[]): Promise<AccessControlAPIResponse<undefined>>;
27
+ addITwinMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: Member[]): Promise<AccessControlAPIResponse<undefined>>;
28
28
  /** Remove the specified member from the iTwin
29
29
  * @param accessToken The client access token string
30
30
  * @param iTwinId The id of the iTwin
@@ -1 +1 @@
1
- {"version":3,"file":"MembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,aAAc,SAAQ,UAAW,YAAW,cAAc;IACrE;;;;QAII;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;IAM9C;;;;;QAKI;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAK5C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAQ/C;;;;;QAKI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;CAO7C"}
1
+ {"version":3,"file":"MembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,aAAc,SAAQ,UAAW,YAAW,cAAc;IACrE;;;;QAII;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;IAM9C;;;;;QAKI;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAK5C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAQ/C;;;;;QAKI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,sBAAsB,CACjC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;CAO7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MembersClient.js","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C;;;;QAII;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAsC;IAC1H,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,UAAuB;QAEvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/E,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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member, NewMember } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class MembersClient extends BaseClient implements IMembersClient{\r\n /** Retrieves a list of iTwin members and their roles assignments.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Array of members\r\n */\r\n public async queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>{\r\n let url = `${this._baseUrl}/${iTwinId}/members`;\r\n if (arg) url += `?${this.getQueryString(arg)}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"members\"); // TODO: Consider how to handle paging\r\n }\r\n\r\n /** Retrieves a specific member for a specified iTwin.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns Member\r\n */\r\n public async getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"member\");\r\n }\r\n\r\n /** Add new iTwin members\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param newMembers The list of new members to be added along with their role\r\n * @returns No Content\r\n */\r\n public async addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: NewMember[]\r\n ): Promise<AccessControlAPIResponse<undefined>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members`;\r\n const body = {\r\n members: newMembers,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, body);\r\n }\r\n\r\n /** Remove the specified member from the iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns No Content\r\n */\r\n public async removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update iTwin team member roles\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @param roleIds The ids of the roles to be assigned\r\n * @returns Member\r\n */\r\n public async updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n const body = {\r\n roleIds,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, body, \"member\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MembersClient.js","sourceRoot":"","sources":["../../../src/subClients/MembersClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C;;;;QAII;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAsC;IAC1H,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,UAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,sBAAsB,CACjC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/E,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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg, IMembersClient, Member } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class MembersClient extends BaseClient implements IMembersClient{\r\n /** Retrieves a list of iTwin members and their roles assignments.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Array of members\r\n */\r\n public async queryITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<Member[]>>{\r\n let url = `${this._baseUrl}/${iTwinId}/members`;\r\n if (arg) url += `?${this.getQueryString(arg)}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"members\"); // TODO: Consider how to handle paging\r\n }\r\n\r\n /** Retrieves a specific member for a specified iTwin.\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns Member\r\n */\r\n public async getITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<Member>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"member\");\r\n }\r\n\r\n /** Add new iTwin members\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param newMembers The list of new members to be added along with their role\r\n * @returns No Content\r\n */\r\n public async addITwinMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: Member[]\r\n ): Promise<AccessControlAPIResponse<undefined>>{\r\n const url = `${this._baseUrl}/${iTwinId}/members`;\r\n const body = {\r\n members: newMembers,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, body);\r\n }\r\n\r\n /** Remove the specified member from the iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @returns No Content\r\n */\r\n public async removeITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update iTwin team member roles\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param memberId The id of the member\r\n * @param roleIds The ids of the roles to be assigned\r\n * @returns Member\r\n */\r\n public async updateITwinMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<Member>> {\r\n const url = `${this._baseUrl}/${iTwinId}/members/${memberId}`;\r\n const body = {\r\n roleIds,\r\n };\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, body, \"member\");\r\n }\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { AccessControlAPIResponse, IRolesClient, NewRole, Role } from "../accessControlTypes";
5
+ import type { AccessControlAPIResponse, IRolesClient, Role } from "../accessControlTypes";
6
6
  import { BaseClient } from "./BaseClient";
7
7
  export declare class RolesClient extends BaseClient implements IRolesClient {
8
8
  /** Retrieves a list of available user roles that are defined for a specified iTwin
@@ -23,7 +23,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
23
23
  * @param role The role to be created
24
24
  * @returns Role
25
25
  */
26
- createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
26
+ createITwinRoleAsync(accessToken: AccessToken, iTwinId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
27
27
  /** Delete the specified iTwin role
28
28
  * @param accessToken The client access token string
29
29
  * @param iTwinId The id of the iTwin
@@ -38,6 +38,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
38
38
  * @param role The updated role
39
39
  * @returns Role
40
40
  */
41
- updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: NewRole): Promise<AccessControlAPIResponse<Role>>;
41
+ updateITwinRoleAsync(accessToken: AccessToken, iTwinId: string, roleId: string, role: Role): Promise<AccessControlAPIResponse<Role>>;
42
42
  }
43
43
  //# sourceMappingURL=RolesClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAK5C;;;;QAII;IACS,iBAAiB,CAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;CAI3C"}
1
+ {"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IAK5C;;;;QAII;IACS,iBAAiB,CAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAK1C;;;;;QAKI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;CAI3C"}
@@ -16,7 +16,7 @@ export class RolesClient extends BaseClient {
16
16
  */
17
17
  async getITwinRoleAsync(accessToken, iTwinId, roleId) {
18
18
  const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;
19
- return this.sendGenericAPIRequest(accessToken, "GET", url);
19
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "role");
20
20
  }
21
21
  /** Creates a new iTwin Role
22
22
  * @param accessToken The client access token string
@@ -1 +1 @@
1
- {"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,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,iBAAiB,CAC5B,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,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,IAAa;QAEb,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,oBAAoB,CAC/B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAa;QAEb,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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, IRolesClient, NewRole, Role } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class RolesClient extends BaseClient implements IRolesClient{\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 getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<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 getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<Role>>{\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url);\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 createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<Role>>{\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 deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: NewRole\r\n ): Promise<AccessControlAPIResponse<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":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,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,iBAAiB,CAC5B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,IAAU;QAEV,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,oBAAoB,CAC/B,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,oBAAoB,CAC/B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAU;QAEV,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\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, IRolesClient, Role } from \"../accessControlTypes\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\nexport class RolesClient extends BaseClient implements IRolesClient{\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 getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<AccessControlAPIResponse<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 getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>{\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 deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<AccessControlAPIResponse<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 updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/access-control-client",
3
- "version": "0.1.0",
3
+ "version": "1.0.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",