@scalekit-sdk/node 2.0.1 → 2.1.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/jest.config.js +15 -0
- package/lib/core.d.ts +1 -1
- package/lib/core.js +31 -31
- package/lib/core.js.map +1 -1
- package/lib/errors/base-exception.d.ts +32 -0
- package/lib/errors/base-exception.js +238 -0
- package/lib/errors/base-exception.js.map +1 -0
- package/lib/errors/index.d.ts +2 -0
- package/lib/errors/index.js +20 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/errors/specific-exceptions.d.ts +39 -0
- package/lib/errors/specific-exceptions.js +90 -0
- package/lib/errors/specific-exceptions.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.d.ts +34 -87
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js +31 -120
- package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.d.ts +19 -10
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js +18 -9
- package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +209 -6
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +272 -5
- package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.d.ts +29 -0
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +40 -1
- package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.d.ts +25 -0
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js +38 -1
- package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.d.ts +21 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js +20 -0
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.d.ts +110 -5
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +164 -5
- package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.d.ts +48 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.js +47 -0
- package/lib/pkg/grpc/scalekit/v1/users/users_connect.js.map +1 -1
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +280 -4
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +449 -11
- package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
- package/lib/scalekit.d.ts +3 -3
- package/lib/scalekit.js +35 -22
- package/lib/scalekit.js.map +1 -1
- package/lib/types/user.d.ts +1 -1
- package/lib/user.d.ts +10 -3
- package/lib/user.js +26 -5
- package/lib/user.js.map +1 -1
- package/package.json +6 -2
- package/src/core.ts +31 -32
- package/src/errors/base-exception.ts +262 -0
- package/src/errors/index.ts +3 -0
- package/src/errors/specific-exceptions.ts +88 -0
- package/src/index.ts +3 -1
- package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +49 -129
- package/src/pkg/grpc/scalekit/v1/connections/connections_connect.ts +19 -10
- package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +377 -8
- package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +44 -0
- package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +49 -0
- package/src/pkg/grpc/scalekit/v1/organizations/organizations_connect.ts +21 -1
- package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +218 -5
- package/src/pkg/grpc/scalekit/v1/users/users_connect.ts +48 -1
- package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +558 -6
- package/src/scalekit.ts +39 -23
- package/src/types/user.ts +1 -1
- package/src/user.ts +34 -7
- package/tests/README.md +25 -0
- package/tests/connection.test.ts +42 -0
- package/tests/directory.test.ts +46 -0
- package/tests/organization.test.ts +65 -0
- package/tests/passwordless.test.ts +108 -0
- package/tests/scalekit.test.ts +104 -0
- package/tests/setup.ts +34 -0
- package/tests/users.test.ts +168 -0
- package/tests/utils/test-data.ts +248 -0
package/jest.config.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
verbose: true,
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
testPathIgnorePatterns: ['/node_modules/', '/lib/'],
|
|
5
|
+
roots: ['<rootDir>/tests'],
|
|
6
|
+
setupFilesAfterEnv: ['./tests/setup.ts'],
|
|
7
|
+
transform: {
|
|
8
|
+
'^.+\\.ts?$': 'ts-jest',
|
|
9
|
+
},
|
|
10
|
+
moduleNameMapper: {
|
|
11
|
+
'^jose': require.resolve('jose'),
|
|
12
|
+
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
13
|
+
},
|
|
14
|
+
testTimeout: 10000,
|
|
15
|
+
};
|
package/lib/core.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export default class CoreClient {
|
|
|
31
31
|
*/
|
|
32
32
|
getJwks(): Promise<void>;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Execute a function with error handling and retry logic
|
|
35
35
|
* @param fn Function to execute
|
|
36
36
|
* @param data Data to pass to the function
|
|
37
37
|
* @param retryLeft Number of retries left
|
package/lib/core.js
CHANGED
|
@@ -41,7 +41,7 @@ const axios_1 = __importStar(require("axios"));
|
|
|
41
41
|
const os_1 = __importDefault(require("os"));
|
|
42
42
|
const qs_1 = __importDefault(require("qs"));
|
|
43
43
|
const scalekit_1 = require("./types/scalekit");
|
|
44
|
-
const
|
|
44
|
+
const base_exception_1 = require("./errors/base-exception");
|
|
45
45
|
exports.headers = {
|
|
46
46
|
"user-agent": "user-agent",
|
|
47
47
|
"x-sdk-version": "x-sdk-version",
|
|
@@ -57,8 +57,8 @@ class CoreClient {
|
|
|
57
57
|
this.clientSecret = clientSecret;
|
|
58
58
|
this.keys = [];
|
|
59
59
|
this.accessToken = null;
|
|
60
|
-
this.sdkVersion = `Scalekit-Node/2.0
|
|
61
|
-
this.apiVersion = "
|
|
60
|
+
this.sdkVersion = `Scalekit-Node/2.1.0`;
|
|
61
|
+
this.apiVersion = "20250815";
|
|
62
62
|
this.userAgent = `${this.sdkVersion} Node/${process.version} (${process.platform}; ${os_1.default.arch()})`;
|
|
63
63
|
this.axios = axios_1.default.create({ baseURL: envUrl });
|
|
64
64
|
this.axios.interceptors.request.use((config) => {
|
|
@@ -110,7 +110,7 @@ class CoreClient {
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* Execute a function with error handling and retry logic
|
|
114
114
|
* @param fn Function to execute
|
|
115
115
|
* @param data Data to pass to the function
|
|
116
116
|
* @param retryLeft Number of retries left
|
|
@@ -123,39 +123,39 @@ class CoreClient {
|
|
|
123
123
|
return res;
|
|
124
124
|
}
|
|
125
125
|
catch (error) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
throw new Error(error.message);
|
|
126
|
+
// Handle gRPC Connect errors
|
|
127
|
+
if (error instanceof connect_1.ConnectError) {
|
|
128
|
+
if (retryLeft > 0) {
|
|
129
|
+
const serverException = new base_exception_1.ScalekitServerException(error);
|
|
130
|
+
if (serverException.httpStatus === 401) {
|
|
131
|
+
yield this.authenticateClient();
|
|
132
|
+
return this.connectExec(fn, data, retryLeft - 1);
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
throw new Error(messages.join("\n"));
|
|
135
|
+
throw base_exception_1.ScalekitServerException.promote(error);
|
|
136
|
+
}
|
|
137
|
+
// Handle HTTP/Axios errors
|
|
138
|
+
if (error instanceof axios_1.AxiosError) {
|
|
139
|
+
if (error.response) {
|
|
140
|
+
if (retryLeft > 0) {
|
|
141
|
+
const serverException = new base_exception_1.ScalekitServerException(error.response);
|
|
142
|
+
if (serverException.httpStatus === 401) {
|
|
143
|
+
yield this.authenticateClient();
|
|
144
|
+
return this.connectExec(fn, data, retryLeft - 1);
|
|
145
|
+
}
|
|
151
146
|
}
|
|
147
|
+
throw base_exception_1.ScalekitServerException.promote(error.response);
|
|
152
148
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return this.connectExec(fn, data, retryLeft - 1);
|
|
149
|
+
else {
|
|
150
|
+
throw new base_exception_1.ScalekitException(error);
|
|
156
151
|
}
|
|
157
152
|
}
|
|
158
|
-
|
|
153
|
+
// Handle existing ScalekitException instances
|
|
154
|
+
if (error instanceof base_exception_1.ScalekitException) {
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
// Handle generic errors
|
|
158
|
+
throw new base_exception_1.ScalekitException(error);
|
|
159
159
|
}
|
|
160
160
|
});
|
|
161
161
|
}
|
package/lib/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyD;AACzD,+CAAgF;AAEhF,4CAAoB;AACpB,4CAA6B;AAC7B,+CAA6C;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ConnectError, Code } from '@connectrpc/connect';
|
|
2
|
+
import { AxiosResponse } from 'axios';
|
|
3
|
+
import { ErrorInfo } from '../pkg/grpc/scalekit/v1/errdetails/errdetails_pb';
|
|
4
|
+
export declare class ScalekitException extends Error {
|
|
5
|
+
constructor(error: any);
|
|
6
|
+
}
|
|
7
|
+
export declare class WebhookVerificationError extends ScalekitException {
|
|
8
|
+
constructor(error: any);
|
|
9
|
+
}
|
|
10
|
+
export declare class ScalekitValidateTokenFailureException extends ScalekitException {
|
|
11
|
+
constructor(error: any);
|
|
12
|
+
}
|
|
13
|
+
export declare class ScalekitServerException extends ScalekitException {
|
|
14
|
+
private _grpcStatus;
|
|
15
|
+
private _httpStatus;
|
|
16
|
+
private _message;
|
|
17
|
+
private _errDetails;
|
|
18
|
+
private _errorCode;
|
|
19
|
+
private _unpackedDetails;
|
|
20
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
21
|
+
private isAxiosResponse;
|
|
22
|
+
toString(): string;
|
|
23
|
+
private getGrpcStatusName;
|
|
24
|
+
private getHttpStatusName;
|
|
25
|
+
get grpcStatus(): Code;
|
|
26
|
+
get httpStatus(): number;
|
|
27
|
+
get errorCode(): string | null;
|
|
28
|
+
get message(): string;
|
|
29
|
+
get errDetails(): any;
|
|
30
|
+
get unpackedDetails(): ErrorInfo[];
|
|
31
|
+
static promote(error: AxiosResponse | ConnectError): ScalekitServerException;
|
|
32
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScalekitServerException = exports.ScalekitValidateTokenFailureException = exports.WebhookVerificationError = exports.ScalekitException = void 0;
|
|
4
|
+
const connect_1 = require("@connectrpc/connect");
|
|
5
|
+
const errdetails_pb_1 = require("../pkg/grpc/scalekit/v1/errdetails/errdetails_pb");
|
|
6
|
+
// gRPC to HTTP status mapping
|
|
7
|
+
const GRPC_TO_HTTP = {
|
|
8
|
+
[connect_1.Code.InvalidArgument]: 400,
|
|
9
|
+
[connect_1.Code.FailedPrecondition]: 400,
|
|
10
|
+
[connect_1.Code.OutOfRange]: 400,
|
|
11
|
+
[connect_1.Code.Unauthenticated]: 401,
|
|
12
|
+
[connect_1.Code.PermissionDenied]: 403,
|
|
13
|
+
[connect_1.Code.NotFound]: 404,
|
|
14
|
+
[connect_1.Code.AlreadyExists]: 409,
|
|
15
|
+
[connect_1.Code.Aborted]: 409,
|
|
16
|
+
[connect_1.Code.ResourceExhausted]: 429,
|
|
17
|
+
[connect_1.Code.Canceled]: 499,
|
|
18
|
+
[connect_1.Code.DataLoss]: 500,
|
|
19
|
+
[connect_1.Code.Unknown]: 500,
|
|
20
|
+
[connect_1.Code.Internal]: 500,
|
|
21
|
+
[connect_1.Code.Unimplemented]: 501,
|
|
22
|
+
[connect_1.Code.Unavailable]: 503,
|
|
23
|
+
[connect_1.Code.DeadlineExceeded]: 504,
|
|
24
|
+
};
|
|
25
|
+
// HTTP to gRPC status mapping
|
|
26
|
+
const HTTP_TO_GRPC = {
|
|
27
|
+
200: connect_1.Code.Unknown, // No direct mapping for 200
|
|
28
|
+
400: connect_1.Code.InvalidArgument,
|
|
29
|
+
401: connect_1.Code.Unauthenticated,
|
|
30
|
+
403: connect_1.Code.PermissionDenied,
|
|
31
|
+
404: connect_1.Code.NotFound,
|
|
32
|
+
409: connect_1.Code.AlreadyExists,
|
|
33
|
+
429: connect_1.Code.ResourceExhausted,
|
|
34
|
+
500: connect_1.Code.Internal,
|
|
35
|
+
501: connect_1.Code.Unimplemented,
|
|
36
|
+
503: connect_1.Code.Unavailable,
|
|
37
|
+
504: connect_1.Code.DeadlineExceeded,
|
|
38
|
+
};
|
|
39
|
+
// HTTP status constants
|
|
40
|
+
const HTTP_STATUS = {
|
|
41
|
+
'OK': 200,
|
|
42
|
+
'BAD_REQUEST': 400,
|
|
43
|
+
'UNAUTHORIZED': 401,
|
|
44
|
+
'FORBIDDEN': 403,
|
|
45
|
+
'NOT_FOUND': 404,
|
|
46
|
+
'CONFLICT': 409,
|
|
47
|
+
'TOO_MANY_REQUESTS': 429,
|
|
48
|
+
'INTERNAL_SERVER_ERROR': 500,
|
|
49
|
+
'NOT_IMPLEMENTED': 501,
|
|
50
|
+
'SERVICE_UNAVAILABLE': 503,
|
|
51
|
+
'GATEWAY_TIMEOUT': 504,
|
|
52
|
+
};
|
|
53
|
+
// Base exception class
|
|
54
|
+
class ScalekitException extends Error {
|
|
55
|
+
constructor(error) {
|
|
56
|
+
super((error === null || error === void 0 ? void 0 : error.message) || (error === null || error === void 0 ? void 0 : error.toString()) || 'Unknown error');
|
|
57
|
+
this.name = 'ScalekitException';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.ScalekitException = ScalekitException;
|
|
61
|
+
// Webhook verification error
|
|
62
|
+
class WebhookVerificationError extends ScalekitException {
|
|
63
|
+
constructor(error) {
|
|
64
|
+
super(error);
|
|
65
|
+
this.name = 'WebhookVerificationError';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.WebhookVerificationError = WebhookVerificationError;
|
|
69
|
+
// Token validation failure exception
|
|
70
|
+
class ScalekitValidateTokenFailureException extends ScalekitException {
|
|
71
|
+
constructor(error) {
|
|
72
|
+
super(error);
|
|
73
|
+
this.name = 'ScalekitValidateTokenFailureException';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.ScalekitValidateTokenFailureException = ScalekitValidateTokenFailureException;
|
|
77
|
+
// Base server exception
|
|
78
|
+
class ScalekitServerException extends ScalekitException {
|
|
79
|
+
constructor(error) {
|
|
80
|
+
super(error);
|
|
81
|
+
this._unpackedDetails = [];
|
|
82
|
+
if (this.isAxiosResponse(error)) {
|
|
83
|
+
// Handle HTTP Response errors
|
|
84
|
+
if (error.statusText && typeof error.statusText === 'string') {
|
|
85
|
+
this._httpStatus = HTTP_STATUS[error.statusText.toUpperCase()] || HTTP_STATUS.INTERNAL_SERVER_ERROR;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this._httpStatus = HTTP_STATUS.INTERNAL_SERVER_ERROR;
|
|
89
|
+
}
|
|
90
|
+
this._grpcStatus = HTTP_TO_GRPC[error.status] || connect_1.Code.Unknown;
|
|
91
|
+
this._errorCode = error.statusText;
|
|
92
|
+
this._errDetails = error.data;
|
|
93
|
+
this._message = null;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// Handle gRPC ConnectError
|
|
97
|
+
this._grpcStatus = error.code;
|
|
98
|
+
this._httpStatus = GRPC_TO_HTTP[error.code] || 500;
|
|
99
|
+
this._message = error.message;
|
|
100
|
+
this._errDetails = error.findDetails(errdetails_pb_1.ErrorInfo);
|
|
101
|
+
this._errorCode = null;
|
|
102
|
+
// Unpack error details
|
|
103
|
+
for (const detail of this._errDetails) {
|
|
104
|
+
this._unpackedDetails.push(detail);
|
|
105
|
+
if (!this._errorCode) {
|
|
106
|
+
this._errorCode = detail.errorCode;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.name = 'ScalekitServerException';
|
|
111
|
+
}
|
|
112
|
+
isAxiosResponse(error) {
|
|
113
|
+
return error && typeof error.status === 'number' && typeof error.statusText === 'string';
|
|
114
|
+
}
|
|
115
|
+
// String representation
|
|
116
|
+
toString() {
|
|
117
|
+
const border = '='.repeat(40);
|
|
118
|
+
if (this._unpackedDetails.length > 0) {
|
|
119
|
+
let detailsStr = JSON.stringify(this._unpackedDetails, null, 2);
|
|
120
|
+
// Format the JSON string for better readability
|
|
121
|
+
if (detailsStr.startsWith("[") && detailsStr.includes("\n")) {
|
|
122
|
+
detailsStr = "[\n" + detailsStr.substring(1);
|
|
123
|
+
}
|
|
124
|
+
return `\n${border}\n` +
|
|
125
|
+
`Error Code: ${this._errorCode}\n` +
|
|
126
|
+
`GRPC: (${this.getGrpcStatusName()}: ${this._grpcStatus})\n` +
|
|
127
|
+
`HTTP: (${this.getHttpStatusName()}: ${this._httpStatus})\n` +
|
|
128
|
+
`Error Details:\n` +
|
|
129
|
+
`${this._message}: ${detailsStr}\n${border}\n`;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return `\n${border}\n` +
|
|
133
|
+
`Error Code: ${this._errorCode}\n` +
|
|
134
|
+
`GRPC: (${this.getGrpcStatusName()}: ${this._grpcStatus})\n` +
|
|
135
|
+
`HTTP: (${this.getHttpStatusName()}: ${this._httpStatus})\n` +
|
|
136
|
+
`Error Details: ${this._errDetails}\n${border}\n`;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Helper method to get gRPC status name
|
|
140
|
+
getGrpcStatusName() {
|
|
141
|
+
switch (this._grpcStatus) {
|
|
142
|
+
case connect_1.Code.InvalidArgument: return 'INVALID_ARGUMENT';
|
|
143
|
+
case connect_1.Code.FailedPrecondition: return 'FAILED_PRECONDITION';
|
|
144
|
+
case connect_1.Code.OutOfRange: return 'OUT_OF_RANGE';
|
|
145
|
+
case connect_1.Code.Unauthenticated: return 'UNAUTHENTICATED';
|
|
146
|
+
case connect_1.Code.PermissionDenied: return 'PERMISSION_DENIED';
|
|
147
|
+
case connect_1.Code.NotFound: return 'NOT_FOUND';
|
|
148
|
+
case connect_1.Code.AlreadyExists: return 'ALREADY_EXISTS';
|
|
149
|
+
case connect_1.Code.Aborted: return 'ABORTED';
|
|
150
|
+
case connect_1.Code.ResourceExhausted: return 'RESOURCE_EXHAUSTED';
|
|
151
|
+
case connect_1.Code.Canceled: return 'CANCELED';
|
|
152
|
+
case connect_1.Code.DataLoss: return 'DATA_LOSS';
|
|
153
|
+
case connect_1.Code.Unknown: return 'UNKNOWN';
|
|
154
|
+
case connect_1.Code.Internal: return 'INTERNAL';
|
|
155
|
+
case connect_1.Code.Unimplemented: return 'UNIMPLEMENTED';
|
|
156
|
+
case connect_1.Code.Unavailable: return 'UNAVAILABLE';
|
|
157
|
+
case connect_1.Code.DeadlineExceeded: return 'DEADLINE_EXCEEDED';
|
|
158
|
+
default: return 'UNKNOWN';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Helper method to get HTTP status name
|
|
162
|
+
getHttpStatusName() {
|
|
163
|
+
switch (this._httpStatus) {
|
|
164
|
+
case 200: return 'OK';
|
|
165
|
+
case 400: return 'BAD_REQUEST';
|
|
166
|
+
case 401: return 'UNAUTHORIZED';
|
|
167
|
+
case 403: return 'FORBIDDEN';
|
|
168
|
+
case 404: return 'NOT_FOUND';
|
|
169
|
+
case 409: return 'CONFLICT';
|
|
170
|
+
case 429: return 'TOO_MANY_REQUESTS';
|
|
171
|
+
case 500: return 'INTERNAL_SERVER_ERROR';
|
|
172
|
+
case 501: return 'NOT_IMPLEMENTED';
|
|
173
|
+
case 503: return 'SERVICE_UNAVAILABLE';
|
|
174
|
+
case 504: return 'GATEWAY_TIMEOUT';
|
|
175
|
+
default: return 'INTERNAL_SERVER_ERROR';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Getters
|
|
179
|
+
get grpcStatus() {
|
|
180
|
+
return this._grpcStatus;
|
|
181
|
+
}
|
|
182
|
+
get httpStatus() {
|
|
183
|
+
return this._httpStatus;
|
|
184
|
+
}
|
|
185
|
+
get errorCode() {
|
|
186
|
+
return this._errorCode;
|
|
187
|
+
}
|
|
188
|
+
get message() {
|
|
189
|
+
return this._message || super.message;
|
|
190
|
+
}
|
|
191
|
+
get errDetails() {
|
|
192
|
+
return this._errDetails;
|
|
193
|
+
}
|
|
194
|
+
get unpackedDetails() {
|
|
195
|
+
return this._unpackedDetails;
|
|
196
|
+
}
|
|
197
|
+
static promote(error) {
|
|
198
|
+
// Use dynamic import to avoid circular dependency
|
|
199
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
200
|
+
const specific = require('./specific-exceptions');
|
|
201
|
+
const grpcStatus = error instanceof connect_1.ConnectError
|
|
202
|
+
? error.code
|
|
203
|
+
: HTTP_TO_GRPC[error.status] || connect_1.Code.Unknown;
|
|
204
|
+
switch (grpcStatus) {
|
|
205
|
+
case connect_1.Code.InvalidArgument:
|
|
206
|
+
case connect_1.Code.FailedPrecondition:
|
|
207
|
+
case connect_1.Code.OutOfRange:
|
|
208
|
+
return new specific.ScalekitBadRequestException(error);
|
|
209
|
+
case connect_1.Code.Unauthenticated:
|
|
210
|
+
return new specific.ScalekitUnauthorizedException(error);
|
|
211
|
+
case connect_1.Code.PermissionDenied:
|
|
212
|
+
return new specific.ScalekitForbiddenException(error);
|
|
213
|
+
case connect_1.Code.NotFound:
|
|
214
|
+
return new specific.ScalekitNotFoundException(error);
|
|
215
|
+
case connect_1.Code.AlreadyExists:
|
|
216
|
+
case connect_1.Code.Aborted:
|
|
217
|
+
return new specific.ScalekitConflictException(error);
|
|
218
|
+
case connect_1.Code.ResourceExhausted:
|
|
219
|
+
return new specific.ScalekitTooManyRequestsException(error);
|
|
220
|
+
case connect_1.Code.Canceled:
|
|
221
|
+
return new specific.ScalekitCancelledException(error);
|
|
222
|
+
case connect_1.Code.DataLoss:
|
|
223
|
+
case connect_1.Code.Unknown:
|
|
224
|
+
case connect_1.Code.Internal:
|
|
225
|
+
return new specific.ScalekitInternalServerException(error);
|
|
226
|
+
case connect_1.Code.Unimplemented:
|
|
227
|
+
return new specific.ScalekitNotImplementedException(error);
|
|
228
|
+
case connect_1.Code.Unavailable:
|
|
229
|
+
return new specific.ScalekitServiceUnavailableException(error);
|
|
230
|
+
case connect_1.Code.DeadlineExceeded:
|
|
231
|
+
return new specific.ScalekitGatewayTimeoutException(error);
|
|
232
|
+
default:
|
|
233
|
+
return new specific.ScalekitUnknownException(error);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
exports.ScalekitServerException = ScalekitServerException;
|
|
238
|
+
//# sourceMappingURL=base-exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-exception.js","sourceRoot":"","sources":["../../src/errors/base-exception.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Export base exceptions
|
|
18
|
+
__exportStar(require("./base-exception"), exports);
|
|
19
|
+
__exportStar(require("./specific-exceptions"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yBAAyB;AACzB,mDAAiC;AACjC,wDAAsC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ConnectError } from '@connectrpc/connect';
|
|
2
|
+
import { AxiosResponse } from 'axios';
|
|
3
|
+
import { ScalekitServerException } from './base-exception';
|
|
4
|
+
export declare class ScalekitBadRequestException extends ScalekitServerException {
|
|
5
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
6
|
+
}
|
|
7
|
+
export declare class ScalekitUnauthorizedException extends ScalekitServerException {
|
|
8
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
9
|
+
}
|
|
10
|
+
export declare class ScalekitForbiddenException extends ScalekitServerException {
|
|
11
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
12
|
+
}
|
|
13
|
+
export declare class ScalekitNotFoundException extends ScalekitServerException {
|
|
14
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
15
|
+
}
|
|
16
|
+
export declare class ScalekitConflictException extends ScalekitServerException {
|
|
17
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
18
|
+
}
|
|
19
|
+
export declare class ScalekitTooManyRequestsException extends ScalekitServerException {
|
|
20
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
21
|
+
}
|
|
22
|
+
export declare class ScalekitInternalServerException extends ScalekitServerException {
|
|
23
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
24
|
+
}
|
|
25
|
+
export declare class ScalekitNotImplementedException extends ScalekitServerException {
|
|
26
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
27
|
+
}
|
|
28
|
+
export declare class ScalekitServiceUnavailableException extends ScalekitServerException {
|
|
29
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
30
|
+
}
|
|
31
|
+
export declare class ScalekitGatewayTimeoutException extends ScalekitServerException {
|
|
32
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
33
|
+
}
|
|
34
|
+
export declare class ScalekitCancelledException extends ScalekitServerException {
|
|
35
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
36
|
+
}
|
|
37
|
+
export declare class ScalekitUnknownException extends ScalekitServerException {
|
|
38
|
+
constructor(error: AxiosResponse | ConnectError);
|
|
39
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScalekitUnknownException = exports.ScalekitCancelledException = exports.ScalekitGatewayTimeoutException = exports.ScalekitServiceUnavailableException = exports.ScalekitNotImplementedException = exports.ScalekitInternalServerException = exports.ScalekitTooManyRequestsException = exports.ScalekitConflictException = exports.ScalekitNotFoundException = exports.ScalekitForbiddenException = exports.ScalekitUnauthorizedException = exports.ScalekitBadRequestException = void 0;
|
|
4
|
+
const base_exception_1 = require("./base-exception");
|
|
5
|
+
// Specific exception classes
|
|
6
|
+
class ScalekitBadRequestException extends base_exception_1.ScalekitServerException {
|
|
7
|
+
constructor(error) {
|
|
8
|
+
super(error);
|
|
9
|
+
this.name = 'ScalekitBadRequestException';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.ScalekitBadRequestException = ScalekitBadRequestException;
|
|
13
|
+
class ScalekitUnauthorizedException extends base_exception_1.ScalekitServerException {
|
|
14
|
+
constructor(error) {
|
|
15
|
+
super(error);
|
|
16
|
+
this.name = 'ScalekitUnauthorizedException';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ScalekitUnauthorizedException = ScalekitUnauthorizedException;
|
|
20
|
+
class ScalekitForbiddenException extends base_exception_1.ScalekitServerException {
|
|
21
|
+
constructor(error) {
|
|
22
|
+
super(error);
|
|
23
|
+
this.name = 'ScalekitForbiddenException';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ScalekitForbiddenException = ScalekitForbiddenException;
|
|
27
|
+
class ScalekitNotFoundException extends base_exception_1.ScalekitServerException {
|
|
28
|
+
constructor(error) {
|
|
29
|
+
super(error);
|
|
30
|
+
this.name = 'ScalekitNotFoundException';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ScalekitNotFoundException = ScalekitNotFoundException;
|
|
34
|
+
class ScalekitConflictException extends base_exception_1.ScalekitServerException {
|
|
35
|
+
constructor(error) {
|
|
36
|
+
super(error);
|
|
37
|
+
this.name = 'ScalekitConflictException';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ScalekitConflictException = ScalekitConflictException;
|
|
41
|
+
class ScalekitTooManyRequestsException extends base_exception_1.ScalekitServerException {
|
|
42
|
+
constructor(error) {
|
|
43
|
+
super(error);
|
|
44
|
+
this.name = 'ScalekitTooManyRequestsException';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.ScalekitTooManyRequestsException = ScalekitTooManyRequestsException;
|
|
48
|
+
class ScalekitInternalServerException extends base_exception_1.ScalekitServerException {
|
|
49
|
+
constructor(error) {
|
|
50
|
+
super(error);
|
|
51
|
+
this.name = 'ScalekitInternalServerException';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.ScalekitInternalServerException = ScalekitInternalServerException;
|
|
55
|
+
class ScalekitNotImplementedException extends base_exception_1.ScalekitServerException {
|
|
56
|
+
constructor(error) {
|
|
57
|
+
super(error);
|
|
58
|
+
this.name = 'ScalekitNotImplementedException';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ScalekitNotImplementedException = ScalekitNotImplementedException;
|
|
62
|
+
class ScalekitServiceUnavailableException extends base_exception_1.ScalekitServerException {
|
|
63
|
+
constructor(error) {
|
|
64
|
+
super(error);
|
|
65
|
+
this.name = 'ScalekitServiceUnavailableException';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ScalekitServiceUnavailableException = ScalekitServiceUnavailableException;
|
|
69
|
+
class ScalekitGatewayTimeoutException extends base_exception_1.ScalekitServerException {
|
|
70
|
+
constructor(error) {
|
|
71
|
+
super(error);
|
|
72
|
+
this.name = 'ScalekitGatewayTimeoutException';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.ScalekitGatewayTimeoutException = ScalekitGatewayTimeoutException;
|
|
76
|
+
class ScalekitCancelledException extends base_exception_1.ScalekitServerException {
|
|
77
|
+
constructor(error) {
|
|
78
|
+
super(error);
|
|
79
|
+
this.name = 'ScalekitCancelledException';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ScalekitCancelledException = ScalekitCancelledException;
|
|
83
|
+
class ScalekitUnknownException extends base_exception_1.ScalekitServerException {
|
|
84
|
+
constructor(error) {
|
|
85
|
+
super(error);
|
|
86
|
+
this.name = 'ScalekitUnknownException';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ScalekitUnknownException = ScalekitUnknownException;
|
|
90
|
+
//# sourceMappingURL=specific-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specific-exceptions.js","sourceRoot":"","sources":["../../src/errors/specific-exceptions.ts"],"names":[],"mappings":";;;AAEA,qDAA2D;AAE3D,8BAA8B;AAC9B,MAAa,2BAA4B,SAAQ,wCAAuB;IACtE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AALD,kEAKC;AAED,MAAa,6BAA8B,SAAQ,wCAAuB;IACxE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AALD,sEAKC;AAED,MAAa,0BAA2B,SAAQ,wCAAuB;IACrE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AALD,gEAKC;AAED,MAAa,yBAA0B,SAAQ,wCAAuB;IACpE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAa,yBAA0B,SAAQ,wCAAuB;IACpE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAa,gCAAiC,SAAQ,wCAAuB;IAC3E,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AALD,4EAKC;AAED,MAAa,+BAAgC,SAAQ,wCAAuB;IAC1E,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,0EAKC;AAED,MAAa,+BAAgC,SAAQ,wCAAuB;IAC1E,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,0EAKC;AAED,MAAa,mCAAoC,SAAQ,wCAAuB;IAC9E,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AALD,kFAKC;AAED,MAAa,+BAAgC,SAAQ,wCAAuB;IAC1E,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,0EAKC;AAED,MAAa,0BAA2B,SAAQ,wCAAuB;IACrE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AALD,gEAKC;AAED,MAAa,wBAAyB,SAAQ,wCAAuB;IACnE,YAAY,KAAmC;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -24,4 +24,5 @@ exports.Scalekit = scalekit_1.default;
|
|
|
24
24
|
exports.default = scalekit_1.default;
|
|
25
25
|
__exportStar(require("./types/scalekit"), exports);
|
|
26
26
|
__exportStar(require("./types/auth"), exports);
|
|
27
|
+
__exportStar(require("./errors"), exports);
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0DAAwC;AAE/B,yBAFF,kBAAc,CAEE;AACI,mBAHpB,kBAAc,CAGc;AACnC,kBAAe,kBAAc,CAAC;AAE9B,mDAAiC;AACjC,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0DAAwC;AAE/B,yBAFF,kBAAc,CAEE;AACI,mBAHpB,kBAAc,CAGc;AACnC,kBAAe,kBAAc,CAAC;AAE9B,mDAAiC;AACjC,+CAA6B;AAE7B,2CAAyB"}
|