@itwin/access-control-client 3.5.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,12 +1,28 @@
1
1
  # Change Log - @itwin/access-control-client
2
2
 
3
- <!-- This log was last generated on Wed, 18 Jun 2025 22:14:26 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Thu, 02 Oct 2025 15:53:32 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 3.7.0
8
+
9
+ Thu, 02 Oct 2025 15:53:32 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Refactor BaseClient to use fetch API and improve error handling; remove axios dependency ([commit](https://github.com/iTwin/access-control-client/commit/165fa8ae00423c7c375fad98286d83c6ce27d5c8))
14
+
15
+ ## 3.6.0
16
+
17
+ Wed, 23 Jul 2025 13:27:49 GMT
18
+
19
+ ### Minor changes
20
+
21
+ - Add optional data params 'membersCount' and 'imsGroupsCount' to Group and GroupMember types ([commit](https://github.com/iTwin/access-control-client/commit/868b2ff35829b867a3230cc66d3f7d0c074e6dd5))
22
+
7
23
  ## 3.5.0
8
24
 
9
- Wed, 18 Jun 2025 22:14:26 GMT
25
+ Wed, 18 Jun 2025 22:14:32 GMT
10
26
 
11
27
  ### Minor changes
12
28
 
@@ -153,6 +153,8 @@ export interface GroupMember {
153
153
  groupName?: string;
154
154
  groupDescription?: string;
155
155
  roles?: Omit<Role, "permissions">[];
156
+ imsGroupsCount?: number;
157
+ membersCount?: number;
156
158
  }
157
159
  export interface AddGroupMember {
158
160
  groupId: string;
@@ -170,6 +172,8 @@ export interface Group {
170
172
  description?: string;
171
173
  members?: GroupUser[];
172
174
  imsGroups?: string[];
175
+ imsGroupsCount?: number;
176
+ membersCount?: number;
173
177
  }
174
178
  export interface GroupUser {
175
179
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AAwXH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAyBD,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\r\n itwinJobs: IITwinJobsClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[],\r\n customMessage?: string\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n\r\n /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
1
+ {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;;;AA4XH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAyBD,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\r\n itwinJobs: IITwinJobsClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[],\r\n customMessage?: string\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n\r\n /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n imsGroupsCount?: number;\r\n membersCount?: number;\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n imsGroupsCount?: number;\r\n membersCount?: number;\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
@@ -2,15 +2,21 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { Method } from "axios";
6
- import type { AxiosRequestConfig } from "axios";
7
5
  import type { AccessControlAPIResponse, AccessControlQueryArg } from "../accessControlTypes";
6
+ declare type Method = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
7
+ interface RequestConfig {
8
+ method: Method;
9
+ url: string;
10
+ data?: any;
11
+ headers?: Record<string, string>;
12
+ validateStatus?: (status: number) => boolean;
13
+ }
8
14
  export declare class BaseClient {
9
15
  protected _baseUrl: string;
10
16
  constructor(url?: string);
11
17
  /**
12
18
  * Sends a basic API request
13
- * @param accessTokenString The client access token string
19
+ * @param accessToken The client access token
14
20
  * @param method The method type of the request (ex. GET, POST, DELETE, etc)
15
21
  * @param url The url of the request
16
22
  */
@@ -19,11 +25,11 @@ export declare class BaseClient {
19
25
  }): Promise<AccessControlAPIResponse<any>>;
20
26
  /**
21
27
  * Build the request methods, headers, and other options
22
- * @param accessTokenString The client access token string
28
+ * @param accessToken The client access token
23
29
  */
24
- protected getRequestOptions(accessTokenString: string, method: Method, url: string, data?: any, additionalHeaders?: {
30
+ protected getRequestOptions(accessToken: AccessToken, method: Method, url: string, data?: any, additionalHeaders?: {
25
31
  [key: string]: string;
26
- }): AxiosRequestConfig;
32
+ }): RequestConfig;
27
33
  /**
28
34
  * Build a query to be appended to a URL
29
35
  * @param queryArg Object container queryable properties
@@ -31,4 +37,5 @@ export declare class BaseClient {
31
37
  */
32
38
  protected getQueryString(queryArg: AccessControlQueryArg): string;
33
39
  }
40
+ export {};
34
41
  //# sourceMappingURL=BaseClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,qBAAa,UAAU;IACrB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkD;gBAEzD,GAAG,CAAC,EAAE,MAAM;IAa/B;;;;;QAKI;cACY,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAwBzC;;;QAGI;IACJ,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,kBAAkB;IAiBlK;;;;QAII;IACJ,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM;CAgBlE"}
1
+ {"version":3,"file":"BaseClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG7F,aAAK,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAED,qBAAa,UAAU;IACrB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkD;gBAEzD,GAAG,CAAC,EAAE,MAAM;IAa/B;;;;;QAKI;cACY,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IA2CzC;;;QAGI;IACJ,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,aAAa;IAiB5J;;;;QAII;IACJ,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM;CAclE"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseClient = void 0;
4
- const axios_1 = require("axios");
5
4
  class BaseClient {
6
5
  constructor(url) {
7
6
  this._baseUrl = "https://api.bentley.com/accesscontrol/itwins";
@@ -19,19 +18,36 @@ class BaseClient {
19
18
  }
20
19
  /**
21
20
  * Sends a basic API request
22
- * @param accessTokenString The client access token string
21
+ * @param accessToken The client access token
23
22
  * @param method The method type of the request (ex. GET, POST, DELETE, etc)
24
23
  * @param url The url of the request
25
24
  */
26
25
  async sendGenericAPIRequest(accessToken, method, url, data, property, additionalHeaders) {
27
26
  const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);
28
27
  try {
29
- const response = await (0, axios_1.default)(requestOptions);
28
+ const response = await fetch(requestOptions.url, {
29
+ method: requestOptions.method,
30
+ headers: requestOptions.headers,
31
+ body: requestOptions.data ? JSON.stringify(requestOptions.data) : undefined,
32
+ });
33
+ let responseData;
34
+ const contentType = response.headers.get("content-type");
35
+ if (contentType && contentType.includes("application/json")) {
36
+ responseData = await response.json();
37
+ }
38
+ else {
39
+ responseData = await response.text();
40
+ }
41
+ // Convert Headers object to plain object for compatibility
42
+ const headers = {};
43
+ response.headers.forEach((value, key) => {
44
+ headers[key] = value;
45
+ });
30
46
  return {
31
47
  status: response.status,
32
- data: response.data.error || response.data === "" ? undefined : property ? response.data[property] : response.data,
33
- error: response.data.error,
34
- headers: response.headers,
48
+ data: responseData?.error || responseData === "" ? undefined : property ? responseData[property] : responseData,
49
+ error: responseData?.error,
50
+ headers,
35
51
  };
36
52
  }
37
53
  catch (err) {
@@ -47,15 +63,15 @@ class BaseClient {
47
63
  }
48
64
  /**
49
65
  * Build the request methods, headers, and other options
50
- * @param accessTokenString The client access token string
66
+ * @param accessToken The client access token
51
67
  */
52
- getRequestOptions(accessTokenString, method, url, data, additionalHeaders) {
68
+ getRequestOptions(accessToken, method, url, data, additionalHeaders) {
53
69
  return {
54
70
  method,
55
71
  url,
56
72
  data,
57
73
  headers: {
58
- "authorization": accessTokenString,
74
+ "authorization": accessToken,
59
75
  "content-type": "application/json",
60
76
  "accept": "application/vnd.bentley.itwin-platform.v2+json",
61
77
  ...additionalHeaders,
@@ -79,8 +95,7 @@ class BaseClient {
79
95
  queryString += `&$skip=${queryArg.skip}`;
80
96
  }
81
97
  // trim & from start of string
82
- queryString.replace(/^&+/, "");
83
- return queryString;
98
+ return queryString.replace(/^&+/, "");
84
99
  }
85
100
  }
86
101
  exports.BaseClient = BaseClient;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":";;;AAUA,iCAA0B;AAG1B,MAAa,UAAU;IAGrB,YAAmB,GAAY;QAFrB,aAAQ,GAAW,8CAA8C,CAAC;QAG1E,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9C,IAAI,SAAS,EAAE;gBACb,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;aAC9B;SACF;IACH,CAAC;IAED;;;;;QAKI;IACM,KAAK,CAAC,qBAAqB,CACnC,WAAwB,EACxB,MAAc,EACd,GAAW,EACX,IAAU,EACV,QAAiB,EACjB,iBAA6C;QAE7C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACjG,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,cAAc,CAAC,CAAC;YAE7C,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;gBAClH,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EACL,6DAA6D;iBAChE;gBACD,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;IACH,CAAC;IAED;;;QAGI;IACM,iBAAiB,CAAC,iBAAyB,EAAE,MAAc,EAAE,GAAW,EAAE,IAAU,EAAE,iBAA6C;QAC3I,OAAO;YACL,MAAM;YACN,GAAG;YACH,IAAI;YACJ,OAAO,EAAE;gBACP,eAAe,EAAE,iBAAiB;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,gDAAgD;gBAC1D,GAAG,iBAAiB;aACrB;YACD,cAAc,CAAC,MAAM;gBACnB,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC,mDAAmD;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;QAII;IACM,cAAc,CAAC,QAA+B;QACtD,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,QAAQ,CAAC,GAAG,EAAE;YAChB,WAAW,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE,CAAC;SACxC;QAED,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,WAAW,IAAI,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1C;QAED,8BAA8B;QAC9B,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/B,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AA/FD,gCA+FC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { Method } from \"axios\";\r\nimport type { AxiosRequestConfig } from \"axios\";\r\nimport axios from \"axios\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg } from \"../accessControlTypes\";\r\n\r\nexport class BaseClient {\r\n protected _baseUrl: string = \"https://api.bentley.com/accesscontrol/itwins\";\r\n\r\n public constructor(url?: string) {\r\n if (url !== undefined) {\r\n this._baseUrl = url;\r\n } else {\r\n const urlPrefix = process.env.IMJS_URL_PREFIX;\r\n if (urlPrefix) {\r\n const baseUrl = new URL(this._baseUrl);\r\n baseUrl.hostname = urlPrefix + baseUrl.hostname;\r\n this._baseUrl = baseUrl.href;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sends a basic API request\r\n * @param accessTokenString The client access token string\r\n * @param method The method type of the request (ex. GET, POST, DELETE, etc)\r\n * @param url The url of the request\r\n */\r\n protected async sendGenericAPIRequest(\r\n accessToken: AccessToken,\r\n method: Method,\r\n url: string,\r\n data?: any,\r\n property?: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<any>> { // TODO: Change any response\r\n const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);\r\n try {\r\n const response = await axios(requestOptions);\r\n\r\n return {\r\n status: response.status,\r\n data: response.data.error || response.data === \"\" ? undefined : property ? response.data[property] : response.data,\r\n error: response.data.error,\r\n headers: response.headers,\r\n };\r\n } catch (err) {\r\n return {\r\n status: 500,\r\n error: {\r\n code: \"InternalServerError\",\r\n message:\r\n \"An internal exception happened while calling iTwins Service\",\r\n },\r\n headers: {},\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Build the request methods, headers, and other options\r\n * @param accessTokenString The client access token string\r\n */\r\n protected getRequestOptions(accessTokenString: string, method: Method, url: string, data?: any, additionalHeaders?: { [key: string]: string }): AxiosRequestConfig {\r\n return {\r\n method,\r\n url,\r\n data,\r\n headers: {\r\n \"authorization\": accessTokenString,\r\n \"content-type\": \"application/json\",\r\n \"accept\": \"application/vnd.bentley.itwin-platform.v2+json\",\r\n ...additionalHeaders,\r\n },\r\n validateStatus(status) {\r\n return status < 500; // Resolve only if the status code is less than 500\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Build a query to be appended to a URL\r\n * @param queryArg Object container queryable properties\r\n * @returns query string with AccessControlQueryArg applied, which should be appended to a url\r\n */\r\n protected getQueryString(queryArg: AccessControlQueryArg): string {\r\n let queryString = \"\";\r\n\r\n if (queryArg.top) {\r\n queryString += `&$top=${queryArg.top}`;\r\n }\r\n\r\n if (queryArg.skip) {\r\n queryString += `&$skip=${queryArg.skip}`;\r\n }\r\n\r\n // trim & from start of string\r\n queryString.replace(/^&+/, \"\");\r\n\r\n return queryString;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg } from \"../accessControlTypes\";\r\n\r\n// Custom types to replace axios types\r\ntype Method = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\r\n\r\ninterface RequestConfig {\r\n method: Method;\r\n url: string;\r\n data?: any;\r\n headers?: Record<string, string>;\r\n validateStatus?: (status: number) => boolean;\r\n}\r\n\r\nexport class BaseClient {\r\n protected _baseUrl: string = \"https://api.bentley.com/accesscontrol/itwins\";\r\n\r\n public constructor(url?: string) {\r\n if (url !== undefined) {\r\n this._baseUrl = url;\r\n } else {\r\n const urlPrefix = process.env.IMJS_URL_PREFIX;\r\n if (urlPrefix) {\r\n const baseUrl = new URL(this._baseUrl);\r\n baseUrl.hostname = urlPrefix + baseUrl.hostname;\r\n this._baseUrl = baseUrl.href;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sends a basic API request\r\n * @param accessToken The client access token\r\n * @param method The method type of the request (ex. GET, POST, DELETE, etc)\r\n * @param url The url of the request\r\n */\r\n protected async sendGenericAPIRequest(\r\n accessToken: AccessToken,\r\n method: Method,\r\n url: string,\r\n data?: any,\r\n property?: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<any>> { // TODO: Change any response\r\n const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);\r\n try {\r\n const response = await fetch(requestOptions.url, {\r\n method: requestOptions.method,\r\n headers: requestOptions.headers,\r\n body: requestOptions.data ? JSON.stringify(requestOptions.data) : undefined,\r\n });\r\n\r\n let responseData: any;\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n responseData = await response.json();\r\n } else {\r\n responseData = await response.text();\r\n }\r\n\r\n // Convert Headers object to plain object for compatibility\r\n const headers: Record<string, string> = {};\r\n response.headers.forEach((value, key) => {\r\n headers[key] = value;\r\n });\r\n\r\n return {\r\n status: response.status,\r\n data: responseData?.error || responseData === \"\" ? undefined : property ? responseData[property] : responseData,\r\n error: responseData?.error,\r\n headers,\r\n };\r\n } catch (err) {\r\n return {\r\n status: 500,\r\n error: {\r\n code: \"InternalServerError\",\r\n message:\r\n \"An internal exception happened while calling iTwins Service\",\r\n },\r\n headers: {},\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Build the request methods, headers, and other options\r\n * @param accessToken The client access token\r\n */\r\n protected getRequestOptions(accessToken: AccessToken, method: Method, url: string, data?: any, additionalHeaders?: { [key: string]: string }): RequestConfig {\r\n return {\r\n method,\r\n url,\r\n data,\r\n headers: {\r\n \"authorization\": accessToken,\r\n \"content-type\": \"application/json\",\r\n \"accept\": \"application/vnd.bentley.itwin-platform.v2+json\",\r\n ...additionalHeaders,\r\n },\r\n validateStatus(status: number) {\r\n return status < 500; // Resolve only if the status code is less than 500\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Build a query to be appended to a URL\r\n * @param queryArg Object container queryable properties\r\n * @returns query string with AccessControlQueryArg applied, which should be appended to a url\r\n */\r\n protected getQueryString(queryArg: AccessControlQueryArg): string {\r\n let queryString = \"\";\r\n\r\n if (queryArg.top) {\r\n queryString += `&$top=${queryArg.top}`;\r\n }\r\n\r\n if (queryArg.skip) {\r\n queryString += `&$skip=${queryArg.skip}`;\r\n }\r\n\r\n // trim & from start of string\r\n return queryString.replace(/^&+/, \"\");\r\n }\r\n}\r\n"]}
@@ -153,6 +153,8 @@ export interface GroupMember {
153
153
  groupName?: string;
154
154
  groupDescription?: string;
155
155
  roles?: Omit<Role, "permissions">[];
156
+ imsGroupsCount?: number;
157
+ membersCount?: number;
156
158
  }
157
159
  export interface AddGroupMember {
158
160
  groupId: string;
@@ -170,6 +172,8 @@ export interface Group {
170
172
  description?: string;
171
173
  members?: GroupUser[];
172
174
  imsGroups?: string[];
175
+ imsGroupsCount?: number;
176
+ membersCount?: number;
173
177
  }
174
178
  export interface GroupUser {
175
179
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessControlTypes.d.ts","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AAwXH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAyBD,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\r\n itwinJobs: IITwinJobsClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[],\r\n customMessage?: string\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n\r\n /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
1
+ {"version":3,"file":"accessControlTypes.js","sourceRoot":"","sources":["../../src/accessControlTypes.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC;;;gGAGgG;AAChG;;GAEG;AA4XH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,wCAAsB,CAAA;IACtB,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;AACnB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAyBD,YAAY","sourcesContent":["/* eslint-disable spaced-comment */\r\n/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n//#region clients\r\n\r\nexport interface IAccessControlClient {\r\n permissions: IPermissionsClient;\r\n roles: IRolesClient;\r\n groups: IGroupsClient;\r\n userMembers: IUserMembersClient;\r\n groupMembers: IGroupMembersClient;\r\n ownerMembers: IOwnerMembersClient;\r\n memberInvitations: IMemberInvitationsClient;\r\n itwinJobs: IITwinJobsClient;\r\n}\r\n\r\nexport interface IPermissionsClient {\r\n /** Retrieves the list of all available permissions **/\r\n getPermissionsAsync(\r\n accessToken: AccessToken\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n\r\n /** Retrieves a list of permissions the identity has for a specified iTwin */\r\n getITwinPermissionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string\r\n ): Promise<AccessControlAPIResponse<Permission[]>>;\r\n}\r\n\r\nexport interface IUserMembersClient {\r\n /** Retrieves a list of user members and their roles assigned to a specified iTwin. */\r\n queryITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<UserMember[]>>;\r\n\r\n /** Retrieves a specific user member for a specified iTwin. */\r\n getITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n\r\n /** Add or invite new iTwin user members */\r\n addITwinUserMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddUserMember[],\r\n customMessage?: string\r\n ): Promise<AccessControlAPIResponse<AddUserMemberResponse>>;\r\n\r\n /** Remove the specified iTwin user member */\r\n removeITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin user member roles */\r\n updateITwinUserMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<UserMember>>;\r\n}\r\n\r\nexport interface IOwnerMembersClient {\r\n /** Retrieves a list of owner members on a specified iTwin. */\r\n queryITwinOwnerMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<OwnerMember[]>>;\r\n\r\n /** Add or invite new iTwin owner member */\r\n addITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMember: OwnerMember\r\n ): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>;\r\n\r\n /** Remove the specified iTwin owner member */\r\n removeITwinOwnerMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IGroupMembersClient {\r\n /** Retrieves a list of group members and their roles assigned to a specified iTwin. */\r\n queryITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Retrieves a specific group member for a specified iTwin. */\r\n getITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n\r\n /** Add new iTwin group members */\r\n addITwinGroupMembersAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n newMembers: AddGroupMember[]\r\n ): Promise<AccessControlAPIResponse<GroupMember[]>>;\r\n\r\n /** Remove the specified iTwin group member */\r\n removeITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Update iTwin group member roles */\r\n updateITwinGroupMemberAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n memberId: string,\r\n roleIds: string[]\r\n ): Promise<AccessControlAPIResponse<GroupMember>>;\r\n}\r\n\r\nexport interface IRolesClient {\r\n /** Retrieves a list of roles the for a specified iTwin */\r\n getITwinRolesAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Role[]>>;\r\n\r\n /** Retrieves a role for a specified iTwin */\r\n getITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Creates a new iTwin Role */\r\n createITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n\r\n /** Removes an existing iTwin Role */\r\n deleteITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin Role */\r\n updateITwinRoleAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Role\r\n ): Promise<AccessControlAPIResponse<Role>>;\r\n}\r\n\r\nexport interface IGroupsClient {\r\n /** Retrieves a list of groups the for a specified iTwin */\r\n getITwinGroupsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<Group[]>>;\r\n\r\n /** Retrieves a group for a specified iTwin */\r\n getITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Creates a new iTwin group */\r\n createITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n group: Group\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n\r\n /** Removes an existing iTwin group */\r\n deleteITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n\r\n /** Updates an existing iTwin group */\r\n updateITwinGroupAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n groupId: string,\r\n group: GroupUpdate\r\n ): Promise<AccessControlAPIResponse<Group>>;\r\n}\r\n\r\nexport interface IMemberInvitationsClient {\r\n /** Retrieves a list of member invitations. */\r\n queryITwinMemberInvitationsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n arg?: AccessControlQueryArg\r\n ): Promise<AccessControlAPIResponse<MemberInvitation[]>>;\r\n\r\n /** Removes an existing member invitation. */\r\n deleteITwinMemberInvitationAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n invitationId: string\r\n ): Promise<AccessControlAPIResponse<undefined>>;\r\n}\r\n\r\nexport interface IITwinJobsClient {\r\n /** Creates a new iTwin Job */\r\n createITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobActions: ITwinJobActions\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets an iTwin Job. To see errors, pass in the `representation` result mode. */\r\n getITwinJobAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string,\r\n resultMode?: AccessControlResultMode\r\n ): Promise<AccessControlAPIResponse<ITwinJob>>;\r\n\r\n /** Gets the iTwin Job Actions for a specified iTwin Job. */\r\n getITwinJobActionsAsync(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n iTwinJobId?: string\r\n ): Promise<AccessControlAPIResponse<ITwinJobActions>>;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region generic-responses\r\n\r\n/**\r\n * Optional result mode. Minimal is the default, representation returns extra properties\r\n */\r\nexport type AccessControlResultMode = \"minimal\" | \"representation\";\r\n\r\nexport interface AccessControlQueryArg {\r\n top?: number;\r\n skip?: number;\r\n resultMode?: AccessControlResultMode;\r\n}\r\n\r\nexport interface AccessControlAPIResponse<T> {\r\n data?: T;\r\n status: number;\r\n error?: Error;\r\n headers: { [key: string]: any };\r\n}\r\n\r\nexport interface Error {\r\n code: string;\r\n message: string;\r\n details?: ErrorDetail[];\r\n target?: string;\r\n}\r\n\r\nexport interface ErrorDetail {\r\n code: string;\r\n message: string;\r\n target?: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region custom responses\r\n\r\nexport interface AddOwnerMemberResponse {\r\n member?: OwnerMember;\r\n invitation?: MemberInvitation;\r\n}\r\n\r\nexport interface AddUserMemberResponse {\r\n members: UserMember[];\r\n invitations: MemberInvitation[];\r\n}\r\n\r\n//#endregion\r\n\r\n//#region base object\r\n\r\nexport type Permission = string;\r\n\r\nexport interface UserMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n}\r\n\r\nexport interface AddUserMember {\r\n roleIds: string[];\r\n email: string;\r\n}\r\n\r\nexport interface OwnerMember {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupMember {\r\n id?: string;\r\n groupName?: string;\r\n groupDescription?: string;\r\n roles?: Omit<Role, \"permissions\">[];\r\n imsGroupsCount?: number;\r\n membersCount?: number;\r\n}\r\n\r\nexport interface AddGroupMember {\r\n groupId: string;\r\n roleIds: string[];\r\n}\r\n\r\nexport interface Role {\r\n id?: string;\r\n displayName: string;\r\n description: string;\r\n permissions: Permission[];\r\n}\r\n\r\nexport interface Group {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: GroupUser[];\r\n imsGroups?: string[];\r\n imsGroupsCount?: number;\r\n membersCount?: number;\r\n}\r\n\r\nexport interface GroupUser {\r\n id?: string;\r\n email?: string;\r\n givenName?: string;\r\n surname?: string;\r\n organization?: string;\r\n}\r\n\r\nexport interface GroupUpdate {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n members?: string[];\r\n imsGroups?: string[];\r\n}\r\n\r\nexport interface MemberInvitation {\r\n id: string;\r\n email: string;\r\n invitedByEmail: string;\r\n status: MemberInvitationStatus;\r\n createdDate: string;\r\n expirationDate: string;\r\n roles?: Omit<Role, \"permissions\"|\"description\">[];\r\n}\r\n\r\nexport enum MemberInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\"\r\n}\r\n\r\nexport enum ITwinJobStatus {\r\n Active = \"Active\",\r\n Complete = \"Completed\",\r\n PartialCompleted = \"PartialCompleted\",\r\n Failed = \"Failed\"\r\n}\r\n\r\n/** Contains extra properties with \"representation\" result mode.\r\n */\r\nexport interface ITwinJob {\r\n id: string;\r\n itwinId: string;\r\n status: ITwinJobStatus;\r\n\r\n // extra properties available with \"representation\" result mode:\r\n error?: ErrorDetail[];\r\n}\r\n\r\nexport interface ITwinJobActions {\r\n assignRoles?: ITwinJobAction[];\r\n unassignRoles?: ITwinJobAction[];\r\n removeMembers?: Omit<ITwinJobAction, \"roleIds\">[];\r\n options?: any;\r\n}\r\n\r\nexport interface ITwinJobAction {\r\n email: string;\r\n roleIds: string[];\r\n}\r\n\r\n//#endregion\r\n\r\n"]}
@@ -2,15 +2,21 @@
2
2
  * @module AccessControlClient
3
3
  */
4
4
  import type { AccessToken } from "@itwin/core-bentley";
5
- import type { Method } from "axios";
6
- import type { AxiosRequestConfig } from "axios";
7
5
  import type { AccessControlAPIResponse, AccessControlQueryArg } from "../accessControlTypes";
6
+ declare type Method = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
7
+ interface RequestConfig {
8
+ method: Method;
9
+ url: string;
10
+ data?: any;
11
+ headers?: Record<string, string>;
12
+ validateStatus?: (status: number) => boolean;
13
+ }
8
14
  export declare class BaseClient {
9
15
  protected _baseUrl: string;
10
16
  constructor(url?: string);
11
17
  /**
12
18
  * Sends a basic API request
13
- * @param accessTokenString The client access token string
19
+ * @param accessToken The client access token
14
20
  * @param method The method type of the request (ex. GET, POST, DELETE, etc)
15
21
  * @param url The url of the request
16
22
  */
@@ -19,11 +25,11 @@ export declare class BaseClient {
19
25
  }): Promise<AccessControlAPIResponse<any>>;
20
26
  /**
21
27
  * Build the request methods, headers, and other options
22
- * @param accessTokenString The client access token string
28
+ * @param accessToken The client access token
23
29
  */
24
- protected getRequestOptions(accessTokenString: string, method: Method, url: string, data?: any, additionalHeaders?: {
30
+ protected getRequestOptions(accessToken: AccessToken, method: Method, url: string, data?: any, additionalHeaders?: {
25
31
  [key: string]: string;
26
- }): AxiosRequestConfig;
32
+ }): RequestConfig;
27
33
  /**
28
34
  * Build a query to be appended to a URL
29
35
  * @param queryArg Object container queryable properties
@@ -31,4 +37,5 @@ export declare class BaseClient {
31
37
  */
32
38
  protected getQueryString(queryArg: AccessControlQueryArg): string;
33
39
  }
40
+ export {};
34
41
  //# sourceMappingURL=BaseClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,qBAAa,UAAU;IACrB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkD;gBAEzD,GAAG,CAAC,EAAE,MAAM;IAa/B;;;;;QAKI;cACY,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAwBzC;;;QAGI;IACJ,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,kBAAkB;IAiBlK;;;;QAII;IACJ,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM;CAgBlE"}
1
+ {"version":3,"file":"BaseClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG7F,aAAK,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAED,qBAAa,UAAU;IACrB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAkD;gBAEzD,GAAG,CAAC,EAAE,MAAM;IAa/B;;;;;QAKI;cACY,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IA2CzC;;;QAGI;IACJ,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,aAAa;IAiB5J;;;;QAII;IACJ,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM;CAclE"}
@@ -1,4 +1,3 @@
1
- import axios from "axios";
2
1
  export class BaseClient {
3
2
  constructor(url) {
4
3
  this._baseUrl = "https://api.bentley.com/accesscontrol/itwins";
@@ -16,19 +15,36 @@ export class BaseClient {
16
15
  }
17
16
  /**
18
17
  * Sends a basic API request
19
- * @param accessTokenString The client access token string
18
+ * @param accessToken The client access token
20
19
  * @param method The method type of the request (ex. GET, POST, DELETE, etc)
21
20
  * @param url The url of the request
22
21
  */
23
22
  async sendGenericAPIRequest(accessToken, method, url, data, property, additionalHeaders) {
24
23
  const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);
25
24
  try {
26
- const response = await axios(requestOptions);
25
+ const response = await fetch(requestOptions.url, {
26
+ method: requestOptions.method,
27
+ headers: requestOptions.headers,
28
+ body: requestOptions.data ? JSON.stringify(requestOptions.data) : undefined,
29
+ });
30
+ let responseData;
31
+ const contentType = response.headers.get("content-type");
32
+ if (contentType && contentType.includes("application/json")) {
33
+ responseData = await response.json();
34
+ }
35
+ else {
36
+ responseData = await response.text();
37
+ }
38
+ // Convert Headers object to plain object for compatibility
39
+ const headers = {};
40
+ response.headers.forEach((value, key) => {
41
+ headers[key] = value;
42
+ });
27
43
  return {
28
44
  status: response.status,
29
- data: response.data.error || response.data === "" ? undefined : property ? response.data[property] : response.data,
30
- error: response.data.error,
31
- headers: response.headers,
45
+ data: responseData?.error || responseData === "" ? undefined : property ? responseData[property] : responseData,
46
+ error: responseData?.error,
47
+ headers,
32
48
  };
33
49
  }
34
50
  catch (err) {
@@ -44,15 +60,15 @@ export class BaseClient {
44
60
  }
45
61
  /**
46
62
  * Build the request methods, headers, and other options
47
- * @param accessTokenString The client access token string
63
+ * @param accessToken The client access token
48
64
  */
49
- getRequestOptions(accessTokenString, method, url, data, additionalHeaders) {
65
+ getRequestOptions(accessToken, method, url, data, additionalHeaders) {
50
66
  return {
51
67
  method,
52
68
  url,
53
69
  data,
54
70
  headers: {
55
- "authorization": accessTokenString,
71
+ "authorization": accessToken,
56
72
  "content-type": "application/json",
57
73
  "accept": "application/vnd.bentley.itwin-platform.v2+json",
58
74
  ...additionalHeaders,
@@ -76,8 +92,7 @@ export class BaseClient {
76
92
  queryString += `&$skip=${queryArg.skip}`;
77
93
  }
78
94
  // trim & from start of string
79
- queryString.replace(/^&+/, "");
80
- return queryString;
95
+ return queryString.replace(/^&+/, "");
81
96
  }
82
97
  }
83
98
  //# sourceMappingURL=BaseClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,OAAO,UAAU;IAGrB,YAAmB,GAAY;QAFrB,aAAQ,GAAW,8CAA8C,CAAC;QAG1E,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9C,IAAI,SAAS,EAAE;gBACb,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;aAC9B;SACF;IACH,CAAC;IAED;;;;;QAKI;IACM,KAAK,CAAC,qBAAqB,CACnC,WAAwB,EACxB,MAAc,EACd,GAAW,EACX,IAAU,EACV,QAAiB,EACjB,iBAA6C;QAE7C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACjG,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;YAE7C,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;gBAClH,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EACL,6DAA6D;iBAChE;gBACD,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;IACH,CAAC;IAED;;;QAGI;IACM,iBAAiB,CAAC,iBAAyB,EAAE,MAAc,EAAE,GAAW,EAAE,IAAU,EAAE,iBAA6C;QAC3I,OAAO;YACL,MAAM;YACN,GAAG;YACH,IAAI;YACJ,OAAO,EAAE;gBACP,eAAe,EAAE,iBAAiB;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,gDAAgD;gBAC1D,GAAG,iBAAiB;aACrB;YACD,cAAc,CAAC,MAAM;gBACnB,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC,mDAAmD;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;QAII;IACM,cAAc,CAAC,QAA+B;QACtD,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,QAAQ,CAAC,GAAG,EAAE;YAChB,WAAW,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE,CAAC;SACxC;QAED,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,WAAW,IAAI,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1C;QAED,8BAA8B;QAC9B,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/B,OAAO,WAAW,CAAC;IACrB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { Method } from \"axios\";\r\nimport type { AxiosRequestConfig } from \"axios\";\r\nimport axios from \"axios\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg } from \"../accessControlTypes\";\r\n\r\nexport class BaseClient {\r\n protected _baseUrl: string = \"https://api.bentley.com/accesscontrol/itwins\";\r\n\r\n public constructor(url?: string) {\r\n if (url !== undefined) {\r\n this._baseUrl = url;\r\n } else {\r\n const urlPrefix = process.env.IMJS_URL_PREFIX;\r\n if (urlPrefix) {\r\n const baseUrl = new URL(this._baseUrl);\r\n baseUrl.hostname = urlPrefix + baseUrl.hostname;\r\n this._baseUrl = baseUrl.href;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sends a basic API request\r\n * @param accessTokenString The client access token string\r\n * @param method The method type of the request (ex. GET, POST, DELETE, etc)\r\n * @param url The url of the request\r\n */\r\n protected async sendGenericAPIRequest(\r\n accessToken: AccessToken,\r\n method: Method,\r\n url: string,\r\n data?: any,\r\n property?: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<any>> { // TODO: Change any response\r\n const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);\r\n try {\r\n const response = await axios(requestOptions);\r\n\r\n return {\r\n status: response.status,\r\n data: response.data.error || response.data === \"\" ? undefined : property ? response.data[property] : response.data,\r\n error: response.data.error,\r\n headers: response.headers,\r\n };\r\n } catch (err) {\r\n return {\r\n status: 500,\r\n error: {\r\n code: \"InternalServerError\",\r\n message:\r\n \"An internal exception happened while calling iTwins Service\",\r\n },\r\n headers: {},\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Build the request methods, headers, and other options\r\n * @param accessTokenString The client access token string\r\n */\r\n protected getRequestOptions(accessTokenString: string, method: Method, url: string, data?: any, additionalHeaders?: { [key: string]: string }): AxiosRequestConfig {\r\n return {\r\n method,\r\n url,\r\n data,\r\n headers: {\r\n \"authorization\": accessTokenString,\r\n \"content-type\": \"application/json\",\r\n \"accept\": \"application/vnd.bentley.itwin-platform.v2+json\",\r\n ...additionalHeaders,\r\n },\r\n validateStatus(status) {\r\n return status < 500; // Resolve only if the status code is less than 500\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Build a query to be appended to a URL\r\n * @param queryArg Object container queryable properties\r\n * @returns query string with AccessControlQueryArg applied, which should be appended to a url\r\n */\r\n protected getQueryString(queryArg: AccessControlQueryArg): string {\r\n let queryString = \"\";\r\n\r\n if (queryArg.top) {\r\n queryString += `&$top=${queryArg.top}`;\r\n }\r\n\r\n if (queryArg.skip) {\r\n queryString += `&$skip=${queryArg.skip}`;\r\n }\r\n\r\n // trim & from start of string\r\n queryString.replace(/^&+/, \"\");\r\n\r\n return queryString;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BaseClient.js","sourceRoot":"","sources":["../../../src/subClients/BaseClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module AccessControlClient\r\n */\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { AccessControlAPIResponse, AccessControlQueryArg } from \"../accessControlTypes\";\r\n\r\n// Custom types to replace axios types\r\ntype Method = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\r\n\r\ninterface RequestConfig {\r\n method: Method;\r\n url: string;\r\n data?: any;\r\n headers?: Record<string, string>;\r\n validateStatus?: (status: number) => boolean;\r\n}\r\n\r\nexport class BaseClient {\r\n protected _baseUrl: string = \"https://api.bentley.com/accesscontrol/itwins\";\r\n\r\n public constructor(url?: string) {\r\n if (url !== undefined) {\r\n this._baseUrl = url;\r\n } else {\r\n const urlPrefix = process.env.IMJS_URL_PREFIX;\r\n if (urlPrefix) {\r\n const baseUrl = new URL(this._baseUrl);\r\n baseUrl.hostname = urlPrefix + baseUrl.hostname;\r\n this._baseUrl = baseUrl.href;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sends a basic API request\r\n * @param accessToken The client access token\r\n * @param method The method type of the request (ex. GET, POST, DELETE, etc)\r\n * @param url The url of the request\r\n */\r\n protected async sendGenericAPIRequest(\r\n accessToken: AccessToken,\r\n method: Method,\r\n url: string,\r\n data?: any,\r\n property?: string,\r\n additionalHeaders?: { [key: string]: string }\r\n ): Promise<AccessControlAPIResponse<any>> { // TODO: Change any response\r\n const requestOptions = this.getRequestOptions(accessToken, method, url, data, additionalHeaders);\r\n try {\r\n const response = await fetch(requestOptions.url, {\r\n method: requestOptions.method,\r\n headers: requestOptions.headers,\r\n body: requestOptions.data ? JSON.stringify(requestOptions.data) : undefined,\r\n });\r\n\r\n let responseData: any;\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n responseData = await response.json();\r\n } else {\r\n responseData = await response.text();\r\n }\r\n\r\n // Convert Headers object to plain object for compatibility\r\n const headers: Record<string, string> = {};\r\n response.headers.forEach((value, key) => {\r\n headers[key] = value;\r\n });\r\n\r\n return {\r\n status: response.status,\r\n data: responseData?.error || responseData === \"\" ? undefined : property ? responseData[property] : responseData,\r\n error: responseData?.error,\r\n headers,\r\n };\r\n } catch (err) {\r\n return {\r\n status: 500,\r\n error: {\r\n code: \"InternalServerError\",\r\n message:\r\n \"An internal exception happened while calling iTwins Service\",\r\n },\r\n headers: {},\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Build the request methods, headers, and other options\r\n * @param accessToken The client access token\r\n */\r\n protected getRequestOptions(accessToken: AccessToken, method: Method, url: string, data?: any, additionalHeaders?: { [key: string]: string }): RequestConfig {\r\n return {\r\n method,\r\n url,\r\n data,\r\n headers: {\r\n \"authorization\": accessToken,\r\n \"content-type\": \"application/json\",\r\n \"accept\": \"application/vnd.bentley.itwin-platform.v2+json\",\r\n ...additionalHeaders,\r\n },\r\n validateStatus(status: number) {\r\n return status < 500; // Resolve only if the status code is less than 500\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Build a query to be appended to a URL\r\n * @param queryArg Object container queryable properties\r\n * @returns query string with AccessControlQueryArg applied, which should be appended to a url\r\n */\r\n protected getQueryString(queryArg: AccessControlQueryArg): string {\r\n let queryString = \"\";\r\n\r\n if (queryArg.top) {\r\n queryString += `&$top=${queryArg.top}`;\r\n }\r\n\r\n if (queryArg.skip) {\r\n queryString += `&$skip=${queryArg.skip}`;\r\n }\r\n\r\n // trim & from start of string\r\n return queryString.replace(/^&+/, \"\");\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/access-control-client",
3
- "version": "3.5.0",
3
+ "version": "3.7.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",
@@ -21,9 +21,6 @@
21
21
  "version-bump": "beachball bump",
22
22
  "publish-package": "beachball publish --yes"
23
23
  },
24
- "dependencies": {
25
- "axios": "~1.8.2"
26
- },
27
24
  "devDependencies": {
28
25
  "@itwin/build-tools": "^3.0.0",
29
26
  "@itwin/certa": "^3.0.0",