@dremio/js-sdk 0.53.0 → 0.54.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/dist/cloud/Dremio.d.ts +2 -0
- package/dist/cloud/Dremio.js +3 -0
- package/dist/cloud/Dremio.js.map +1 -1
- package/dist/cloud/roles/Role.d.ts +19 -0
- package/dist/cloud/roles/Role.js +28 -0
- package/dist/cloud/roles/Role.js.map +1 -0
- package/dist/cloud/roles/RolesResource.d.ts +73 -0
- package/dist/cloud/roles/RolesResource.js +204 -0
- package/dist/cloud/roles/RolesResource.js.map +1 -0
- package/dist/cloud/users/User.d.ts +2 -0
- package/dist/cloud/users/User.js +4 -0
- package/dist/cloud/users/User.js.map +1 -1
- package/dist/cloud/users/userPropertiesCodec.d.ts +4 -0
- package/dist/cloud/users/userPropertiesCodec.js +8 -0
- package/dist/cloud/users/userPropertiesCodec.js.map +1 -1
- package/dist-iife/cloud.js +195 -2
- package/package.json +1 -1
package/dist/cloud/Dremio.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { OAuthApplicationsResource } from "./oauth/OAuthApplicationsResource.ts"
|
|
|
13
13
|
import { CloudsResource } from "./clouds/CloudsResource.js";
|
|
14
14
|
import { UsersResource } from "./users/UsersResource.js";
|
|
15
15
|
import { EngineRulesResource } from "./engineRules/EngineRulesResource.ts";
|
|
16
|
+
import { RolesResource as CloudRolesResource } from "./roles/RolesResource.js";
|
|
16
17
|
import { AIResource } from "../cloud/ai/AIResource.js";
|
|
17
18
|
export declare class Dremio {
|
|
18
19
|
#private;
|
|
@@ -29,6 +30,7 @@ export declare class Dremio {
|
|
|
29
30
|
readonly roles: (projectId: string) => RolesResource;
|
|
30
31
|
readonly scripts: (projectId: string) => EnterpriseScriptsResource;
|
|
31
32
|
readonly sql: (projectId: string) => SqlResource;
|
|
33
|
+
readonly _roles: CloudRolesResource;
|
|
32
34
|
readonly _users: UsersResource;
|
|
33
35
|
readonly users: (projectId: string) => CloudUsersResource;
|
|
34
36
|
constructor(config: Config);
|
package/dist/cloud/Dremio.js
CHANGED
|
@@ -29,6 +29,7 @@ import { OAuthApplicationsResource } from "./oauth/OAuthApplicationsResource.js"
|
|
|
29
29
|
import { CloudsResource } from "./clouds/CloudsResource.js";
|
|
30
30
|
import { UsersResource } from "./users/UsersResource.js";
|
|
31
31
|
import { EngineRulesResource } from "./engineRules/EngineRulesResource.js";
|
|
32
|
+
import { RolesResource as CloudRolesResource } from "./roles/RolesResource.js";
|
|
32
33
|
import { AIResource } from "../cloud/ai/AIResource.js";
|
|
33
34
|
export class Dremio {
|
|
34
35
|
ai;
|
|
@@ -44,6 +45,7 @@ export class Dremio {
|
|
|
44
45
|
roles;
|
|
45
46
|
scripts;
|
|
46
47
|
sql;
|
|
48
|
+
_roles;
|
|
47
49
|
_users;
|
|
48
50
|
users;
|
|
49
51
|
#resourceConfig;
|
|
@@ -62,6 +64,7 @@ export class Dremio {
|
|
|
62
64
|
this.roles = moize.default((projectId) => new RolesResource(this.#resourceConfig(projectId)));
|
|
63
65
|
this.scripts = moize.default((projectId) => new EnterpriseScriptsResource(this.#resourceConfig(projectId)));
|
|
64
66
|
this.sql = moize.default((projectId) => new SqlResource(this.#resourceConfig(projectId)));
|
|
67
|
+
this._roles = new CloudRolesResource(this.#resourceConfig());
|
|
65
68
|
this._users = new UsersResource(this.#resourceConfig());
|
|
66
69
|
this.users = moize.default((projectId) => new CloudUsersResource(this.#resourceConfig(projectId)));
|
|
67
70
|
}
|
package/dist/cloud/Dremio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dremio.js","sourceRoot":"","sources":["../../src/cloud/Dremio.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport moize from \"moize\";\nimport type { Config } from \"../common/Config.ts\";\nimport { EnterpriseCatalogResource } from \"./catalog/EnterpriseCatalogResource.js\";\nimport { RolesResource } from \"../enterprise/roles/RolesResource.js\";\nimport { EnterpriseScriptsResource } from \"../enterprise/scripts/EnterpriseScriptsResource.js\";\nimport { SqlResource } from \"../oss/sql/SqlResource.js\";\nimport { ArcticResource } from \"./arctic/ArcticResource.js\";\nimport { EnginesResource } from \"./engines/EnginesResource.js\";\nimport { getResourceConfig } from \"./getResourceConfig.js\";\nimport { OrganizationsResource } from \"./organizations/OrganizationsResource.js\";\nimport { ProjectsResource } from \"./projects/ProjectsResource.js\";\nimport { CloudUsersResource } from \"./users/CloudUsersResource.js\";\nimport { JobsResource } from \"../oss/jobs/JobsResource.ts\";\nimport { OAuthApplicationsResource } from \"./oauth/OAuthApplicationsResource.ts\";\nimport { CloudsResource } from \"./clouds/CloudsResource.js\";\nimport { UsersResource } from \"./users/UsersResource.js\";\nimport { EngineRulesResource } from \"./engineRules/EngineRulesResource.ts\";\nimport { AIResource } from \"../cloud/ai/AIResource.js\";\n\nexport class Dremio {\n readonly ai: (projectId?: string) => AIResource;\n readonly arctic: (projectId: string) => ArcticResource;\n readonly catalog: (projectId: string) => EnterpriseCatalogResource;\n readonly clouds: CloudsResource;\n readonly engines: (projectId: string) => EnginesResource;\n readonly engineRules: (projectId: string) => EngineRulesResource;\n readonly jobs: (projectId: string) => JobsResource;\n readonly oauthApplications: OAuthApplicationsResource;\n readonly organizations: OrganizationsResource;\n readonly projects: ProjectsResource;\n readonly roles: (projectId: string) => RolesResource;\n readonly scripts: (projectId: string) => EnterpriseScriptsResource;\n readonly sql: (projectId: string) => SqlResource;\n readonly _users: UsersResource;\n readonly users: (projectId: string) => CloudUsersResource;\n readonly #resourceConfig: ReturnType<typeof getResourceConfig>;\n\n constructor(config: Config) {\n this.#resourceConfig = getResourceConfig(config);\n this.ai = (projectId) => new AIResource(this.#resourceConfig(projectId));\n this.arctic = moize.default(\n (projectId: string) => new ArcticResource(this.#resourceConfig(projectId)),\n );\n this.catalog = moize.default(\n (projectId: string) => new EnterpriseCatalogResource(this.#resourceConfig(projectId)),\n );\n this.clouds = new CloudsResource(this.#resourceConfig());\n this.engines = moize.default(\n (projectId: string) => new EnginesResource(this.#resourceConfig(projectId)),\n );\n this.engineRules = moize.default(\n (projectId: string) => new EngineRulesResource(this.#resourceConfig(projectId)),\n );\n this.jobs = moize.default(\n (projectId: string) => new JobsResource(this.#resourceConfig(projectId)),\n );\n this.oauthApplications = new OAuthApplicationsResource(this.#resourceConfig());\n this.organizations = new OrganizationsResource(this.#resourceConfig());\n this.projects = new ProjectsResource(this.#resourceConfig());\n this.roles = moize.default(\n (projectId: string) => new RolesResource(this.#resourceConfig(projectId)),\n );\n this.scripts = moize.default(\n (projectId: string) => new EnterpriseScriptsResource(this.#resourceConfig(projectId)),\n );\n this.sql = moize.default(\n (projectId: string) => new SqlResource(this.#resourceConfig(projectId)),\n );\n this._users = new UsersResource(this.#resourceConfig());\n this.users = moize.default(\n (projectId: string) => new CloudUsersResource(this.#resourceConfig(projectId)),\n );\n }\n\n get _resourceConfig() {\n return this.#resourceConfig;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Dremio.js","sourceRoot":"","sources":["../../src/cloud/Dremio.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport moize from \"moize\";\nimport type { Config } from \"../common/Config.ts\";\nimport { EnterpriseCatalogResource } from \"./catalog/EnterpriseCatalogResource.js\";\nimport { RolesResource } from \"../enterprise/roles/RolesResource.js\";\nimport { EnterpriseScriptsResource } from \"../enterprise/scripts/EnterpriseScriptsResource.js\";\nimport { SqlResource } from \"../oss/sql/SqlResource.js\";\nimport { ArcticResource } from \"./arctic/ArcticResource.js\";\nimport { EnginesResource } from \"./engines/EnginesResource.js\";\nimport { getResourceConfig } from \"./getResourceConfig.js\";\nimport { OrganizationsResource } from \"./organizations/OrganizationsResource.js\";\nimport { ProjectsResource } from \"./projects/ProjectsResource.js\";\nimport { CloudUsersResource } from \"./users/CloudUsersResource.js\";\nimport { JobsResource } from \"../oss/jobs/JobsResource.ts\";\nimport { OAuthApplicationsResource } from \"./oauth/OAuthApplicationsResource.ts\";\nimport { CloudsResource } from \"./clouds/CloudsResource.js\";\nimport { UsersResource } from \"./users/UsersResource.js\";\nimport { EngineRulesResource } from \"./engineRules/EngineRulesResource.ts\";\nimport { RolesResource as CloudRolesResource } from \"./roles/RolesResource.js\";\nimport { AIResource } from \"../cloud/ai/AIResource.js\";\n\nexport class Dremio {\n readonly ai: (projectId?: string) => AIResource;\n readonly arctic: (projectId: string) => ArcticResource;\n readonly catalog: (projectId: string) => EnterpriseCatalogResource;\n readonly clouds: CloudsResource;\n readonly engines: (projectId: string) => EnginesResource;\n readonly engineRules: (projectId: string) => EngineRulesResource;\n readonly jobs: (projectId: string) => JobsResource;\n readonly oauthApplications: OAuthApplicationsResource;\n readonly organizations: OrganizationsResource;\n readonly projects: ProjectsResource;\n readonly roles: (projectId: string) => RolesResource;\n readonly scripts: (projectId: string) => EnterpriseScriptsResource;\n readonly sql: (projectId: string) => SqlResource;\n readonly _roles: CloudRolesResource;\n readonly _users: UsersResource;\n readonly users: (projectId: string) => CloudUsersResource;\n readonly #resourceConfig: ReturnType<typeof getResourceConfig>;\n\n constructor(config: Config) {\n this.#resourceConfig = getResourceConfig(config);\n this.ai = (projectId) => new AIResource(this.#resourceConfig(projectId));\n this.arctic = moize.default(\n (projectId: string) => new ArcticResource(this.#resourceConfig(projectId)),\n );\n this.catalog = moize.default(\n (projectId: string) => new EnterpriseCatalogResource(this.#resourceConfig(projectId)),\n );\n this.clouds = new CloudsResource(this.#resourceConfig());\n this.engines = moize.default(\n (projectId: string) => new EnginesResource(this.#resourceConfig(projectId)),\n );\n this.engineRules = moize.default(\n (projectId: string) => new EngineRulesResource(this.#resourceConfig(projectId)),\n );\n this.jobs = moize.default(\n (projectId: string) => new JobsResource(this.#resourceConfig(projectId)),\n );\n this.oauthApplications = new OAuthApplicationsResource(this.#resourceConfig());\n this.organizations = new OrganizationsResource(this.#resourceConfig());\n this.projects = new ProjectsResource(this.#resourceConfig());\n this.roles = moize.default(\n (projectId: string) => new RolesResource(this.#resourceConfig(projectId)),\n );\n this.scripts = moize.default(\n (projectId: string) => new EnterpriseScriptsResource(this.#resourceConfig(projectId)),\n );\n this.sql = moize.default(\n (projectId: string) => new SqlResource(this.#resourceConfig(projectId)),\n );\n this._roles = new CloudRolesResource(this.#resourceConfig());\n this._users = new UsersResource(this.#resourceConfig());\n this.users = moize.default(\n (projectId: string) => new CloudUsersResource(this.#resourceConfig(projectId)),\n );\n }\n\n get _resourceConfig() {\n return this.#resourceConfig;\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type RoleType = "INTERNAL" | "EXTERNAL" | "SYSTEM";
|
|
2
|
+
export type RoleMemberType = "USER" | "ROLE";
|
|
3
|
+
export type RoleContent = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
type: RoleType;
|
|
7
|
+
description?: string;
|
|
8
|
+
};
|
|
9
|
+
export type RoleMemberContent = {
|
|
10
|
+
id: string;
|
|
11
|
+
type: RoleMemberType;
|
|
12
|
+
};
|
|
13
|
+
export declare class Role implements RoleContent {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly type: RoleType;
|
|
17
|
+
readonly description?: string;
|
|
18
|
+
constructor(properties: RoleContent);
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2024-2025 Dremio Corporation
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export class Role {
|
|
17
|
+
id;
|
|
18
|
+
name;
|
|
19
|
+
type;
|
|
20
|
+
description;
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.id = properties.id;
|
|
23
|
+
this.name = properties.name;
|
|
24
|
+
this.type = properties.type;
|
|
25
|
+
this.description = properties.description;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/cloud/roles/Role.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,MAAM,OAAO,IAAI;IACN,EAAE,CAAS;IACX,IAAI,CAAS;IACb,IAAI,CAAW;IACf,WAAW,CAAU;IAE9B,YAAY,UAAuB;QACjC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;CACF","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type RoleType = \"INTERNAL\" | \"EXTERNAL\" | \"SYSTEM\";\nexport type RoleMemberType = \"USER\" | \"ROLE\";\n\nexport type RoleContent = {\n id: string;\n name: string;\n type: RoleType;\n description?: string;\n};\n\nexport type RoleMemberContent = {\n id: string;\n type: RoleMemberType;\n};\n\nexport class Role implements RoleContent {\n readonly id: string;\n readonly name: string;\n readonly type: RoleType;\n readonly description?: string;\n\n constructor(properties: RoleContent) {\n this.id = properties.id;\n this.name = properties.name;\n this.type = properties.type;\n this.description = properties.description;\n }\n}\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { V3Config } from "../../common/Config.ts";
|
|
2
|
+
import type { SignalParam } from "../../common/Params.ts";
|
|
3
|
+
import { Role, type RoleContent, type RoleMemberContent } from "./Role.ts";
|
|
4
|
+
type PaginatedRoleMemberListResponse = {
|
|
5
|
+
data: RoleMemberContent[];
|
|
6
|
+
nextPageToken?: string;
|
|
7
|
+
totalResults: number;
|
|
8
|
+
};
|
|
9
|
+
type PatchParentRolesParams = {
|
|
10
|
+
addRoles?: string[];
|
|
11
|
+
removeRoles?: string[];
|
|
12
|
+
};
|
|
13
|
+
type PatchParentRolesResponse = {
|
|
14
|
+
addedRoles?: string[];
|
|
15
|
+
removedRoles?: string[];
|
|
16
|
+
};
|
|
17
|
+
type PatchMembersParams = {
|
|
18
|
+
addRoles?: string[];
|
|
19
|
+
removeRoles?: string[];
|
|
20
|
+
addUsers?: string[];
|
|
21
|
+
removeUsers?: string[];
|
|
22
|
+
};
|
|
23
|
+
type PatchMembersResponse = {
|
|
24
|
+
addedRoles?: string[];
|
|
25
|
+
removedRoles?: string[];
|
|
26
|
+
addedUsers?: string[];
|
|
27
|
+
removedUsers?: string[];
|
|
28
|
+
};
|
|
29
|
+
export declare class RolesResource {
|
|
30
|
+
#private;
|
|
31
|
+
constructor(config: V3Config);
|
|
32
|
+
list(params?: {
|
|
33
|
+
filter?: string;
|
|
34
|
+
maxResults?: number;
|
|
35
|
+
orderBy?: string;
|
|
36
|
+
}): {
|
|
37
|
+
data({ signal }?: SignalParam): AsyncGenerator<Role, void, unknown>;
|
|
38
|
+
getPage: ({ pageToken, signal }?: {
|
|
39
|
+
pageToken?: string;
|
|
40
|
+
} & SignalParam) => import("ts-results-es").AsyncResult<{
|
|
41
|
+
data: Role[];
|
|
42
|
+
nextPageToken?: string;
|
|
43
|
+
totalResults: number;
|
|
44
|
+
}, import("../index.ts").HttpError>;
|
|
45
|
+
};
|
|
46
|
+
create(params: {
|
|
47
|
+
name: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
}, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Role, import("../index.ts").HttpError>;
|
|
50
|
+
retrieveById(id: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Role, import("../index.ts").HttpError>;
|
|
51
|
+
retrieveByName(name: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Role, import("../index.ts").HttpError>;
|
|
52
|
+
update(params: RoleContent, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Role, import("../index.ts").HttpError>;
|
|
53
|
+
delete(id: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Response, import("../index.ts").HttpError>;
|
|
54
|
+
listParentRoles(roleId: string, params?: {
|
|
55
|
+
maxResults?: number;
|
|
56
|
+
pageToken?: string;
|
|
57
|
+
}, { signal }?: SignalParam): import("ts-results-es").AsyncResult<{
|
|
58
|
+
data: Role[];
|
|
59
|
+
nextPageToken?: string;
|
|
60
|
+
totalResults: number;
|
|
61
|
+
}, import("../index.ts").HttpError>;
|
|
62
|
+
addParentRole(roleId: string, parentRoleId: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Response, import("../index.ts").HttpError>;
|
|
63
|
+
patchParentRoles(roleId: string, params: PatchParentRolesParams, { signal }?: SignalParam): import("ts-results-es").AsyncResult<PatchParentRolesResponse, import("../index.ts").HttpError>;
|
|
64
|
+
removeParentRole(roleId: string, parentRoleId: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Response, import("../index.ts").HttpError>;
|
|
65
|
+
listMembers(roleId: string, params?: {
|
|
66
|
+
maxResults?: number;
|
|
67
|
+
pageToken?: string;
|
|
68
|
+
}, { signal }?: SignalParam): import("ts-results-es").AsyncResult<PaginatedRoleMemberListResponse, import("../index.ts").HttpError>;
|
|
69
|
+
addMember(roleId: string, params: RoleMemberContent, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Response, import("../index.ts").HttpError>;
|
|
70
|
+
patchMembers(roleId: string, params: PatchMembersParams, { signal }?: SignalParam): import("ts-results-es").AsyncResult<PatchMembersResponse, import("../index.ts").HttpError>;
|
|
71
|
+
removeMember(roleId: string, memberId: string, { signal }?: SignalParam): import("ts-results-es").AsyncResult<Response, import("../index.ts").HttpError>;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2024-2025 Dremio Corporation
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Role } from "./Role.js";
|
|
17
|
+
export class RolesResource {
|
|
18
|
+
#config;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.#config = config;
|
|
21
|
+
}
|
|
22
|
+
list(params) {
|
|
23
|
+
const buildQuery = (extra) => {
|
|
24
|
+
const query = new URLSearchParams();
|
|
25
|
+
if (params?.filter)
|
|
26
|
+
query.set("filter", params.filter);
|
|
27
|
+
if (params?.maxResults)
|
|
28
|
+
query.set("maxResults", String(params.maxResults));
|
|
29
|
+
if (params?.orderBy)
|
|
30
|
+
query.set("orderBy", params.orderBy);
|
|
31
|
+
if (extra?.pageToken)
|
|
32
|
+
query.set("pageToken", extra.pageToken);
|
|
33
|
+
return query;
|
|
34
|
+
};
|
|
35
|
+
const getPage = ({ pageToken, signal } = {}) => this.#config
|
|
36
|
+
.v3Request(`roles?${buildQuery({ pageToken })}`, {
|
|
37
|
+
headers: { Accept: "application/json" },
|
|
38
|
+
signal,
|
|
39
|
+
})
|
|
40
|
+
.map((res) => res.json())
|
|
41
|
+
.map((page) => ({
|
|
42
|
+
...page,
|
|
43
|
+
data: page.data.map((entity) => new Role(entity)),
|
|
44
|
+
}));
|
|
45
|
+
return {
|
|
46
|
+
async *data({ signal } = {}) {
|
|
47
|
+
const firstPageResult = await getPage({ signal }).promise;
|
|
48
|
+
if (firstPageResult.isErr()) {
|
|
49
|
+
throw firstPageResult.error;
|
|
50
|
+
}
|
|
51
|
+
let currentPage = firstPageResult.value;
|
|
52
|
+
yield* currentPage.data;
|
|
53
|
+
while (currentPage.nextPageToken) {
|
|
54
|
+
currentPage = await getPage({
|
|
55
|
+
pageToken: currentPage.nextPageToken,
|
|
56
|
+
signal,
|
|
57
|
+
}).promise.then((result) => result.unwrap());
|
|
58
|
+
yield* currentPage.data;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
getPage,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
create(params, { signal } = {}) {
|
|
65
|
+
return this.#config
|
|
66
|
+
.v3Request("roles", {
|
|
67
|
+
body: JSON.stringify(params),
|
|
68
|
+
headers: {
|
|
69
|
+
Accept: "application/json",
|
|
70
|
+
"Content-Type": "application/json",
|
|
71
|
+
},
|
|
72
|
+
method: "POST",
|
|
73
|
+
signal,
|
|
74
|
+
})
|
|
75
|
+
.map((res) => res.json())
|
|
76
|
+
.map((entity) => new Role(entity));
|
|
77
|
+
}
|
|
78
|
+
retrieveById(id, { signal } = {}) {
|
|
79
|
+
return this.#config
|
|
80
|
+
.v3Request(`roles/${id}`, {
|
|
81
|
+
headers: { Accept: "application/json" },
|
|
82
|
+
signal,
|
|
83
|
+
})
|
|
84
|
+
.map((res) => res.json())
|
|
85
|
+
.map((entity) => new Role(entity));
|
|
86
|
+
}
|
|
87
|
+
retrieveByName(name, { signal } = {}) {
|
|
88
|
+
return this.#config
|
|
89
|
+
.v3Request(`roles/names/${name}`, {
|
|
90
|
+
headers: { Accept: "application/json" },
|
|
91
|
+
signal,
|
|
92
|
+
})
|
|
93
|
+
.map((res) => res.json())
|
|
94
|
+
.map((entity) => new Role(entity));
|
|
95
|
+
}
|
|
96
|
+
update(params, { signal } = {}) {
|
|
97
|
+
return this.#config
|
|
98
|
+
.v3Request(`roles/${params.id}`, {
|
|
99
|
+
body: JSON.stringify(params),
|
|
100
|
+
headers: {
|
|
101
|
+
Accept: "application/json",
|
|
102
|
+
"Content-Type": "application/json",
|
|
103
|
+
},
|
|
104
|
+
method: "PUT",
|
|
105
|
+
signal,
|
|
106
|
+
})
|
|
107
|
+
.map((res) => res.json())
|
|
108
|
+
.map((entity) => new Role(entity));
|
|
109
|
+
}
|
|
110
|
+
delete(id, { signal } = {}) {
|
|
111
|
+
return this.#config.v3Request(`roles/${id}`, {
|
|
112
|
+
method: "DELETE",
|
|
113
|
+
signal,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
listParentRoles(roleId, params, { signal } = {}) {
|
|
117
|
+
const query = new URLSearchParams();
|
|
118
|
+
if (params?.maxResults)
|
|
119
|
+
query.set("maxResults", String(params.maxResults));
|
|
120
|
+
if (params?.pageToken)
|
|
121
|
+
query.set("pageToken", params.pageToken);
|
|
122
|
+
return this.#config
|
|
123
|
+
.v3Request(`roles/${roleId}/parent-roles?${query}`, {
|
|
124
|
+
headers: { Accept: "application/json" },
|
|
125
|
+
signal,
|
|
126
|
+
})
|
|
127
|
+
.map((res) => res.json())
|
|
128
|
+
.map((page) => ({ ...page, data: page.data.map((entity) => new Role(entity)) }));
|
|
129
|
+
}
|
|
130
|
+
addParentRole(roleId, parentRoleId, { signal } = {}) {
|
|
131
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles`, {
|
|
132
|
+
body: JSON.stringify({ id: parentRoleId }),
|
|
133
|
+
headers: {
|
|
134
|
+
Accept: "application/json",
|
|
135
|
+
"Content-Type": "application/json",
|
|
136
|
+
},
|
|
137
|
+
method: "POST",
|
|
138
|
+
signal,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
patchParentRoles(roleId, params, { signal } = {}) {
|
|
142
|
+
return this.#config
|
|
143
|
+
.v3Request(`roles/${roleId}/parent-roles`, {
|
|
144
|
+
body: JSON.stringify(params),
|
|
145
|
+
headers: {
|
|
146
|
+
Accept: "application/json",
|
|
147
|
+
"Content-Type": "application/json",
|
|
148
|
+
},
|
|
149
|
+
method: "PATCH",
|
|
150
|
+
signal,
|
|
151
|
+
})
|
|
152
|
+
.map((res) => res.json());
|
|
153
|
+
}
|
|
154
|
+
removeParentRole(roleId, parentRoleId, { signal } = {}) {
|
|
155
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles/${parentRoleId}`, {
|
|
156
|
+
method: "DELETE",
|
|
157
|
+
signal,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
listMembers(roleId, params, { signal } = {}) {
|
|
161
|
+
const query = new URLSearchParams();
|
|
162
|
+
if (params?.maxResults)
|
|
163
|
+
query.set("maxResults", String(params.maxResults));
|
|
164
|
+
if (params?.pageToken)
|
|
165
|
+
query.set("pageToken", params.pageToken);
|
|
166
|
+
return this.#config
|
|
167
|
+
.v3Request(`roles/${roleId}/members?${query}`, {
|
|
168
|
+
headers: { Accept: "application/json" },
|
|
169
|
+
signal,
|
|
170
|
+
})
|
|
171
|
+
.map((res) => res.json());
|
|
172
|
+
}
|
|
173
|
+
addMember(roleId, params, { signal } = {}) {
|
|
174
|
+
return this.#config.v3Request(`roles/${roleId}/members`, {
|
|
175
|
+
body: JSON.stringify(params),
|
|
176
|
+
headers: {
|
|
177
|
+
Accept: "application/json",
|
|
178
|
+
"Content-Type": "application/json",
|
|
179
|
+
},
|
|
180
|
+
method: "POST",
|
|
181
|
+
signal,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
patchMembers(roleId, params, { signal } = {}) {
|
|
185
|
+
return this.#config
|
|
186
|
+
.v3Request(`roles/${roleId}/members`, {
|
|
187
|
+
body: JSON.stringify(params),
|
|
188
|
+
headers: {
|
|
189
|
+
Accept: "application/json",
|
|
190
|
+
"Content-Type": "application/json",
|
|
191
|
+
},
|
|
192
|
+
method: "PATCH",
|
|
193
|
+
signal,
|
|
194
|
+
})
|
|
195
|
+
.map((res) => res.json());
|
|
196
|
+
}
|
|
197
|
+
removeMember(roleId, memberId, { signal } = {}) {
|
|
198
|
+
return this.#config.v3Request(`roles/${roleId}/members/${memberId}`, {
|
|
199
|
+
method: "DELETE",
|
|
200
|
+
signal,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=RolesResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RolesResource.js","sourceRoot":"","sources":["../../../src/cloud/roles/RolesResource.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { V3Config } from \"../../common/Config.ts\";\nimport type { SignalParam } from \"../../common/Params.ts\";\nimport { Role, type RoleContent, type RoleMemberContent } from \"./Role.ts\";\n\ntype PaginatedRoleListResponse = {\n data: RoleContent[];\n nextPageToken?: string;\n totalResults: number;\n};\n\ntype PaginatedRoleMemberListResponse = {\n data: RoleMemberContent[];\n nextPageToken?: string;\n totalResults: number;\n};\n\ntype PatchParentRolesParams = {\n addRoles?: string[];\n removeRoles?: string[];\n};\n\ntype PatchParentRolesResponse = {\n addedRoles?: string[];\n removedRoles?: string[];\n};\n\ntype PatchMembersParams = {\n addRoles?: string[];\n removeRoles?: string[];\n addUsers?: string[];\n removeUsers?: string[];\n};\n\ntype PatchMembersResponse = {\n addedRoles?: string[];\n removedRoles?: string[];\n addedUsers?: string[];\n removedUsers?: string[];\n};\n\nexport class RolesResource {\n #config: V3Config;\n\n constructor(config: V3Config) {\n this.#config = config;\n }\n\n list(params?: { filter?: string; maxResults?: number; orderBy?: string }) {\n const buildQuery = (extra?: { pageToken?: string }) => {\n const query = new URLSearchParams();\n if (params?.filter) query.set(\"filter\", params.filter);\n if (params?.maxResults) query.set(\"maxResults\", String(params.maxResults));\n if (params?.orderBy) query.set(\"orderBy\", params.orderBy);\n if (extra?.pageToken) query.set(\"pageToken\", extra.pageToken);\n return query;\n };\n\n const getPage = ({ pageToken, signal }: { pageToken?: string } & SignalParam = {}) =>\n this.#config\n .v3Request(`roles?${buildQuery({ pageToken })}`, {\n headers: { Accept: \"application/json\" },\n signal,\n })\n .map((res) => res.json() as Promise<PaginatedRoleListResponse>)\n .map((page) => ({\n ...page,\n data: page.data.map((entity) => new Role(entity)),\n }));\n\n return {\n async *data({ signal }: SignalParam = {}) {\n const firstPageResult = await getPage({ signal }).promise;\n if (firstPageResult.isErr()) {\n throw firstPageResult.error;\n }\n let currentPage = firstPageResult.value;\n yield* currentPage.data;\n while (currentPage.nextPageToken) {\n currentPage = await getPage({\n pageToken: currentPage.nextPageToken,\n signal,\n }).promise.then((result) => result.unwrap());\n yield* currentPage.data;\n }\n },\n getPage,\n };\n }\n\n create(params: { name: string; description?: string }, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(\"roles\", {\n body: JSON.stringify(params),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"POST\",\n signal,\n })\n .map((res) => res.json() as Promise<RoleContent>)\n .map((entity) => new Role(entity));\n }\n\n retrieveById(id: string, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(`roles/${id}`, {\n headers: { Accept: \"application/json\" },\n signal,\n })\n .map((res) => res.json() as Promise<RoleContent>)\n .map((entity) => new Role(entity));\n }\n\n retrieveByName(name: string, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(`roles/names/${name}`, {\n headers: { Accept: \"application/json\" },\n signal,\n })\n .map((res) => res.json() as Promise<RoleContent>)\n .map((entity) => new Role(entity));\n }\n\n update(params: RoleContent, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(`roles/${params.id}`, {\n body: JSON.stringify(params),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"PUT\",\n signal,\n })\n .map((res) => res.json() as Promise<RoleContent>)\n .map((entity) => new Role(entity));\n }\n\n delete(id: string, { signal }: SignalParam = {}) {\n return this.#config.v3Request(`roles/${id}`, {\n method: \"DELETE\",\n signal,\n });\n }\n\n listParentRoles(\n roleId: string,\n params?: { maxResults?: number; pageToken?: string },\n { signal }: SignalParam = {},\n ) {\n const query = new URLSearchParams();\n if (params?.maxResults) query.set(\"maxResults\", String(params.maxResults));\n if (params?.pageToken) query.set(\"pageToken\", params.pageToken);\n\n return this.#config\n .v3Request(`roles/${roleId}/parent-roles?${query}`, {\n headers: { Accept: \"application/json\" },\n signal,\n })\n .map((res) => res.json() as Promise<PaginatedRoleListResponse>)\n .map((page) => ({ ...page, data: page.data.map((entity) => new Role(entity)) }));\n }\n\n addParentRole(roleId: string, parentRoleId: string, { signal }: SignalParam = {}) {\n return this.#config.v3Request(`roles/${roleId}/parent-roles`, {\n body: JSON.stringify({ id: parentRoleId }),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"POST\",\n signal,\n });\n }\n\n patchParentRoles(roleId: string, params: PatchParentRolesParams, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(`roles/${roleId}/parent-roles`, {\n body: JSON.stringify(params),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"PATCH\",\n signal,\n })\n .map((res) => res.json() as Promise<PatchParentRolesResponse>);\n }\n\n removeParentRole(roleId: string, parentRoleId: string, { signal }: SignalParam = {}) {\n return this.#config.v3Request(`roles/${roleId}/parent-roles/${parentRoleId}`, {\n method: \"DELETE\",\n signal,\n });\n }\n\n listMembers(\n roleId: string,\n params?: { maxResults?: number; pageToken?: string },\n { signal }: SignalParam = {},\n ) {\n const query = new URLSearchParams();\n if (params?.maxResults) query.set(\"maxResults\", String(params.maxResults));\n if (params?.pageToken) query.set(\"pageToken\", params.pageToken);\n\n return this.#config\n .v3Request(`roles/${roleId}/members?${query}`, {\n headers: { Accept: \"application/json\" },\n signal,\n })\n .map((res) => res.json() as Promise<PaginatedRoleMemberListResponse>);\n }\n\n addMember(roleId: string, params: RoleMemberContent, { signal }: SignalParam = {}) {\n return this.#config.v3Request(`roles/${roleId}/members`, {\n body: JSON.stringify(params),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"POST\",\n signal,\n });\n }\n\n patchMembers(roleId: string, params: PatchMembersParams, { signal }: SignalParam = {}) {\n return this.#config\n .v3Request(`roles/${roleId}/members`, {\n body: JSON.stringify(params),\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n method: \"PATCH\",\n signal,\n })\n .map((res) => res.json() as Promise<PatchMembersResponse>);\n }\n\n removeMember(roleId: string, memberId: string, { signal }: SignalParam = {}) {\n return this.#config.v3Request(`roles/${roleId}/members/${memberId}`, {\n method: \"DELETE\",\n signal,\n });\n }\n}\n"]}
|
|
@@ -3,11 +3,13 @@ import type { userPropertiesCodec } from "./userPropertiesCodec.ts";
|
|
|
3
3
|
import type { V3Config } from "../../common/Config.ts";
|
|
4
4
|
export declare class User implements z.output<typeof userPropertiesCodec> {
|
|
5
5
|
#private;
|
|
6
|
+
readonly description: string | null;
|
|
6
7
|
readonly email: string | null;
|
|
7
8
|
readonly familyName: string | null;
|
|
8
9
|
readonly givenName: string | null;
|
|
9
10
|
readonly id: string;
|
|
10
11
|
readonly identityType: z.output<typeof userPropertiesCodec>["identityType"];
|
|
12
|
+
readonly oauthClientId: string | null;
|
|
11
13
|
readonly status: z.output<typeof userPropertiesCodec>["status"];
|
|
12
14
|
readonly username: string;
|
|
13
15
|
constructor(config: V3Config, properties: z.output<typeof userPropertiesCodec>);
|
package/dist/cloud/users/User.js
CHANGED
|
@@ -17,20 +17,24 @@ import * as z from "zod/mini";
|
|
|
17
17
|
export class User {
|
|
18
18
|
// eslint-disable-next-line no-unused-private-class-members
|
|
19
19
|
#config;
|
|
20
|
+
description;
|
|
20
21
|
email;
|
|
21
22
|
familyName;
|
|
22
23
|
givenName;
|
|
23
24
|
id;
|
|
24
25
|
identityType;
|
|
26
|
+
oauthClientId;
|
|
25
27
|
status;
|
|
26
28
|
username;
|
|
27
29
|
constructor(config, properties) {
|
|
28
30
|
this.#config = config;
|
|
31
|
+
this.description = properties.description;
|
|
29
32
|
this.email = properties.email;
|
|
30
33
|
this.familyName = properties.familyName;
|
|
31
34
|
this.givenName = properties.givenName;
|
|
32
35
|
this.id = properties.id;
|
|
33
36
|
this.identityType = properties.identityType;
|
|
37
|
+
this.oauthClientId = properties.oauthClientId;
|
|
34
38
|
this.status = properties.status;
|
|
35
39
|
this.username = properties.username;
|
|
36
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/cloud/users/User.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,MAAM,OAAO,IAAI;IACf,2DAA2D;IAClD,OAAO,CAAW;IAClB,KAAK,CAAgB;IACrB,UAAU,CAAgB;IAC1B,SAAS,CAAgB;IACzB,EAAE,CAAS;IACX,YAAY,CAAuD;IACnE,MAAM,CAAiD;IACvD,QAAQ,CAAS;IAE1B,YAAY,MAAgB,EAAE,UAAgD;QAC5E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;CACF","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod/mini\";\nimport type { userPropertiesCodec } from \"./userPropertiesCodec.ts\";\nimport type { V3Config } from \"../../common/Config.ts\";\n\nexport class User implements z.output<typeof userPropertiesCodec> {\n // eslint-disable-next-line no-unused-private-class-members\n readonly #config: V3Config;\n readonly email: string | null;\n readonly familyName: string | null;\n readonly givenName: string | null;\n readonly id: string;\n readonly identityType: z.output<typeof userPropertiesCodec>[\"identityType\"];\n readonly status: z.output<typeof userPropertiesCodec>[\"status\"];\n readonly username: string;\n\n constructor(config: V3Config, properties: z.output<typeof userPropertiesCodec>) {\n this.#config = config;\n this.email = properties.email;\n this.familyName = properties.familyName;\n this.givenName = properties.givenName;\n this.id = properties.id;\n this.identityType = properties.identityType;\n this.status = properties.status;\n this.username = properties.username;\n }\n\n get displayName(): string {\n if (this.givenName || this.familyName) {\n return [this.givenName, this.familyName].filter(Boolean).join(\" \");\n }\n\n if (this.username) {\n return this.username;\n }\n\n if (this.email) {\n return this.email;\n }\n\n return this.id;\n }\n\n get initials(): string {\n if (this.givenName && this.familyName) {\n return this.givenName.charAt(0) + this.familyName.charAt(0);\n }\n\n return this.displayName.slice(0, 2);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/cloud/users/User.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,MAAM,OAAO,IAAI;IACf,2DAA2D;IAClD,OAAO,CAAW;IAClB,WAAW,CAAgB;IAC3B,KAAK,CAAgB;IACrB,UAAU,CAAgB;IAC1B,SAAS,CAAgB;IACzB,EAAE,CAAS;IACX,YAAY,CAAuD;IACnE,aAAa,CAAgB;IAC7B,MAAM,CAAiD;IACvD,QAAQ,CAAS;IAE1B,YAAY,MAAgB,EAAE,UAAgD;QAC5E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;CACF","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod/mini\";\nimport type { userPropertiesCodec } from \"./userPropertiesCodec.ts\";\nimport type { V3Config } from \"../../common/Config.ts\";\n\nexport class User implements z.output<typeof userPropertiesCodec> {\n // eslint-disable-next-line no-unused-private-class-members\n readonly #config: V3Config;\n readonly description: string | null;\n readonly email: string | null;\n readonly familyName: string | null;\n readonly givenName: string | null;\n readonly id: string;\n readonly identityType: z.output<typeof userPropertiesCodec>[\"identityType\"];\n readonly oauthClientId: string | null;\n readonly status: z.output<typeof userPropertiesCodec>[\"status\"];\n readonly username: string;\n\n constructor(config: V3Config, properties: z.output<typeof userPropertiesCodec>) {\n this.#config = config;\n this.description = properties.description;\n this.email = properties.email;\n this.familyName = properties.familyName;\n this.givenName = properties.givenName;\n this.id = properties.id;\n this.identityType = properties.identityType;\n this.oauthClientId = properties.oauthClientId;\n this.status = properties.status;\n this.username = properties.username;\n }\n\n get displayName(): string {\n if (this.givenName || this.familyName) {\n return [this.givenName, this.familyName].filter(Boolean).join(\" \");\n }\n\n if (this.username) {\n return this.username;\n }\n\n if (this.email) {\n return this.email;\n }\n\n return this.id;\n }\n\n get initials(): string {\n if (this.givenName && this.familyName) {\n return this.givenName.charAt(0) + this.familyName.charAt(0);\n }\n\n return this.displayName.slice(0, 2);\n }\n}\n"]}
|
|
@@ -5,6 +5,7 @@ export declare const identityTypeSchema: z.ZodMiniEnum<{
|
|
|
5
5
|
}>;
|
|
6
6
|
export declare const userPropertiesCodec: z.ZodMiniCodec<z.ZodMiniObject<{
|
|
7
7
|
active: z.ZodMiniBoolean<boolean>;
|
|
8
|
+
description: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
8
9
|
firstName: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
9
10
|
id: z.ZodMiniString<string>;
|
|
10
11
|
identityType: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
@@ -13,7 +14,9 @@ export declare const userPropertiesCodec: z.ZodMiniCodec<z.ZodMiniObject<{
|
|
|
13
14
|
}>>;
|
|
14
15
|
lastName: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
15
16
|
name: z.ZodMiniString<string>;
|
|
17
|
+
oauthClientId: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
16
18
|
}, z.core.$strip>, z.ZodMiniObject<{
|
|
19
|
+
description: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
17
20
|
email: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
18
21
|
familyName: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
19
22
|
givenName: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
@@ -22,6 +25,7 @@ export declare const userPropertiesCodec: z.ZodMiniCodec<z.ZodMiniObject<{
|
|
|
22
25
|
REGULAR_USER: "REGULAR_USER";
|
|
23
26
|
SERVICE_USER: "SERVICE_USER";
|
|
24
27
|
}>>;
|
|
28
|
+
oauthClientId: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
25
29
|
status: z.ZodMiniEnum<{
|
|
26
30
|
ACTIVE: "ACTIVE";
|
|
27
31
|
INACTIVE: "INACTIVE";
|
|
@@ -17,28 +17,34 @@ import * as z from "zod/mini";
|
|
|
17
17
|
export const identityTypeSchema = z.enum(["REGULAR_USER", "SERVICE_USER"]);
|
|
18
18
|
const userPropertiesInSchema = z.object({
|
|
19
19
|
active: z.boolean(),
|
|
20
|
+
description: z.optional(z.nullable(z.string())),
|
|
20
21
|
firstName: z.optional(z.nullable(z.string())),
|
|
21
22
|
id: z.string().check(z.minLength(1)),
|
|
22
23
|
identityType: z.optional(identityTypeSchema),
|
|
23
24
|
lastName: z.optional(z.nullable(z.string())),
|
|
24
25
|
name: z.string(),
|
|
26
|
+
oauthClientId: z.optional(z.nullable(z.string())),
|
|
25
27
|
});
|
|
26
28
|
export const userPropertiesCodec = z.codec(userPropertiesInSchema, z.object({
|
|
29
|
+
description: z.nullable(z.string()),
|
|
27
30
|
email: z.nullable(z.string()),
|
|
28
31
|
familyName: z.nullable(z.string().check(z.trim())),
|
|
29
32
|
givenName: z.nullable(z.string().check(z.trim())),
|
|
30
33
|
id: z.string().check(z.minLength(1)),
|
|
31
34
|
identityType: z.optional(identityTypeSchema),
|
|
35
|
+
oauthClientId: z.nullable(z.string()),
|
|
32
36
|
status: z.enum(["ACTIVE", "INACTIVE"]),
|
|
33
37
|
username: z.string().check(z.trim(), z.minLength(1)),
|
|
34
38
|
}), {
|
|
35
39
|
decode(v) {
|
|
36
40
|
return {
|
|
41
|
+
description: v.description || null,
|
|
37
42
|
email: v.name || null,
|
|
38
43
|
familyName: v.lastName || null,
|
|
39
44
|
givenName: v.firstName || null,
|
|
40
45
|
id: v.id,
|
|
41
46
|
identityType: v.identityType,
|
|
47
|
+
oauthClientId: v.oauthClientId || null,
|
|
42
48
|
status: v.active ? "ACTIVE" : "INACTIVE",
|
|
43
49
|
username: v.name,
|
|
44
50
|
};
|
|
@@ -46,11 +52,13 @@ export const userPropertiesCodec = z.codec(userPropertiesInSchema, z.object({
|
|
|
46
52
|
encode(v) {
|
|
47
53
|
return {
|
|
48
54
|
active: v.status === "ACTIVE",
|
|
55
|
+
description: v.description || undefined,
|
|
49
56
|
firstName: v.givenName || undefined,
|
|
50
57
|
id: v.id,
|
|
51
58
|
identityType: v.identityType,
|
|
52
59
|
lastName: v.familyName || undefined,
|
|
53
60
|
name: v.username,
|
|
61
|
+
oauthClientId: v.oauthClientId || undefined,
|
|
54
62
|
};
|
|
55
63
|
},
|
|
56
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userPropertiesCodec.js","sourceRoot":"","sources":["../../../src/cloud/users/userPropertiesCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;AAE3E,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"userPropertiesCodec.js","sourceRoot":"","sources":["../../../src/cloud/users/userPropertiesCodec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod/mini\";\n\nexport const identityTypeSchema = z.enum([\"REGULAR_USER\", \"SERVICE_USER\"]);\n\nconst userPropertiesInSchema = z.object({\n active: z.boolean(),\n description: z.optional(z.nullable(z.string())),\n firstName: z.optional(z.nullable(z.string())),\n id: z.string().check(z.minLength(1)),\n identityType: z.optional(identityTypeSchema),\n lastName: z.optional(z.nullable(z.string())),\n name: z.string(),\n oauthClientId: z.optional(z.nullable(z.string())),\n});\n\nexport const userPropertiesCodec = z.codec(\n userPropertiesInSchema,\n z.object({\n description: z.nullable(z.string()),\n email: z.nullable(z.string()),\n familyName: z.nullable(z.string().check(z.trim())),\n givenName: z.nullable(z.string().check(z.trim())),\n id: z.string().check(z.minLength(1)),\n identityType: z.optional(identityTypeSchema),\n oauthClientId: z.nullable(z.string()),\n status: z.enum([\"ACTIVE\", \"INACTIVE\"]),\n username: z.string().check(z.trim(), z.minLength(1)),\n }),\n {\n decode(v) {\n return {\n description: v.description || null,\n email: v.name || null,\n familyName: v.lastName || null,\n givenName: v.firstName || null,\n id: v.id,\n identityType: v.identityType,\n oauthClientId: v.oauthClientId || null,\n status: v.active ? (\"ACTIVE\" as const) : (\"INACTIVE\" as const),\n username: v.name,\n };\n },\n encode(v) {\n return {\n active: v.status === \"ACTIVE\",\n description: v.description || undefined,\n firstName: v.givenName || undefined,\n id: v.id,\n identityType: v.identityType,\n lastName: v.familyName || undefined,\n name: v.username,\n oauthClientId: v.oauthClientId || undefined,\n };\n },\n },\n);\n"]}
|
package/dist-iife/cloud.js
CHANGED
|
@@ -16068,28 +16068,34 @@ var DremioCloud = (() => {
|
|
|
16068
16068
|
var identityTypeSchema = _enum(["REGULAR_USER", "SERVICE_USER"]);
|
|
16069
16069
|
var userPropertiesInSchema = object({
|
|
16070
16070
|
active: boolean2(),
|
|
16071
|
+
description: optional(nullable(string2())),
|
|
16071
16072
|
firstName: optional(nullable(string2())),
|
|
16072
16073
|
id: string2().check(_minLength(1)),
|
|
16073
16074
|
identityType: optional(identityTypeSchema),
|
|
16074
16075
|
lastName: optional(nullable(string2())),
|
|
16075
|
-
name: string2()
|
|
16076
|
+
name: string2(),
|
|
16077
|
+
oauthClientId: optional(nullable(string2()))
|
|
16076
16078
|
});
|
|
16077
16079
|
var userPropertiesCodec = codec(userPropertiesInSchema, object({
|
|
16080
|
+
description: nullable(string2()),
|
|
16078
16081
|
email: nullable(string2()),
|
|
16079
16082
|
familyName: nullable(string2().check(_trim())),
|
|
16080
16083
|
givenName: nullable(string2().check(_trim())),
|
|
16081
16084
|
id: string2().check(_minLength(1)),
|
|
16082
16085
|
identityType: optional(identityTypeSchema),
|
|
16086
|
+
oauthClientId: nullable(string2()),
|
|
16083
16087
|
status: _enum(["ACTIVE", "INACTIVE"]),
|
|
16084
16088
|
username: string2().check(_trim(), _minLength(1))
|
|
16085
16089
|
}), {
|
|
16086
16090
|
decode(v2) {
|
|
16087
16091
|
return {
|
|
16092
|
+
description: v2.description || null,
|
|
16088
16093
|
email: v2.name || null,
|
|
16089
16094
|
familyName: v2.lastName || null,
|
|
16090
16095
|
givenName: v2.firstName || null,
|
|
16091
16096
|
id: v2.id,
|
|
16092
16097
|
identityType: v2.identityType,
|
|
16098
|
+
oauthClientId: v2.oauthClientId || null,
|
|
16093
16099
|
status: v2.active ? "ACTIVE" : "INACTIVE",
|
|
16094
16100
|
username: v2.name
|
|
16095
16101
|
};
|
|
@@ -16097,11 +16103,13 @@ var DremioCloud = (() => {
|
|
|
16097
16103
|
encode(v2) {
|
|
16098
16104
|
return {
|
|
16099
16105
|
active: v2.status === "ACTIVE",
|
|
16106
|
+
description: v2.description || void 0,
|
|
16100
16107
|
firstName: v2.givenName || void 0,
|
|
16101
16108
|
id: v2.id,
|
|
16102
16109
|
identityType: v2.identityType,
|
|
16103
16110
|
lastName: v2.familyName || void 0,
|
|
16104
|
-
name: v2.username
|
|
16111
|
+
name: v2.username,
|
|
16112
|
+
oauthClientId: v2.oauthClientId || void 0
|
|
16105
16113
|
};
|
|
16106
16114
|
}
|
|
16107
16115
|
});
|
|
@@ -16110,20 +16118,24 @@ var DremioCloud = (() => {
|
|
|
16110
16118
|
var User2 = class {
|
|
16111
16119
|
// eslint-disable-next-line no-unused-private-class-members
|
|
16112
16120
|
#config;
|
|
16121
|
+
description;
|
|
16113
16122
|
email;
|
|
16114
16123
|
familyName;
|
|
16115
16124
|
givenName;
|
|
16116
16125
|
id;
|
|
16117
16126
|
identityType;
|
|
16127
|
+
oauthClientId;
|
|
16118
16128
|
status;
|
|
16119
16129
|
username;
|
|
16120
16130
|
constructor(config3, properties) {
|
|
16121
16131
|
this.#config = config3;
|
|
16132
|
+
this.description = properties.description;
|
|
16122
16133
|
this.email = properties.email;
|
|
16123
16134
|
this.familyName = properties.familyName;
|
|
16124
16135
|
this.givenName = properties.givenName;
|
|
16125
16136
|
this.id = properties.id;
|
|
16126
16137
|
this.identityType = properties.identityType;
|
|
16138
|
+
this.oauthClientId = properties.oauthClientId;
|
|
16127
16139
|
this.status = properties.status;
|
|
16128
16140
|
this.username = properties.username;
|
|
16129
16141
|
}
|
|
@@ -16349,6 +16361,185 @@ var DremioCloud = (() => {
|
|
|
16349
16361
|
}
|
|
16350
16362
|
};
|
|
16351
16363
|
|
|
16364
|
+
// dist/cloud/roles/Role.js
|
|
16365
|
+
var Role2 = class {
|
|
16366
|
+
id;
|
|
16367
|
+
name;
|
|
16368
|
+
type;
|
|
16369
|
+
description;
|
|
16370
|
+
constructor(properties) {
|
|
16371
|
+
this.id = properties.id;
|
|
16372
|
+
this.name = properties.name;
|
|
16373
|
+
this.type = properties.type;
|
|
16374
|
+
this.description = properties.description;
|
|
16375
|
+
}
|
|
16376
|
+
};
|
|
16377
|
+
|
|
16378
|
+
// dist/cloud/roles/RolesResource.js
|
|
16379
|
+
var RolesResource2 = class {
|
|
16380
|
+
#config;
|
|
16381
|
+
constructor(config3) {
|
|
16382
|
+
this.#config = config3;
|
|
16383
|
+
}
|
|
16384
|
+
list(params) {
|
|
16385
|
+
const buildQuery = (extra) => {
|
|
16386
|
+
const query = new URLSearchParams();
|
|
16387
|
+
if (params?.filter)
|
|
16388
|
+
query.set("filter", params.filter);
|
|
16389
|
+
if (params?.maxResults)
|
|
16390
|
+
query.set("maxResults", String(params.maxResults));
|
|
16391
|
+
if (params?.orderBy)
|
|
16392
|
+
query.set("orderBy", params.orderBy);
|
|
16393
|
+
if (extra?.pageToken)
|
|
16394
|
+
query.set("pageToken", extra.pageToken);
|
|
16395
|
+
return query;
|
|
16396
|
+
};
|
|
16397
|
+
const getPage = ({ pageToken, signal } = {}) => this.#config.v3Request(`roles?${buildQuery({ pageToken })}`, {
|
|
16398
|
+
headers: { Accept: "application/json" },
|
|
16399
|
+
signal
|
|
16400
|
+
}).map((res) => res.json()).map((page) => ({
|
|
16401
|
+
...page,
|
|
16402
|
+
data: page.data.map((entity) => new Role2(entity))
|
|
16403
|
+
}));
|
|
16404
|
+
return {
|
|
16405
|
+
async *data({ signal } = {}) {
|
|
16406
|
+
const firstPageResult = await getPage({ signal }).promise;
|
|
16407
|
+
if (firstPageResult.isErr()) {
|
|
16408
|
+
throw firstPageResult.error;
|
|
16409
|
+
}
|
|
16410
|
+
let currentPage = firstPageResult.value;
|
|
16411
|
+
yield* currentPage.data;
|
|
16412
|
+
while (currentPage.nextPageToken) {
|
|
16413
|
+
currentPage = await getPage({
|
|
16414
|
+
pageToken: currentPage.nextPageToken,
|
|
16415
|
+
signal
|
|
16416
|
+
}).promise.then((result) => result.unwrap());
|
|
16417
|
+
yield* currentPage.data;
|
|
16418
|
+
}
|
|
16419
|
+
},
|
|
16420
|
+
getPage
|
|
16421
|
+
};
|
|
16422
|
+
}
|
|
16423
|
+
create(params, { signal } = {}) {
|
|
16424
|
+
return this.#config.v3Request("roles", {
|
|
16425
|
+
body: JSON.stringify(params),
|
|
16426
|
+
headers: {
|
|
16427
|
+
Accept: "application/json",
|
|
16428
|
+
"Content-Type": "application/json"
|
|
16429
|
+
},
|
|
16430
|
+
method: "POST",
|
|
16431
|
+
signal
|
|
16432
|
+
}).map((res) => res.json()).map((entity) => new Role2(entity));
|
|
16433
|
+
}
|
|
16434
|
+
retrieveById(id, { signal } = {}) {
|
|
16435
|
+
return this.#config.v3Request(`roles/${id}`, {
|
|
16436
|
+
headers: { Accept: "application/json" },
|
|
16437
|
+
signal
|
|
16438
|
+
}).map((res) => res.json()).map((entity) => new Role2(entity));
|
|
16439
|
+
}
|
|
16440
|
+
retrieveByName(name, { signal } = {}) {
|
|
16441
|
+
return this.#config.v3Request(`roles/names/${name}`, {
|
|
16442
|
+
headers: { Accept: "application/json" },
|
|
16443
|
+
signal
|
|
16444
|
+
}).map((res) => res.json()).map((entity) => new Role2(entity));
|
|
16445
|
+
}
|
|
16446
|
+
update(params, { signal } = {}) {
|
|
16447
|
+
return this.#config.v3Request(`roles/${params.id}`, {
|
|
16448
|
+
body: JSON.stringify(params),
|
|
16449
|
+
headers: {
|
|
16450
|
+
Accept: "application/json",
|
|
16451
|
+
"Content-Type": "application/json"
|
|
16452
|
+
},
|
|
16453
|
+
method: "PUT",
|
|
16454
|
+
signal
|
|
16455
|
+
}).map((res) => res.json()).map((entity) => new Role2(entity));
|
|
16456
|
+
}
|
|
16457
|
+
delete(id, { signal } = {}) {
|
|
16458
|
+
return this.#config.v3Request(`roles/${id}`, {
|
|
16459
|
+
method: "DELETE",
|
|
16460
|
+
signal
|
|
16461
|
+
});
|
|
16462
|
+
}
|
|
16463
|
+
listParentRoles(roleId, params, { signal } = {}) {
|
|
16464
|
+
const query = new URLSearchParams();
|
|
16465
|
+
if (params?.maxResults)
|
|
16466
|
+
query.set("maxResults", String(params.maxResults));
|
|
16467
|
+
if (params?.pageToken)
|
|
16468
|
+
query.set("pageToken", params.pageToken);
|
|
16469
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles?${query}`, {
|
|
16470
|
+
headers: { Accept: "application/json" },
|
|
16471
|
+
signal
|
|
16472
|
+
}).map((res) => res.json()).map((page) => ({ ...page, data: page.data.map((entity) => new Role2(entity)) }));
|
|
16473
|
+
}
|
|
16474
|
+
addParentRole(roleId, parentRoleId, { signal } = {}) {
|
|
16475
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles`, {
|
|
16476
|
+
body: JSON.stringify({ id: parentRoleId }),
|
|
16477
|
+
headers: {
|
|
16478
|
+
Accept: "application/json",
|
|
16479
|
+
"Content-Type": "application/json"
|
|
16480
|
+
},
|
|
16481
|
+
method: "POST",
|
|
16482
|
+
signal
|
|
16483
|
+
});
|
|
16484
|
+
}
|
|
16485
|
+
patchParentRoles(roleId, params, { signal } = {}) {
|
|
16486
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles`, {
|
|
16487
|
+
body: JSON.stringify(params),
|
|
16488
|
+
headers: {
|
|
16489
|
+
Accept: "application/json",
|
|
16490
|
+
"Content-Type": "application/json"
|
|
16491
|
+
},
|
|
16492
|
+
method: "PATCH",
|
|
16493
|
+
signal
|
|
16494
|
+
}).map((res) => res.json());
|
|
16495
|
+
}
|
|
16496
|
+
removeParentRole(roleId, parentRoleId, { signal } = {}) {
|
|
16497
|
+
return this.#config.v3Request(`roles/${roleId}/parent-roles/${parentRoleId}`, {
|
|
16498
|
+
method: "DELETE",
|
|
16499
|
+
signal
|
|
16500
|
+
});
|
|
16501
|
+
}
|
|
16502
|
+
listMembers(roleId, params, { signal } = {}) {
|
|
16503
|
+
const query = new URLSearchParams();
|
|
16504
|
+
if (params?.maxResults)
|
|
16505
|
+
query.set("maxResults", String(params.maxResults));
|
|
16506
|
+
if (params?.pageToken)
|
|
16507
|
+
query.set("pageToken", params.pageToken);
|
|
16508
|
+
return this.#config.v3Request(`roles/${roleId}/members?${query}`, {
|
|
16509
|
+
headers: { Accept: "application/json" },
|
|
16510
|
+
signal
|
|
16511
|
+
}).map((res) => res.json());
|
|
16512
|
+
}
|
|
16513
|
+
addMember(roleId, params, { signal } = {}) {
|
|
16514
|
+
return this.#config.v3Request(`roles/${roleId}/members`, {
|
|
16515
|
+
body: JSON.stringify(params),
|
|
16516
|
+
headers: {
|
|
16517
|
+
Accept: "application/json",
|
|
16518
|
+
"Content-Type": "application/json"
|
|
16519
|
+
},
|
|
16520
|
+
method: "POST",
|
|
16521
|
+
signal
|
|
16522
|
+
});
|
|
16523
|
+
}
|
|
16524
|
+
patchMembers(roleId, params, { signal } = {}) {
|
|
16525
|
+
return this.#config.v3Request(`roles/${roleId}/members`, {
|
|
16526
|
+
body: JSON.stringify(params),
|
|
16527
|
+
headers: {
|
|
16528
|
+
Accept: "application/json",
|
|
16529
|
+
"Content-Type": "application/json"
|
|
16530
|
+
},
|
|
16531
|
+
method: "PATCH",
|
|
16532
|
+
signal
|
|
16533
|
+
}).map((res) => res.json());
|
|
16534
|
+
}
|
|
16535
|
+
removeMember(roleId, memberId, { signal } = {}) {
|
|
16536
|
+
return this.#config.v3Request(`roles/${roleId}/members/${memberId}`, {
|
|
16537
|
+
method: "DELETE",
|
|
16538
|
+
signal
|
|
16539
|
+
});
|
|
16540
|
+
}
|
|
16541
|
+
};
|
|
16542
|
+
|
|
16352
16543
|
// dist/enterprise/ai/chat/ChatSession.js
|
|
16353
16544
|
var chatSessionInputSchema = object({
|
|
16354
16545
|
id: string2(),
|
|
@@ -23119,6 +23310,7 @@ ${err.message}`);
|
|
|
23119
23310
|
roles;
|
|
23120
23311
|
scripts;
|
|
23121
23312
|
sql;
|
|
23313
|
+
_roles;
|
|
23122
23314
|
_users;
|
|
23123
23315
|
users;
|
|
23124
23316
|
#resourceConfig;
|
|
@@ -23137,6 +23329,7 @@ ${err.message}`);
|
|
|
23137
23329
|
this.roles = import_moize2.default.default((projectId) => new RolesResource(this.#resourceConfig(projectId)));
|
|
23138
23330
|
this.scripts = import_moize2.default.default((projectId) => new EnterpriseScriptsResource(this.#resourceConfig(projectId)));
|
|
23139
23331
|
this.sql = import_moize2.default.default((projectId) => new SqlResource(this.#resourceConfig(projectId)));
|
|
23332
|
+
this._roles = new RolesResource2(this.#resourceConfig());
|
|
23140
23333
|
this._users = new UsersResource(this.#resourceConfig());
|
|
23141
23334
|
this.users = import_moize2.default.default((projectId) => new CloudUsersResource(this.#resourceConfig(projectId)));
|
|
23142
23335
|
}
|