@itwin/access-control-client 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +80 -3
  3. package/lib/cjs/AccessControlClient.d.ts +2 -1
  4. package/lib/cjs/AccessControlClient.d.ts.map +1 -1
  5. package/lib/cjs/AccessControlClient.js +2 -0
  6. package/lib/cjs/AccessControlClient.js.map +1 -1
  7. package/lib/cjs/accessControlTypes.d.ts +41 -1
  8. package/lib/cjs/accessControlTypes.d.ts.map +1 -1
  9. package/lib/cjs/accessControlTypes.js +8 -1
  10. package/lib/cjs/accessControlTypes.js.map +1 -1
  11. package/lib/cjs/subClients/ITwinJobsClient.d.ts +38 -0
  12. package/lib/cjs/subClients/ITwinJobsClient.d.ts.map +1 -0
  13. package/lib/cjs/subClients/ITwinJobsClient.js +53 -0
  14. package/lib/cjs/subClients/ITwinJobsClient.js.map +1 -0
  15. package/lib/cjs/subClients/MemberInvitationsClient.d.ts +1 -0
  16. package/lib/cjs/subClients/MemberInvitationsClient.d.ts.map +1 -1
  17. package/lib/cjs/subClients/MemberInvitationsClient.js +4 -0
  18. package/lib/cjs/subClients/MemberInvitationsClient.js.map +1 -1
  19. package/lib/esm/AccessControlClient.d.ts +2 -1
  20. package/lib/esm/AccessControlClient.d.ts.map +1 -1
  21. package/lib/esm/AccessControlClient.js +2 -0
  22. package/lib/esm/AccessControlClient.js.map +1 -1
  23. package/lib/esm/accessControlTypes.d.ts +41 -1
  24. package/lib/esm/accessControlTypes.d.ts.map +1 -1
  25. package/lib/esm/accessControlTypes.js +7 -0
  26. package/lib/esm/accessControlTypes.js.map +1 -1
  27. package/lib/esm/subClients/ITwinJobsClient.d.ts +38 -0
  28. package/lib/esm/subClients/ITwinJobsClient.d.ts.map +1 -0
  29. package/lib/esm/subClients/ITwinJobsClient.js +49 -0
  30. package/lib/esm/subClients/ITwinJobsClient.js.map +1 -0
  31. package/lib/esm/subClients/MemberInvitationsClient.d.ts +1 -0
  32. package/lib/esm/subClients/MemberInvitationsClient.d.ts.map +1 -1
  33. package/lib/esm/subClients/MemberInvitationsClient.js +4 -0
  34. package/lib/esm/subClients/MemberInvitationsClient.js.map +1 -1
  35. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log - @itwin/access-control-client
2
2
 
3
+ ## 3.3.0
4
+
5
+ - Adding `deleteITwinMemberInvitationAsync` method to the `MemberInvitationsClient`.
6
+
7
+ ## 3.2.0
8
+
9
+ - Adding iTwin jobs client
10
+
3
11
  ## 3.1.0
4
12
 
