@itwin/access-control-client
Advanced tools
Comparing version
# Change Log - @itwin/access-control-client | ||
## 3.0.0 | ||
- **Breaking** Adjusting add user & add owner schemas to include invitations | ||
- Adding member invitations client | ||
## 2.3.1 | ||
- Upgrading axios version to ^1.6.1 | ||
- Upgrading axios version to ^1.6.1 | ||
## 2.2.0 | ||
- Added owner member client | ||
- Added owner member client | ||
## 2.1.0 | ||
- Changed the `users` property to `members` on the `Groups` object. | ||
- `members` property now accepts a `GroupUser[]` object instead of a `string[]` | ||
- Changed the `users` property to `members` on the `Groups` object. | ||
- `members` property now accepts a `GroupUser[]` object instead of a `string[]` | ||
## 2.0.0 | ||
- Added groups client | ||
- Added group member client | ||
- Added user member client | ||
- Removed members client | ||
- Added groups client | ||
- Added group member client | ||
- Added user member client | ||
- Removed members client | ||
## 1.3.0 | ||
- Added support for the `accept` header inside of `BaseClient`. | ||
- Added support for the `accept` header inside of `BaseClient`. | ||
## 1.2.0 | ||
@@ -23,0 +33,0 @@ |
/** @packageDocumentation | ||
* @module AccessControlClient | ||
*/ | ||
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes"; | ||
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes"; | ||
export declare class AccessControlClient implements IAccessControlClient { | ||
@@ -12,4 +12,5 @@ permissions: IPermissionsClient; | ||
ownerMembers: IOwnerMembersClient; | ||
memberInvitations: IMemberInvitationsClient; | ||
constructor(url?: string); | ||
} | ||
//# sourceMappingURL=AccessControlClient.d.ts.map |
@@ -10,2 +10,3 @@ "use strict"; | ||
const OwnerMembersClient_1 = require("./subClients/OwnerMembersClient"); | ||
const MemberInvitationsClient_1 = require("./subClients/MemberInvitationsClient"); | ||
class AccessControlClient { | ||
@@ -19,2 +20,3 @@ constructor(url) { | ||
this.ownerMembers = new OwnerMembersClient_1.OwnerMembersClient(url); | ||
this.memberInvitations = new MemberInvitationsClient_1.MemberInvitationsClient(url); | ||
} | ||
@@ -21,0 +23,0 @@ } |
@@ -12,2 +12,3 @@ /** @packageDocumentation | ||
ownerMembers: IOwnerMembersClient; | ||
memberInvitations: IMemberInvitationsClient; | ||
} | ||
@@ -25,4 +26,4 @@ export interface IPermissionsClient { | ||
getITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<UserMember>>; | ||
/** Add new iTwin user members */ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<UserMember[]>>; | ||
/** Add or invite new iTwin user members */ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>; | ||
/** Remove the specified iTwin user member */ | ||
@@ -36,4 +37,4 @@ removeITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>; | ||
queryITwinOwnerMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<OwnerMember[]>>; | ||
/** Add new iTwin owner member */ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<OwnerMember>>; | ||
/** Add or invite new iTwin owner member */ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>; | ||
/** Remove the specified iTwin owner member */ | ||
@@ -80,2 +81,6 @@ removeITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>; | ||
} | ||
export interface IMemberInvitationsClient { | ||
/** Retrieves a list of member invitations. */ | ||
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>; | ||
} | ||
export interface AccessControlQueryArg { | ||
@@ -101,2 +106,10 @@ top?: number; | ||
} | ||
export interface AddOwnerMemberResponse { | ||
member?: OwnerMember; | ||
invitation?: MemberInvitation; | ||
} | ||
export interface AddUserMemberResponse { | ||
members: UserMember[]; | ||
invitations: MemberInvitation[]; | ||
} | ||
export declare type Permission = string; | ||
@@ -152,2 +165,15 @@ export interface UserMember { | ||
} | ||
export interface MemberInvitation { | ||
id: string; | ||
email: string; | ||
invitedByEmail: string; | ||
status: MemberInvitationStatus; | ||
createdDate: string; | ||
expirationDate: string; | ||
roles?: Omit<Role, "permissions" | "description">[]; | ||
} | ||
export declare enum MemberInvitationStatus { | ||
Pending = "Pending", | ||
Accepted = "Accepted" | ||
} | ||
//# sourceMappingURL=accessControlTypes.d.ts.map |
"use strict"; | ||
/* eslint-disable spaced-comment */ | ||
/*--------------------------------------------------------------------------------------------- | ||
@@ -10,2 +11,9 @@ * Copyright (c) Bentley Systems, Incorporated. All rights reserved. | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.MemberInvitationStatus = void 0; | ||
var MemberInvitationStatus; | ||
(function (MemberInvitationStatus) { | ||
MemberInvitationStatus["Pending"] = "Pending"; | ||
MemberInvitationStatus["Accepted"] = "Accepted"; | ||
})(MemberInvitationStatus = exports.MemberInvitationStatus || (exports.MemberInvitationStatus = {})); | ||
//#endregion | ||
//# sourceMappingURL=accessControlTypes.js.map |
@@ -5,3 +5,3 @@ /** @packageDocumentation | ||
import type { AccessToken } from "@itwin/core-bentley"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, IOwnerMembersClient, OwnerMember } from "../accessControlTypes"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, AddOwnerMemberResponse, IOwnerMembersClient, OwnerMember } from "../accessControlTypes"; | ||
import { BaseClient } from "./BaseClient"; | ||
@@ -19,6 +19,6 @@ export declare class OwnerMembersClient extends BaseClient implements IOwnerMembersClient { | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMember The new owner member to add or invite | ||
* @returns AddOwnerMemberResponse -- the added or invited owner | ||
*/ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<OwnerMember>>; | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>; | ||
/** Remove the specified owner member from the iTwin | ||
@@ -25,0 +25,0 @@ * @param accessToken The client access token string |
@@ -24,8 +24,8 @@ "use strict"; | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMember The new owner member to add or invite | ||
* @returns AddOwnerMemberResponse -- the added or invited owner | ||
*/ | ||
async addITwinOwnerMemberAsync(accessToken, iTwinId, newMember) { | ||
const url = `${this._baseUrl}/${iTwinId}/members/owners`; | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember, "member"); | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember); | ||
} | ||
@@ -32,0 +32,0 @@ /** Remove the specified owner member from the iTwin |
@@ -5,3 +5,3 @@ /** @packageDocumentation | ||
import type { AccessToken } from "@itwin/core-bentley"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, IUserMembersClient, UserMember } from "../accessControlTypes"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, AddUserMemberResponse, IUserMembersClient, UserMember } from "../accessControlTypes"; | ||
import { BaseClient } from "./BaseClient"; | ||
@@ -26,6 +26,6 @@ export declare class UserMembersClient extends BaseClient implements IUserMembersClient { | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMembers The list of members to add or invite, along with their role | ||
* @returns AddUserMemberResponse -- the added or invited user members | ||
*/ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<UserMember[]>>; | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>; | ||
/** Remove the specified user member from the iTwin | ||
@@ -32,0 +32,0 @@ * @param accessToken The client access token string |
@@ -34,4 +34,4 @@ "use strict"; | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMembers The list of members to add or invite, along with their role | ||
* @returns AddUserMemberResponse -- the added or invited user members | ||
*/ | ||
@@ -43,3 +43,3 @@ async addITwinUserMembersAsync(accessToken, iTwinId, newMembers) { | ||
}; | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, body, "members"); | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, body); | ||
} | ||
@@ -46,0 +46,0 @@ /** Remove the specified user member from the iTwin |
/** @packageDocumentation | ||
* @module AccessControlClient | ||
*/ | ||
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes"; | ||
import type { IAccessControlClient, IGroupMembersClient, IGroupsClient, IMemberInvitationsClient, IOwnerMembersClient, IPermissionsClient, IRolesClient, IUserMembersClient } from "./accessControlTypes"; | ||
export declare class AccessControlClient implements IAccessControlClient { | ||
@@ -12,4 +12,5 @@ permissions: IPermissionsClient; | ||
ownerMembers: IOwnerMembersClient; | ||
memberInvitations: IMemberInvitationsClient; | ||
constructor(url?: string); | ||
} | ||
//# sourceMappingURL=AccessControlClient.d.ts.map |
@@ -7,2 +7,3 @@ import { PermissionsClient } from "./subClients/PermissionsClient"; | ||
import { OwnerMembersClient } from "./subClients/OwnerMembersClient"; | ||
import { MemberInvitationsClient } from "./subClients/MemberInvitationsClient"; | ||
export class AccessControlClient { | ||
@@ -16,4 +17,5 @@ constructor(url) { | ||
this.ownerMembers = new OwnerMembersClient(url); | ||
this.memberInvitations = new MemberInvitationsClient(url); | ||
} | ||
} | ||
//# sourceMappingURL=AccessControlClient.js.map |
@@ -12,2 +12,3 @@ /** @packageDocumentation | ||
ownerMembers: IOwnerMembersClient; | ||
memberInvitations: IMemberInvitationsClient; | ||
} | ||
@@ -25,4 +26,4 @@ export interface IPermissionsClient { | ||
getITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<UserMember>>; | ||
/** Add new iTwin user members */ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<UserMember[]>>; | ||
/** Add or invite new iTwin user members */ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>; | ||
/** Remove the specified iTwin user member */ | ||
@@ -36,4 +37,4 @@ removeITwinUserMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>; | ||
queryITwinOwnerMembersAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<OwnerMember[]>>; | ||
/** Add new iTwin owner member */ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<OwnerMember>>; | ||
/** Add or invite new iTwin owner member */ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>; | ||
/** Remove the specified iTwin owner member */ | ||
@@ -80,2 +81,6 @@ removeITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, memberId: string): Promise<AccessControlAPIResponse<undefined>>; | ||
} | ||
export interface IMemberInvitationsClient { | ||
/** Retrieves a list of member invitations. */ | ||
queryITwinMemberInvitationsAsync(accessToken: AccessToken, iTwinId: string, arg?: AccessControlQueryArg): Promise<AccessControlAPIResponse<MemberInvitation[]>>; | ||
} | ||
export interface AccessControlQueryArg { | ||
@@ -101,2 +106,10 @@ top?: number; | ||
} | ||
export interface AddOwnerMemberResponse { | ||
member?: OwnerMember; | ||
invitation?: MemberInvitation; | ||
} | ||
export interface AddUserMemberResponse { | ||
members: UserMember[]; | ||
invitations: MemberInvitation[]; | ||
} | ||
export declare type Permission = string; | ||
@@ -152,2 +165,15 @@ export interface UserMember { | ||
} | ||
export interface MemberInvitation { | ||
id: string; | ||
email: string; | ||
invitedByEmail: string; | ||
status: MemberInvitationStatus; | ||
createdDate: string; | ||
expirationDate: string; | ||
roles?: Omit<Role, "permissions" | "description">[]; | ||
} | ||
export declare enum MemberInvitationStatus { | ||
Pending = "Pending", | ||
Accepted = "Accepted" | ||
} | ||
//# sourceMappingURL=accessControlTypes.d.ts.map |
@@ -0,1 +1,2 @@ | ||
/* eslint-disable spaced-comment */ | ||
/*--------------------------------------------------------------------------------------------- | ||
@@ -8,3 +9,8 @@ * Copyright (c) Bentley Systems, Incorporated. All rights reserved. | ||
*/ | ||
export {}; | ||
export var MemberInvitationStatus; | ||
(function (MemberInvitationStatus) { | ||
MemberInvitationStatus["Pending"] = "Pending"; | ||
MemberInvitationStatus["Accepted"] = "Accepted"; | ||
})(MemberInvitationStatus || (MemberInvitationStatus = {})); | ||
//#endregion | ||
//# sourceMappingURL=accessControlTypes.js.map |
@@ -5,3 +5,3 @@ /** @packageDocumentation | ||
import type { AccessToken } from "@itwin/core-bentley"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, IOwnerMembersClient, OwnerMember } from "../accessControlTypes"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, AddOwnerMemberResponse, IOwnerMembersClient, OwnerMember } from "../accessControlTypes"; | ||
import { BaseClient } from "./BaseClient"; | ||
@@ -19,6 +19,6 @@ export declare class OwnerMembersClient extends BaseClient implements IOwnerMembersClient { | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMember The new owner member to add or invite | ||
* @returns AddOwnerMemberResponse -- the added or invited owner | ||
*/ | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<OwnerMember>>; | ||
addITwinOwnerMemberAsync(accessToken: AccessToken, iTwinId: string, newMember: OwnerMember): Promise<AccessControlAPIResponse<AddOwnerMemberResponse>>; | ||
/** Remove the specified owner member from the iTwin | ||
@@ -25,0 +25,0 @@ * @param accessToken The client access token string |
@@ -21,8 +21,8 @@ import { BaseClient } from "./BaseClient"; | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMember The new owner member to add or invite | ||
* @returns AddOwnerMemberResponse -- the added or invited owner | ||
*/ | ||
async addITwinOwnerMemberAsync(accessToken, iTwinId, newMember) { | ||
const url = `${this._baseUrl}/${iTwinId}/members/owners`; | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember, "member"); | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, newMember); | ||
} | ||
@@ -29,0 +29,0 @@ /** Remove the specified owner member from the iTwin |
@@ -5,3 +5,3 @@ /** @packageDocumentation | ||
import type { AccessToken } from "@itwin/core-bentley"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, IUserMembersClient, UserMember } from "../accessControlTypes"; | ||
import type { AccessControlAPIResponse, AccessControlQueryArg, AddUserMemberResponse, IUserMembersClient, UserMember } from "../accessControlTypes"; | ||
import { BaseClient } from "./BaseClient"; | ||
@@ -26,6 +26,6 @@ export declare class UserMembersClient extends BaseClient implements IUserMembersClient { | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMembers The list of members to add or invite, along with their role | ||
* @returns AddUserMemberResponse -- the added or invited user members | ||
*/ | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<UserMember[]>>; | ||
addITwinUserMembersAsync(accessToken: AccessToken, iTwinId: string, newMembers: UserMember[]): Promise<AccessControlAPIResponse<AddUserMemberResponse>>; | ||
/** Remove the specified user member from the iTwin | ||
@@ -32,0 +32,0 @@ * @param accessToken The client access token string |
@@ -31,4 +31,4 @@ import { BaseClient } from "./BaseClient"; | ||
* @param iTwinId The id of the iTwin | ||
* @param newMembers The list of new members to be added along with their role | ||
* @returns Member[] | ||
* @param newMembers The list of members to add or invite, along with their role | ||
* @returns AddUserMemberResponse -- the added or invited user members | ||
*/ | ||
@@ -40,3 +40,3 @@ async addITwinUserMembersAsync(accessToken, iTwinId, newMembers) { | ||
}; | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, body, "members"); | ||
return this.sendGenericAPIRequest(accessToken, "POST", url, body); | ||
} | ||
@@ -43,0 +43,0 @@ /** Remove the specified user member from the iTwin |
{ | ||
"name": "@itwin/access-control-client", | ||
"version": "2.3.1", | ||
"version": "3.0.0-beta.0", | ||
"description": "Access control client for the iTwin platform", | ||
@@ -5,0 +5,0 @@ "main": "lib/cjs/access-control-client.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
245951
7.59%94
9.3%1847
8.33%2
100%