@itwin/access-control-client 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts +2 -2
- package/lib/cjs/accessControlClientInterfaces/RolesClient.d.ts.map +1 -1
- package/lib/cjs/accessControlClientInterfaces/RolesClient.js.map +1 -1
- package/lib/cjs/subClients/RolesClient.d.ts +2 -2
- package/lib/cjs/subClients/RolesClient.d.ts.map +1 -1
- package/lib/cjs/subClients/RolesClient.js.map +1 -1
- package/lib/cjs/types/Role.d.ts +3 -0
- package/lib/cjs/types/Role.d.ts.map +1 -1
- package/lib/cjs/types/Role.js.map +1 -1
- package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts +2 -2
- package/lib/esm/accessControlClientInterfaces/RolesClient.d.ts.map +1 -1
- package/lib/esm/accessControlClientInterfaces/RolesClient.js.map +1 -1
- package/lib/esm/subClients/RolesClient.d.ts +2 -2
- package/lib/esm/subClients/RolesClient.d.ts.map +1 -1
- package/lib/esm/subClients/RolesClient.js.map +1 -1
- package/lib/esm/types/Role.d.ts +3 -0
- package/lib/esm/types/Role.d.ts.map +1 -1
- package/lib/esm/types/Role.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Change Log - @itwin/access-control-client
|
|
2
2
|
|
|
3
|
+
## 4.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
### [4.3.0](https://www.npmjs.com/package/@itwin/access-control-client/v/4.3.0) - 2026-03-26
|
|
8
|
+
|
|
9
|
+
add support for role 'type' property in role create/get responses
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
### [4.2.1](https://www.npmjs.com/package/@itwin/access-control-client/v/4.2.1) - 2026-03-26
|
|
14
|
+
|
|
15
|
+
updating picomatch and changesets packages to latest versions to avoid vulnerabilities
|
|
16
|
+
|
|
3
17
|
## 4.2.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -7,10 +7,10 @@ export interface IRolesClient {
|
|
|
7
7
|
/** Retrieves a role for a specified iTwin */
|
|
8
8
|
getITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<Role>>;
|
|
9
9
|
/** Creates a new iTwin Role */
|
|
10
|
-
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
|
|
10
|
+
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
|
|
11
11
|
/** Removes an existing iTwin Role */
|
|
12
12
|
deleteITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<undefined>>;
|
|
13
13
|
/** Updates an existing iTwin Role */
|
|
14
|
-
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
|
|
14
|
+
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=RolesClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1F,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
|
|
1
|
+
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\" | \"type\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
|
|
@@ -31,7 +31,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
|
|
|
31
31
|
* @param role The role to be created
|
|
32
32
|
* @returns Role
|
|
33
33
|
*/
|
|
34
|
-
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
|
|
34
|
+
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
|
|
35
35
|
/** Delete the specified iTwin role
|
|
36
36
|
* @param accessToken The client access token string
|
|
37
37
|
* @param iTwinId The id of the iTwin
|
|
@@ -46,6 +46,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
|
|
|
46
46
|
* @param role The updated role
|
|
47
47
|
* @returns Role
|
|
48
48
|
*/
|
|
49
|
-
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
|
|
49
|
+
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
|
|
50
50
|
}
|
|
51
51
|
//# sourceMappingURL=RolesClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC;IAKzF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAG1C;GACG;AACH,MAAa,WAAY,SAAQ,uBAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAMH,6CAA0C;AAG1C;GACG;AACH,MAAa,WAAY,SAAQ,uBAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAwC;QAExC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF;AAjFD,kCAiFC","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\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\" | \"type\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
|
package/lib/cjs/types/Role.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { Permission } from "./Permission";
|
|
|
9
9
|
* id: "550e8400-e29b-41d4-a716-446655440000",
|
|
10
10
|
* displayName: "Project Manager",
|
|
11
11
|
* description: "Full access to manage project resources, users, and settings",
|
|
12
|
+
* type: "Custom",
|
|
12
13
|
* permissions: [
|
|
13
14
|
* "itwins_read",
|
|
14
15
|
* "itwins_modify",
|
|
@@ -29,5 +30,7 @@ export interface Role {
|
|
|
29
30
|
description: string;
|
|
30
31
|
/** Array of permissions associated with this role */
|
|
31
32
|
permissions: Permission[];
|
|
33
|
+
/** The type of role, either Custom or Default */
|
|
34
|
+
type: string;
|
|
32
35
|
}
|
|
33
36
|
//# sourceMappingURL=Role.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,IAAI;IACnB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":";AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Permission } from \"./Permission\";\n\n/**\n * Represents a role that defines a set of permissions for iTwin access control.\n * Roles are assigned to users to grant them specific capabilities within an iTwin.\n *\n * @example\n * ```typescript\n * const projectManagerRole: Role = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * displayName: \"Project Manager\",\n * description: \"Full access to manage project resources, users, and settings\",\n * permissions: [\n * \"itwins_read\",\n * \"itwins_modify\",\n * \"itwins_members_read\",\n * \"itwins_members_modify\",\n * \"imodels_read\",\n * \"imodels_write\"\n * ]\n * };\n * ```\n */\nexport interface Role {\n /** Unique identifier for the role. Optional when creating a new role. */\n id: string;\n /** Human-readable name for the role */\n displayName: string;\n /** Detailed description of what this role provides */\n description: string;\n /** Array of permissions associated with this role */\n permissions: Permission[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":";AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Permission } from \"./Permission\";\n\n/**\n * Represents a role that defines a set of permissions for iTwin access control.\n * Roles are assigned to users to grant them specific capabilities within an iTwin.\n *\n * @example\n * ```typescript\n * const projectManagerRole: Role = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * displayName: \"Project Manager\",\n * description: \"Full access to manage project resources, users, and settings\",\n * type: \"Custom\",\n * permissions: [\n * \"itwins_read\",\n * \"itwins_modify\",\n * \"itwins_members_read\",\n * \"itwins_members_modify\",\n * \"imodels_read\",\n * \"imodels_write\"\n * ]\n * };\n * ```\n */\nexport interface Role {\n /** Unique identifier for the role. Optional when creating a new role. */\n id: string;\n /** Human-readable name for the role */\n displayName: string;\n /** Detailed description of what this role provides */\n description: string;\n /** Array of permissions associated with this role */\n permissions: Permission[];\n /** The type of role, either Custom or Default */\n type: string;\n}\n"]}
|
|
@@ -7,10 +7,10 @@ export interface IRolesClient {
|
|
|
7
7
|
/** Retrieves a role for a specified iTwin */
|
|
8
8
|
getITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<Role>>;
|
|
9
9
|
/** Creates a new iTwin Role */
|
|
10
|
-
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
|
|
10
|
+
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
|
|
11
11
|
/** Removes an existing iTwin Role */
|
|
12
12
|
deleteITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string): Promise<BentleyAPIResponse<undefined>>;
|
|
13
13
|
/** Updates an existing iTwin Role */
|
|
14
|
-
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
|
|
14
|
+
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=RolesClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1F,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,qCAAqC;IACrC,eAAe,CACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
|
|
1
|
+
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/accessControlClientInterfaces/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\nimport type { Role } from \"../types/Role\";\n\n\nexport interface IRolesClient {\n /** Retrieves a list of roles the for a specified iTwin */\n getITwinRoles(\n accessToken: AccessToken,\n iTwinId: string,\n ): Promise<BentleyAPIResponse<Role[]>>;\n\n /** Retrieves a role for a specified iTwin */\n getITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<Role>>;\n\n /** Creates a new iTwin Role */\n createITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n role: Pick<Role, \"displayName\" | \"description\">\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>>;\n\n /** Removes an existing iTwin Role */\n deleteITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string\n ): Promise<BentleyAPIResponse<undefined>>;\n\n /** Updates an existing iTwin Role */\n updateITwinRole(\n accessToken: AccessToken,\n iTwinId: string,\n roleId: string,\n role: Partial<Omit<Role, \"id\" | \"type\">>\n ): Promise<BentleyAPIResponse<Role>>;\n}"]}
|
|
@@ -31,7 +31,7 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
|
|
|
31
31
|
* @param role The role to be created
|
|
32
32
|
* @returns Role
|
|
33
33
|
*/
|
|
34
|
-
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description">>>;
|
|
34
|
+
createITwinRole(accessToken: AccessToken, iTwinId: string, role: Pick<Role, "displayName" | "description">): Promise<BentleyAPIResponse<Pick<Role, "id" | "displayName" | "description" | "type">>>;
|
|
35
35
|
/** Delete the specified iTwin role
|
|
36
36
|
* @param accessToken The client access token string
|
|
37
37
|
* @param iTwinId The id of the iTwin
|
|
@@ -46,6 +46,6 @@ export declare class RolesClient extends BaseClient implements IRolesClient {
|
|
|
46
46
|
* @param role The updated role
|
|
47
47
|
* @returns Role
|
|
48
48
|
*/
|
|
49
|
-
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id">>): Promise<BentleyAPIResponse<Role>>;
|
|
49
|
+
updateITwinRole(accessToken: AccessToken, iTwinId: string, roleId: string, role: Partial<Omit<Role, "id" | "type">>): Promise<BentleyAPIResponse<Role>>;
|
|
50
50
|
}
|
|
51
51
|
//# sourceMappingURL=RolesClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RolesClient.d.ts","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,YAAY;IACjE;;OAEG;gBACgB,GAAG,CAAC,EAAE,MAAM;IAI/B;;;;QAII;IACS,aAAa,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAKtC;;;;QAII;IACS,YAAY,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAKpC;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC;IAKzF;;;;;QAKI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAKzC;;;;;;QAMI;IACS,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAIrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"RolesClient.js","sourceRoot":"","sources":["../../../src/subClients/RolesClient.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;GACG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACH,YAAmB,GAAY;QAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,aAAa,CACxB,WAAwB,EACxB,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;QAII;IACG,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,IAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;QAKI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;QAMI;IACG,KAAK,CAAC,eAAe,CAC1B,WAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAwC;QAExC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,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\n\r\nimport type { AccessToken } from \"@itwin/core-bentley\";\r\nimport type { IRolesClient } from \"../accessControlClientInterfaces/RolesClient\";\r\nimport type { BentleyAPIResponse } from \"../types/CommonApiTypes\";\r\nimport type { Role } from \"../types/Role\";\r\nimport { BaseClient } from \"./BaseClient\";\r\n\r\n\r\n/** Client API to perform iTwin role operations.\r\n */\r\nexport class RolesClient extends BaseClient implements IRolesClient {\r\n /** Create a new RolesClient instance\r\n * @param url Optional base URL for the access control service. If not provided, defaults to base url.\r\n */\r\n public constructor(url?: string) {\r\n super(url);\r\n }\r\n\r\n /** Retrieves a list of available user roles that are defined for a specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Roles\r\n */\r\n public async getITwinRoles(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n ): Promise<BentleyAPIResponse<Role[]>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"roles\");\r\n }\r\n\r\n /** Retrieves the specified role for the specified iTwin\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @returns Role\r\n */\r\n public async getITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"GET\", url, undefined, \"role\");\r\n }\r\n\r\n /** Creates a new iTwin Role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param role The role to be created\r\n * @returns Role\r\n */\r\n public async createITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n role: Pick<Role, \"displayName\" | \"description\">\r\n ): Promise<BentleyAPIResponse<Pick<Role, \"id\" | \"displayName\" | \"description\" | \"type\">>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles`;\r\n return this.sendGenericAPIRequest(accessToken, \"POST\", url, role, \"role\");\r\n }\r\n\r\n /** Delete the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to remove\r\n * @returns No Content\r\n */\r\n public async deleteITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n ): Promise<BentleyAPIResponse<undefined>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"DELETE\", url);\r\n }\r\n\r\n /** Update the specified iTwin role\r\n * @param accessToken The client access token string\r\n * @param iTwinId The id of the iTwin\r\n * @param roleId The id of the role to update\r\n * @param role The updated role\r\n * @returns Role\r\n */\r\n public async updateITwinRole(\r\n accessToken: AccessToken,\r\n iTwinId: string,\r\n roleId: string,\r\n role: Partial<Omit<Role, \"id\" | \"type\">>\r\n ): Promise<BentleyAPIResponse<Role>> {\r\n const url = `${this._baseUrl}/${iTwinId}/roles/${roleId}`;\r\n return this.sendGenericAPIRequest(accessToken, \"PATCH\", url, role, \"role\");\r\n }\r\n}\r\n"]}
|
package/lib/esm/types/Role.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { Permission } from "./Permission";
|
|
|
9
9
|
* id: "550e8400-e29b-41d4-a716-446655440000",
|
|
10
10
|
* displayName: "Project Manager",
|
|
11
11
|
* description: "Full access to manage project resources, users, and settings",
|
|
12
|
+
* type: "Custom",
|
|
12
13
|
* permissions: [
|
|
13
14
|
* "itwins_read",
|
|
14
15
|
* "itwins_modify",
|
|
@@ -29,5 +30,7 @@ export interface Role {
|
|
|
29
30
|
description: string;
|
|
30
31
|
/** Array of permissions associated with this role */
|
|
31
32
|
permissions: Permission[];
|
|
33
|
+
/** The type of role, either Custom or Default */
|
|
34
|
+
type: string;
|
|
32
35
|
}
|
|
33
36
|
//# sourceMappingURL=Role.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,IAAI;IACnB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Permission } from \"./Permission\";\n\n/**\n * Represents a role that defines a set of permissions for iTwin access control.\n * Roles are assigned to users to grant them specific capabilities within an iTwin.\n *\n * @example\n * ```typescript\n * const projectManagerRole: Role = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * displayName: \"Project Manager\",\n * description: \"Full access to manage project resources, users, and settings\",\n * permissions: [\n * \"itwins_read\",\n * \"itwins_modify\",\n * \"itwins_members_read\",\n * \"itwins_members_modify\",\n * \"imodels_read\",\n * \"imodels_write\"\n * ]\n * };\n * ```\n */\nexport interface Role {\n /** Unique identifier for the role. Optional when creating a new role. */\n id: string;\n /** Human-readable name for the role */\n displayName: string;\n /** Detailed description of what this role provides */\n description: string;\n /** Array of permissions associated with this role */\n permissions: Permission[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/types/Role.ts"],"names":[],"mappings":"AAAA;;;gGAGgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Permission } from \"./Permission\";\n\n/**\n * Represents a role that defines a set of permissions for iTwin access control.\n * Roles are assigned to users to grant them specific capabilities within an iTwin.\n *\n * @example\n * ```typescript\n * const projectManagerRole: Role = {\n * id: \"550e8400-e29b-41d4-a716-446655440000\",\n * displayName: \"Project Manager\",\n * description: \"Full access to manage project resources, users, and settings\",\n * type: \"Custom\",\n * permissions: [\n * \"itwins_read\",\n * \"itwins_modify\",\n * \"itwins_members_read\",\n * \"itwins_members_modify\",\n * \"imodels_read\",\n * \"imodels_write\"\n * ]\n * };\n * ```\n */\nexport interface Role {\n /** Unique identifier for the role. Optional when creating a new role. */\n id: string;\n /** Human-readable name for the role */\n displayName: string;\n /** Detailed description of what this role provides */\n description: string;\n /** Array of permissions associated with this role */\n permissions: Permission[];\n /** The type of role, either Custom or Default */\n type: string;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/access-control-client",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "Access control client for the iTwin platform",
|
|
5
5
|
"main": "lib/cjs/access-control-client.js",
|
|
6
6
|
"module": "lib/esm/access-control-client.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@changesets/cli": "^2.
|
|
30
|
+
"@changesets/cli": "^2.30.0",
|
|
31
31
|
"@changesets/types": "6.1.0",
|
|
32
32
|
"@eslint/eslintrc": "^3.3.5",
|
|
33
33
|
"@itwin/build-tools": "^5.7.2",
|