@itwin/access-control-client 2.3.1 → 3.0.1
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 +20 -9
- package/lib/cjs/AccessControlClient.d.ts +2 -1
- package/lib/cjs/AccessControlClient.d.ts.map +1 -1
- package/lib/cjs/AccessControlClient.js +2 -0
- package/lib/cjs/AccessControlClient.js.map +1 -1
- package/lib/cjs/accessControlTypes.d.ts +39 -6
- package/lib/cjs/accessControlTypes.d.ts.map +1 -1
- package/lib/cjs/accessControlTypes.js +8 -0
- package/lib/cjs/accessControlTypes.js.map +1 -1
- package/lib/cjs/subClients/GroupMembersClient.d.ts +2 -2
- package/lib/cjs/subClients/GroupMembersClient.d.ts.map +1 -1
- package/lib/cjs/subClients/GroupMembersClient.js.map +1 -1
- package/lib/cjs/subClients/MemberInvitationsClient.d.ts +16 -0
- package/lib/cjs/subClients/MemberInvitationsClient.d.ts.map +1 -0
- package/lib/cjs/subClients/MemberInvitationsClient.js +23 -0
- package/lib/cjs/subClients/MemberInvitationsClient.js.map +1 -0
- package/lib/cjs/subClients/OwnerMembersClient.d.ts +4 -4
- package/lib/cjs/subClients/OwnerMembersClient.d.ts.map +1 -1
- package/lib/cjs/subClients/OwnerMembersClient.js +3 -3
- package/lib/cjs/subClients/OwnerMembersClient.js.map +1 -1
- package/lib/cjs/subClients/UserMembersClient.d.ts +4 -4
- package/lib/cjs/subClients/UserMembersClient.d.ts.map +1 -1
- package/lib/cjs/subClients/UserMembersClient.js +3 -3
- package/lib/cjs/subClients/UserMembersClient.js.map +1 -1
- package/lib/esm/AccessControlClient.d.ts +2 -1
- package/lib/esm/AccessControlClient.d.ts.map +1 -1
- package/lib/esm/AccessControlClient.js +2 -0
- package/lib/esm/AccessControlClient.js.map +1 -1
- package/lib/esm/accessControlTypes.d.ts +39 -6
- package/lib/esm/accessControlTypes.d.ts.map +1 -1
- package/lib/esm/accessControlTypes.js +7 -1
- package/lib/esm/accessControlTypes.js.map +1 -1
- package/lib/esm/subClients/GroupMembersClient.d.ts +2 -2
- package/lib/esm/subClients/GroupMembersClient.d.ts.map +1 -1
- package/lib/esm/subClients/GroupMembersClient.js.map +1 -1
- package/lib/esm/subClients/MemberInvitationsClient.d.ts +16 -0
- package/lib/esm/subClients/MemberInvitationsClient.d.ts.map +1 -0
- package/lib/esm/subClients/MemberInvitationsClient.js +19 -0
- package/lib/esm/subClients/MemberInvitationsClient.js.map +1 -0
- package/lib/esm/subClients/OwnerMembersClient.d.ts +4 -4
- package/lib/esm/subClients/OwnerMembersClient.d.ts.map +1 -1
- package/lib/esm/subClients/OwnerMembersClient.js +3 -3
- package/lib/esm/subClients/OwnerMembersClient.js.map +1 -1
- package/lib/esm/subClients/UserMembersClient.d.ts +4 -4
- package/lib/esm/subClients/UserMembersClient.d.ts.map +1 -1
- package/lib/esm/subClients/UserMembersClient.js +3 -3
- package/lib/esm/subClients/UserMembersClient.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
# Change Log - @itwin/access-control-client
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
- **Breaking** Adjusting add user & add owner schemas to include invitations
|
|
6
|
+
- **Breaking** Adjusting add user member and add group member schemas to support multiple roleIds
|
|
7
|
+
- Adding member invitations client
|
|
8
|
+
|
|
3
9
|
## 2.3.1
|
|
4
|
-
|
|
10
|
+
|
|
11
|
+
- Upgrading axios version to ^1.6.1
|
|
5
12
|
|
|
6
13
|
## 2.2.0
|
|
7
|
-
|
|
14
|
+
|
|
15
|
+
- Added owner member client
|
|
8
16
|
|
|
9
17
|
## 2.1.0
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
|
|
19
|
+
- Changed the `users` property to `members` on the `Groups` object.
|
|
20
|
+
- `members` property now accepts a `GroupUser[]` object instead of a `string[]`
|
|
12
21
|
|
|
13
22
|
## 2.0.0
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
|
|
24
|
+
- Added groups client
|
|
25
|
+
- Added group member client
|
|
26
|
+
- Added user member client
|
|
27
|
+
- Removed members client
|
|
18
28
|
|
|
19
29
|
## 1.3.0
|
|
20
|
-
|
|
30
|
+
|
|
31
|
+
- Added support for the `accept` header inside of `BaseClient`.
|
|
21
32
|
|
|
22
33
|
## 1.2.0
|
|
23
34
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module AccessControlClient
|
|
3
3
|
*/
|
|
4
|
-
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
4
|
+
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
5
5
|
export declare class AccessControlClient implements IAccessControlClient {
|
|
6
6
|
permissions: IPermissionsClient;
|
|
7
7
|
roles: IRolesClient;
|
|
@@ -9,6 +9,7 @@ export declare class AccessControlClient implements IAccessControlClient {
|
|
|
9
9
|
userMembers: IUserMembersClient;
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
|
+
memberInvitations: IMemberInvitationsClient;
|
|
12
13
|
constructor(url?: string);
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=AccessControlClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlClient.d.ts","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessControlClient.d.ts","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAS9B,qBAAa,mBAAoB,YAAW,oBAAoB;IACvD,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,EAAE,wBAAwB,CAAC;gBAEhC,GAAG,CAAC,EAAE,MAAM;CAShC"}
|
|
@@ -7,6 +7,7 @@ const GroupsClient_1 = require("./subClients/GroupsClient");
|
|
|
7
7
|
const UserMembersClient_1 = require("./subClients/UserMembersClient");
|
|
8
8
|
const GroupMembersClient_1 = require("./subClients/GroupMembersClient");
|
|
9
9
|
const OwnerMembersClient_1 = require("./subClients/OwnerMembersClient");
|
|
10
|
+
const MemberInvitationsClient_1 = require("./subClients/MemberInvitationsClient");
|
|
10
11
|
class AccessControlClient {
|
|
11
12
|
constructor(url) {
|
|
12
13
|
this.permissions = new PermissionsClient_1.PermissionsClient(url);
|
|
@@ -15,6 +16,7 @@ class AccessControlClient {
|
|
|
15
16
|
this.userMembers = new UserMembersClient_1.UserMembersClient(url);
|
|
16
17
|
this.groupMembers = new GroupMembersClient_1.GroupMembersClient(url);
|
|
17
18
|
this.ownerMembers = new OwnerMembersClient_1.OwnerMembersClient(url);
|
|
19
|
+
this.memberInvitations = new MemberInvitationsClient_1.MemberInvitationsClient(url);
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
exports.AccessControlClient = AccessControlClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlClient.js","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AccessControlClient.js","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":";;;AAiBA,sEAAmE;AACnE,0DAAuD;AACvD,4DAAyD;AACzD,sEAAmE;AACnE,wEAAqE;AACrE,wEAAqE;AACrE,kFAA+E;AAE/E,MAAa,mBAAmB;IAS9B,YAAmB,GAAY;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iDAAuB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AAlBD,kDAkBC","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 {\r\n IAccessControlClient,\r\n IGroupMembersClient,\r\n IGroupsClient,\r\n IMemberInvitationsClient,\r\n IOwnerMembersClient,\r\n IPermissionsClient,\r\n IRolesClient,\r\n IUserMembersClient,\r\n} from \"./accessControlTypes\";\r\nimport { PermissionsClient } from \"./subClients/PermissionsClient\";\r\nimport { RolesClient } from \"./subClients/RolesClient\";\r\nimport { GroupsClient } from \"./subClients/GroupsClient\";\r\nimport { UserMembersClient } from \"./subClients/UserMembersClient\";\r\nimport { GroupMembersClient } from \"./subClients/GroupMembersClient\";\r\nimport { OwnerMembersClient } from \"./subClients/OwnerMembersClient\";\r\nimport { MemberInvitationsClient } from \"./subClients/MemberInvitationsClient\";\r\n\r\nexport class AccessControlClient implements IAccessControlClient {\r\n public permissions: IPermissionsClient;\r\n public roles: IRolesClient;\r\n public groups: IGroupsClient;\r\n public userMembers: IUserMembersClient;\r\n public groupMembers: IGroupMembersClient;\r\n public ownerMembers: IOwnerMembersClient;\r\n public memberInvitations: IMemberInvitationsClient;\r\n\r\n public constructor(url?: string) {\r\n this.permissions = new PermissionsClient(url);\r\n this.roles = new RolesClient(url);\r\n this.groups = new GroupsClient(url);\r\n this.userMembers = new UserMembersClient(url);\r\n this.groupMembers = new GroupMembersClient(url);\r\n this.ownerMembers = new OwnerMembersClient(url);\r\n this.memberInvitations = new MemberInvitationsClient(url);\r\n }\r\n}\r\n"]}
|
|
@@ -9,6 +9,7 @@ export interface IAccessControlClient {
|
|
|
9
9
|
userMembers: IUserMembersClient;
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
|
+
memberInvitations: IMemberInvitationsClient;
|
|
12
13
|
}
|
|
13
14
|
export interface IPermissionsClient {
|
|
14
15
|
/** Retrieves the list of all available permissions **/
|
|
@@ -21,8 +22,8 @@ export interface IUserMembersClient {
|
|
|
21
22
|
queryITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<UserMember[]>>;
|
|
22
23
|
/** Retrieves a specific user member for a specified iTwin. */
|
|
23
24
|
getITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<UserMember>>;
|
|
24
|
-
/** Add new iTwin user members */
|
|
25
|
-
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
25
|
+
/** Add or invite new iTwin user members */
|
|
26
|
+
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddUserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;
|
|
26
27
|
/** Remove the specified iTwin user member */
|
|
27
28
|
removeITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
28
29
|
/** Update iTwin user member roles */
|
|
@@ -31,8 +32,8 @@ export interface IUserMembersClient {
|
|
|
31
32
|
export interface IOwnerMembersClient {
|
|
32
33
|
/** Retrieves a list of owner members on a specified iTwin. */
|
|
33
34
|
queryITwinOwnerMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<OwnerMember[]>>;
|
|
34
|
-
/** Add new iTwin owner member */
|
|
35
|
-
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<
|
|
35
|
+
/** Add or invite new iTwin owner member */
|
|
36
|
+
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;
|
|
36
37
|
/** Remove the specified iTwin owner member */
|
|
37
38
|
removeITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
38
39
|
}
|
|
@@ -42,7 +43,7 @@ export interface IGroupMembersClient {
|
|
|
42
43
|
/** Retrieves a specific group member for a specified iTwin. */
|
|
43
44
|
getITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<GroupMember>>;
|
|
44
45
|
/** Add new iTwin group members */
|
|
45
|
-
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
46
|
+
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddGroupMember[]): Promise<AccessControlAPIResponse<GroupMember[]>>;
|
|
46
47
|
/** Remove the specified iTwin group member */
|
|
47
48
|
removeITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
48
49
|
/** Update iTwin group member roles */
|
|
@@ -74,6 +75,10 @@ export interface IGroupsClient {
|
|
|
74
75
|
/** Updates an existing iTwin group */
|
|
75
76
|
updateITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string, group: GroupUpdate): Promise<AccessControlAPIResponse<Group>>;
|
|
76
77
|
}
|
|
78
|
+
export interface IMemberInvitationsClient {
|
|
79
|
+
/** Retrieves a list of member invitations. */
|
|
80
|
+
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
81
|
+
}
|
|
77
82
|
export interface AccessControlQueryArg {
|
|
78
83
|
top?: number;
|
|
79
84
|
skip?: number;
|
|
@@ -94,16 +99,27 @@ export interface ErrorDetail {
|
|
|
94
99
|
message: string;
|
|
95
100
|
target?: string;
|
|
96
101
|
}
|
|
102
|
+
export interface AddOwnerMemberResponse {
|
|
103
|
+
member?: OwnerMember;
|
|
104
|
+
invitation?: MemberInvitation;
|
|
105
|
+
}
|
|
106
|
+
export interface AddUserMemberResponse {
|
|
107
|
+
members: UserMember[];
|
|
108
|
+
invitations: MemberInvitation[];
|
|
109
|
+
}
|
|
97
110
|
export declare type Permission = string;
|
|
98
111
|
export interface UserMember {
|
|
99
112
|
id?: string;
|
|
100
|
-
roleid?: string;
|
|
101
113
|
email?: string;
|
|
102
114
|
givenName?: string;
|
|
103
115
|
surname?: string;
|
|
104
116
|
organization?: string;
|
|
105
117
|
roles?: Omit<Role, "permissions">[];
|
|
106
118
|
}
|
|
119
|
+
export interface AddUserMember {
|
|
120
|
+
roleIds: string[];
|
|
121
|
+
email: string;
|
|
122
|
+
}
|
|
107
123
|
export interface OwnerMember {
|
|
108
124
|
id?: string;
|
|
109
125
|
email?: string;
|
|
@@ -117,6 +133,10 @@ export interface GroupMember {
|
|
|
117
133
|
groupDescription?: string;
|
|
118
134
|
roles?: Omit<Role, "permissions">[];
|
|
119
135
|
}
|
|
136
|
+
export interface AddGroupMember {
|
|
137
|
+
groupId: string;
|
|
138
|
+
roleIds: string[];
|
|
139
|
+
}
|
|
120
140
|
export interface Role {
|
|
121
141
|
id?: string;
|
|
122
142
|
displayName: string;
|
|
@@ -144,4 +164,17 @@ export interface GroupUpdate {
|
|
|
144
164
|
members?: string[];
|
|
145
165
|
imsGroups?: string[];
|
|
146
166
|
}
|
|
167
|
+
export interface MemberInvitation {
|
|
168
|
+
id: string;
|
|
169
|
+
email: string;
|
|
170
|
+
invitedByEmail: string;
|
|
171
|
+
status: MemberInvitationStatus;
|
|
172
|
+
createdDate: string;
|
|
173
|
+
expirationDate: string;
|
|
174
|
+
roles?: Omit<Role, "permissions" | "description">[];
|
|
175
|
+
}
|
|
176
|
+
export declare enum MemberInvitationStatus {
|
|
177
|
+
Pending = "Pending",
|
|
178
|
+
Accepted = "Accepted"
|
|
179
|
+
}
|
|
147
180
|
//# sourceMappingURL=accessControlTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable spaced-comment */
|
|
2
3
|
/*---------------------------------------------------------------------------------------------
|
|
3
4
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
5
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -7,4 +8,11 @@
|
|
|
7
8
|
* @module AccessControlClient
|
|
8
9
|
*/
|
|
9
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.MemberInvitationStatus = void 0;
|
|
12
|
+
var MemberInvitationStatus;
|
|
13
|
+
(function (MemberInvitationStatus) {
|
|
14
|
+
MemberInvitationStatus["Pending"] = "Pending";
|
|
15
|
+
MemberInvitationStatus["Accepted"] = "Accepted";
|
|
16
|
+
})(MemberInvitationStatus = exports.MemberInvitationStatus || (exports.MemberInvitationStatus = {}));
|
|
17
|
+
//#endregion
|
|
10
18
|
//# sourceMappingURL=accessControlTypes.js.map
|
|
@@ -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 groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\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 IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: UserMember[]\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<OwnerMember>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: GroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\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 additionalHeaders?: { [key: string]: 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 IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\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 UserMember {\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 OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: 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\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AA+UH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAED,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\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\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\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 IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[]\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\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 additionalHeaders?: { [key: string]: 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 IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\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\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\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 AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: 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 interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\n//#endregion\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, GroupMember, IGroupMembersClient } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddGroupMember, GroupMember, IGroupMembersClient } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class GroupMembersClient extends BaseClient implements IGroupMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -25,7 +25,7 @@ export declare class GroupMembersClient extends BaseClient implements IGroupMemb
|
|
|
25
25
|
* @param newMembers The list of new members to be added along with their role
|
|
26
26
|
* @returns Member[]
|
|
27
27
|
*/
|
|
28
|
-
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
28
|
+
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddGroupMember[]): Promise<AccessControlAPIResponse<GroupMember[]>>;
|
|
29
29
|
/** Remove the specified group member from the iTwin
|
|
30
30
|
* @param accessToken The client access token string
|
|
31
31
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAWjD;;;;;OAKG;IACU,yBAAyB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAWjD;;;;;OAKG;IACU,yBAAyB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAcnD;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;OAMG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;CAalD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":";;;AAeA,6CAA0C;AAE1C,MAAa,kBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,yBAAyB,CACpC,WAAwB,EACxB,OAAe,EACf,UAA4B;QAE5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AArHD,gDAqHC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddGroupMember,\n GroupMember,\n IGroupMembersClient,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupMembersClient\n extends BaseClient\n implements IGroupMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin group members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/groups`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Retrieves a specific group member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"member\"\n );\n }\n\n /** Add new iTwin group members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of new members to be added along with their role\n * @returns Member[]\n */\n public async addITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: AddGroupMember[]\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups`;\n const body = {\n members: newMembers,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n body,\n \"members\"\n );\n }\n\n /** Remove the specified group member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin group member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body,\n \"member\"\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module AccessControlClient
|
|
3
|
+
*/
|
|
4
|
+
import type { AccessToken } from "@itwin/core-bentley";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, IMemberInvitationsClient, MemberInvitation } from "../accessControlTypes";
|
|
6
|
+
import { BaseClient } from "./BaseClient";
|
|
7
|
+
export declare class MemberInvitationsClient extends BaseClient implements IMemberInvitationsClient {
|
|
8
|
+
constructor(url?: string);
|
|
9
|
+
/** Retrieves a list of iTwin member invitations.
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @returns Array of member invitations
|
|
13
|
+
*/
|
|
14
|
+
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=MemberInvitationsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAezD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemberInvitationsClient = void 0;
|
|
4
|
+
const BaseClient_1 = require("./BaseClient");
|
|
5
|
+
class MemberInvitationsClient extends BaseClient_1.BaseClient {
|
|
6
|
+
constructor(url) {
|
|
7
|
+
super(url);
|
|
8
|
+
}
|
|
9
|
+
/** Retrieves a list of iTwin member invitations.
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @returns Array of member invitations
|
|
13
|
+
*/
|
|
14
|
+
async queryITwinMemberInvitationsAsync(accessToken, iTwinId, arg) {
|
|
15
|
+
let url = `${this._baseUrl}/${iTwinId}/members/invitations`;
|
|
16
|
+
if (arg) {
|
|
17
|
+
url += `?${this.getQueryString(arg)}`;
|
|
18
|
+
}
|
|
19
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "invitations");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemberInvitationsClient = MemberInvitationsClient;
|
|
23
|
+
//# sourceMappingURL=MemberInvitationsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":";;;AAcA,6CAA0C;AAE1C,MAAa,uBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF;AA/BD,0DA+BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n}\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, IOwnerMembersClient, OwnerMember } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddOwnerMemberResponse, IOwnerMembersClient, OwnerMember } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class OwnerMembersClient extends BaseClient implements IOwnerMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -15,10 +15,10 @@ export declare class OwnerMembersClient extends BaseClient implements IOwnerMemb
|
|
|
15
15
|
/** Add new iTwin owner member
|
|
16
16
|
* @param accessToken The client access token string
|
|
17
17
|
* @param iTwinId The id of the iTwin
|
|
18
|
-
* @param
|
|
19
|
-
* @returns
|
|
18
|
+
* @param newMember The new owner member to add or invite
|
|
19
|
+
* @returns AddOwnerMemberResponse -- the added or invited owner
|
|
20
20
|
*/
|
|
21
|
-
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<
|
|
21
|
+
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;
|
|
22
22
|
/** Remove the specified owner member from the iTwin
|
|
23
23
|
* @param accessToken The client access token string
|
|
24
24
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"OwnerMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IAU5D;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;CAIhD"}
|
|
@@ -21,12 +21,12 @@ class OwnerMembersClient extends BaseClient_1.BaseClient {
|
|
|
21
21
|
/** Add new iTwin owner member
|
|
22
22
|
* @param accessToken The client access token string
|
|
23
23
|
* @param iTwinId The id of the iTwin
|
|
24
|
-
* @param
|
|
25
|
-
* @returns
|
|
24
|
+
* @param newMember The new owner member to add or invite
|
|
25
|
+
* @returns AddOwnerMemberResponse -- the added or invited owner
|
|
26
26
|
*/
|
|
27
27
|
async addITwinOwnerMemberAsync(accessToken, iTwinId, newMember) {
|
|
28
28
|
const url = `${this._baseUrl}/${iTwinId}/members/owners`;
|
|
29
|
-
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember
|
|
29
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember);
|
|
30
30
|
}
|
|
31
31
|
/** Remove the specified owner member from the iTwin
|
|
32
32
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"OwnerMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":";;;AAeA,6CAA0C;AAE1C,MAAa,kBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,SAAsB;QAEtB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;CACF;AAlED,gDAkEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddOwnerMemberResponse,\n IOwnerMembersClient,\n OwnerMember,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class OwnerMembersClient\n extends BaseClient\n implements IOwnerMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin owner members on an iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinOwnerMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<OwnerMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/owners`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Add new iTwin owner member\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMember The new owner member to add or invite\n * @returns AddOwnerMemberResponse -- the added or invited owner\n */\n public async addITwinOwnerMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMember: OwnerMember\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/owners`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n newMember\n );\n }\n\n /** Remove the specified owner member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinOwnerMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/owners/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n}\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, IUserMembersClient, UserMember } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddUserMember, AddUserMemberResponse, IUserMembersClient, UserMember } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class UserMembersClient extends BaseClient implements IUserMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -22,10 +22,10 @@ export declare class UserMembersClient extends BaseClient implements IUserMember
|
|
|
22
22
|
/** Add new iTwin user members
|
|
23
23
|
* @param accessToken The client access token string
|
|
24
24
|
* @param iTwinId The id of the iTwin
|
|
25
|
-
* @param newMembers The list of
|
|
26
|
-
* @returns
|
|
25
|
+
* @param newMembers The list of members to add or invite, along with their role
|
|
26
|
+
* @returns AddUserMemberResponse -- the added or invited user members
|
|
27
27
|
*/
|
|
28
|
-
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
28
|
+
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddUserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;
|
|
29
29
|
/** Remove the specified user member from the iTwin
|
|
30
30
|
* @param accessToken The client access token string
|
|
31
31
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,iBACX,SAAQ,UACR,YAAW,kBAAkB;gBACV,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC;IAgBlD;;;;;OAKG;IACU,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAWhD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"UserMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,iBACX,SAAQ,UACR,YAAW,kBAAkB;gBACV,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC;IAgBlD;;;;;OAKG;IACU,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAWhD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IAa3D;;;;;OAKG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;OAMG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;CAajD"}
|
|
@@ -31,15 +31,15 @@ class UserMembersClient extends BaseClient_1.BaseClient {
|
|
|
31
31
|
/** Add new iTwin user members
|
|
32
32
|
* @param accessToken The client access token string
|
|
33
33
|
* @param iTwinId The id of the iTwin
|
|
34
|
-
* @param newMembers The list of
|
|
35
|
-
* @returns
|
|
34
|
+
* @param newMembers The list of members to add or invite, along with their role
|
|
35
|
+
* @returns AddUserMemberResponse -- the added or invited user members
|
|
36
36
|
*/
|
|
37
37
|
async addITwinUserMembersAsync(accessToken, iTwinId, newMembers) {
|
|
38
38
|
const url = `${this._baseUrl}/${iTwinId}/members/users`;
|
|
39
39
|
const body = {
|
|
40
40
|
members: newMembers,
|
|
41
41
|
};
|
|
42
|
-
return this.sendGenericAPIRequest(accessToken, "POST", url, body
|
|
42
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, body);
|
|
43
43
|
}
|
|
44
44
|
/** Remove the specified user member from the iTwin
|
|
45
45
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"UserMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":";;;AAgBA,6CAA0C;AAE1C,MAAa,iBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,gBAAgB,CAAC;QAEtD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,uBAAuB,CAClC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,UAA2B;QAE3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,gBAAgB,CAAC;QACxD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AApHD,8CAoHC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddUserMember,\n AddUserMemberResponse,\n IUserMembersClient,\n UserMember,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class UserMembersClient\n extends BaseClient\n implements IUserMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin user members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinUserMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<UserMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/users`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Retrieves a specific user member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<UserMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"member\"\n );\n }\n\n /** Add new iTwin user members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of members to add or invite, along with their role\n * @returns AddUserMemberResponse -- the added or invited user members\n */\n public async addITwinUserMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: AddUserMember[]\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users`;\n const body = {\n members: newMembers,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n body\n );\n }\n\n /** Remove the specified user member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin user member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<AccessControlAPIResponse<UserMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body,\n \"member\"\n );\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module AccessControlClient
|
|
3
3
|
*/
|
|
4
|
-
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
4
|
+
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
5
5
|
export declare class AccessControlClient implements IAccessControlClient {
|
|
6
6
|
permissions: IPermissionsClient;
|
|
7
7
|
roles: IRolesClient;
|
|
@@ -9,6 +9,7 @@ export declare class AccessControlClient implements IAccessControlClient {
|
|
|
9
9
|
userMembers: IUserMembersClient;
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
|
+
memberInvitations: IMemberInvitationsClient;
|
|
12
13
|
constructor(url?: string);
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=AccessControlClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlClient.d.ts","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessControlClient.d.ts","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAS9B,qBAAa,mBAAoB,YAAW,oBAAoB;IACvD,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,EAAE,wBAAwB,CAAC;gBAEhC,GAAG,CAAC,EAAE,MAAM;CAShC"}
|
|
@@ -4,6 +4,7 @@ import { GroupsClient } from "./subClients/GroupsClient";
|
|
|
4
4
|
import { UserMembersClient } from "./subClients/UserMembersClient";
|
|
5
5
|
import { GroupMembersClient } from "./subClients/GroupMembersClient";
|
|
6
6
|
import { OwnerMembersClient } from "./subClients/OwnerMembersClient";
|
|
7
|
+
import { MemberInvitationsClient } from "./subClients/MemberInvitationsClient";
|
|
7
8
|
export class AccessControlClient {
|
|
8
9
|
constructor(url) {
|
|
9
10
|
this.permissions = new PermissionsClient(url);
|
|
@@ -12,6 +13,7 @@ export class AccessControlClient {
|
|
|
12
13
|
this.userMembers = new UserMembersClient(url);
|
|
13
14
|
this.groupMembers = new GroupMembersClient(url);
|
|
14
15
|
this.ownerMembers = new OwnerMembersClient(url);
|
|
16
|
+
this.memberInvitations = new MemberInvitationsClient(url);
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=AccessControlClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlClient.js","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AccessControlClient.js","sourceRoot":"","sources":["../../src/AccessControlClient.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,OAAO,mBAAmB;IAS9B,YAAmB,GAAY;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC5D,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 {\r\n IAccessControlClient,\r\n IGroupMembersClient,\r\n IGroupsClient,\r\n IMemberInvitationsClient,\r\n IOwnerMembersClient,\r\n IPermissionsClient,\r\n IRolesClient,\r\n IUserMembersClient,\r\n} from \"./accessControlTypes\";\r\nimport { PermissionsClient } from \"./subClients/PermissionsClient\";\r\nimport { RolesClient } from \"./subClients/RolesClient\";\r\nimport { GroupsClient } from \"./subClients/GroupsClient\";\r\nimport { UserMembersClient } from \"./subClients/UserMembersClient\";\r\nimport { GroupMembersClient } from \"./subClients/GroupMembersClient\";\r\nimport { OwnerMembersClient } from \"./subClients/OwnerMembersClient\";\r\nimport { MemberInvitationsClient } from \"./subClients/MemberInvitationsClient\";\r\n\r\nexport class AccessControlClient implements IAccessControlClient {\r\n public permissions: IPermissionsClient;\r\n public roles: IRolesClient;\r\n public groups: IGroupsClient;\r\n public userMembers: IUserMembersClient;\r\n public groupMembers: IGroupMembersClient;\r\n public ownerMembers: IOwnerMembersClient;\r\n public memberInvitations: IMemberInvitationsClient;\r\n\r\n public constructor(url?: string) {\r\n this.permissions = new PermissionsClient(url);\r\n this.roles = new RolesClient(url);\r\n this.groups = new GroupsClient(url);\r\n this.userMembers = new UserMembersClient(url);\r\n this.groupMembers = new GroupMembersClient(url);\r\n this.ownerMembers = new OwnerMembersClient(url);\r\n this.memberInvitations = new MemberInvitationsClient(url);\r\n }\r\n}\r\n"]}
|
|
@@ -9,6 +9,7 @@ export interface IAccessControlClient {
|
|
|
9
9
|
userMembers: IUserMembersClient;
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
|
+
memberInvitations: IMemberInvitationsClient;
|
|
12
13
|
}
|
|
13
14
|
export interface IPermissionsClient {
|
|
14
15
|
/** Retrieves the list of all available permissions **/
|
|
@@ -21,8 +22,8 @@ export interface IUserMembersClient {
|
|
|
21
22
|
queryITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<UserMember[]>>;
|
|
22
23
|
/** Retrieves a specific user member for a specified iTwin. */
|
|
23
24
|
getITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<UserMember>>;
|
|
24
|
-
/** Add new iTwin user members */
|
|
25
|
-
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
25
|
+
/** Add or invite new iTwin user members */
|
|
26
|
+
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddUserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;
|
|
26
27
|
/** Remove the specified iTwin user member */
|
|
27
28
|
removeITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
28
29
|
/** Update iTwin user member roles */
|
|
@@ -31,8 +32,8 @@ export interface IUserMembersClient {
|
|
|
31
32
|
export interface IOwnerMembersClient {
|
|
32
33
|
/** Retrieves a list of owner members on a specified iTwin. */
|
|
33
34
|
queryITwinOwnerMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<OwnerMember[]>>;
|
|
34
|
-
/** Add new iTwin owner member */
|
|
35
|
-
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<
|
|
35
|
+
/** Add or invite new iTwin owner member */
|
|
36
|
+
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;
|
|
36
37
|
/** Remove the specified iTwin owner member */
|
|
37
38
|
removeITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
38
39
|
}
|
|
@@ -42,7 +43,7 @@ export interface IGroupMembersClient {
|
|
|
42
43
|
/** Retrieves a specific group member for a specified iTwin. */
|
|
43
44
|
getITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<GroupMember>>;
|
|
44
45
|
/** Add new iTwin group members */
|
|
45
|
-
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
46
|
+
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddGroupMember[]): Promise<AccessControlAPIResponse<GroupMember[]>>;
|
|
46
47
|
/** Remove the specified iTwin group member */
|
|
47
48
|
removeITwinGroupMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>;
|
|
48
49
|
/** Update iTwin group member roles */
|
|
@@ -74,6 +75,10 @@ export interface IGroupsClient {
|
|
|
74
75
|
/** Updates an existing iTwin group */
|
|
75
76
|
updateITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string, group: GroupUpdate): Promise<AccessControlAPIResponse<Group>>;
|
|
76
77
|
}
|
|
78
|
+
export interface IMemberInvitationsClient {
|
|
79
|
+
/** Retrieves a list of member invitations. */
|
|
80
|
+
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
81
|
+
}
|
|
77
82
|
export interface AccessControlQueryArg {
|
|
78
83
|
top?: number;
|
|
79
84
|
skip?: number;
|
|
@@ -94,16 +99,27 @@ export interface ErrorDetail {
|
|
|
94
99
|
message: string;
|
|
95
100
|
target?: string;
|
|
96
101
|
}
|
|
102
|
+
export interface AddOwnerMemberResponse {
|
|
103
|
+
member?: OwnerMember;
|
|
104
|
+
invitation?: MemberInvitation;
|
|
105
|
+
}
|
|
106
|
+
export interface AddUserMemberResponse {
|
|
107
|
+
members: UserMember[];
|
|
108
|
+
invitations: MemberInvitation[];
|
|
109
|
+
}
|
|
97
110
|
export declare type Permission = string;
|
|
98
111
|
export interface UserMember {
|
|
99
112
|
id?: string;
|
|
100
|
-
roleid?: string;
|
|
101
113
|
email?: string;
|
|
102
114
|
givenName?: string;
|
|
103
115
|
surname?: string;
|
|
104
116
|
organization?: string;
|
|
105
117
|
roles?: Omit<Role, "permissions">[];
|
|
106
118
|
}
|
|
119
|
+
export interface AddUserMember {
|
|
120
|
+
roleIds: string[];
|
|
121
|
+
email: string;
|
|
122
|
+
}
|
|
107
123
|
export interface OwnerMember {
|
|
108
124
|
id?: string;
|
|
109
125
|
email?: string;
|
|
@@ -117,6 +133,10 @@ export interface GroupMember {
|
|
|
117
133
|
groupDescription?: string;
|
|
118
134
|
roles?: Omit<Role, "permissions">[];
|
|
119
135
|
}
|
|
136
|
+
export interface AddGroupMember {
|
|
137
|
+
groupId: string;
|
|
138
|
+
roleIds: string[];
|
|
139
|
+
}
|
|
120
140
|
export interface Role {
|
|
121
141
|
id?: string;
|
|
122
142
|
displayName: string;
|
|
@@ -144,4 +164,17 @@ export interface GroupUpdate {
|
|
|
144
164
|
members?: string[];
|
|
145
165
|
imsGroups?: string[];
|
|
146
166
|
}
|
|
167
|
+
export interface MemberInvitation {
|
|
168
|
+
id: string;
|
|
169
|
+
email: string;
|
|
170
|
+
invitedByEmail: string;
|
|
171
|
+
status: MemberInvitationStatus;
|
|
172
|
+
createdDate: string;
|
|
173
|
+
expirationDate: string;
|
|
174
|
+
roles?: Omit<Role, "permissions" | "description">[];
|
|
175
|
+
}
|
|
176
|
+
export declare enum MemberInvitationStatus {
|
|
177
|
+
Pending = "Pending",
|
|
178
|
+
Accepted = "Accepted"
|
|
179
|
+
}
|
|
147
180
|
//# sourceMappingURL=accessControlTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,EAAE,wBAAwB,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,mBAAmB,CACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEnD,6EAA6E;IAC7E,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,0BAA0B,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEnD,8DAA8D;IAC9D,uBAAuB,CACrB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjD,2CAA2C;IAC3C,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5D,8CAA8C;IAC9C,0BAA0B,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,sCAAsC;IACtC,0BAA0B,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpD,2CAA2C;IAC3C,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7D,+CAA+C;IAC/C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,uFAAuF;IACvF,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpD,+DAA+D;IAC/D,wBAAwB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IAElD,kCAAkC;IAClC,yBAAyB,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpD,+CAA+C;IAC/C,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,uCAAuC;IACvC,2BAA2B,CACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,kBAAkB,CAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7C,6CAA6C;IAC7C,iBAAiB,CACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,+BAA+B;IAC/B,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,qCAAqC;IACrC,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,qCAAqC;IACrC,oBAAoB,CAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,mBAAmB,CACjB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE9C,8CAA8C;IAC9C,kBAAkB,CAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5C,gCAAgC;IAChC,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5C,sCAAsC;IACtC,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,sCAAsC;IACtC,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,gCAAgC,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;CAC1D;AAMD,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAMD,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAC,aAAa,CAAC,EAAE,CAAC;CACnD;AAED,oBAAY,sBAAsB;IAChC,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable spaced-comment */
|
|
1
2
|
/*---------------------------------------------------------------------------------------------
|
|
2
3
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -5,5 +6,10 @@
|
|
|
5
6
|
/** @packageDocumentation
|
|
6
7
|
* @module AccessControlClient
|
|
7
8
|
*/
|
|
8
|
-
export
|
|
9
|
+
export var MemberInvitationStatus;
|
|
10
|
+
(function (MemberInvitationStatus) {
|
|
11
|
+
MemberInvitationStatus["Pending"] = "Pending";
|
|
12
|
+
MemberInvitationStatus["Accepted"] = "Accepted";
|
|
13
|
+
})(MemberInvitationStatus || (MemberInvitationStatus = {}));
|
|
14
|
+
//#endregion
|
|
9
15
|
//# sourceMappingURL=accessControlTypes.js.map
|
|
@@ -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 groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\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 IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: UserMember[]\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<OwnerMember>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: GroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\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 additionalHeaders?: { [key: string]: 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 IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\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 UserMember {\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 OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: 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\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AA+UH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\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\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\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 IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[]\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\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 additionalHeaders?: { [key: string]: 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 IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\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\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\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 AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: 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 interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\n//#endregion\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, GroupMember, IGroupMembersClient } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddGroupMember, GroupMember, IGroupMembersClient } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class GroupMembersClient extends BaseClient implements IGroupMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -25,7 +25,7 @@ export declare class GroupMembersClient extends BaseClient implements IGroupMemb
|
|
|
25
25
|
* @param newMembers The list of new members to be added along with their role
|
|
26
26
|
* @returns Member[]
|
|
27
27
|
*/
|
|
28
|
-
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
28
|
+
addITwinGroupMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddGroupMember[]): Promise<AccessControlAPIResponse<GroupMember[]>>;
|
|
29
29
|
/** Remove the specified group member from the iTwin
|
|
30
30
|
* @param accessToken The client access token string
|
|
31
31
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAWjD;;;;;OAKG;IACU,yBAAyB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"GroupMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAWjD;;;;;OAKG;IACU,yBAAyB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAcnD;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;OAMG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;CAalD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GroupMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupMembersClient.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,kBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,yBAAyB,CACpC,WAAwB,EACxB,OAAe,EACf,UAA4B;QAE5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddGroupMember,\n GroupMember,\n IGroupMembersClient,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupMembersClient\n extends BaseClient\n implements IGroupMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin group members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/groups`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Retrieves a specific group member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"member\"\n );\n }\n\n /** Add new iTwin group members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of new members to be added along with their role\n * @returns Member[]\n */\n public async addITwinGroupMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: AddGroupMember[]\n ): Promise<AccessControlAPIResponse<GroupMember[]>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups`;\n const body = {\n members: newMembers,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n body,\n \"members\"\n );\n }\n\n /** Remove the specified group member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin group member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinGroupMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<AccessControlAPIResponse<GroupMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/groups/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body,\n \"member\"\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module AccessControlClient
|
|
3
|
+
*/
|
|
4
|
+
import type { AccessToken } from "@itwin/core-bentley";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, IMemberInvitationsClient, MemberInvitation } from "../accessControlTypes";
|
|
6
|
+
import { BaseClient } from "./BaseClient";
|
|
7
|
+
export declare class MemberInvitationsClient extends BaseClient implements IMemberInvitationsClient {
|
|
8
|
+
constructor(url?: string);
|
|
9
|
+
/** Retrieves a list of iTwin member invitations.
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @returns Array of member invitations
|
|
13
|
+
*/
|
|
14
|
+
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=MemberInvitationsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAezD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseClient } from "./BaseClient";
|
|
2
|
+
export class MemberInvitationsClient extends BaseClient {
|
|
3
|
+
constructor(url) {
|
|
4
|
+
super(url);
|
|
5
|
+
}
|
|
6
|
+
/** Retrieves a list of iTwin member invitations.
|
|
7
|
+
* @param accessToken The client access token string
|
|
8
|
+
* @param iTwinId The id of the iTwin
|
|
9
|
+
* @returns Array of member invitations
|
|
10
|
+
*/
|
|
11
|
+
async queryITwinMemberInvitationsAsync(accessToken, iTwinId, arg) {
|
|
12
|
+
let url = `${this._baseUrl}/${iTwinId}/members/invitations`;
|
|
13
|
+
if (arg) {
|
|
14
|
+
url += `?${this.getQueryString(arg)}`;
|
|
15
|
+
}
|
|
16
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "invitations");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MemberInvitationsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,uBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n}\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, IOwnerMembersClient, OwnerMember } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddOwnerMemberResponse, IOwnerMembersClient, OwnerMember } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class OwnerMembersClient extends BaseClient implements IOwnerMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -15,10 +15,10 @@ export declare class OwnerMembersClient extends BaseClient implements IOwnerMemb
|
|
|
15
15
|
/** Add new iTwin owner member
|
|
16
16
|
* @param accessToken The client access token string
|
|
17
17
|
* @param iTwinId The id of the iTwin
|
|
18
|
-
* @param
|
|
19
|
-
* @returns
|
|
18
|
+
* @param newMember The new owner member to add or invite
|
|
19
|
+
* @returns AddOwnerMemberResponse -- the added or invited owner
|
|
20
20
|
*/
|
|
21
|
-
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<
|
|
21
|
+
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;
|
|
22
22
|
/** Remove the specified owner member from the iTwin
|
|
23
23
|
* @param accessToken The client access token string
|
|
24
24
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"OwnerMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBACX,SAAQ,UACR,YAAW,mBAAmB;gBACX,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC;IAgBnD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IAU5D;;;;;OAKG;IACU,2BAA2B,CACtC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;CAIhD"}
|
|
@@ -18,12 +18,12 @@ export class OwnerMembersClient extends BaseClient {
|
|
|
18
18
|
/** Add new iTwin owner member
|
|
19
19
|
* @param accessToken The client access token string
|
|
20
20
|
* @param iTwinId The id of the iTwin
|
|
21
|
-
* @param
|
|
22
|
-
* @returns
|
|
21
|
+
* @param newMember The new owner member to add or invite
|
|
22
|
+
* @returns AddOwnerMemberResponse -- the added or invited owner
|
|
23
23
|
*/
|
|
24
24
|
async addITwinOwnerMemberAsync(accessToken, iTwinId, newMember) {
|
|
25
25
|
const url = `${this._baseUrl}/${iTwinId}/members/owners`;
|
|
26
|
-
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember
|
|
26
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember);
|
|
27
27
|
}
|
|
28
28
|
/** Remove the specified owner member from the iTwin
|
|
29
29
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OwnerMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/OwnerMembersClient.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,kBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QAEvD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,SAAsB;QAEtB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,iBAAiB,CAAC;QACzD,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,mBAAmB,QAAQ,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddOwnerMemberResponse,\n IOwnerMembersClient,\n OwnerMember,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class OwnerMembersClient\n extends BaseClient\n implements IOwnerMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin owner members on an iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinOwnerMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<OwnerMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/owners`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Add new iTwin owner member\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMember The new owner member to add or invite\n * @returns AddOwnerMemberResponse -- the added or invited owner\n */\n public async addITwinOwnerMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMember: OwnerMember\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/owners`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n newMember\n );\n }\n\n /** Remove the specified owner member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinOwnerMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/owners/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n}\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, IUserMembersClient, UserMember } from "../accessControlTypes";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlQueryArg, AddUserMember, AddUserMemberResponse, IUserMembersClient, UserMember } from "../accessControlTypes";
|
|
6
6
|
import { BaseClient } from "./BaseClient";
|
|
7
7
|
export declare class UserMembersClient extends BaseClient implements IUserMembersClient {
|
|
8
8
|
constructor(url?: string);
|
|
@@ -22,10 +22,10 @@ export declare class UserMembersClient extends BaseClient implements IUserMember
|
|
|
22
22
|
/** Add new iTwin user members
|
|
23
23
|
* @param accessToken The client access token string
|
|
24
24
|
* @param iTwinId The id of the iTwin
|
|
25
|
-
* @param newMembers The list of
|
|
26
|
-
* @returns
|
|
25
|
+
* @param newMembers The list of members to add or invite, along with their role
|
|
26
|
+
* @returns AddUserMemberResponse -- the added or invited user members
|
|
27
27
|
*/
|
|
28
|
-
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers:
|
|
28
|
+
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: AddUserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;
|
|
29
29
|
/** Remove the specified user member from the iTwin
|
|
30
30
|
* @param accessToken The client access token string
|
|
31
31
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,iBACX,SAAQ,UACR,YAAW,kBAAkB;gBACV,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC;IAgBlD;;;;;OAKG;IACU,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAWhD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"UserMembersClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,iBACX,SAAQ,UACR,YAAW,kBAAkB;gBACV,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,CAAC;IAgBlD;;;;;OAKG;IACU,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAWhD;;;;;OAKG;IACU,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EAAE,GAC1B,OAAO,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IAa3D;;;;;OAKG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;OAMG;IACU,0BAA0B,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;CAajD"}
|
|
@@ -28,15 +28,15 @@ export class UserMembersClient extends BaseClient {
|
|
|
28
28
|
/** Add new iTwin user members
|
|
29
29
|
* @param accessToken The client access token string
|
|
30
30
|
* @param iTwinId The id of the iTwin
|
|
31
|
-
* @param newMembers The list of
|
|
32
|
-
* @returns
|
|
31
|
+
* @param newMembers The list of members to add or invite, along with their role
|
|
32
|
+
* @returns AddUserMemberResponse -- the added or invited user members
|
|
33
33
|
*/
|
|
34
34
|
async addITwinUserMembersAsync(accessToken, iTwinId, newMembers) {
|
|
35
35
|
const url = `${this._baseUrl}/${iTwinId}/members/users`;
|
|
36
36
|
const body = {
|
|
37
37
|
members: newMembers,
|
|
38
38
|
};
|
|
39
|
-
return this.sendGenericAPIRequest(accessToken, "POST", url, body
|
|
39
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, body);
|
|
40
40
|
}
|
|
41
41
|
/** Remove the specified user member from the iTwin
|
|
42
42
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserMembersClient.js","sourceRoot":"","sources":["../../../src/subClients/UserMembersClient.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,iBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,gBAAgB,CAAC;QAEtD,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,SAAS,CACV,CAAC,CAAC,sCAAsC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,uBAAuB,CAClC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAwB,EACxB,OAAe,EACf,UAA2B;QAE3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,gBAAgB,CAAC;QACxD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,QAAgB;QAEhB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAwB,EACxB,OAAe,EACf,QAAgB,EAChB,OAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,kBAAkB,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG;YACX,OAAO;SACR,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n AddUserMember,\n AddUserMemberResponse,\n IUserMembersClient,\n UserMember,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class UserMembersClient\n extends BaseClient\n implements IUserMembersClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin user members and their roles assignments.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of members\n */\n public async queryITwinUserMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<UserMember[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/users`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"members\"\n ); // TODO: Consider how to handle paging\n }\n\n /** Retrieves a specific user member for a specified iTwin.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns Member\n */\n public async getITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<UserMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"member\"\n );\n }\n\n /** Add new iTwin user members\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param newMembers The list of members to add or invite, along with their role\n * @returns AddUserMemberResponse -- the added or invited user members\n */\n public async addITwinUserMembersAsync(\n accessToken: AccessToken,\n iTwinId: string,\n newMembers: AddUserMember[]\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users`;\n const body = {\n members: newMembers,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"POST\",\n url,\n body\n );\n }\n\n /** Remove the specified user member from the iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @returns No Content\n */\n public async removeITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update iTwin user member roles\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param memberId The id of the member\n * @param roleIds The ids of the roles to be assigned\n * @returns Member\n */\n public async updateITwinUserMemberAsync(\n accessToken: AccessToken,\n iTwinId: string,\n memberId: string,\n roleIds: string[]\n ): Promise<AccessControlAPIResponse<UserMember>> {\n const url = `${this._baseUrl}/${iTwinId}/members/users/${memberId}`;\n const body = {\n roleIds,\n };\n return this.sendGenericAPIRequest(\n accessToken,\n \"PATCH\",\n url,\n body,\n \"member\"\n );\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/access-control-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Access control client for the iTwin platform",
|
|
5
5
|
"main": "lib/cjs/access-control-client.js",
|
|
6
6
|
"module": "lib/esm/access-control-client.js",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
"@itwin/core-bentley": "^3.0.0",
|
|
28
28
|
"@itwin/eslint-plugin": "^3.0.0",
|
|
29
29
|
"@itwin/oidc-signin-tool": "3.6.1",
|
|
30
|
-
"@types/chai": "
|
|
30
|
+
"@types/chai": "4.1.4",
|
|
31
31
|
"@types/jest": "^28.1.6",
|
|
32
|
-
"@types/mocha": "
|
|
32
|
+
"@types/mocha": "8.2.2",
|
|
33
33
|
"@types/node": "14.14.31",
|
|
34
|
-
"chai": "
|
|
34
|
+
"chai": "4.1.2",
|
|
35
35
|
"dotenv": "^10.0.0",
|
|
36
36
|
"dotenv-expand": "^5.1.0",
|
|
37
37
|
"eslint": "^7.11.0",
|
|
38
|
-
"mocha": "
|
|
38
|
+
"mocha": "8.3.2",
|
|
39
39
|
"rimraf": "^3.0.2",
|
|
40
40
|
"source-map-loader": "^1.0.0",
|
|
41
41
|
"typescript": "~4.4.0",
|