5
13
  - Add headers to the API response object
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("https://api.bentley.com/accesscontrol/itwins");
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("https://api.bentley.com/accesscontrol/itwins");
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;AAS9B,qBAAa,mBAAoB,YAAW,oBAAoB;IACvD,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,EAAE,wBAAwB,CAAC;gBAEhC,GAAG,CAAC,EAAE,MAAM;CAShC"}
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":";;;AAiBA,sEAAmE;AACnE,0DAAuD;AACvD,4DAAyD;AACzD,sEAAmE;AACnE,wEAAqE;AACrE,wEAAqE;AACrE,kFAA+E;AAE/E,MAAa,mBAAmB;IAS9B,YAAmB,GAAY;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iDAAuB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AAlBD,kDAkBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type {\r\n IAccessControlClient,\r\n IGroupMembersClient,\r\n IGroupsClient,\r\n IMemberInvitationsClient,\r\n IOwnerMembersClient,\r\n IPermissionsClient,\r\n IRolesClient,\r\n IUserMembersClient,\r\n} from \"./accessControlTypes\";\r\nimport { PermissionsClient } from \"./subClients/PermissionsClient\";\r\nimport { RolesClient } from \"./subClients/RolesClient\";\r\nimport { GroupsClient } from \"./subClients/GroupsClient\";\r\nimport { UserMembersClient } from \"./subClients/UserMembersClient\";\r\nimport { GroupMembersClient } from \"./subClients/GroupMembersClient\";\r\nimport { OwnerMembersClient } from \"./subClients/OwnerMembersClient\";\r\nimport { MemberInvitationsClient } from \"./subClients/MemberInvitationsClient\";\r\n\r\nexport class AccessControlClient implements IAccessControlClient {\r\n public permissions: IPermissionsClient;\r\n public roles: IRolesClient;\r\n public groups: IGroupsClient;\r\n public userMembers: IUserMembersClient;\r\n public groupMembers: IGroupMembersClient;\r\n public ownerMembers: IOwnerMembersClient;\r\n public memberInvitations: IMemberInvitationsClient;\r\n\r\n public constructor(url?: string) {\r\n this.permissions = new PermissionsClient(url);\r\n this.roles = new RolesClient(url);\r\n this.groups = new GroupsClient(url);\r\n this.userMembers = new UserMembersClient(url);\r\n this.groupMembers = new GroupMembersClient(url);\r\n this.ownerMembers = new OwnerMembersClient(url);\r\n this.memberInvitations = new MemberInvitationsClient(url);\r\n }\r\n}\r\n"]}
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 **/
@@ -78,10 +79,25 @@ export interface IGroupsClient {
78
79
  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
+ /** Removes an existing member invitation. */
83
+ deleteITwinMemberInvitationAsync(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<AccessControlAPIResponse<undefined>>;
84
+ }
85
+ export interface IITwinJobsClient {
86
+ /** Creates a new iTwin Job */
87
+ createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
88
+ /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */
89
+ getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
90
+ /** Gets the iTwin Job Actions for a specified iTwin Job. */
91
+ getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
92
+ }
93
+ /**
94
+ * Optional result mode. Minimal is the default, representation returns extra properties
95
+ */
96
+ export declare type AccessControlResultMode = "minimal" | "representation";
82
97
  export interface AccessControlQueryArg {
83
98
  top?: number;
84
99
  skip?: number;
100
+ resultMode?: AccessControlResultMode;
85
101
  }
86
102
  export interface AccessControlAPIResponse<T> {
87
103
  data?: T;
@@ -180,4 +196,28 @@ export declare enum MemberInvitationStatus {
180
196
  Pending = "Pending",
181
197
  Accepted = "Accepted"
182
198
  }
199
+ export declare enum ITwinJobStatus {
200
+ Active = "Active",
201
+ Complete = "Completed",
202
+ PartialCompleted = "PartialCompleted",
203
+ Failed = "Failed"
204
+ }
205
+ /** Contains extra properties with "representation" result mode.
206
+ */
207
+ export interface ITwinJob {
208
+ id: string;
209
+ itwinId: string;
210
+ status: ITwinJobStatus;
211
+ error?: ErrorDetail[];
212
+ }
213
+ export interface ITwinJobActions {
214
+ assignRoles?: ITwinJobAction[];
215
+ unassignRoles?: ITwinJobAction[];
216
+ removeMembers?: Omit<ITwinJobAction, "roleIds">[];
217
+ options?: any;
218
+ }
219
+ export interface ITwinJobAction {
220
+ email: string;
221
+ roleIds: string[];
222
+ }
183
223
  //# sourceMappingURL=accessControlTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -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;;;AAsXH,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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
@@ -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"]}
@@ -12,5 +12,6 @@ export declare class MemberInvitationsClient extends BaseClient implements IMemb
12
12
  * @returns Array of member invitations
13
13
  */
14
14
  queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
15
+ deleteITwinMemberInvitationAsync(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<AccessControlAPIResponse<undefined>>;
15
16
  }
16
17
  //# sourceMappingURL=MemberInvitationsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAezD"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAgB3C,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;CAIhD"}
@@ -18,6 +18,10 @@ class MemberInvitationsClient extends BaseClient_1.BaseClient {
18
18
  }
19
19
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "invitations");
20
20
  }
21
+ async deleteITwinMemberInvitationAsync(accessToken, iTwinId, invitationId) {
22
+ const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;
23
+ return this.sendGenericAPIRequest(accessToken, "DELETE", url);
24
+ }
21
25
  }
