@restura/core 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +11 -2
- package/dist/index.js +35 -31
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -29,17 +29,26 @@ interface RsErrorInternalData {
|
|
|
29
29
|
declare enum HtmlStatusCodes {
|
|
30
30
|
BAD_REQUEST = 400,
|
|
31
31
|
UNAUTHORIZED = 401,
|
|
32
|
+
PAYMENT_REQUIRED = 402,
|
|
32
33
|
FORBIDDEN = 403,
|
|
33
34
|
NOT_FOUND = 404,
|
|
34
35
|
METHOD_NOT_ALLOWED = 405,
|
|
36
|
+
REQUEST_TIMEOUT = 408,
|
|
35
37
|
CONFLICT = 409,
|
|
36
|
-
|
|
38
|
+
GONE = 410,
|
|
39
|
+
PAYLOAD_TOO_LARGE = 413,
|
|
40
|
+
UNSUPPORTED_MEDIA_TYPE = 415,
|
|
41
|
+
UPGRADE_REQUIRED = 426,
|
|
37
42
|
UNPROCESSABLE_ENTITY = 422,
|
|
43
|
+
TOO_MANY_REQUESTS = 429,
|
|
38
44
|
SERVER_ERROR = 500,
|
|
45
|
+
NOT_IMPLEMENTED = 501,
|
|
46
|
+
BAD_GATEWAY = 502,
|
|
39
47
|
SERVICE_UNAVAILABLE = 503,
|
|
48
|
+
GATEWAY_TIMEOUT = 504,
|
|
40
49
|
NETWORK_CONNECT_TIMEOUT = 599
|
|
41
50
|
}
|
|
42
|
-
type ErrorCode = '
|
|
51
|
+
type ErrorCode = 'BAD_REQUEST' | 'UNAUTHORIZED' | 'PAYMENT_REQUIRED' | 'FORBIDDEN' | 'NOT_FOUND' | 'METHOD_NOT_ALLOWED' | 'REQUEST_TIMEOUT' | 'CONFLICT' | 'GONE' | 'PAYLOAD_TOO_LARGE' | 'UNSUPPORTED_MEDIA_TYPE' | 'UPGRADE_REQUIRED' | 'UNPROCESSABLE_ENTITY' | 'TOO_MANY_REQUESTS' | 'SERVER_ERROR' | 'NOT_IMPLEMENTED' | 'BAD_GATEWAY' | 'SERVICE_UNAVAILABLE' | 'GATEWAY_TIMEOUT' | 'NETWORK_CONNECT_TIMEOUT' | 'UNKNOWN_ERROR' | 'RATE_LIMIT_EXCEEDED' | 'INVALID_TOKEN' | 'INCORRECT_EMAIL_OR_PASSWORD' | 'DUPLICATE' | 'CONNECTION_ERROR' | 'SCHEMA_ERROR' | 'DATABASE_ERROR';
|
|
43
52
|
declare class RsError {
|
|
44
53
|
err: ErrorCode;
|
|
45
54
|
msg: string;
|
package/dist/index.js
CHANGED
|
@@ -210,14 +210,23 @@ var SqlUtils = class _SqlUtils {
|
|
|
210
210
|
var HtmlStatusCodes = /* @__PURE__ */ ((HtmlStatusCodes2) => {
|
|
211
211
|
HtmlStatusCodes2[HtmlStatusCodes2["BAD_REQUEST"] = 400] = "BAD_REQUEST";
|
|
212
212
|
HtmlStatusCodes2[HtmlStatusCodes2["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
213
|
+
HtmlStatusCodes2[HtmlStatusCodes2["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED";
|
|
213
214
|
HtmlStatusCodes2[HtmlStatusCodes2["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
214
215
|
HtmlStatusCodes2[HtmlStatusCodes2["NOT_FOUND"] = 404] = "NOT_FOUND";
|
|
215
216
|
HtmlStatusCodes2[HtmlStatusCodes2["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
|
|
217
|
+
HtmlStatusCodes2[HtmlStatusCodes2["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
|
|
216
218
|
HtmlStatusCodes2[HtmlStatusCodes2["CONFLICT"] = 409] = "CONFLICT";
|
|
217
|
-
HtmlStatusCodes2[HtmlStatusCodes2["
|
|
219
|
+
HtmlStatusCodes2[HtmlStatusCodes2["GONE"] = 410] = "GONE";
|
|
220
|
+
HtmlStatusCodes2[HtmlStatusCodes2["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
|
|
221
|
+
HtmlStatusCodes2[HtmlStatusCodes2["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
|
|
222
|
+
HtmlStatusCodes2[HtmlStatusCodes2["UPGRADE_REQUIRED"] = 426] = "UPGRADE_REQUIRED";
|
|
218
223
|
HtmlStatusCodes2[HtmlStatusCodes2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
|
|
224
|
+
HtmlStatusCodes2[HtmlStatusCodes2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
|
|
219
225
|
HtmlStatusCodes2[HtmlStatusCodes2["SERVER_ERROR"] = 500] = "SERVER_ERROR";
|
|
226
|
+
HtmlStatusCodes2[HtmlStatusCodes2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
227
|
+
HtmlStatusCodes2[HtmlStatusCodes2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
|
|
220
228
|
HtmlStatusCodes2[HtmlStatusCodes2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
|
|
229
|
+
HtmlStatusCodes2[HtmlStatusCodes2["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
|
|
221
230
|
HtmlStatusCodes2[HtmlStatusCodes2["NETWORK_CONNECT_TIMEOUT"] = 599] = "NETWORK_CONNECT_TIMEOUT";
|
|
222
231
|
return HtmlStatusCodes2;
|
|
223
232
|
})(HtmlStatusCodes || {});
|
|
@@ -240,41 +249,36 @@ var RsError = class _RsError {
|
|
|
240
249
|
}
|
|
241
250
|
};
|
|
242
251
|
var htmlStatusMap = {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
252
|
+
// 1:1 mappings to HTTP status codes
|
|
253
|
+
BAD_REQUEST: 400 /* BAD_REQUEST */,
|
|
254
|
+
UNAUTHORIZED: 401 /* UNAUTHORIZED */,
|
|
255
|
+
PAYMENT_REQUIRED: 402 /* PAYMENT_REQUIRED */,
|
|
246
256
|
FORBIDDEN: 403 /* FORBIDDEN */,
|
|
257
|
+
NOT_FOUND: 404 /* NOT_FOUND */,
|
|
258
|
+
METHOD_NOT_ALLOWED: 405 /* METHOD_NOT_ALLOWED */,
|
|
259
|
+
REQUEST_TIMEOUT: 408 /* REQUEST_TIMEOUT */,
|
|
247
260
|
CONFLICT: 409 /* CONFLICT */,
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
261
|
+
GONE: 410 /* GONE */,
|
|
262
|
+
PAYLOAD_TOO_LARGE: 413 /* PAYLOAD_TOO_LARGE */,
|
|
263
|
+
UNSUPPORTED_MEDIA_TYPE: 415 /* UNSUPPORTED_MEDIA_TYPE */,
|
|
264
|
+
UPGRADE_REQUIRED: 426 /* UPGRADE_REQUIRED */,
|
|
265
|
+
UNPROCESSABLE_ENTITY: 422 /* UNPROCESSABLE_ENTITY */,
|
|
266
|
+
TOO_MANY_REQUESTS: 429 /* TOO_MANY_REQUESTS */,
|
|
267
|
+
SERVER_ERROR: 500 /* SERVER_ERROR */,
|
|
268
|
+
NOT_IMPLEMENTED: 501 /* NOT_IMPLEMENTED */,
|
|
269
|
+
BAD_GATEWAY: 502 /* BAD_GATEWAY */,
|
|
270
|
+
SERVICE_UNAVAILABLE: 503 /* SERVICE_UNAVAILABLE */,
|
|
271
|
+
GATEWAY_TIMEOUT: 504 /* GATEWAY_TIMEOUT */,
|
|
272
|
+
NETWORK_CONNECT_TIMEOUT: 599 /* NETWORK_CONNECT_TIMEOUT */,
|
|
273
|
+
// Specific business errors mapped to appropriate HTTP codes
|
|
274
|
+
UNKNOWN_ERROR: 500 /* SERVER_ERROR */,
|
|
275
|
+
RATE_LIMIT_EXCEEDED: 429 /* TOO_MANY_REQUESTS */,
|
|
254
276
|
INVALID_TOKEN: 401 /* UNAUTHORIZED */,
|
|
255
277
|
INCORRECT_EMAIL_OR_PASSWORD: 401 /* UNAUTHORIZED */,
|
|
256
|
-
DUPLICATE_TOKEN: 409 /* CONFLICT */,
|
|
257
|
-
DUPLICATE_USERNAME: 409 /* CONFLICT */,
|
|
258
|
-
DUPLICATE_EMAIL: 409 /* CONFLICT */,
|
|
259
278
|
DUPLICATE: 409 /* CONFLICT */,
|
|
260
|
-
|
|
261
|
-
UPDATE_WITHOUT_ID: 400 /* BAD_REQUEST */,
|
|
262
|
-
CONNECTION_ERROR: 599 /* NETWORK_CONNECT_TIMEOUT */,
|
|
263
|
-
INVALID_PAYMENT: 403 /* FORBIDDEN */,
|
|
264
|
-
DECLINED_PAYMENT: 403 /* FORBIDDEN */,
|
|
265
|
-
INTEGRATION_ERROR: 500 /* SERVER_ERROR */,
|
|
266
|
-
CANNOT_RESERVE: 403 /* FORBIDDEN */,
|
|
267
|
-
REFUND_FAILURE: 403 /* FORBIDDEN */,
|
|
268
|
-
INVALID_INVOICE: 403 /* FORBIDDEN */,
|
|
269
|
-
INVALID_COUPON: 403 /* FORBIDDEN */,
|
|
270
|
-
SERVICE_UNAVAILABLE: 503 /* SERVICE_UNAVAILABLE */,
|
|
271
|
-
METHOD_UNALLOWED: 405 /* METHOD_NOT_ALLOWED */,
|
|
272
|
-
LOGIN_EXPIRED: 401 /* UNAUTHORIZED */,
|
|
273
|
-
THIRD_PARTY_ERROR: 400 /* BAD_REQUEST */,
|
|
274
|
-
ACCESS_DENIED: 403 /* FORBIDDEN */,
|
|
275
|
-
DATABASE_ERROR: 500 /* SERVER_ERROR */,
|
|
279
|
+
CONNECTION_ERROR: 504 /* GATEWAY_TIMEOUT */,
|
|
276
280
|
SCHEMA_ERROR: 500 /* SERVER_ERROR */,
|
|
277
|
-
|
|
281
|
+
DATABASE_ERROR: 500 /* SERVER_ERROR */
|
|
278
282
|
};
|
|
279
283
|
|
|
280
284
|
// src/restura/validators/ResponseValidator.ts
|
|
@@ -2524,7 +2528,7 @@ var PsqlEngine = class extends SqlEngine {
|
|
|
2524
2528
|
);
|
|
2525
2529
|
const whereClause = this.generateWhereClause(req, routeData.where, routeData, sqlParams);
|
|
2526
2530
|
if (whereClause.replace(/\s/g, "") === "") {
|
|
2527
|
-
throw new RsError("
|
|
2531
|
+
throw new RsError("FORBIDDEN", "Deletes need a where clause");
|
|
2528
2532
|
}
|
|
2529
2533
|
const deleteStatement = `
|
|
2530
2534
|
DELETE FROM "${routeData.table}" ${joinStatement} ${whereClause}`;
|