@restura/core 1.0.13 → 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 CHANGED
@@ -33,17 +33,22 @@ declare enum HtmlStatusCodes {
33
33
  FORBIDDEN = 403,
34
34
  NOT_FOUND = 404,
35
35
  METHOD_NOT_ALLOWED = 405,
36
+ REQUEST_TIMEOUT = 408,
36
37
  CONFLICT = 409,
37
- VERSION_OUT_OF_DATE = 418,// Technically this is the I'm a teapot code that was a joke.
38
+ GONE = 410,
39
+ PAYLOAD_TOO_LARGE = 413,
40
+ UNSUPPORTED_MEDIA_TYPE = 415,
41
+ UPGRADE_REQUIRED = 426,
38
42
  UNPROCESSABLE_ENTITY = 422,
39
43
  TOO_MANY_REQUESTS = 429,
40
44
  SERVER_ERROR = 500,
45
+ NOT_IMPLEMENTED = 501,
41
46
  BAD_GATEWAY = 502,
42
47
  SERVICE_UNAVAILABLE = 503,
43
48
  GATEWAY_TIMEOUT = 504,
44
49
  NETWORK_CONNECT_TIMEOUT = 599
45
50
  }
46
- type ErrorCode = 'UNKNOWN_ERROR' | 'NOT_FOUND' | 'EMAIL_TAKEN' | 'UNAUTHORIZED' | 'PAYMENT_FAILURE' | 'RATE_LIMIT_EXCEEDED' | 'FORBIDDEN' | 'CONFLICT' | 'UPDATE_FORBIDDEN' | 'CREATE_FORBIDDEN' | 'DELETE_FORBIDDEN' | 'DELETE_FAILURE' | 'BAD_REQUEST' | 'INVALID_TOKEN' | 'INCORRECT_EMAIL_OR_PASSWORD' | 'DUPLICATE_TOKEN' | 'DUPLICATE_USERNAME' | 'DUPLICATE_EMAIL' | 'DUPLICATE' | 'EMAIL_NOT_VERIFIED' | 'UPDATE_WITHOUT_ID' | 'CONNECTION_ERROR' | 'INVALID_PAYMENT' | 'DECLINED_PAYMENT' | 'INTEGRATION_ERROR' | 'CANNOT_RESERVE' | 'REFUND_FAILURE' | 'INVALID_INVOICE' | 'INVALID_COUPON' | 'SERVICE_UNAVAILABLE' | 'METHOD_UNALLOWED' | 'LOGIN_EXPIRED' | 'THIRD_PARTY_ERROR' | 'ACCESS_DENIED' | 'DATABASE_ERROR' | 'SCHEMA_ERROR' | 'DATA_INCOMPLETE';
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';
47
52
  declare class RsError {
48
53
  err: ErrorCode;
49
54
  msg: string;
package/dist/index.js CHANGED
@@ -214,11 +214,16 @@ var HtmlStatusCodes = /* @__PURE__ */ ((HtmlStatusCodes2) => {
214
214
  HtmlStatusCodes2[HtmlStatusCodes2["FORBIDDEN"] = 403] = "FORBIDDEN";
215
215
  HtmlStatusCodes2[HtmlStatusCodes2["NOT_FOUND"] = 404] = "NOT_FOUND";
216
216
  HtmlStatusCodes2[HtmlStatusCodes2["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
217
+ HtmlStatusCodes2[HtmlStatusCodes2["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
217
218
  HtmlStatusCodes2[HtmlStatusCodes2["CONFLICT"] = 409] = "CONFLICT";
218
- HtmlStatusCodes2[HtmlStatusCodes2["VERSION_OUT_OF_DATE"] = 418] = "VERSION_OUT_OF_DATE";
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";
219
223
  HtmlStatusCodes2[HtmlStatusCodes2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
220
224
  HtmlStatusCodes2[HtmlStatusCodes2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
221
225
  HtmlStatusCodes2[HtmlStatusCodes2["SERVER_ERROR"] = 500] = "SERVER_ERROR";
226
+ HtmlStatusCodes2[HtmlStatusCodes2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
222
227
  HtmlStatusCodes2[HtmlStatusCodes2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
223
228
  HtmlStatusCodes2[HtmlStatusCodes2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
224
229
  HtmlStatusCodes2[HtmlStatusCodes2["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
@@ -244,43 +249,36 @@ var RsError = class _RsError {
244
249
  }
245
250
  };
246
251
  var htmlStatusMap = {
247
- UNKNOWN_ERROR: 500 /* SERVER_ERROR */,
248
- NOT_FOUND: 404 /* NOT_FOUND */,
249
- EMAIL_TAKEN: 409 /* CONFLICT */,
250
- PAYMENT_FAILURE: 402 /* PAYMENT_REQUIRED */,
251
- RATE_LIMIT_EXCEEDED: 429 /* TOO_MANY_REQUESTS */,
252
+ // 1:1 mappings to HTTP status codes
253
+ BAD_REQUEST: 400 /* BAD_REQUEST */,
254
+ UNAUTHORIZED: 401 /* UNAUTHORIZED */,
255
+ PAYMENT_REQUIRED: 402 /* PAYMENT_REQUIRED */,
252
256
  FORBIDDEN: 403 /* FORBIDDEN */,
257
+ NOT_FOUND: 404 /* NOT_FOUND */,
258
+ METHOD_NOT_ALLOWED: 405 /* METHOD_NOT_ALLOWED */,
259
+ REQUEST_TIMEOUT: 408 /* REQUEST_TIMEOUT */,
253
260
  CONFLICT: 409 /* CONFLICT */,
254
- UNAUTHORIZED: 401 /* UNAUTHORIZED */,
255
- UPDATE_FORBIDDEN: 403 /* FORBIDDEN */,
256
- CREATE_FORBIDDEN: 403 /* FORBIDDEN */,
257
- DELETE_FORBIDDEN: 403 /* FORBIDDEN */,
258
- DELETE_FAILURE: 500 /* SERVER_ERROR */,
259
- BAD_REQUEST: 400 /* BAD_REQUEST */,
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 */,
260
276
  INVALID_TOKEN: 401 /* UNAUTHORIZED */,
261
277
  INCORRECT_EMAIL_OR_PASSWORD: 401 /* UNAUTHORIZED */,
262
- DUPLICATE_TOKEN: 409 /* CONFLICT */,
263
- DUPLICATE_USERNAME: 409 /* CONFLICT */,
264
- DUPLICATE_EMAIL: 409 /* CONFLICT */,
265
278
  DUPLICATE: 409 /* CONFLICT */,
266
- EMAIL_NOT_VERIFIED: 400 /* BAD_REQUEST */,
267
- UPDATE_WITHOUT_ID: 400 /* BAD_REQUEST */,
268
- CONNECTION_ERROR: 599 /* NETWORK_CONNECT_TIMEOUT */,
269
- INVALID_PAYMENT: 403 /* FORBIDDEN */,
270
- DECLINED_PAYMENT: 403 /* FORBIDDEN */,
271
- INTEGRATION_ERROR: 500 /* SERVER_ERROR */,
272
- CANNOT_RESERVE: 403 /* FORBIDDEN */,
273
- REFUND_FAILURE: 403 /* FORBIDDEN */,
274
- INVALID_INVOICE: 403 /* FORBIDDEN */,
275
- INVALID_COUPON: 403 /* FORBIDDEN */,
276
- SERVICE_UNAVAILABLE: 503 /* SERVICE_UNAVAILABLE */,
277
- METHOD_UNALLOWED: 405 /* METHOD_NOT_ALLOWED */,
278
- LOGIN_EXPIRED: 401 /* UNAUTHORIZED */,
279
- THIRD_PARTY_ERROR: 400 /* BAD_REQUEST */,
280
- ACCESS_DENIED: 403 /* FORBIDDEN */,
281
- DATABASE_ERROR: 500 /* SERVER_ERROR */,
279
+ CONNECTION_ERROR: 504 /* GATEWAY_TIMEOUT */,
282
280
  SCHEMA_ERROR: 500 /* SERVER_ERROR */,
283
- DATA_INCOMPLETE: 422 /* UNPROCESSABLE_ENTITY */
281
+ DATABASE_ERROR: 500 /* SERVER_ERROR */
284
282
  };
285
283
 
286
284
  // src/restura/validators/ResponseValidator.ts
@@ -2530,7 +2528,7 @@ var PsqlEngine = class extends SqlEngine {
2530
2528
  );
2531
2529
  const whereClause = this.generateWhereClause(req, routeData.where, routeData, sqlParams);
2532
2530
  if (whereClause.replace(/\s/g, "") === "") {
2533
- throw new RsError("DELETE_FORBIDDEN", "Deletes need a where clause");
2531
+ throw new RsError("FORBIDDEN", "Deletes need a where clause");
2534
2532
  }
2535
2533
  const deleteStatement = `
2536
2534
  DELETE FROM "${routeData.table}" ${joinStatement} ${whereClause}`;