22
26
  exports.MemberInvitationsClient = MemberInvitationsClient;
23
27
  //# sourceMappingURL=MemberInvitationsClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":";;;AAcA,6CAA0C;AAE1C,MAAa,uBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF;AA/BD,0DA+BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n}\n"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":";;;AAcA,6CAA0C;AAE1C,MAAa,uBACX,SAAQ,uBAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;CACF;AAxCD,0DAwCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n\n public async deleteITwinMemberInvitationAsync(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\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;AAS9B,qBAAa,mBAAoB,YAAW,oBAAoB;IACvD,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;IAClC,YAAY,EAAE,mBAAmB,CAAC;IAClC,iBAAiB,EAAE,wBAAwB,CAAC;gBAEhC,GAAG,CAAC,EAAE,MAAM;CAShC"}
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":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,OAAO,mBAAmB;IAS9B,YAAmB,GAAY;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type {\r\n IAccessControlClient,\r\n IGroupMembersClient,\r\n IGroupsClient,\r\n IMemberInvitationsClient,\r\n IOwnerMembersClient,\r\n IPermissionsClient,\r\n IRolesClient,\r\n IUserMembersClient,\r\n} from \"./accessControlTypes\";\r\nimport { PermissionsClient } from \"./subClients/PermissionsClient\";\r\nimport { RolesClient } from \"./subClients/RolesClient\";\r\nimport { GroupsClient } from \"./subClients/GroupsClient\";\r\nimport { UserMembersClient } from \"./subClients/UserMembersClient\";\r\nimport { GroupMembersClient } from \"./subClients/GroupMembersClient\";\r\nimport { OwnerMembersClient } from \"./subClients/OwnerMembersClient\";\r\nimport { MemberInvitationsClient } from \"./subClients/MemberInvitationsClient\";\r\n\r\nexport class AccessControlClient implements IAccessControlClient {\r\n public permissions: IPermissionsClient;\r\n public roles: IRolesClient;\r\n public groups: IGroupsClient;\r\n public userMembers: IUserMembersClient;\r\n public groupMembers: IGroupMembersClient;\r\n public ownerMembers: IOwnerMembersClient;\r\n public memberInvitations: IMemberInvitationsClient;\r\n\r\n public constructor(url?: string) {\r\n this.permissions = new PermissionsClient(url);\r\n this.roles = new RolesClient(url);\r\n this.groups = new GroupsClient(url);\r\n this.userMembers = new UserMembersClient(url);\r\n this.groupMembers = new GroupMembersClient(url);\r\n this.ownerMembers = new OwnerMembersClient(url);\r\n this.memberInvitations = new MemberInvitationsClient(url);\r\n }\r\n}\r\n"]}
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 **/
@@ -78,10 +79,25 @@ export interface IGroupsClient {
78
79
  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
+ /** Removes an existing member invitation. */
83
+ deleteITwinMemberInvitationAsync(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<AccessControlAPIResponse<undefined>>;
84
+ }
85
+ export interface IITwinJobsClient {
86
+ /** Creates a new iTwin Job */
87
+ createITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobActions: ITwinJobActions): Promise<AccessControlAPIResponse<ITwinJob>>;
88
+ /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */
89
+ getITwinJobAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string, resultMode?: AccessControlResultMode): Promise<AccessControlAPIResponse<ITwinJob>>;
90
+ /** Gets the iTwin Job Actions for a specified iTwin Job. */
91
+ getITwinJobActionsAsync(accessToken: AccessToken, iTwinId: string, iTwinJobId?: string): Promise<AccessControlAPIResponse<ITwinJobActions>>;
92
+ }
93
+ /**
94
+ * Optional result mode. Minimal is the default, representation returns extra properties
95
+ */
96
+ export declare type AccessControlResultMode = "minimal" | "representation";
82
97
  export interface AccessControlQueryArg {
83
98
  top?: number;
84
99
  skip?: number;
100
+ resultMode?: AccessControlResultMode;
85
101
  }
