@itwin/access-control-client 3.1.0 → 3.2.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 +4 -0
- package/README.md +80 -3
- 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 +38 -0
- package/lib/cjs/accessControlTypes.d.ts.map +1 -1
- package/lib/cjs/accessControlTypes.js +8 -1
- package/lib/cjs/accessControlTypes.js.map +1 -1
- package/lib/cjs/subClients/ITwinJobsClient.d.ts +38 -0
- package/lib/cjs/subClients/ITwinJobsClient.d.ts.map +1 -0
- package/lib/cjs/subClients/ITwinJobsClient.js +53 -0
- package/lib/cjs/subClients/ITwinJobsClient.js.map +1 -0
- 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 +38 -0
- package/lib/esm/accessControlTypes.d.ts.map +1 -1
- package/lib/esm/accessControlTypes.js +7 -0
- package/lib/esm/accessControlTypes.js.map +1 -1
- package/lib/esm/subClients/ITwinJobsClient.d.ts +38 -0
- package/lib/esm/subClients/ITwinJobsClient.d.ts.map +1 -0
- package/lib/esm/subClients/ITwinJobsClient.js +49 -0
- package/lib/esm/subClients/ITwinJobsClient.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -53,7 +53,9 @@ import {
|
|
|
53
53
|
|
|
54
54
|
/** Function that queries all Roles for a given iTwin and prints their ids to the console. */
|
|
55
55
|
async function printiTwinRoleIds(): Promise<void> {
|
|
56
|
-
const accessControlClient: IAccessControlClient = new AccessControlClient(
|
|
56
|
+
const accessControlClient: IAccessControlClient = new AccessControlClient(
|
|
57
|
+
"https://api.bentley.com/accesscontrol/itwins"
|
|
58
|
+
);
|
|
57
59
|
const accessToken: AccessToken = { get_access_token_logic_here };
|
|
58
60
|
|
|
59
61
|
const iTwinsResponse: AccessControlAPIResponse<Role[]> =
|
|
@@ -276,6 +278,7 @@ async function printiTwinRole(): Promise<void> {
|
|
|
276
278
|
);
|
|
277
279
|
}
|
|
278
280
|
```
|
|
281
|
+
|
|
279
282
|
### Get list of Owner Members for an iTwin
|
|
280
283
|
|
|
281
284
|
```typescript
|
|
@@ -381,7 +384,9 @@ import {
|
|
|
381
384
|
|
|
382
385
|
/** Function that queries all Groups for a given iTwin and prints their ids to the console. */
|
|
383
386
|
async function printiTwinGroupIds(): Promise<void> {
|
|
384
|
-
const accessControlClient: IAccessControlClient = new AccessControlClient(
|
|
387
|
+
const accessControlClient: IAccessControlClient = new AccessControlClient(
|
|
388
|
+
"https://api.bentley.com/accesscontrol/itwins"
|
|
389
|
+
);
|
|
385
390
|
const accessToken: AccessToken = { get_access_token_logic_here };
|
|
386
391
|
|
|
387
392
|
const iTwinsResponse: AccessControlAPIResponse<Group[]> =
|
|
@@ -453,7 +458,7 @@ async function printiTwinGroup(): Promise<void> {
|
|
|
453
458
|
name: "Some new group name",
|
|
454
459
|
description: "UPDATED GROUP DESCRIPTION",
|
|
455
460
|
user: ["John.Johnson@example.com"],
|
|
456
|
-
imsGroups: ["Sample IMS Group"]
|
|
461
|
+
imsGroups: ["Sample IMS Group"],
|
|
457
462
|
};
|
|
458
463
|
const updateResponse: AccessControlAPIResponse<Group> =
|
|
459
464
|
await accessControlClient.groups.updateITwinGroupAsync(
|
|
@@ -659,6 +664,78 @@ async function printiTwinPermissionIds(): Promise<void> {
|
|
|
659
664
|
}
|
|
660
665
|
```
|
|
661
666
|
|
|
667
|
+
### Create and get iTwin job and related actions
|
|
668
|
+
|
|
669
|
+
```typescript
|
|
670
|
+
import type { AccessToken } from "@itwin/core-bentley";
|
|
671
|
+
import {
|
|
672
|
+
AccessControlClient,
|
|
673
|
+
IAccessControlClient,
|
|
674
|
+
ITwinJob,
|
|
675
|
+
ITwinJobActions,
|
|
676
|
+
AccessControlAPIResponse,
|
|
677
|
+
} from "@itwin/access-control-client";
|
|
678
|
+
|
|
679
|
+
/** Function that creates, updates, and deletes a user member. */
|
|
680
|
+
async function printiTwinRole(): Promise<void> {
|
|
681
|
+
const accessControlClient: IAccessControlClient = new AccessControlClient();
|
|
682
|
+
const accessToken: AccessToken = { get_access_token_logic_here };
|
|
683
|
+
|
|
684
|
+
const itwinJobActions = {
|
|
685
|
+
assignRoles: [
|
|
686
|
+
{
|
|
687
|
+
email: "John.Johnson@example.com",
|
|
688
|
+
roleIds: ["65819672-962d-4386-8667-136125bcb7b2"],
|
|
689
|
+
},
|
|
690
|
+
],
|
|
691
|
+
unassignRoles: [
|
|
692
|
+
{
|
|
693
|
+
email: "Maria.Miller@example.com",
|
|
694
|
+
roleIds: ["d6a62e34-5016-4bac-a9a0-a6522583698e"],
|
|
695
|
+
},
|
|
696
|
+
],
|
|
697
|
+
removeMembers: [
|
|
698
|
+
{
|
|
699
|
+
email: "Jobby.McJobface@example.com",
|
|
700
|
+
},
|
|
701
|
+
],
|
|
702
|
+
};
|
|
703
|
+
|
|
704
|
+
// Create iTwin job
|
|
705
|
+
const createResponse: AccessControlAPIResponse<ITwinJob> =
|
|
706
|
+
await accessControlClient.itwinJobs.createITwinJobAsync(
|
|
707
|
+
accessToken,
|
|
708
|
+
"d7d82799-3f0c-4175-acbe-cc2573e99359",
|
|
709
|
+
itwinJobActions
|
|
710
|
+
);
|
|
711
|
+
|
|
712
|
+
// Get the created iTwin job
|
|
713
|
+
const getiTwinJobResponse: AccessControlAPIResponse<ITwinJob> =
|
|
714
|
+
await accessControlClient.itwinJobs.getITwinJobAsync(
|
|
715
|
+
accessToken,
|
|
716
|
+
"d7d82799-3f0c-4175-acbe-cc2573e99359",
|
|
717
|
+
createResponse.data.id
|
|
718
|
+
);
|
|
719
|
+
|
|
720
|
+
// Get the created iTwin job with errors
|
|
721
|
+
const getiTwinJobResponseWithErrors: AccessControlAPIResponse<ITwinJob> =
|
|
722
|
+
await accessControlClient.itwinJobs.getITwinJobAsync(
|
|
723
|
+
accessToken,
|
|
724
|
+
"d7d82799-3f0c-4175-acbe-cc2573e99359",
|
|
725
|
+
createResponse.data.id,
|
|
726
|
+
"representation"
|
|
727
|
+
);
|
|
728
|
+
|
|
729
|
+
// Get the created iTwin job's actions
|
|
730
|
+
const getiTwinJobActionaResponse: AccessControlAPIResponse<ITwinJobActions> =
|
|
731
|
+
await accessControlClient.itwinJobs.getITwinJobActionsAsync(
|
|
732
|
+
accessToken,
|
|
733
|
+
"d7d82799-3f0c-4175-acbe-cc2573e99359",
|
|
734
|
+
createResponse.data.id
|
|
735
|
+
);
|
|
736
|
+
}
|
|
737
|
+
```
|
|
738
|
+
|
|
662
739
|
## Contributing to this Repository
|
|
663
740
|
|
|
664
741
|
For information on how to contribute to this project, please read [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines, [GETTINGSTARTED.md](GETTINGSTARTED.md) for information on working with the documentation in this repository.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module AccessControlClient
|
|
3
3
|
*/
|
|
4
|
-
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
4
|
+
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IITwinJobsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
5
5
|
export declare class AccessControlClient implements IAccessControlClient {
|
|
6
6
|
permissions: IPermissionsClient;
|
|
7
7
|
roles: IRolesClient;
|
|
@@ -10,6 +10,7 @@ export declare class AccessControlClient implements IAccessControlClient {
|
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
12
|
memberInvitations: IMemberInvitationsClient;
|
|
13
|
+
itwinJobs: IITwinJobsClient;
|
|
13
14
|
constructor(url?: string);
|
|
14
15
|
}
|
|
15
16
|
//# 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,wBAAwB,EACxB,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,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAU9B,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;IAC5C,SAAS,EAAE,gBAAgB,CAAC;gBAEhB,GAAG,CAAC,EAAE,MAAM;CAUhC"}
|
|
@@ -8,6 +8,7 @@ const UserMembersClient_1 = require("./subClients/UserMembersClient");
|
|
|
8
8
|
const GroupMembersClient_1 = require("./subClients/GroupMembersClient");
|
|
9
9
|
const OwnerMembersClient_1 = require("./subClients/OwnerMembersClient");
|
|
10
10
|
const MemberInvitationsClient_1 = require("./subClients/MemberInvitationsClient");
|
|
11
|
+
const ITwinJobsClient_1 = require("./subClients/ITwinJobsClient");
|
|
11
12
|
class AccessControlClient {
|
|
12
13
|
constructor(url) {
|
|
13
14
|
this.permissions = new PermissionsClient_1.PermissionsClient(url);
|
|
@@ -17,6 +18,7 @@ class AccessControlClient {
|
|
|
17
18
|
this.groupMembers = new GroupMembersClient_1.GroupMembersClient(url);
|
|
18
19
|
this.ownerMembers = new OwnerMembersClient_1.OwnerMembersClient(url);
|
|
19
20
|
this.memberInvitations = new MemberInvitationsClient_1.MemberInvitationsClient(url);
|
|
21
|
+
this.itwinJobs = new ITwinJobsClient_1.ITwinJobsClient(url);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
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":";;;AAkBA,sEAAmE;AACnE,0DAAuD;AACvD,4DAAyD;AACzD,sEAAmE;AACnE,wEAAqE;AACrE,wEAAqE;AACrE,kFAA+E;AAC/E,kEAA+D;AAE/D,MAAa,mBAAmB;IAU9B,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;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AApBD,kDAoBC","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 IITwinJobsClient,\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\nimport { ITwinJobsClient } from \"./subClients/ITwinJobsClient\";\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 public itwinJobs: IITwinJobsClient;\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 this.itwinJobs = new ITwinJobsClient(url);\r\n }\r\n}\r\n"]}
|
|
@@ -10,6 +10,7 @@ export interface IAccessControlClient {
|
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
12
|
memberInvitations: IMemberInvitationsClient;
|
|
13
|
+
itwinJobs: IITwinJobsClient;
|
|
13
14
|
}
|
|
14
15
|
export interface IPermissionsClient {
|
|
15
16
|
/** Retrieves the list of all available permissions **/
|
|
@@ -79,9 +80,22 @@ export interface IMemberInvitationsClient {
|
|
|
79
80
|
/** Retrieves a list of member invitations. */
|
|
80
81
|
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
81
82
|
}
|
|
83
|
+
export interface IITwinJobsClient {
|
|
84
|
+
/** Creates a new iTwin Job */
|
|
85
|
+
createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
86
|
+
/** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */
|
|
87
|
+
getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
88
|
+
/** Gets the iTwin Job Actions for a specified iTwin Job. */
|
|
89
|
+
getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Optional result mode. Minimal is the default, representation returns extra properties
|
|
93
|
+
*/
|
|
94
|
+
export declare type AccessControlResultMode = "minimal" | "representation";
|
|
82
95
|
export interface AccessControlQueryArg {
|
|
83
96
|
top?: number;
|
|
84
97
|
skip?: number;
|
|
98
|
+
resultMode?: AccessControlResultMode;
|
|
85
99
|
}
|
|
86
100
|
export interface AccessControlAPIResponse<T> {
|
|
87
101
|
data?: T;
|
|
@@ -180,4 +194,28 @@ export declare enum MemberInvitationStatus {
|
|
|
180
194
|
Pending = "Pending",
|
|
181
195
|
Accepted = "Accepted"
|
|
182
196
|
}
|
|
197
|
+
export declare enum ITwinJobStatus {
|
|
198
|
+
Active = "Active",
|
|
199
|
+
Complete = "Completed",
|
|
200
|
+
PartialCompleted = "PartialCompleted",
|
|
201
|
+
Failed = "Failed"
|
|
202
|
+
}
|
|
203
|
+
/** Contains extra properties with "representation" result mode.
|
|
204
|
+
*/
|
|
205
|
+
export interface ITwinJob {
|
|
206
|
+
id: string;
|
|
207
|
+
itwinId: string;
|
|
208
|
+
status: ITwinJobStatus;
|
|
209
|
+
error?: ErrorDetail[];
|
|
210
|
+
}
|
|
211
|
+
export interface ITwinJobActions {
|
|
212
|
+
assignRoles?: ITwinJobAction[];
|
|
213
|
+
unassignRoles?: ITwinJobAction[];
|
|
214
|
+
removeMembers?: Omit<ITwinJobAction, "roleIds">[];
|
|
215
|
+
options?: any;
|
|
216
|
+
}
|
|
217
|
+
export interface ITwinJobAction {
|
|
218
|
+
email: string;
|
|
219
|
+
roleIds: string[];
|
|
220
|
+
}
|
|
183
221
|
//# sourceMappingURL=accessControlTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,18 @@
|
|
|
8
8
|
* @module AccessControlClient
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.MemberInvitationStatus = void 0;
|
|
11
|
+
exports.ITwinJobStatus = exports.MemberInvitationStatus = void 0;
|
|
12
12
|
var MemberInvitationStatus;
|
|
13
13
|
(function (MemberInvitationStatus) {
|
|
14
14
|
MemberInvitationStatus["Pending"] = "Pending";
|
|
15
15
|
MemberInvitationStatus["Accepted"] = "Accepted";
|
|
16
16
|
})(MemberInvitationStatus = exports.MemberInvitationStatus || (exports.MemberInvitationStatus = {}));
|
|
17
|
+
var ITwinJobStatus;
|
|
18
|
+
(function (ITwinJobStatus) {
|
|
19
|
+
ITwinJobStatus["Active"] = "Active";
|
|
20
|
+
ITwinJobStatus["Complete"] = "Completed";
|
|
21
|
+
ITwinJobStatus["PartialCompleted"] = "PartialCompleted";
|
|
22
|
+
ITwinJobStatus["Failed"] = "Failed";
|
|
23
|
+
})(ITwinJobStatus = exports.ITwinJobStatus || (exports.ITwinJobStatus = {}));
|
|
17
24
|
//#endregion
|
|
18
25
|
//# sourceMappingURL=accessControlTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AAgVH,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 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\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;;;AA+WH,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 ): 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\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"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module AccessControlClient
|
|
3
|
+
*/
|
|
4
|
+
import type { AccessToken } from "@itwin/core-bentley";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from "../accessControlTypes";
|
|
6
|
+
import { BaseClient } from "./BaseClient";
|
|
7
|
+
export declare class ITwinJobsClient extends BaseClient implements IITwinJobsClient {
|
|
8
|
+
constructor(url?: string);
|
|
9
|
+
/** Create a new iTwin Job
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @param iTwinActions The actions of the iTwin Job
|
|
13
|
+
* @returns ITwin Job
|
|
14
|
+
*/
|
|
15
|
+
createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
16
|
+
/** Gets an iTwin Job.
|
|
17
|
+
* @param accessToken The client access token string
|
|
18
|
+
* @param iTwinId The id of the iTwin
|
|
19
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
20
|
+
* @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
|
|
21
|
+
* @returns ITwin Job
|
|
22
|
+
*/
|
|
23
|
+
getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
24
|
+
/** Gets an iTwin Job.
|
|
25
|
+
* @param accessToken The client access token string
|
|
26
|
+
* @param iTwinId The id of the iTwin
|
|
27
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
28
|
+
* @returns ITwin Job Actions
|
|
29
|
+
*/
|
|
30
|
+
getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
|
|
31
|
+
/**
|
|
32
|
+
* Format result mode parameter into a headers entry
|
|
33
|
+
* @param resultMode (Optional) Access Control result mode
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
protected getResultModeHeaders(resultMode?: AccessControlResultMode): Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ITwinJobsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITwinJobsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5I,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;gBACtD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;;SAKK;IACQ,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAK9C;;;;;;SAMK;IACQ,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAM9C;;;;;SAKK;IACQ,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAKrD;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,GAAE,uBAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAKxG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITwinJobsClient = void 0;
|
|
4
|
+
const BaseClient_1 = require("./BaseClient");
|
|
5
|
+
class ITwinJobsClient extends BaseClient_1.BaseClient {
|
|
6
|
+
constructor(url) {
|
|
7
|
+
super(url);
|
|
8
|
+
}
|
|
9
|
+
/** Create a new iTwin Job
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @param iTwinActions The actions of the iTwin Job
|
|
13
|
+
* @returns ITwin Job
|
|
14
|
+
*/
|
|
15
|
+
async createITwinJobAsync(accessToken, iTwinId, iTwinJobActions) {
|
|
16
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs`;
|
|
17
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, { actions: iTwinJobActions });
|
|
18
|
+
}
|
|
19
|
+
/** Gets an iTwin Job.
|
|
20
|
+
* @param accessToken The client access token string
|
|
21
|
+
* @param iTwinId The id of the iTwin
|
|
22
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
23
|
+
* @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
|
|
24
|
+
* @returns ITwin Job
|
|
25
|
+
*/
|
|
26
|
+
async getITwinJobAsync(accessToken, iTwinId, iTwinJobId, resultMode) {
|
|
27
|
+
const headers = this.getResultModeHeaders(resultMode);
|
|
28
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;
|
|
29
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, undefined, headers);
|
|
30
|
+
}
|
|
31
|
+
/** Gets an iTwin Job.
|
|
32
|
+
* @param accessToken The client access token string
|
|
33
|
+
* @param iTwinId The id of the iTwin
|
|
34
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
35
|
+
* @returns ITwin Job Actions
|
|
36
|
+
*/
|
|
37
|
+
async getITwinJobActionsAsync(accessToken, iTwinId, iTwinJobId) {
|
|
38
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;
|
|
39
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "actions");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Format result mode parameter into a headers entry
|
|
43
|
+
* @param resultMode (Optional) Access Control result mode
|
|
44
|
+
* @protected
|
|
45
|
+
*/
|
|
46
|
+
getResultModeHeaders(resultMode = "minimal") {
|
|
47
|
+
return {
|
|
48
|
+
prefer: `return=${resultMode}`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ITwinJobsClient = ITwinJobsClient;
|
|
53
|
+
//# sourceMappingURL=ITwinJobsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITwinJobsClient.js","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":";;;AASA,6CAA0C;AAE1C,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,eAAgC;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;SAMK;IACE,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,UAAkB,EAClB,UAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,uBAAuB,CAClC,WAAwB,EACxB,OAAe,EACf,UAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,UAAU,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,aAAsC,SAAS;QAC5E,OAAO;YACL,MAAM,EAAE,UAAU,UAAU,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AA/DD,0CA+DC","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, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class ITwinJobsClient extends BaseClient implements IITwinJobsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Create a new iTwin Job\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinActions The actions of the iTwin Job\n * @returns ITwin Job\n */\n public async createITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobActions: ITwinJobActions\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, { actions: iTwinJobActions });\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)\n * @returns ITwin Job\n */\n public async getITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId: string,\n resultMode?: AccessControlResultMode\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const headers = this.getResultModeHeaders(resultMode);\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, undefined, headers);\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @returns ITwin Job Actions\n */\n public async getITwinJobActionsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId?: string\n ): Promise<AccessControlAPIResponse<ITwinJobActions>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"actions\");\n }\n\n /**\n * Format result mode parameter into a headers entry\n * @param resultMode (Optional) Access Control result mode\n * @protected\n */\n protected getResultModeHeaders(resultMode: AccessControlResultMode = \"minimal\"): Record<string, string> {\n return {\n prefer: `return=${resultMode}`,\n };\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module AccessControlClient
|
|
3
3
|
*/
|
|
4
|
-
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
4
|
+
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IITwinJobsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes";
|
|
5
5
|
export declare class AccessControlClient implements IAccessControlClient {
|
|
6
6
|
permissions: IPermissionsClient;
|
|
7
7
|
roles: IRolesClient;
|
|
@@ -10,6 +10,7 @@ export declare class AccessControlClient implements IAccessControlClient {
|
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
12
|
memberInvitations: IMemberInvitationsClient;
|
|
13
|
+
itwinJobs: IITwinJobsClient;
|
|
13
14
|
constructor(url?: string);
|
|
14
15
|
}
|
|
15
16
|
//# 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,wBAAwB,EACxB,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,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAU9B,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;IAC5C,SAAS,EAAE,gBAAgB,CAAC;gBAEhB,GAAG,CAAC,EAAE,MAAM;CAUhC"}
|
|
@@ -5,6 +5,7 @@ import { UserMembersClient } from "./subClients/UserMembersClient";
|
|
|
5
5
|
import { GroupMembersClient } from "./subClients/GroupMembersClient";
|
|
6
6
|
import { OwnerMembersClient } from "./subClients/OwnerMembersClient";
|
|
7
7
|
import { MemberInvitationsClient } from "./subClients/MemberInvitationsClient";
|
|
8
|
+
import { ITwinJobsClient } from "./subClients/ITwinJobsClient";
|
|
8
9
|
export class AccessControlClient {
|
|
9
10
|
constructor(url) {
|
|
10
11
|
this.permissions = new PermissionsClient(url);
|
|
@@ -14,6 +15,7 @@ export class AccessControlClient {
|
|
|
14
15
|
this.groupMembers = new GroupMembersClient(url);
|
|
15
16
|
this.ownerMembers = new OwnerMembersClient(url);
|
|
16
17
|
this.memberInvitations = new MemberInvitationsClient(url);
|
|
18
|
+
this.itwinJobs = new ITwinJobsClient(url);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
//# 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":"AAkBA,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;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,OAAO,mBAAmB;IAU9B,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;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,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 IITwinJobsClient,\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\nimport { ITwinJobsClient } from \"./subClients/ITwinJobsClient\";\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 public itwinJobs: IITwinJobsClient;\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 this.itwinJobs = new ITwinJobsClient(url);\r\n }\r\n}\r\n"]}
|
|
@@ -10,6 +10,7 @@ export interface IAccessControlClient {
|
|
|
10
10
|
groupMembers: IGroupMembersClient;
|
|
11
11
|
ownerMembers: IOwnerMembersClient;
|
|
12
12
|
memberInvitations: IMemberInvitationsClient;
|
|
13
|
+
itwinJobs: IITwinJobsClient;
|
|
13
14
|
}
|
|
14
15
|
export interface IPermissionsClient {
|
|
15
16
|
/** Retrieves the list of all available permissions **/
|
|
@@ -79,9 +80,22 @@ export interface IMemberInvitationsClient {
|
|
|
79
80
|
/** Retrieves a list of member invitations. */
|
|
80
81
|
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
|
|
81
82
|
}
|
|
83
|
+
export interface IITwinJobsClient {
|
|
84
|
+
/** Creates a new iTwin Job */
|
|
85
|
+
createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
86
|
+
/** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */
|
|
87
|
+
getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
88
|
+
/** Gets the iTwin Job Actions for a specified iTwin Job. */
|
|
89
|
+
getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Optional result mode. Minimal is the default, representation returns extra properties
|
|
93
|
+
*/
|
|
94
|
+
export declare type AccessControlResultMode = "minimal" | "representation";
|
|
82
95
|
export interface AccessControlQueryArg {
|
|
83
96
|
top?: number;
|
|
84
97
|
skip?: number;
|
|
98
|
+
resultMode?: AccessControlResultMode;
|
|
85
99
|
}
|
|
86
100
|
export interface AccessControlAPIResponse<T> {
|
|
87
101
|
data?: T;
|
|
@@ -180,4 +194,28 @@ export declare enum MemberInvitationStatus {
|
|
|
180
194
|
Pending = "Pending",
|
|
181
195
|
Accepted = "Accepted"
|
|
182
196
|
}
|
|
197
|
+
export declare enum ITwinJobStatus {
|
|
198
|
+
Active = "Active",
|
|
199
|
+
Complete = "Completed",
|
|
200
|
+
PartialCompleted = "PartialCompleted",
|
|
201
|
+
Failed = "Failed"
|
|
202
|
+
}
|
|
203
|
+
/** Contains extra properties with "representation" result mode.
|
|
204
|
+
*/
|
|
205
|
+
export interface ITwinJob {
|
|
206
|
+
id: string;
|
|
207
|
+
itwinId: string;
|
|
208
|
+
status: ITwinJobStatus;
|
|
209
|
+
error?: ErrorDetail[];
|
|
210
|
+
}
|
|
211
|
+
export interface ITwinJobActions {
|
|
212
|
+
assignRoles?: ITwinJobAction[];
|
|
213
|
+
unassignRoles?: ITwinJobAction[];
|
|
214
|
+
removeMembers?: Omit<ITwinJobAction, "roleIds">[];
|
|
215
|
+
options?: any;
|
|
216
|
+
}
|
|
217
|
+
export interface ITwinJobAction {
|
|
218
|
+
email: string;
|
|
219
|
+
roleIds: string[];
|
|
220
|
+
}
|
|
183
221
|
//# sourceMappingURL=accessControlTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,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;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;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;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"}
|
|
@@ -11,5 +11,12 @@ export var MemberInvitationStatus;
|
|
|
11
11
|
MemberInvitationStatus["Pending"] = "Pending";
|
|
12
12
|
MemberInvitationStatus["Accepted"] = "Accepted";
|
|
13
13
|
})(MemberInvitationStatus || (MemberInvitationStatus = {}));
|
|
14
|
+
export var ITwinJobStatus;
|
|
15
|
+
(function (ITwinJobStatus) {
|
|
16
|
+
ITwinJobStatus["Active"] = "Active";
|
|
17
|
+
ITwinJobStatus["Complete"] = "Completed";
|
|
18
|
+
ITwinJobStatus["PartialCompleted"] = "PartialCompleted";
|
|
19
|
+
ITwinJobStatus["Failed"] = "Failed";
|
|
20
|
+
})(ITwinJobStatus || (ITwinJobStatus = {}));
|
|
14
21
|
//#endregion
|
|
15
22
|
//# sourceMappingURL=accessControlTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AAgVH,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 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\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;AA+WH,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 ): 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\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"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module AccessControlClient
|
|
3
|
+
*/
|
|
4
|
+
import type { AccessToken } from "@itwin/core-bentley";
|
|
5
|
+
import type { AccessControlAPIResponse, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from "../accessControlTypes";
|
|
6
|
+
import { BaseClient } from "./BaseClient";
|
|
7
|
+
export declare class ITwinJobsClient extends BaseClient implements IITwinJobsClient {
|
|
8
|
+
constructor(url?: string);
|
|
9
|
+
/** Create a new iTwin Job
|
|
10
|
+
* @param accessToken The client access token string
|
|
11
|
+
* @param iTwinId The id of the iTwin
|
|
12
|
+
* @param iTwinActions The actions of the iTwin Job
|
|
13
|
+
* @returns ITwin Job
|
|
14
|
+
*/
|
|
15
|
+
createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
16
|
+
/** Gets an iTwin Job.
|
|
17
|
+
* @param accessToken The client access token string
|
|
18
|
+
* @param iTwinId The id of the iTwin
|
|
19
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
20
|
+
* @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
|
|
21
|
+
* @returns ITwin Job
|
|
22
|
+
*/
|
|
23
|
+
getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
|
|
24
|
+
/** Gets an iTwin Job.
|
|
25
|
+
* @param accessToken The client access token string
|
|
26
|
+
* @param iTwinId The id of the iTwin
|
|
27
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
28
|
+
* @returns ITwin Job Actions
|
|
29
|
+
*/
|
|
30
|
+
getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
|
|
31
|
+
/**
|
|
32
|
+
* Format result mode parameter into a headers entry
|
|
33
|
+
* @param resultMode (Optional) Access Control result mode
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
protected getResultModeHeaders(resultMode?: AccessControlResultMode): Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ITwinJobsClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITwinJobsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5I,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,eAAgB,SAAQ,UAAW,YAAW,gBAAgB;gBACtD,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;;SAKK;IACQ,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAK9C;;;;;;SAMK;IACQ,gBAAgB,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAM9C;;;;;SAKK;IACQ,uBAAuB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAKrD;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,GAAE,uBAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAKxG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BaseClient } from "./BaseClient";
|
|
2
|
+
export class ITwinJobsClient extends BaseClient {
|
|
3
|
+
constructor(url) {
|
|
4
|
+
super(url);
|
|
5
|
+
}
|
|
6
|
+
/** Create a new iTwin Job
|
|
7
|
+
* @param accessToken The client access token string
|
|
8
|
+
* @param iTwinId The id of the iTwin
|
|
9
|
+
* @param iTwinActions The actions of the iTwin Job
|
|
10
|
+
* @returns ITwin Job
|
|
11
|
+
*/
|
|
12
|
+
async createITwinJobAsync(accessToken, iTwinId, iTwinJobActions) {
|
|
13
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs`;
|
|
14
|
+
return this.sendGenericAPIRequest(accessToken, "POST", url, { actions: iTwinJobActions });
|
|
15
|
+
}
|
|
16
|
+
/** Gets an iTwin Job.
|
|
17
|
+
* @param accessToken The client access token string
|
|
18
|
+
* @param iTwinId The id of the iTwin
|
|
19
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
20
|
+
* @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)
|
|
21
|
+
* @returns ITwin Job
|
|
22
|
+
*/
|
|
23
|
+
async getITwinJobAsync(accessToken, iTwinId, iTwinJobId, resultMode) {
|
|
24
|
+
const headers = this.getResultModeHeaders(resultMode);
|
|
25
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;
|
|
26
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, undefined, headers);
|
|
27
|
+
}
|
|
28
|
+
/** Gets an iTwin Job.
|
|
29
|
+
* @param accessToken The client access token string
|
|
30
|
+
* @param iTwinId The id of the iTwin
|
|
31
|
+
* @param iTwinJobId The id of the iTwin Job
|
|
32
|
+
* @returns ITwin Job Actions
|
|
33
|
+
*/
|
|
34
|
+
async getITwinJobActionsAsync(accessToken, iTwinId, iTwinJobId) {
|
|
35
|
+
const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;
|
|
36
|
+
return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "actions");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Format result mode parameter into a headers entry
|
|
40
|
+
* @param resultMode (Optional) Access Control result mode
|
|
41
|
+
* @protected
|
|
42
|
+
*/
|
|
43
|
+
getResultModeHeaders(resultMode = "minimal") {
|
|
44
|
+
return {
|
|
45
|
+
prefer: `return=${resultMode}`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ITwinJobsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITwinJobsClient.js","sourceRoot":"","sources":["../../../src/subClients/ITwinJobsClient.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,mBAAmB,CAC9B,WAAwB,EACxB,OAAe,EACf,eAAgC;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC;QAC/C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;SAMK;IACE,KAAK,CAAC,gBAAgB,CAC3B,WAAwB,EACxB,OAAe,EACf,UAAkB,EAClB,UAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;SAKK;IACE,KAAK,CAAC,uBAAuB,CAClC,WAAwB,EACxB,OAAe,EACf,UAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,SAAS,UAAU,UAAU,CAAC;QACrE,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,aAAsC,SAAS;QAC5E,OAAO;YACL,MAAM,EAAE,UAAU,UAAU,EAAE;SAC/B,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 { AccessControlAPIResponse, AccessControlResultMode, IITwinJobsClient, ITwinJob, ITwinJobActions } from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class ITwinJobsClient extends BaseClient implements IITwinJobsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Create a new iTwin Job\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinActions The actions of the iTwin Job\n * @returns ITwin Job\n */\n public async createITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobActions: ITwinJobActions\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs`;\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, { actions: iTwinJobActions });\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @param resultMode (Optional) Access Control result mode: minimal or representation (defaults to minimal)\n * @returns ITwin Job\n */\n public async getITwinJobAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId: string,\n resultMode?: AccessControlResultMode\n ): Promise<AccessControlAPIResponse<ITwinJob>> {\n const headers = this.getResultModeHeaders(resultMode);\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, undefined, headers);\n }\n\n /** Gets an iTwin Job.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @param iTwinJobId The id of the iTwin Job\n * @returns ITwin Job Actions\n */\n public async getITwinJobActionsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n iTwinJobId?: string\n ): Promise<AccessControlAPIResponse<ITwinJobActions>> {\n const url = `${this._baseUrl}/${iTwinId}/jobs/${iTwinJobId}/actions`;\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"actions\");\n }\n\n /**\n * Format result mode parameter into a headers entry\n * @param resultMode (Optional) Access Control result mode\n * @protected\n */\n protected getResultModeHeaders(resultMode: AccessControlResultMode = \"minimal\"): Record<string, string> {\n return {\n prefer: `return=${resultMode}`,\n };\n }\n}\n"]}
|
package/package.json
CHANGED