@itwin/access-control-client 3.4.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -3
- package/lib/cjs/accessControlTypes.d.ts +7 -1
- package/lib/cjs/accessControlTypes.d.ts.map +1 -1
- package/lib/cjs/accessControlTypes.js.map +1 -1
- package/lib/cjs/subClients/GroupsClient.d.ts +3 -1
- package/lib/cjs/subClients/GroupsClient.d.ts.map +1 -1
- package/lib/cjs/subClients/GroupsClient.js +2 -2
- package/lib/cjs/subClients/GroupsClient.js.map +1 -1
- package/lib/esm/accessControlTypes.d.ts +7 -1
- package/lib/esm/accessControlTypes.d.ts.map +1 -1
- package/lib/esm/accessControlTypes.js.map +1 -1
- package/lib/esm/subClients/GroupsClient.d.ts +3 -1
- package/lib/esm/subClients/GroupsClient.d.ts.map +1 -1
- package/lib/esm/subClients/GroupsClient.js +2 -2
- package/lib/esm/subClients/GroupsClient.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
# Change Log - @itwin/access-control-client
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on
|
|
3
|
+
<!-- This log was last generated on Wed, 23 Jul 2025 13:27:41 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 3.6.0
|
|
8
|
+
|
|
9
|
+
Wed, 23 Jul 2025 13:27:41 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Add optional data params 'membersCount' and 'imsGroupsCount' to Group and GroupMember types ([commit](https://github.com/iTwin/access-control-client/commit/868b2ff35829b867a3230cc66d3f7d0c074e6dd5))
|
|
14
|
+
|
|
15
|
+
## 3.5.0
|
|
16
|
+
|
|
17
|
+
Wed, 18 Jun 2025 22:14:32 GMT
|
|
18
|
+
|
|
19
|
+
### Minor changes
|
|
20
|
+
|
|
21
|
+
- Allow sending additionalHeaders for getITwinGroupsAsync ([commit](https://github.com/iTwin/access-control-client/commit/96a0431d91886c4a3ca316cb566b62e0f778ebc1))
|
|
22
|
+
|
|
7
23
|
## 3.4.0
|
|
8
24
|
|
|
9
|
-
Thu, 15 May 2025
|
|
25
|
+
Thu, 15 May 2025 14:36:59 GMT
|
|
10
26
|
|
|
11
27
|
### Minor changes
|
|
12
28
|
|
|
13
|
-
- Adding optional customMessage param to the addITwinUserMembersAsync function. ([commit](https://github.com/iTwin/access-control-client/commit/470d52c12eaf310f6d73aa356f49996703e0c29a))
|
|
29
|
+
- Adding optional `customMessage` param to the `addITwinUserMembersAsync` function. ([commit](https://github.com/iTwin/access-control-client/commit/470d52c12eaf310f6d73aa356f49996703e0c29a))
|
|
14
30
|
|
|
15
31
|
## 3.3.0
|
|
16
32
|
|
|
@@ -66,7 +66,9 @@ export interface IRolesClient {
|
|
|
66
66
|
}
|
|
67
67
|
export interface IGroupsClient {
|
|
68
68
|
/** Retrieves a list of groups the for a specified iTwin */
|
|
69
|
-
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string
|
|
69
|
+
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string, additionalHeaders?: {
|
|
70
|
+
[key: string]: string;
|
|
71
|
+
}): Promise<AccessControlAPIResponse<Group[]>>;
|
|
70
72
|
/** Retrieves a group for a specified iTwin */
|
|
71
73
|
getITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<AccessControlAPIResponse<Group>>;
|
|
72
74
|
/** Creates a new iTwin group */
|
|
@@ -151,6 +153,8 @@ export interface GroupMember {
|
|
|
151
153
|
groupName?: string;
|
|
152
154
|
groupDescription?: string;
|
|
153
155
|
roles?: Omit<Role, "permissions">[];
|
|
156
|
+
imsGroupsCount?: number;
|
|
157
|
+
membersCount?: number;
|
|
154
158
|
}
|
|
155
159
|
export interface AddGroupMember {
|
|
156
160
|
groupId: string;
|
|
@@ -168,6 +172,8 @@ export interface Group {
|
|
|
168
172
|
description?: string;
|
|
169
173
|
members?: GroupUser[];
|
|
170
174
|
imsGroups?: string[];
|
|
175
|
+
imsGroupsCount?: number;
|
|
176
|
+
membersCount?: number;
|
|
171
177
|
}
|
|
172
178
|
export interface GroupUser {
|
|
173
179
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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;IAC5C,SAAS,EAAE,gBAAgB,CAAC;CAC7B;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,EAC3B,aAAa,CAAC,EAAE,MAAM,GACrB,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,EACf,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,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;IAEzD,6CAA6C;IAC7C,gCAAgC,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,mBAAmB,CACjB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,kFAAkF;IAClF,gBAAgB,CACd,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,uBAAuB,CACrB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC;CACvD;AAMD;;GAEG;AACH,oBAAY,uBAAuB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACjC;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;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;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;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;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;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,cAAc;IACtB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;CAClB;AAED;GACG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IAGvB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC;IAClD,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AAuXH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAyBD,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 itwinJobs: IITwinJobsClient;\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 customMessage?: string\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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\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\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AA4XH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAyBD,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 itwinJobs: IITwinJobsClient;\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 customMessage?: string\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 additionalHeaders?: { [key: string]: 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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\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 imsGroupsCount?: number;\r\n membersCount?: number;\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 imsGroupsCount?: number;\r\n membersCount?: number;\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\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
|
|
@@ -11,7 +11,9 @@ export declare class GroupsClient extends BaseClient implements IGroupsClient {
|
|
|
11
11
|
* @param iTwinId The id of the iTwin
|
|
12
12
|
* @returns Group[]
|
|
13
13
|
*/
|
|
14
|
-
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string
|
|
14
|
+
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string, additionalHeaders?: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
}): Promise<AccessControlAPIResponse<Group[]>>;
|
|
15
17
|
/** Retrieves the specified role for the specified iTwin
|
|
16
18
|
* @param accessToken The client access token string
|
|
17
19
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;gBAChD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;gBAChD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC;IAK7C;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;CAI5C"}
|
|
@@ -11,9 +11,9 @@ class GroupsClient extends BaseClient_1.BaseClient {
|
|
|
11
11
|
* @param iTwinId The id of the iTwin
|
|
12
12
|
* @returns Group[]
|
|
13
13
|
*/
|
|
14
|
-
async getITwinGroupsAsync(accessToken, iTwinId) {
|
|
14
|
+
async getITwinGroupsAsync(accessToken, iTwinId, additionalHeaders) {
|
|
15
15
|
const url = `${this._baseUrl}/${iTwinId}/groups`;
|
|
16
|
-
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "groups");
|
|
16
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "groups", additionalHeaders);
|
|
17
17
|
}
|
|
18
18
|
/** Retrieves the specified role for the specified iTwin
|
|
19
19
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,YAAa,SAAQ,uBAAU;IAC1C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe;
|
|
1
|
+
{"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,YAAa,SAAQ,uBAAU;IAC1C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,iBAA6C;QAE7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACrG,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,KAAY;QAEZ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe,EACf,KAAkB;QAElB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;CACF;AA/ED,oCA+EC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { AccessControlAPIResponse, Group, GroupUpdate, IGroupsClient } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupsClient extends BaseClient implements IGroupsClient{\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of available user roles that are defined for a specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group[]\n */\n public async getITwinGroupsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n additionalHeaders?: { [key: string]: string }\n ): Promise<AccessControlAPIResponse<Group[]>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"groups\", additionalHeaders);\n }\n\n /** Retrieves the specified role for the specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group\n */\n public async getITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"group\");\n }\n\n /** Creates a new iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param group The group to be created\n * @returns Group\n */\n public async createITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n group: Group\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, group, \"group\");\n }\n\n /** Delete the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the group to remove\n * @returns No Content\n */\n public async deleteITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<undefined>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the role to update\n * @param group The updated group\n * @returns Role\n */\n public async updateITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n group: GroupUpdate\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, group, \"group\");\n }\n}\n"]}
|
|
@@ -66,7 +66,9 @@ export interface IRolesClient {
|
|
|
66
66
|
}
|
|
67
67
|
export interface IGroupsClient {
|
|
68
68
|
/** Retrieves a list of groups the for a specified iTwin */
|
|
69
|
-
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string
|
|
69
|
+
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string, additionalHeaders?: {
|
|
70
|
+
[key: string]: string;
|
|
71
|
+
}): Promise<AccessControlAPIResponse<Group[]>>;
|
|
70
72
|
/** Retrieves a group for a specified iTwin */
|
|
71
73
|
getITwinGroupAsync(accessToken: AccessToken, iTwinId: string, groupId: string): Promise<AccessControlAPIResponse<Group>>;
|
|
72
74
|
/** Creates a new iTwin group */
|
|
@@ -151,6 +153,8 @@ export interface GroupMember {
|
|
|
151
153
|
groupName?: string;
|
|
152
154
|
groupDescription?: string;
|
|
153
155
|
roles?: Omit<Role, "permissions">[];
|
|
156
|
+
imsGroupsCount?: number;
|
|
157
|
+
membersCount?: number;
|
|
154
158
|
}
|
|
155
159
|
export interface AddGroupMember {
|
|
156
160
|
groupId: string;
|
|
@@ -168,6 +172,8 @@ export interface Group {
|
|
|
168
172
|
description?: string;
|
|
169
173
|
members?: GroupUser[];
|
|
170
174
|
imsGroups?: string[];
|
|
175
|
+
imsGroupsCount?: number;
|
|
176
|
+
membersCount?: number;
|
|
171
177
|
}
|
|
172
178
|
export interface GroupUser {
|
|
173
179
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AAuXH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAyBD,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 itwinJobs: IITwinJobsClient;\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 customMessage?: string\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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\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\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AA4XH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAyBD,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 itwinJobs: IITwinJobsClient;\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 customMessage?: string\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 additionalHeaders?: { [key: string]: 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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\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 imsGroupsCount?: number;\r\n membersCount?: number;\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 imsGroupsCount?: number;\r\n membersCount?: number;\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\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
|
|
@@ -11,7 +11,9 @@ export declare class GroupsClient extends BaseClient implements IGroupsClient {
|
|
|
11
11
|
* @param iTwinId The id of the iTwin
|
|
12
12
|
* @returns Group[]
|
|
13
13
|
*/
|
|
14
|
-
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string
|
|
14
|
+
getITwinGroupsAsync(accessToken: AccessToken, iTwinId: string, additionalHeaders?: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
}): Promise<AccessControlAPIResponse<Group[]>>;
|
|
15
17
|
/** Retrieves the specified role for the specified iTwin
|
|
16
18
|
* @param accessToken The client access token string
|
|
17
19
|
* @param iTwinId The id of the iTwin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;gBAChD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"GroupsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,YAAa,SAAQ,UAAW,YAAW,aAAa;gBAChD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC;IAK7C;;;;QAII;IACS,kBAAkB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAK3C;;;;;QAKI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAK/C;;;;;;QAMI;IACS,qBAAqB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;CAI5C"}
|
|
@@ -8,9 +8,9 @@ export class GroupsClient extends BaseClient {
|
|
|
8
8
|
* @param iTwinId The id of the iTwin
|
|
9
9
|
* @returns Group[]
|
|
10
10
|
*/
|
|
11
|
-
async getITwinGroupsAsync(accessToken, iTwinId) {
|
|
11
|
+
async getITwinGroupsAsync(accessToken, iTwinId, additionalHeaders) {
|
|
12
12
|
const url = `${this._baseUrl}/${iTwinId}/groups`;
|
|
13
|
-
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "groups");
|
|
13
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "groups", additionalHeaders);
|
|
14
14
|
}
|
|
15
15
|
/** Retrieves the specified role for the specified iTwin
|
|
16
16
|
* @param accessToken The client access token string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe;
|
|
1
|
+
{"version":3,"file":"GroupsClient.js","sourceRoot":"","sources":["../../../src/subClients/GroupsClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,iBAA6C;QAE7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACrG,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,kBAAkB,CAC7B,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,KAAY;QAEZ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,OAAe,EACf,OAAe,EACf,KAAkB;QAElB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,WAAW,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { AccessControlAPIResponse, Group, GroupUpdate, IGroupsClient } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class GroupsClient extends BaseClient implements IGroupsClient{\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of available user roles that are defined for a specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group[]\n */\n public async getITwinGroupsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n additionalHeaders?: { [key: string]: string }\n ): Promise<AccessControlAPIResponse<Group[]>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"groups\", additionalHeaders);\n }\n\n /** Retrieves the specified role for the specified iTwin\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Group\n */\n public async getITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"group\");\n }\n\n /** Creates a new iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param group The group to be created\n * @returns Group\n */\n public async createITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n group: Group\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, group, \"group\");\n }\n\n /** Delete the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the group to remove\n * @returns No Content\n */\n public async deleteITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n ): Promise<AccessControlAPIResponse<undefined>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n\n /** Update the specified iTwin group\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param groupId The id of the role to update\n * @param group The updated group\n * @returns Role\n */\n public async updateITwinGroupAsync(\n accessToken: AccessToken,\n iTwinId: string,\n groupId: string,\n group: GroupUpdate\n ): Promise<AccessControlAPIResponse<Group>>{\n const url = `${this._baseUrl}/${iTwinId}/groups/${groupId}`;\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, group, \"group\");\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/access-control-client",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "Access control client for the iTwin platform",
|
|
5
5
|
"main": "lib/cjs/access-control-client.js",
|
|
6
6
|
"module": "lib/esm/access-control-client.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"publish-package": "beachball publish --yes"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"axios": "~1.
|
|
25
|
+
"axios": "~1.11.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@itwin/build-tools": "^3.0.0",
|