86
102
  export interface AccessControlAPIResponse<T> {
87
103
  data?: T;
@@ -180,4 +196,28 @@ export declare enum MemberInvitationStatus {
180
196
  Pending = "Pending",
181
197
  Accepted = "Accepted"
182
198
  }
199
+ export declare enum ITwinJobStatus {
200
+ Active = "Active",
201
+ Complete = "Completed",
202
+ PartialCompleted = "PartialCompleted",
203
+ Failed = "Failed"
204
+ }
205
+ /** Contains extra properties with "representation" result mode.
206
+ */
207
+ export interface ITwinJob {
208
+ id: string;
209
+ itwinId: string;
210
+ status: ITwinJobStatus;
211
+ error?: ErrorDetail[];
212
+ }
213
+ export interface ITwinJobActions {
214
+ assignRoles?: ITwinJobAction[];
215
+ unassignRoles?: ITwinJobAction[];
216
+ removeMembers?: Omit<ITwinJobAction, "roleIds">[];
217
+ options?: any;
218
+ }
219
+ export interface ITwinJobAction {
220
+ email: string;
221
+ roleIds: string[];
222
+ }
183
223
  //# sourceMappingURL=accessControlTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -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;AAsXH,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 /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
@@ -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"]}
@@ -12,5 +12,6 @@ export declare class MemberInvitationsClient extends BaseClient implements IMemb
12
12
  * @returns Array of member invitations
13
13
  */
14
14
  queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>;
15
+ deleteITwinMemberInvitationAsync(accessToken: AccessToken, iTwinId: string, invitationId: string): Promise<AccessControlAPIResponse<undefined>>;
15
16
  }
16
17
  //# sourceMappingURL=MemberInvitationsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAezD"}
1
+ {"version":3,"file":"MemberInvitationsClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,uBACX,SAAQ,UACR,YAAW,wBAAwB;gBAChB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;OAIG;IACU,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,qBAAqB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAgB3C,gCAAgC,CAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;CAIhD"}
@@ -15,5 +15,9 @@ export class MemberInvitationsClient extends BaseClient {
15
15
  }
16
16
  return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "invitations");
17
17
  }
18
+ async deleteITwinMemberInvitationAsync(accessToken, iTwinId, invitationId) {
19
+ const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;
20
+ return this.sendGenericAPIRequest(accessToken, "DELETE", url);
21
+ }
18
22
  }
19
23
  //# sourceMappingURL=MemberInvitationsClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,uBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n}\n"]}
1
+ {"version":3,"file":"MemberInvitationsClient.js","sourceRoot":"","sources":["../../../src/subClients/MemberInvitationsClient.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,uBACX,SAAQ,UAAU;IAElB,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,GAA2B;QAE3B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,sBAAsB,CAAC;QAE5D,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAC/B,WAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gCAAgC,CAC3C,WAAwB,EACxB,OAAe,EACf,YAAoB;QAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,wBAAwB,YAAY,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module AccessControlClient\n */\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n AccessControlAPIResponse,\n AccessControlQueryArg,\n IMemberInvitationsClient,\n MemberInvitation,\n} from \"../accessControlTypes\";\nimport { BaseClient } from \"./BaseClient\";\n\nexport class MemberInvitationsClient\n extends BaseClient\n implements IMemberInvitationsClient {\n public constructor(url?: string) {\n super(url);\n }\n\n /** Retrieves a list of iTwin member invitations.\n * @param accessToken The client access token string\n * @param iTwinId The id of the iTwin\n * @returns Array of member invitations\n */\n public async queryITwinMemberInvitationsAsync(\n accessToken: AccessToken,\n iTwinId: string,\n arg?: AccessControlQueryArg\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>> {\n let url = `${this._baseUrl}/${iTwinId}/members/invitations`;\n\n if (arg) {\n url += `?${this.getQueryString(arg)}`;\n }\n\n return this.sendGenericAPIRequest(\n accessToken,\n \"GET\",\n url,\n undefined,\n \"invitations\"\n );\n }\n\n public async deleteITwinMemberInvitationAsync(\n accessToken: AccessToken,\n iTwinId: string,\n invitationId: string\n ): Promise<AccessControlAPIResponse<undefined>> {\n const url = `${this._baseUrl}/${iTwinId}/members/invitations/${invitationId}`;\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/access-control-client",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "Access control client for the iTwin platform",
5
5
  "main": "lib/cjs/access-control-client.js",
6
6
  "module": "lib/esm/access-control-client.js",