@taruvi/sdk 1.5.0 → 1.5.1-beta.4
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 +38 -0
- package/dist/lib/auth/AuthClient.d.ts.map +1 -0
- package/dist/lib/auth/AuthClient.js +105 -0
- 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 +2 -0
- package/dist/lib-internal/routes/AuthRoutes.d.ts.map +1 -0
- package/dist/lib-internal/routes/AuthRoutes.js +2 -0
- 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/AuthClient.ts +0 -148
- 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/AuthRoutes.ts +0 -3
- 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 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/http/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D;;;;;;GAMG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,aAAa,CAAe;gBAExB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW;IAM1D,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,WAAW;IAgBb,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAWlF,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS3D,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS1D,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS9D,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAQrE"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import axios, { AxiosError } from "axios";
|
|
2
|
+
import { createErrorFromResponse, NetworkError, TaruviError } from "../errors/index.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 class HttpClient {
|
|
11
|
+
tokenClient;
|
|
12
|
+
axiosInstance;
|
|
13
|
+
constructor(config, tokenClient) {
|
|
14
|
+
this.tokenClient = tokenClient;
|
|
15
|
+
this.axiosInstance = axios.create({ baseURL: config.apiUrl, withCredentials: true });
|
|
16
|
+
this.setupInterceptors();
|
|
17
|
+
}
|
|
18
|
+
setupInterceptors() {
|
|
19
|
+
// Request interceptor: attach session token
|
|
20
|
+
this.axiosInstance.interceptors.request.use((config) => {
|
|
21
|
+
const isFormData = config.data instanceof FormData;
|
|
22
|
+
if (!isFormData) {
|
|
23
|
+
config.headers['Content-Type'] = 'application/json';
|
|
24
|
+
}
|
|
25
|
+
const sessionToken = this.tokenClient.getSessionToken();
|
|
26
|
+
if (sessionToken) {
|
|
27
|
+
config.headers['X-Session-Token'] = sessionToken;
|
|
28
|
+
}
|
|
29
|
+
return config;
|
|
30
|
+
});
|
|
31
|
+
// Response interceptor: clear tokens on authentication failure
|
|
32
|
+
// Only 401 (Unauthorized) means the session is invalid
|
|
33
|
+
// 403 (Forbidden) means authenticated but lacking permission — don't clear tokens
|
|
34
|
+
this.axiosInstance.interceptors.response.use((response) => response, (error) => {
|
|
35
|
+
const status = error.response?.status;
|
|
36
|
+
if (status === 401) {
|
|
37
|
+
this.tokenClient.clearTokens();
|
|
38
|
+
}
|
|
39
|
+
return Promise.reject(error);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
handleError(error) {
|
|
43
|
+
if (error instanceof TaruviError) {
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
if (error instanceof AxiosError) {
|
|
47
|
+
if (error.response) {
|
|
48
|
+
const body = error.response.data;
|
|
49
|
+
throw createErrorFromResponse(error.response.status, body);
|
|
50
|
+
}
|
|
51
|
+
throw new NetworkError(error.message);
|
|
52
|
+
}
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
async get(endpoint, options) {
|
|
56
|
+
try {
|
|
57
|
+
const { data } = await this.axiosInstance.get(`/${endpoint}`, {
|
|
58
|
+
...(options?.responseType && { responseType: options.responseType }),
|
|
59
|
+
});
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
this.handleError(error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async post(endpoint, body) {
|
|
67
|
+
try {
|
|
68
|
+
const { data } = await this.axiosInstance.post(`/${endpoint}`, body);
|
|
69
|
+
return data;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.handleError(error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async put(endpoint, body) {
|
|
76
|
+
try {
|
|
77
|
+
const { data } = await this.axiosInstance.put(`/${endpoint}`, body);
|
|
78
|
+
return data;
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
this.handleError(error);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async delete(endpoint, body) {
|
|
85
|
+
try {
|
|
86
|
+
const { data } = await this.axiosInstance.delete(`/${endpoint}`, { data: body });
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
this.handleError(error);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async patch(endpoint, body) {
|
|
94
|
+
try {
|
|
95
|
+
const { data } = await this.axiosInstance.patch(`/${endpoint}`, body);
|
|
96
|
+
return data;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.handleError(error);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=HttpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../src/lib-internal/http/HttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP methods supported by the HttpClient
|
|
3
|
+
*/
|
|
4
|
+
export declare const HttpMethod: {
|
|
5
|
+
readonly GET: "GET";
|
|
6
|
+
readonly POST: "POST";
|
|
7
|
+
readonly PUT: "PUT";
|
|
8
|
+
readonly PATCH: "PATCH";
|
|
9
|
+
readonly DELETE: "DELETE";
|
|
10
|
+
};
|
|
11
|
+
export type HttpMethod = typeof HttpMethod[keyof typeof HttpMethod];
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/http/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;CAMb,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib-internal/http/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACV,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/AnalyticsRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;uBACL,MAAM,aAAa,MAAM;CAC/C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/AnalyticsRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,OAAO,EAAE,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE,CAAC,YAAY,OAAO,sBAAsB,SAAS,WAAW;CACjH,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const AppRoutes: {
|
|
2
|
+
baseUrl: (appSlug: string) => string;
|
|
3
|
+
roles: () => string;
|
|
4
|
+
settings: () => string;
|
|
5
|
+
};
|
|
6
|
+
type AllRouteKeys = keyof typeof AppRoutes;
|
|
7
|
+
export type AppRouteKey = Exclude<AllRouteKeys, 'baseUrl'>;
|
|
8
|
+
export type AppUrlParams = Partial<Record<AppRouteKey, string>>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=AppRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/AppRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;uBACC,MAAM;iBACd,MAAM;oBACH,MAAM;CACvB,CAAA;AAED,KAAK,YAAY,GAAG,MAAM,OAAO,SAAS,CAAA;AAC1C,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/AppRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,OAAO,EAAE;IACnD,KAAK,EAAE,GAAW,EAAE,CAAC,QAAQ;IAC7B,QAAQ,EAAE,GAAW,EAAE,CAAC,YAAY;CACvC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/AuthRoutes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/AuthRoutes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const DatabaseRoutes: {
|
|
2
|
+
baseUrl: (appSlug: string) => string;
|
|
3
|
+
dataTables: (tableName: string) => string;
|
|
4
|
+
recordId: (recordId: string) => string;
|
|
5
|
+
upsert: () => string;
|
|
6
|
+
};
|
|
7
|
+
type AllRouteKeys = keyof typeof DatabaseRoutes;
|
|
8
|
+
export type DatabaseRouteKey = Exclude<AllRouteKeys, 'baseUrl'>;
|
|
9
|
+
export type DatabaseUrlParams = Partial<Record<DatabaseRouteKey, string>>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=DatabaseRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/DatabaseRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;uBACJ,MAAM;4BACD,MAAM,KAAG,MAAM;yBAClB,MAAM,KAAG,MAAM;kBACxB,MAAM;CACrB,CAAA;AAED,KAAK,YAAY,GAAG,MAAM,OAAO,cAAc,CAAA;AAC/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;AAC/D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/DatabaseRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,OAAO,EAAE;IACnD,UAAU,EAAE,CAAC,SAAiB,EAAU,EAAE,CAAC,eAAe,SAAS,OAAO;IAC1E,QAAQ,EAAE,CAAC,QAAgB,EAAU,EAAE,CAAC,IAAI,QAAQ,EAAE;IACtD,MAAM,EAAE,GAAW,EAAE,CAAC,SAAS;CAClC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/FunctionRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;uBACJ,MAAM,gBAAgB,MAAM;CAClD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/FunctionRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,CAAC,OAAe,EAAE,YAAoB,EAAE,EAAE,CAAC,YAAY,OAAO,cAAc,YAAY,EAAE;CACtG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolicyRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/PolicyRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;uBACF,MAAM;;CAE5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolicyRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/PolicyRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,OAAO,EAAE;IACnD,aAAa,EAAE,kBAAkB;CACpC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/SecretsRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;eAEX,MAAM;kBACH,MAAM;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/SecretsRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,OAAO,EAAE,cAAc;IACvB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,eAAe,GAAG,GAAG;IAC3C,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,eAAe,GAAG,GAAG;CACjD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/SettingsRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsRoutes.js","sourceRoot":"","sources":["../../../src/lib-internal/routes/SettingsRoutes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,QAAQ,EAAE,wBAAwB;IAClC,cAAc,EAAE,+BAA+B;CAClD,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const StorageRoutes: {
|
|
2
|
+
baseUrl: (appslug: string, bucket: string) => string;
|
|
3
|
+
path: (path: string) => string;
|
|
4
|
+
upload: () => string;
|
|
5
|
+
delete: () => string;
|
|
6
|
+
};
|
|
7
|
+
export type StoragePathKey = 'path';
|
|
8
|
+
export type StorageFlagKey = 'upload' | 'delete';
|
|
9
|
+
export type StorageRouteKey = StoragePathKey | StorageFlagKey;
|
|
10
|
+
export type BucketUrlParams = Partial<Record<StorageRouteKey, string | true>>;
|
|
11
|
+
//# sourceMappingURL=StorageRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageRoutes.d.ts","sourceRoot":"","sources":["../../../src/lib-internal/routes/StorageRoutes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;uBACH,MAAM,UAAU,MAAM;iBAC5B,MAAM;;;CAItB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AACnC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG,OAAO,CACjC,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC,CACzC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const StorageRoutes = {
|
|
2
|
+
baseUrl: (appslug, bucket) => `api/apps/${appslug}/storage/buckets/${bucket}/objects`,
|
|
3
|
+
path: (path) => "/" + encodeURIComponent(path),
|
|
4
|
+
upload: () => "/batch-upload",
|
|
5
|
+
delete: () => "/batch-delete"
|
|
6
|
+
// bucket: (appslug: string, bucketslug: string) => `${StorageRoutesClone.baseUrl(appslug)}/${bucketslug}`
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=StorageRoutes.js.map
|