@dremio/js-sdk 0.52.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.
@@ -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);
@@ -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
  }
@@ -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"]}
@@ -158,6 +158,21 @@ export declare class AIResource {
158
158
  chunkType: "interrupt";
159
159
  };
160
160
  role: "agent";
161
+ } | {
162
+ conversationId: string;
163
+ modelName: string;
164
+ modelProviderId: string;
165
+ runId: string;
166
+ createdAt: import("temporal-polyfill").Temporal.Instant;
167
+ id: string;
168
+ content: {
169
+ chunkType: "jobUpdate";
170
+ jobId: string;
171
+ jobState: string;
172
+ toolExecutionId: string;
173
+ toolName: string;
174
+ };
175
+ role: "agent";
161
176
  } | {
162
177
  conversationId: string;
163
178
  modelName: string;
@@ -277,6 +292,21 @@ export declare class AIResource {
277
292
  chunkType: "interrupt";
278
293
  };
279
294
  role: "agent";
295
+ } | {
296
+ conversationId: string;
297
+ modelName: string;
298
+ modelProviderId: string;
299
+ runId: string;
300
+ createdAt: import("temporal-polyfill").Temporal.Instant;
301
+ id: string;
302
+ content: {
303
+ chunkType: "jobUpdate";
304
+ jobId: string;
305
+ jobState: string;
306
+ toolExecutionId: string;
307
+ toolName: string;
308
+ };
309
+ role: "agent";
280
310
  } | {
281
311
  conversationId: string;
282
312
  modelName: string;
@@ -403,6 +433,21 @@ export declare class AIResource {
403
433
  chunkType: "interrupt";
404
434
  };
405
435
  role: "agent";
436
+ } | {
437
+ conversationId: string;
438
+ modelName: string;
439
+ modelProviderId: string;
440
+ runId: string;
441
+ createdAt: import("temporal-polyfill").Temporal.Instant;
442
+ id: string;
443
+ content: {
444
+ chunkType: "jobUpdate";
445
+ jobId: string;
446
+ jobState: string;
447
+ toolExecutionId: string;
448
+ toolName: string;
449
+ };
450
+ role: "agent";
406
451
  } | {
407
452
  conversationId: string;
408
453
  modelName: string;
@@ -546,6 +591,21 @@ export declare class AIResource {
546
591
  chunkType: "interrupt";
547
592
  };
548
593
  role: "agent";
594
+ } | {
595
+ conversationId: string;
596
+ modelName: string;
597
+ modelProviderId: string;
598
+ runId: string;
599
+ createdAt: import("temporal-polyfill").Temporal.Instant;
600
+ id: string;
601
+ content: {
602
+ chunkType: "jobUpdate";
603
+ jobId: string;
604
+ jobState: string;
605
+ toolExecutionId: string;
606
+ toolName: string;
607
+ };
608
+ role: "agent";
549
609
  } | {
550
610
  conversationId: string;
551
611
  modelName: string;
@@ -669,6 +729,21 @@ export declare class AIResource {
669
729
  chunkType: "interrupt";
670
730
  };
671
731
  role: "agent";
732
+ } | {
733
+ conversationId: string;
734
+ modelName: string;
735
+ modelProviderId: string;
736
+ runId: string;
737
+ createdAt: import("temporal-polyfill").Temporal.Instant;
738
+ id: string;
739
+ content: {
740
+ chunkType: "jobUpdate";
741
+ jobId: string;
742
+ jobState: string;
743
+ toolExecutionId: string;
744
+ toolName: string;
745
+ };
746
+ role: "agent";
672
747
  } | {
673
748
  conversationId: string;
674
749
  modelName: string;
@@ -807,6 +882,21 @@ export declare class AIResource {
807
882
  chunkType: "interrupt";
808
883
  };
809
884
  role: "agent";
885
+ } | {
886
+ conversationId: string;
887
+ modelName: string;
888
+ modelProviderId: string;
889
+ runId: string;
890
+ createdAt: import("temporal-polyfill").Temporal.Instant;
891
+ id: string;
892
+ content: {
893
+ chunkType: "jobUpdate";
894
+ jobId: string;
895
+ jobState: string;
896
+ toolExecutionId: string;
897
+ toolName: string;
898
+ };
899
+ role: "agent";
810
900
  } | {
811
901
  conversationId: string;
812
902
  modelName: string;
@@ -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>);
@@ -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"]}