@taruvi/sdk 1.5.0 → 1.5.1
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/README.md +60 -1289
- package/dist/client.d.ts +27 -0
- package/dist/client.d.ts.map +1 -0
- package/{src/client.ts → dist/client.js} +30 -48
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/analytics/AnalyticsClient.d.ts +9 -0
- package/dist/lib/analytics/AnalyticsClient.d.ts.map +1 -0
- package/dist/lib/analytics/AnalyticsClient.js +17 -0
- package/dist/lib/analytics/AnalyticsClient.js.map +1 -0
- package/dist/lib/analytics/types.d.ts +6 -0
- package/dist/lib/analytics/types.d.ts.map +1 -0
- package/dist/lib/analytics/types.js +2 -0
- package/dist/lib/analytics/types.js.map +1 -0
- package/dist/lib/app/AppClient.d.ts +15 -0
- package/dist/lib/app/AppClient.d.ts.map +1 -0
- package/dist/lib/app/AppClient.js +41 -0
- package/dist/lib/app/AppClient.js.map +1 -0
- package/dist/lib/app/types.d.ts +41 -0
- package/dist/lib/app/types.d.ts.map +1 -0
- package/dist/lib/app/types.js +2 -0
- package/dist/lib/app/types.js.map +1 -0
- package/dist/lib/auth/AuthClient.d.ts +47 -0
- package/dist/lib/auth/AuthClient.d.ts.map +1 -0
- package/{src/lib/auth/AuthClient.ts → dist/lib/auth/AuthClient.js} +58 -79
- package/dist/lib/auth/AuthClient.js.map +1 -0
- package/dist/lib/database/DatabaseClient.d.ts +76 -0
- package/dist/lib/database/DatabaseClient.d.ts.map +1 -0
- package/dist/lib/database/DatabaseClient.js +250 -0
- package/dist/lib/database/DatabaseClient.js.map +1 -0
- package/dist/lib/database/types.d.ts +66 -0
- package/dist/lib/database/types.d.ts.map +1 -0
- package/dist/lib/database/types.js +20 -0
- package/dist/lib/database/types.js.map +1 -0
- package/dist/lib/functions/FunctionsClient.d.ts +9 -0
- package/dist/lib/functions/FunctionsClient.d.ts.map +1 -0
- package/dist/lib/functions/FunctionsClient.js +20 -0
- package/dist/lib/functions/FunctionsClient.js.map +1 -0
- package/dist/lib/functions/types.d.ts +25 -0
- package/dist/lib/functions/types.d.ts.map +1 -0
- package/dist/lib/functions/types.js +2 -0
- package/dist/lib/functions/types.js.map +1 -0
- package/dist/lib/policy/PolicyClient.d.ts +25 -0
- package/dist/lib/policy/PolicyClient.d.ts.map +1 -0
- package/{src/lib/policy/PolicyClient.ts → dist/lib/policy/PolicyClient.js} +26 -40
- package/dist/lib/policy/PolicyClient.js.map +1 -0
- package/dist/lib/policy/types.d.ts +32 -0
- package/dist/lib/policy/types.d.ts.map +1 -0
- package/dist/lib/policy/types.js +2 -0
- package/dist/lib/policy/types.js.map +1 -0
- package/dist/lib/secrets/SecretsClient.d.ts +29 -0
- package/dist/lib/secrets/SecretsClient.d.ts.map +1 -0
- package/dist/lib/secrets/SecretsClient.js +66 -0
- package/dist/lib/secrets/SecretsClient.js.map +1 -0
- package/dist/lib/secrets/types.d.ts +43 -0
- package/dist/lib/secrets/types.d.ts.map +1 -0
- package/dist/lib/secrets/types.js +2 -0
- package/dist/lib/secrets/types.js.map +1 -0
- package/dist/lib/settings/SettingsClient.d.ts +9 -0
- package/dist/lib/settings/SettingsClient.d.ts.map +1 -0
- package/dist/lib/settings/SettingsClient.js +17 -0
- package/dist/lib/settings/SettingsClient.js.map +1 -0
- package/dist/lib/settings/types.d.ts +6 -0
- package/dist/lib/settings/types.d.ts.map +1 -0
- package/dist/lib/settings/types.js +2 -0
- package/dist/lib/settings/types.js.map +1 -0
- package/dist/lib/storage/StorageClient.d.ts +38 -0
- package/dist/lib/storage/StorageClient.d.ts.map +1 -0
- package/dist/lib/storage/StorageClient.js +102 -0
- package/dist/lib/storage/StorageClient.js.map +1 -0
- package/dist/lib/storage/types.d.ts +73 -0
- package/dist/lib/storage/types.d.ts.map +1 -0
- package/dist/lib/storage/types.js +2 -0
- package/dist/lib/storage/types.js.map +1 -0
- package/dist/lib/users/UserClient.d.ts +17 -0
- package/dist/lib/users/UserClient.d.ts.map +1 -0
- package/dist/lib/users/UserClient.js +40 -0
- package/dist/lib/users/UserClient.js.map +1 -0
- package/dist/lib/users/types.d.ts +108 -0
- package/dist/lib/users/types.d.ts.map +1 -0
- package/dist/lib/users/types.js +2 -0
- package/dist/lib/users/types.js.map +1 -0
- package/dist/lib-internal/errors/ErrorClient.d.ts +42 -0
- package/dist/lib-internal/errors/ErrorClient.d.ts.map +1 -0
- package/dist/lib-internal/errors/ErrorClient.js +102 -0
- package/dist/lib-internal/errors/ErrorClient.js.map +1 -0
- package/dist/lib-internal/errors/index.d.ts +4 -0
- package/dist/lib-internal/errors/index.d.ts.map +1 -0
- package/dist/lib-internal/errors/index.js +3 -0
- package/dist/lib-internal/errors/index.js.map +1 -0
- package/dist/lib-internal/errors/types.d.ts +29 -0
- package/dist/lib-internal/errors/types.d.ts.map +1 -0
- package/dist/lib-internal/errors/types.js +18 -0
- package/dist/lib-internal/errors/types.js.map +1 -0
- package/dist/lib-internal/http/HttpClient.d.ts +24 -0
- package/dist/lib-internal/http/HttpClient.d.ts.map +1 -0
- package/dist/lib-internal/http/HttpClient.js +103 -0
- package/dist/lib-internal/http/HttpClient.js.map +1 -0
- package/dist/lib-internal/http/types.d.ts +12 -0
- package/dist/lib-internal/http/types.d.ts.map +1 -0
- package/{src/lib-internal/http/types.ts → dist/lib-internal/http/types.js} +2 -3
- package/dist/lib-internal/http/types.js.map +1 -0
- package/dist/lib-internal/routes/AnalyticsRoutes.d.ts +4 -0
- package/dist/lib-internal/routes/AnalyticsRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/AnalyticsRoutes.js +4 -0
- package/dist/lib-internal/routes/AnalyticsRoutes.js.map +1 -0
- package/dist/lib-internal/routes/AppRoutes.d.ts +10 -0
- package/dist/lib-internal/routes/AppRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/AppRoutes.js +6 -0
- package/dist/lib-internal/routes/AppRoutes.js.map +1 -0
- package/dist/lib-internal/routes/AuthRoutes.d.ts +4 -0
- package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
- package/{src/lib-internal/routes/AuthRoutes.ts → dist/lib-internal/routes/AuthRoutes.js} +2 -1
- package/dist/lib-internal/routes/AuthRoutes.js.map +1 -0
- package/dist/lib-internal/routes/DatabaseRoutes.d.ts +11 -0
- package/dist/lib-internal/routes/DatabaseRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/DatabaseRoutes.js +7 -0
- package/dist/lib-internal/routes/DatabaseRoutes.js.map +1 -0
- package/dist/lib-internal/routes/FunctionRoutes.d.ts +4 -0
- package/dist/lib-internal/routes/FunctionRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/FunctionRoutes.js +4 -0
- package/dist/lib-internal/routes/FunctionRoutes.js.map +1 -0
- package/dist/lib-internal/routes/PolicyRoutes.d.ts +5 -0
- package/dist/lib-internal/routes/PolicyRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/PolicyRoutes.js +5 -0
- package/dist/lib-internal/routes/PolicyRoutes.js.map +1 -0
- package/dist/lib-internal/routes/SecretsRoutes.d.ts +6 -0
- package/dist/lib-internal/routes/SecretsRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/SecretsRoutes.js +6 -0
- package/dist/lib-internal/routes/SecretsRoutes.js.map +1 -0
- package/dist/lib-internal/routes/SettingsRoutes.d.ts +5 -0
- package/dist/lib-internal/routes/SettingsRoutes.d.ts.map +1 -0
- package/{src/lib-internal/routes/SettingsRoutes.ts → dist/lib-internal/routes/SettingsRoutes.js} +2 -1
- package/dist/lib-internal/routes/SettingsRoutes.js.map +1 -0
- package/dist/lib-internal/routes/StorageRoutes.d.ts +11 -0
- package/dist/lib-internal/routes/StorageRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/StorageRoutes.js +8 -0
- package/dist/lib-internal/routes/StorageRoutes.js.map +1 -0
- package/dist/lib-internal/routes/UserRoutes.d.ts +13 -0
- package/dist/lib-internal/routes/UserRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/UserRoutes.js +13 -0
- package/dist/lib-internal/routes/UserRoutes.js.map +1 -0
- package/dist/lib-internal/routes/index.d.ts +2 -0
- package/dist/lib-internal/routes/index.d.ts.map +1 -0
- package/dist/lib-internal/routes/index.js +2 -0
- package/dist/lib-internal/routes/index.js.map +1 -0
- package/dist/lib-internal/token/TokenClient.d.ts +38 -0
- package/dist/lib-internal/token/TokenClient.d.ts.map +1 -0
- package/{src/lib-internal/token/TokenClient.ts → dist/lib-internal/token/TokenClient.js} +44 -59
- package/dist/lib-internal/token/TokenClient.js.map +1 -0
- package/dist/lib-internal/token/types.d.ts +2 -0
- package/dist/lib-internal/token/types.d.ts.map +1 -0
- package/dist/lib-internal/token/types.js +2 -0
- package/dist/lib-internal/token/types.js.map +1 -0
- package/dist/types.d.ts +74 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/enums.d.ts +31 -0
- package/dist/utils/enums.d.ts.map +1 -0
- package/dist/utils/enums.js +26 -0
- package/dist/utils/enums.js.map +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +38 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +11 -2
- package/.github/worflows/publish.yml +0 -57
- package/.github/workflows/publish.yml +0 -58
- package/.kiro/settings/lsp.json +0 -198
- package/MODULE_NAMING_CHANGES.md +0 -81
- package/PARAMETER_NAMING_CHANGES.md +0 -106
- package/USAGE_EXAMPLE.md +0 -86
- package/src/index.ts +0 -50
- package/src/lib/analytics/AnalyticsClient.ts +0 -24
- package/src/lib/analytics/types.ts +0 -8
- package/src/lib/app/AppClient.ts +0 -54
- package/src/lib/app/types.ts +0 -50
- package/src/lib/auth/types.ts +0 -123
- package/src/lib/database/DatabaseClient.ts +0 -244
- package/src/lib/database/types.ts +0 -90
- package/src/lib/functions/FunctionsClient.ts +0 -27
- package/src/lib/functions/types.ts +0 -27
- package/src/lib/policy/types.ts +0 -39
- package/src/lib/secrets/SecretsClient.ts +0 -75
- package/src/lib/secrets/types.ts +0 -59
- package/src/lib/settings/SettingsClient.ts +0 -22
- package/src/lib/settings/types.ts +0 -9
- package/src/lib/storage/StorageClient.ts +0 -131
- package/src/lib/storage/types.ts +0 -86
- package/src/lib/users/UserClient.ts +0 -63
- package/src/lib/users/types.ts +0 -123
- package/src/lib-internal/errors/ErrorClient.ts +0 -114
- package/src/lib-internal/errors/index.ts +0 -3
- package/src/lib-internal/errors/types.ts +0 -29
- package/src/lib-internal/http/HttpClient.ts +0 -117
- package/src/lib-internal/routes/AnalyticsRoutes.ts +0 -3
- package/src/lib-internal/routes/AppRoutes.ts +0 -9
- package/src/lib-internal/routes/DatabaseRoutes.ts +0 -10
- package/src/lib-internal/routes/FunctionRoutes.ts +0 -3
- package/src/lib-internal/routes/PolicyRoutes.ts +0 -4
- package/src/lib-internal/routes/SecretsRoutes.ts +0 -5
- package/src/lib-internal/routes/StorageRoutes.ts +0 -15
- package/src/lib-internal/routes/UserRoutes.ts +0 -12
- package/src/lib-internal/routes/index.ts +0 -0
- package/src/lib-internal/token/types.ts +0 -0
- package/src/types.ts +0 -98
- package/src/utils/enums.ts +0 -24
- package/src/utils/utils.ts +0 -37
- package/tests/fixtures/mockClient.ts +0 -19
- package/tests/mocks/db.json +0 -1
- package/tests/unit/analytics/AnalyticsClient.test.ts +0 -84
- package/tests/unit/app/AppClient.test.ts +0 -114
- package/tests/unit/auth/AuthClient.test.ts +0 -91
- package/tests/unit/client/Client.test.ts +0 -87
- package/tests/unit/database/DatabaseClient.test.ts +0 -565
- package/tests/unit/edge-cases/robustness.test.ts +0 -258
- package/tests/unit/errors/errors.test.ts +0 -236
- package/tests/unit/functions/FunctionsClient.test.ts +0 -99
- package/tests/unit/policy/PolicyClient.test.ts +0 -180
- package/tests/unit/secrets/SecretsClient.test.ts +0 -146
- package/tests/unit/settings/SettingsClient.test.ts +0 -50
- package/tests/unit/storage/StorageClient.test.ts +0 -252
- package/tests/unit/users/UserClient.test.ts +0 -150
- package/tsconfig.json +0 -44
- package/vitest.config.ts +0 -7
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { StorageRoutes } from "../../lib-internal/routes/StorageRoutes.js";
|
|
2
|
+
import { HttpMethod } from "../../lib-internal/http/types.js";
|
|
3
|
+
import { buildQueryString } from "../../utils/utils.js";
|
|
4
|
+
export class Storage {
|
|
5
|
+
client;
|
|
6
|
+
config;
|
|
7
|
+
urlParams;
|
|
8
|
+
operation;
|
|
9
|
+
body;
|
|
10
|
+
filters;
|
|
11
|
+
queryParams;
|
|
12
|
+
constructor(client, urlParams = {}, operation, body, filters, queryParams) {
|
|
13
|
+
this.client = client;
|
|
14
|
+
this.urlParams = urlParams;
|
|
15
|
+
this.operation = operation;
|
|
16
|
+
this.config = this.client.getConfig();
|
|
17
|
+
this.body = body;
|
|
18
|
+
this.filters = filters;
|
|
19
|
+
this.queryParams = queryParams;
|
|
20
|
+
}
|
|
21
|
+
from(bucket) {
|
|
22
|
+
return new Storage(this.client, { ...this.urlParams, bucket }, undefined, undefined);
|
|
23
|
+
}
|
|
24
|
+
getUrl(path) {
|
|
25
|
+
if (!this.urlParams.bucket)
|
|
26
|
+
throw new Error('Bucket is required. Call .from(bucketName) first.');
|
|
27
|
+
return `${this.config.apiUrl}/${StorageRoutes.baseUrl(this.config.appSlug, this.urlParams.bucket)}${StorageRoutes.path(path)}/`;
|
|
28
|
+
}
|
|
29
|
+
filter(filters) {
|
|
30
|
+
return new Storage(this.client, { ...this.urlParams }, undefined, undefined, filters);
|
|
31
|
+
}
|
|
32
|
+
delete(paths) {
|
|
33
|
+
return new Storage(this.client, {
|
|
34
|
+
...this.urlParams, delete: "delete"
|
|
35
|
+
}, HttpMethod.POST, { paths });
|
|
36
|
+
}
|
|
37
|
+
update(path, body) {
|
|
38
|
+
return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.PUT, body);
|
|
39
|
+
}
|
|
40
|
+
download(path) {
|
|
41
|
+
return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.GET);
|
|
42
|
+
}
|
|
43
|
+
metadata(path) {
|
|
44
|
+
return new Storage(this.client, { ...this.urlParams, path }, HttpMethod.GET, undefined, undefined, { metadata: 'true' });
|
|
45
|
+
}
|
|
46
|
+
upload(filesData) {
|
|
47
|
+
const formData = new FormData();
|
|
48
|
+
filesData.files.forEach(f => formData.append('files', f));
|
|
49
|
+
formData.append('paths', JSON.stringify(filesData.paths));
|
|
50
|
+
formData.append('metadata', JSON.stringify(filesData.metadatas));
|
|
51
|
+
return new Storage(this.client, {
|
|
52
|
+
...this.urlParams, upload: "upload"
|
|
53
|
+
}, HttpMethod.POST, formData);
|
|
54
|
+
}
|
|
55
|
+
buildRoute() {
|
|
56
|
+
if (!this.urlParams.bucket) {
|
|
57
|
+
throw new Error('Bucket is required. Call .from(bucketName) first.');
|
|
58
|
+
}
|
|
59
|
+
return (StorageRoutes.baseUrl(this.config.appSlug, this.urlParams.bucket) +
|
|
60
|
+
Object.keys(this.urlParams).reduce((acc, key) => {
|
|
61
|
+
const value = this.urlParams[key];
|
|
62
|
+
if (!value)
|
|
63
|
+
return acc;
|
|
64
|
+
if (key === 'path' && typeof value === 'string') {
|
|
65
|
+
acc += StorageRoutes.path(value);
|
|
66
|
+
}
|
|
67
|
+
if ((key === 'upload' || key === 'delete') && typeof StorageRoutes[key] === 'function') {
|
|
68
|
+
acc += StorageRoutes[key]();
|
|
69
|
+
}
|
|
70
|
+
return acc;
|
|
71
|
+
}, '') +
|
|
72
|
+
'/' +
|
|
73
|
+
buildQueryString({ ...this.filters, ...this.queryParams }));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Execute the storage operation.
|
|
77
|
+
* Returns different types based on the operation:
|
|
78
|
+
* - List files: StorageListResponse[]
|
|
79
|
+
* - Download: Blob
|
|
80
|
+
* - Upload: StorageUploadBatchResponse
|
|
81
|
+
* - Delete: StorageDeleteBatchResponse
|
|
82
|
+
* - Update: StorageResponse
|
|
83
|
+
*/
|
|
84
|
+
async execute() {
|
|
85
|
+
const url = this.buildRoute();
|
|
86
|
+
const operation = this.operation || HttpMethod.GET;
|
|
87
|
+
switch (operation) {
|
|
88
|
+
case HttpMethod.POST:
|
|
89
|
+
return await this.client.httpClient.post(url, this.body);
|
|
90
|
+
case HttpMethod.PUT:
|
|
91
|
+
return await this.client.httpClient.put(url, this.body);
|
|
92
|
+
case HttpMethod.DELETE:
|
|
93
|
+
return await this.client.httpClient.delete(url);
|
|
94
|
+
case HttpMethod.GET:
|
|
95
|
+
default: {
|
|
96
|
+
const isDownload = this.urlParams.path && !this.queryParams?.metadata;
|
|
97
|
+
return await this.client.httpClient.get(url, isDownload ? { responseType: 'blob' } : undefined);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=StorageClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageClient.js","sourceRoot":"","sources":["../../../src/lib/storage/StorageClient.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAwB,MAAM,4CAA4C,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,OAAO;IAER,MAAM,CAAQ;IACd,MAAM,CAAc;IACpB,SAAS,CAAiB;IAC1B,SAAS,CAAwB;IACjC,IAAI,CAAoB;IACxB,OAAO,CAA4B;IACnC,WAAW,CAAoC;IAGvD,YAAY,MAAc,EAAE,YAA6B,EAAqB,EAAE,SAAkC,EAAE,IAAa,EAAE,OAAwB,EAAE,WAAoC;QAC7L,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAGD,IAAI,CAAC,MAAc;QACf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACxF,CAAC;IAED,MAAM,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAChG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACnI,CAAC;IAED,MAAM,CAAC,OAAuB;QAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACzF,CAAC;IAED,MAAM,CAAC,KAAe;QAClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5B,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ;SACtC,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,IAAY;QAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ,CAAC,IAAY;QACjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAChF,CAAC;IAED,QAAQ,CAAC,IAAY;QACjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,CAAC,SAAkE;QACrE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACzD,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACzD,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5B,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ;SACtC,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjC,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,CACH,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAuB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAA4B,CAAC,CAAA;gBAE1D,IAAI,CAAC,KAAK;oBAAE,OAAO,GAAG,CAAA;gBAEtB,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9C,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpC,CAAC;gBAED,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,CAAC,IAAI,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;oBACrF,GAAG,IAAK,aAAa,CAAC,GAAG,CAAkB,EAAE,CAAA;gBACjD,CAAC;gBAED,OAAO,GAAG,CAAA;YACd,CAAC,EAAE,EAAE,CAAC;YACN,GAAG;YACH,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAkC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CACxF,CAAA;IACL,CAAC;IAID;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,CAAA;QAElD,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,UAAU,CAAC,IAAI;gBAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAE/D,KAAK,UAAU,CAAC,GAAG;gBACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAE9D,KAAK,UAAU,CAAC,MAAM;gBAClB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAI,GAAG,CAAC,CAAA;YAEtD,KAAK,UAAU,CAAC,GAAG,CAAC;YACpB,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAA;gBACrE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACtG,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { TaruviResponse } from "../../types.js";
|
|
2
|
+
export interface BucketUrlParams {
|
|
3
|
+
appSlug?: string;
|
|
4
|
+
bucket?: string;
|
|
5
|
+
path?: string;
|
|
6
|
+
upload?: string;
|
|
7
|
+
delete?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface BucketFileUpload {
|
|
10
|
+
files: [];
|
|
11
|
+
path: string;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export interface StorageRequest {
|
|
15
|
+
files: File[];
|
|
16
|
+
paths: string[];
|
|
17
|
+
metadatas: object[];
|
|
18
|
+
}
|
|
19
|
+
export interface StorageUpdateRequest {
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
visibility?: 'public' | 'private';
|
|
22
|
+
}
|
|
23
|
+
export interface StorageObject {
|
|
24
|
+
id: number;
|
|
25
|
+
uuid: string;
|
|
26
|
+
bucket?: number;
|
|
27
|
+
bucket_slug?: string;
|
|
28
|
+
bucket_name?: string;
|
|
29
|
+
filename: string;
|
|
30
|
+
file_path: string;
|
|
31
|
+
file_url: string;
|
|
32
|
+
size: number;
|
|
33
|
+
mimetype: string;
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
visibility?: string;
|
|
36
|
+
created_at: string;
|
|
37
|
+
updated_at: string;
|
|
38
|
+
created_by?: string;
|
|
39
|
+
modified_by?: string;
|
|
40
|
+
}
|
|
41
|
+
export type StorageResponse = TaruviResponse<StorageObject>;
|
|
42
|
+
export type StorageListResponse = TaruviResponse<StorageObject[]>;
|
|
43
|
+
export interface StorageUploadBatchResponse {
|
|
44
|
+
status: "success" | "error";
|
|
45
|
+
message: string;
|
|
46
|
+
data: {
|
|
47
|
+
uploaded_count: number;
|
|
48
|
+
failed_count: number;
|
|
49
|
+
total: number;
|
|
50
|
+
successful: Array<{
|
|
51
|
+
index: number;
|
|
52
|
+
path: string;
|
|
53
|
+
object: StorageObject;
|
|
54
|
+
}>;
|
|
55
|
+
failed: Array<{
|
|
56
|
+
index: number;
|
|
57
|
+
path: string;
|
|
58
|
+
error: string;
|
|
59
|
+
}>;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export interface StorageDeleteBatchResponse {
|
|
63
|
+
status: "success" | "error";
|
|
64
|
+
message: string;
|
|
65
|
+
data: {
|
|
66
|
+
deleted_count: number;
|
|
67
|
+
failed: Array<{
|
|
68
|
+
path: string;
|
|
69
|
+
error: string;
|
|
70
|
+
}>;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,EAAE,CAAA;IACT,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACpC;AAGD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAGD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;AAC3D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAAA;AAGjE,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACF,cAAc,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,KAAK,CAAC;YACd,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,aAAa,CAAA;SACxB,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,CAAC;YACV,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;KACL,CAAA;CACJ;AAGD,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACF,aAAa,EAAE,MAAM,CAAA;QACrB,MAAM,EAAE,KAAK,CAAC;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;KACL,CAAA;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/storage/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Client } from "../../client.js";
|
|
2
|
+
import type { UserCreateRequest, UserResponse, UserListResponse, UserListFilters, UserUpdateRequest, UserAppsResponse, AssignRolesRequest, RevokeRolesRequest, RolesResponse, UserPreferencesResponse, UserPreferencesUpdate } from "./types.js";
|
|
3
|
+
export declare class User {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: Client);
|
|
6
|
+
updateUser(username: string, body: UserUpdateRequest): Promise<UserResponse>;
|
|
7
|
+
getUser(username: string): Promise<UserResponse>;
|
|
8
|
+
list(filters?: UserListFilters): Promise<UserListResponse>;
|
|
9
|
+
getUserApps(username: string): Promise<UserAppsResponse>;
|
|
10
|
+
createUser(userData: UserCreateRequest): Promise<UserResponse>;
|
|
11
|
+
deleteUser(username: string): Promise<void>;
|
|
12
|
+
assignRoles(request: AssignRolesRequest): Promise<RolesResponse>;
|
|
13
|
+
revokeRoles(request: RevokeRolesRequest): Promise<RolesResponse>;
|
|
14
|
+
getPreferences(): Promise<UserPreferencesResponse>;
|
|
15
|
+
updatePreferences(body: UserPreferencesUpdate): Promise<UserPreferencesResponse>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=UserClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserClient.d.ts","sourceRoot":"","sources":["../../../src/lib/users/UserClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKjP,qBAAa,IAAI;IACb,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,MAAM;IAIpB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5E,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIxD,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOhE,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOhE,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIlD,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGzF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { UserRoutes } from "../../lib-internal/routes/UserRoutes.js";
|
|
2
|
+
import { buildQueryString } from "../../utils/utils.js";
|
|
3
|
+
export class User {
|
|
4
|
+
client;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
async updateUser(username, body) {
|
|
9
|
+
return await this.client.httpClient.put(UserRoutes.updateUser(username), body);
|
|
10
|
+
}
|
|
11
|
+
async getUser(username) {
|
|
12
|
+
return await this.client.httpClient.get(UserRoutes.getUser(username));
|
|
13
|
+
}
|
|
14
|
+
async list(filters) {
|
|
15
|
+
const queryString = buildQueryString(filters);
|
|
16
|
+
return await this.client.httpClient.get(UserRoutes.listUser(queryString));
|
|
17
|
+
}
|
|
18
|
+
async getUserApps(username) {
|
|
19
|
+
return await this.client.httpClient.get(UserRoutes.getUserApps(username));
|
|
20
|
+
}
|
|
21
|
+
async createUser(userData) {
|
|
22
|
+
return await this.client.httpClient.post(UserRoutes.baseUrl, userData);
|
|
23
|
+
}
|
|
24
|
+
async deleteUser(username) {
|
|
25
|
+
return await this.client.httpClient.delete(UserRoutes.deleteUser(username));
|
|
26
|
+
}
|
|
27
|
+
async assignRoles(request) {
|
|
28
|
+
return await this.client.httpClient.post(UserRoutes.assignRoles(), request);
|
|
29
|
+
}
|
|
30
|
+
async revokeRoles(request) {
|
|
31
|
+
return await this.client.httpClient.delete(UserRoutes.revokeRoles(), request);
|
|
32
|
+
}
|
|
33
|
+
async getPreferences() {
|
|
34
|
+
return await this.client.httpClient.get(UserRoutes.preferences());
|
|
35
|
+
}
|
|
36
|
+
async updatePreferences(body) {
|
|
37
|
+
return await this.client.httpClient.put(UserRoutes.preferences(), body);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=UserClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserClient.js","sourceRoot":"","sources":["../../../src/lib/users/UserClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,OAAO,IAAI;IACL,MAAM,CAAQ;IAEtB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,IAAuB;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC1B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAyB;QAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAA6C,CAAC,CAAA;QACnF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAmB,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAmB,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA2B;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpC,UAAU,CAAC,OAAO,EAClB,QAAQ,CACX,CAAA;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpC,UAAU,CAAC,WAAW,EAAE,EACxB,OAAO,CACV,CAAA;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CACtC,UAAU,CAAC,WAAW,EAAE,EACxB,OAAO,CACV,CAAA;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAA0B,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA2B;QAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAA0B,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAA;IACpG,CAAC;CACJ"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { TaruviResponse } from "../../types.js";
|
|
2
|
+
export interface UserCreateRequest {
|
|
3
|
+
username: string;
|
|
4
|
+
email: string;
|
|
5
|
+
password: string;
|
|
6
|
+
confirm_password: string;
|
|
7
|
+
first_name: string;
|
|
8
|
+
last_name: string;
|
|
9
|
+
is_active?: boolean;
|
|
10
|
+
is_staff?: boolean;
|
|
11
|
+
is_cloud_user?: boolean;
|
|
12
|
+
attributes?: Record<string, unknown>;
|
|
13
|
+
role_slugs?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface UserData {
|
|
16
|
+
id: string;
|
|
17
|
+
username: string;
|
|
18
|
+
email: string;
|
|
19
|
+
first_name: string;
|
|
20
|
+
last_name: string;
|
|
21
|
+
full_name?: string;
|
|
22
|
+
is_active: boolean;
|
|
23
|
+
is_staff: boolean;
|
|
24
|
+
is_superuser?: boolean;
|
|
25
|
+
is_deleted: boolean;
|
|
26
|
+
date_joined: string;
|
|
27
|
+
last_login?: string;
|
|
28
|
+
groups?: UserGroup[];
|
|
29
|
+
user_permissions?: UserPermission[];
|
|
30
|
+
attributes?: Record<string, unknown>;
|
|
31
|
+
missing_attributes?: string[];
|
|
32
|
+
roles?: UserRole[];
|
|
33
|
+
icon_url?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface UserGroup {
|
|
36
|
+
id: number;
|
|
37
|
+
name: string;
|
|
38
|
+
}
|
|
39
|
+
export interface UserPermission {
|
|
40
|
+
id: number;
|
|
41
|
+
name: string;
|
|
42
|
+
codename: string;
|
|
43
|
+
content_type: string;
|
|
44
|
+
}
|
|
45
|
+
export interface UserRole {
|
|
46
|
+
name: string;
|
|
47
|
+
slug: string;
|
|
48
|
+
type: string;
|
|
49
|
+
app_slug: string;
|
|
50
|
+
source: "direct" | "site_role" | "inherited";
|
|
51
|
+
}
|
|
52
|
+
export interface UserUpdateRequest {
|
|
53
|
+
username?: string;
|
|
54
|
+
email?: string;
|
|
55
|
+
first_name?: string;
|
|
56
|
+
last_name?: string;
|
|
57
|
+
is_active?: boolean;
|
|
58
|
+
is_staff?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface UserListFilters {
|
|
61
|
+
search?: string;
|
|
62
|
+
is_active?: boolean;
|
|
63
|
+
is_staff?: boolean;
|
|
64
|
+
is_superuser?: boolean;
|
|
65
|
+
is_deleted?: boolean;
|
|
66
|
+
roles?: string;
|
|
67
|
+
ordering?: string;
|
|
68
|
+
page?: number;
|
|
69
|
+
page_size?: number;
|
|
70
|
+
}
|
|
71
|
+
export interface UserApp {
|
|
72
|
+
name: string;
|
|
73
|
+
slug: string;
|
|
74
|
+
icon: string;
|
|
75
|
+
url: string;
|
|
76
|
+
display_name: string;
|
|
77
|
+
}
|
|
78
|
+
export type UserResponse = TaruviResponse<UserData>;
|
|
79
|
+
export type UserListResponse = TaruviResponse<UserData[]>;
|
|
80
|
+
export type UserAppsResponse = TaruviResponse<UserApp[]>;
|
|
81
|
+
export interface UserPreferences {
|
|
82
|
+
date_format: string;
|
|
83
|
+
time_format: string;
|
|
84
|
+
timezone: string;
|
|
85
|
+
theme: string;
|
|
86
|
+
widget_config: Record<string, unknown>;
|
|
87
|
+
}
|
|
88
|
+
export interface UserPreferencesUpdate {
|
|
89
|
+
date_format?: string;
|
|
90
|
+
time_format?: string;
|
|
91
|
+
timezone?: string;
|
|
92
|
+
theme?: string;
|
|
93
|
+
widget_config?: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
export type UserPreferencesResponse = TaruviResponse<UserPreferences>;
|
|
96
|
+
export interface AssignRolesRequest {
|
|
97
|
+
roles: string[];
|
|
98
|
+
usernames: string[];
|
|
99
|
+
expires_at?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface RevokeRolesRequest {
|
|
102
|
+
roles: string[];
|
|
103
|
+
usernames: string[];
|
|
104
|
+
}
|
|
105
|
+
export type RolesResponse = TaruviResponse<{
|
|
106
|
+
count: number;
|
|
107
|
+
}>;
|
|
108
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/users/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/users/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type ErrorResponseBody } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base SDK error. All typed errors extend this.
|
|
4
|
+
*/
|
|
5
|
+
export declare class TaruviError extends Error {
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly statusCode: number;
|
|
8
|
+
readonly detail: string | undefined;
|
|
9
|
+
readonly errors: Record<string, unknown> | undefined;
|
|
10
|
+
readonly data: unknown;
|
|
11
|
+
constructor(message: string, statusCode: number, code?: string, detail?: string, errors?: Record<string, unknown>, data?: unknown);
|
|
12
|
+
}
|
|
13
|
+
export declare class ValidationError extends TaruviError {
|
|
14
|
+
constructor(message?: string, detail?: string, errors?: Record<string, unknown>);
|
|
15
|
+
}
|
|
16
|
+
export declare class AuthError extends TaruviError {
|
|
17
|
+
constructor(message?: string);
|
|
18
|
+
}
|
|
19
|
+
export declare class ForbiddenError extends TaruviError {
|
|
20
|
+
constructor(message?: string);
|
|
21
|
+
}
|
|
22
|
+
export declare class NotFoundError extends TaruviError {
|
|
23
|
+
constructor(message?: string);
|
|
24
|
+
}
|
|
25
|
+
export declare class ConflictError extends TaruviError {
|
|
26
|
+
constructor(message?: string, detail?: string);
|
|
27
|
+
}
|
|
28
|
+
export declare class TimeoutError extends TaruviError {
|
|
29
|
+
constructor(message?: string);
|
|
30
|
+
}
|
|
31
|
+
export declare class RateLimitError extends TaruviError {
|
|
32
|
+
readonly retryAfter: number | undefined;
|
|
33
|
+
constructor(message?: string, retryAfter?: number);
|
|
34
|
+
}
|
|
35
|
+
export declare class NetworkError extends TaruviError {
|
|
36
|
+
constructor(message?: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Maps HTTP status + response body to the appropriate typed error.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createErrorFromResponse(statusCode: number, body?: ErrorResponseBody): TaruviError;
|
|
42
|
+
//# sourceMappingURL=ErrorClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorClient.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/ErrorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9D;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,UAAU,EAAE,MAAM,CAAA;IAClC,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC3D,SAAgB,IAAI,EAAE,OAAO,CAAA;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO;CAS9J;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAChC,OAAO,SAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI/F;AAED,qBAAa,SAAU,SAAQ,WAAW;gBAC1B,OAAO,SAA4B;CAIlD;AAED,qBAAa,cAAe,SAAQ,WAAW;gBAC/B,OAAO,SAAsB;CAI5C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,OAAO,SAAuB;CAI7C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,OAAO,SAAsB,EAAE,MAAM,CAAC,EAAE,MAAM;CAI7D;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,SAAoB;CAI1C;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC3C,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;gBAElC,OAAO,SAAwB,EAAE,UAAU,CAAC,EAAE,MAAM;CAKnE;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,SAAkB;CAIxC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,WAAW,CA4BjG"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ErrorCode } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base SDK error. All typed errors extend this.
|
|
4
|
+
*/
|
|
5
|
+
export class TaruviError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
statusCode;
|
|
8
|
+
detail;
|
|
9
|
+
errors;
|
|
10
|
+
data;
|
|
11
|
+
constructor(message, statusCode, code = ErrorCode.INTERNAL_ERROR, detail, errors, data) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = 'TaruviError';
|
|
14
|
+
this.statusCode = statusCode;
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.detail = detail;
|
|
17
|
+
this.errors = errors;
|
|
18
|
+
this.data = data;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class ValidationError extends TaruviError {
|
|
22
|
+
constructor(message = 'Validation failed', detail, errors) {
|
|
23
|
+
super(message, 400, ErrorCode.VALIDATION_ERROR, detail, errors);
|
|
24
|
+
this.name = 'ValidationError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class AuthError extends TaruviError {
|
|
28
|
+
constructor(message = 'Authentication required') {
|
|
29
|
+
super(message, 401, ErrorCode.UNAUTHORIZED);
|
|
30
|
+
this.name = 'AuthError';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class ForbiddenError extends TaruviError {
|
|
34
|
+
constructor(message = 'Permission denied') {
|
|
35
|
+
super(message, 403, ErrorCode.FORBIDDEN);
|
|
36
|
+
this.name = 'ForbiddenError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class NotFoundError extends TaruviError {
|
|
40
|
+
constructor(message = 'Resource not found') {
|
|
41
|
+
super(message, 404, ErrorCode.NOT_FOUND);
|
|
42
|
+
this.name = 'NotFoundError';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class ConflictError extends TaruviError {
|
|
46
|
+
constructor(message = 'Resource conflict', detail) {
|
|
47
|
+
super(message, 409, ErrorCode.CONFLICT, detail);
|
|
48
|
+
this.name = 'ConflictError';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class TimeoutError extends TaruviError {
|
|
52
|
+
constructor(message = 'Request timeout') {
|
|
53
|
+
super(message, 504, ErrorCode.GATEWAY_TIMEOUT);
|
|
54
|
+
this.name = 'TimeoutError';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export class RateLimitError extends TaruviError {
|
|
58
|
+
retryAfter;
|
|
59
|
+
constructor(message = 'Rate limit exceeded', retryAfter) {
|
|
60
|
+
super(message, 429, ErrorCode.RATE_LIMITED);
|
|
61
|
+
this.name = 'RateLimitError';
|
|
62
|
+
this.retryAfter = retryAfter;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export class NetworkError extends TaruviError {
|
|
66
|
+
constructor(message = 'Network error') {
|
|
67
|
+
super(message, 0, ErrorCode.NETWORK_ERROR);
|
|
68
|
+
this.name = 'NetworkError';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Maps HTTP status + response body to the appropriate typed error.
|
|
73
|
+
*/
|
|
74
|
+
export function createErrorFromResponse(statusCode, body) {
|
|
75
|
+
const message = body?.message || 'Request failed';
|
|
76
|
+
const code = body?.code || ErrorCode.INTERNAL_ERROR;
|
|
77
|
+
const detail = body?.detail;
|
|
78
|
+
const errors = body?.errors;
|
|
79
|
+
const data = body?.data;
|
|
80
|
+
switch (statusCode) {
|
|
81
|
+
case 400:
|
|
82
|
+
if (code === ErrorCode.VALIDATION_ERROR) {
|
|
83
|
+
return new ValidationError(message, detail, errors);
|
|
84
|
+
}
|
|
85
|
+
return new TaruviError(message, 400, code, detail, errors, data);
|
|
86
|
+
case 401:
|
|
87
|
+
return new AuthError(message);
|
|
88
|
+
case 403:
|
|
89
|
+
return new ForbiddenError(message);
|
|
90
|
+
case 404:
|
|
91
|
+
return new NotFoundError(message);
|
|
92
|
+
case 409:
|
|
93
|
+
return new ConflictError(message, detail);
|
|
94
|
+
case 429:
|
|
95
|
+
return new RateLimitError(message);
|
|
96
|
+
case 504:
|
|
97
|
+
return new TimeoutError(message);
|
|
98
|
+
default:
|
|
99
|
+
return new TaruviError(message, statusCode, code, detail, errors, data);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=ErrorClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorClient.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/ErrorClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { TaruviError, ValidationError, AuthError, ForbiddenError, NotFoundError, ConflictError, TimeoutError, NetworkError, RateLimitError, createErrorFromResponse } from './ErrorClient.js';
|
|
2
|
+
export { ErrorCode } from './types.js';
|
|
3
|
+
export type { ErrorResponseBody } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC7L,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC7L,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error codes matching the backend's ErrorCode enum.
|
|
3
|
+
* Maps 1:1 with base.responses.error_codes.ErrorCode in Python.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ErrorCode {
|
|
6
|
+
BAD_REQUEST = "BAD_REQUEST",
|
|
7
|
+
VALIDATION_ERROR = "VALIDATION_ERROR",
|
|
8
|
+
UNAUTHORIZED = "UNAUTHORIZED",
|
|
9
|
+
FORBIDDEN = "FORBIDDEN",
|
|
10
|
+
NOT_FOUND = "NOT_FOUND",
|
|
11
|
+
CONFLICT = "CONFLICT",
|
|
12
|
+
INTERNAL_ERROR = "INTERNAL_ERROR",
|
|
13
|
+
RATE_LIMITED = "RATE_LIMITED",
|
|
14
|
+
GATEWAY_TIMEOUT = "GATEWAY_TIMEOUT",
|
|
15
|
+
NETWORK_ERROR = "NETWORK_ERROR"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Backend error response shape.
|
|
19
|
+
* Matches AppException.to_dict() output.
|
|
20
|
+
*/
|
|
21
|
+
export interface ErrorResponseBody {
|
|
22
|
+
status: 'error';
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
detail?: string;
|
|
26
|
+
errors?: Record<string, unknown>;
|
|
27
|
+
data?: unknown;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/errors/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,SAAS;IACjB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error codes matching the backend's ErrorCode enum.
|
|
3
|
+
* Maps 1:1 with base.responses.error_codes.ErrorCode in Python.
|
|
4
|
+
*/
|
|
5
|
+
export var ErrorCode;
|
|
6
|
+
(function (ErrorCode) {
|
|
7
|
+
ErrorCode["BAD_REQUEST"] = "BAD_REQUEST";
|
|
8
|
+
ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
|
|
9
|
+
ErrorCode["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
10
|
+
ErrorCode["FORBIDDEN"] = "FORBIDDEN";
|
|
11
|
+
ErrorCode["NOT_FOUND"] = "NOT_FOUND";
|
|
12
|
+
ErrorCode["CONFLICT"] = "CONFLICT";
|
|
13
|
+
ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
14
|
+
ErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
|
|
15
|
+
ErrorCode["GATEWAY_TIMEOUT"] = "GATEWAY_TIMEOUT";
|
|
16
|
+
ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
17
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib-internal/errors/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;AACnC,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TaruviConfig } from "../../types.js";
|
|
2
|
+
import type { TokenClient } from "../token/TokenClient.js";
|
|
3
|
+
/**
|
|
4
|
+
* HttpClient handles all HTTP requests to the Taruvi API.
|
|
5
|
+
* Sends session token via X-Session-Token header.
|
|
6
|
+
* Clears tokens on 401 auth failures.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class HttpClient {
|
|
11
|
+
private tokenClient;
|
|
12
|
+
private axiosInstance;
|
|
13
|
+
constructor(config: TaruviConfig, tokenClient: TokenClient);
|
|
14
|
+
private setupInterceptors;
|
|
15
|
+
private handleError;
|
|
16
|
+
get<T>(endpoint: string, options?: {
|
|
17
|
+
responseType?: 'json' | 'blob';
|
|
18
|
+
}): Promise<T>;
|
|
19
|
+
post<T, D = unknown>(endpoint: string, body: D): Promise<T>;
|
|
20
|
+
put<T, D = unknown>(endpoint: string, body: D): Promise<T>;
|
|
21
|
+
delete<T, D = unknown>(endpoint: string, body?: D): Promise<T>;
|
|
22
|
+
patch<T, D = unknown>(endpoint: string, body: D): Promise<T>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=HttpClient.d.ts.map
|