@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.
- 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/ai/AIResource.d.ts +90 -0
- 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/enterprise/ai/AIResource.d.ts +90 -0
- package/dist/enterprise/ai/chat/chatEventSchema.d.ts +27 -0
- package/dist/enterprise/ai/chat/chatEventSchema.js +24 -0
- package/dist/enterprise/ai/chat/chatEventSchema.js.map +1 -1
- package/dist/enterprise/ai/conversations/AgentConversation.d.ts +30 -0
- package/dist/enterprise/ai/conversations/createConversationMachine.d.ts +90 -0
- package/dist/enterprise/ai/conversations/methods/retrieveConversationHistory.d.ts +15 -0
- package/dist-iife/cloud.js +219 -2
- package/dist-iife/enterprise.js +24 -0
- 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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,OAAO,MAAM;IACR,EAAE,CAAqC;IACvC,MAAM,CAAwC;IAC9C,OAAO,CAAmD;IAC1D,MAAM,CAAiB;IACvB,OAAO,CAAyC;IAChD,WAAW,CAA6C;IACxD,IAAI,CAAsC;IAC1C,iBAAiB,CAA4B;IAC7C,aAAa,CAAwB;IACrC,QAAQ,CAAmB;IAC3B,KAAK,CAAuC;IAC5C,OAAO,CAAmD;IAC1D,GAAG,CAAqC;IACxC,MAAM,CAAgB;IACtB,KAAK,CAA4C;IACjD,eAAe,CAAuC;IAE/D,YAAY,MAAc;QACxB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CACzB,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAC3E,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAC1B,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CACtF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAC1B,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAC5E,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAC9B,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAChF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CACvB,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CACzE,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CACxB,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAC1E,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAC1B,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CACtF,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CACtB,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CACxB,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAC/E,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,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 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":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,IAAI,EAA4C,MAAM,WAAW,CAAC;AAsC3E,MAAM,OAAO,aAAa;IACxB,OAAO,CAAW;IAElB,YAAY,MAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAmE;QACtE,MAAM,UAAU,GAAG,CAAC,KAA8B,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,MAAM,EAAE,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,MAAM,EAAE,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3E,IAAI,MAAM,EAAE,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,KAA2C,EAAE,EAAE,EAAE,CACnF,IAAI,CAAC,OAAO;aACT,SAAS,CAAC,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAwC,CAAC;aAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;SAClD,CAAC,CAAC,CAAC;QAER,OAAO;YACL,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,KAAkB,EAAE;gBACtC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;gBAC1D,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC5B,MAAM,eAAe,CAAC,KAAK,CAAC;gBAC9B,CAAC;gBACD,IAAI,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC;gBACxC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;gBACxB,OAAO,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,WAAW,GAAG,MAAM,OAAO,CAAC;wBAC1B,SAAS,EAAE,WAAW,CAAC,aAAa;wBACpC,MAAM;qBACP,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7C,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAA8C,EAAE,EAAE,MAAM,KAAkB,EAAE;QACjF,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,MAAM;YACd,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAAC;aAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,EAAE,MAAM,KAAkB,EAAE;QACnD,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAAC;aAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,EAAE,MAAM,KAAkB,EAAE;QACvD,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,eAAe,IAAI,EAAE,EAAE;YAChC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAAC;aAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAmB,EAAE,EAAE,MAAM,KAAkB,EAAE;QACtD,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,MAAM,CAAC,EAAE,EAAE,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,KAAK;YACb,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA0B,CAAC;aAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,EAAE,MAAM,KAAkB,EAAE;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE;YAC3C,MAAM,EAAE,QAAQ;YAChB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CACb,MAAc,EACd,MAAoD,EACpD,EAAE,MAAM,KAAkB,EAAE;QAE5B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,MAAM,iBAAiB,KAAK,EAAE,EAAE;YAClD,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAwC,CAAC;aAC9D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE,MAAM,KAAkB,EAAE;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,MAAM,eAAe,EAAE;YAC5D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;YAC1C,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,MAAM;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,MAA8B,EAAE,EAAE,MAAM,KAAkB,EAAE;QAC3F,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,MAAM,eAAe,EAAE;YACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,OAAO;YACf,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAuC,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE,MAAM,KAAkB,EAAE;QACjF,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,MAAM,iBAAiB,YAAY,EAAE,EAAE;YAC5E,MAAM,EAAE,QAAQ;YAChB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,MAAc,EACd,MAAoD,EACpD,EAAE,MAAM,KAAkB,EAAE;QAE5B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,MAAM,YAAY,KAAK,EAAE,EAAE;YAC7C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAA8C,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,MAAyB,EAAE,EAAE,MAAM,KAAkB,EAAE;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,MAAM,UAAU,EAAE;YACvD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,MAAM;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,MAA0B,EAAE,EAAE,MAAM,KAAkB,EAAE;QACnF,OAAO,IAAI,CAAC,OAAO;aAChB,SAAS,CAAC,SAAS,MAAM,UAAU,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,MAAM,EAAE,OAAO;YACf,MAAM;SACP,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAmC,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE,MAAM,KAAkB,EAAE;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,MAAM,YAAY,QAAQ,EAAE,EAAE;YACnE,MAAM,EAAE,QAAQ;YAChB,MAAM;SACP,CAAC,CAAC;IACL,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 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"]}
|