@rapidrest/service-core 1.8.0 → 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.
Files changed (87) hide show
  1. package/dist/lib/ApiErrors.js +10 -0
  2. package/dist/lib/ApiErrors.js.map +1 -1
  3. package/dist/lib/BackgroundServiceManager.js +51 -9
  4. package/dist/lib/BackgroundServiceManager.js.map +1 -1
  5. package/dist/lib/EventListenerManager.js +35 -2
  6. package/dist/lib/EventListenerManager.js.map +1 -1
  7. package/dist/lib/NetUtils.js +215 -21
  8. package/dist/lib/NetUtils.js.map +1 -1
  9. package/dist/lib/ObjectFactory.js +7 -2
  10. package/dist/lib/ObjectFactory.js.map +1 -1
  11. package/dist/lib/RateLimiter.js.map +1 -1
  12. package/dist/lib/Server.js +121 -80
  13. package/dist/lib/Server.js.map +1 -1
  14. package/dist/lib/auth/AuthMiddleware.js +160 -100
  15. package/dist/lib/auth/AuthMiddleware.js.map +1 -1
  16. package/dist/lib/auth/JWTStrategy.js +6 -2
  17. package/dist/lib/auth/JWTStrategy.js.map +1 -1
  18. package/dist/lib/database/ConnectionManager.js +47 -1
  19. package/dist/lib/database/ConnectionManager.js.map +1 -1
  20. package/dist/lib/database/DatabaseErrors.js +88 -0
  21. package/dist/lib/database/DatabaseErrors.js.map +1 -0
  22. package/dist/lib/database/MongoRepository.js +31 -3
  23. package/dist/lib/database/MongoRepository.js.map +1 -1
  24. package/dist/lib/database/MongoSchemaSync.js +7 -1
  25. package/dist/lib/database/MongoSchemaSync.js.map +1 -1
  26. package/dist/lib/database/TypeOrmSupport.js +56 -6
  27. package/dist/lib/database/TypeOrmSupport.js.map +1 -1
  28. package/dist/lib/database/index.js +1 -0
  29. package/dist/lib/database/index.js.map +1 -1
  30. package/dist/lib/decorators/PersistenceDecorators.js +23 -0
  31. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
  32. package/dist/lib/decorators/RouteDecorators.js +4 -2
  33. package/dist/lib/decorators/RouteDecorators.js.map +1 -1
  34. package/dist/lib/http/bun/BunRouter.js +119 -9
  35. package/dist/lib/http/bun/BunRouter.js.map +1 -1
  36. package/dist/lib/http/index.js +1 -0
  37. package/dist/lib/http/index.js.map +1 -1
  38. package/dist/lib/http/session/sessionMiddleware.js +62 -14
  39. package/dist/lib/http/session/sessionMiddleware.js.map +1 -1
  40. package/dist/lib/http/types.js +10 -1
  41. package/dist/lib/http/types.js.map +1 -1
  42. package/dist/lib/http/uWS/Adapters.js +31 -13
  43. package/dist/lib/http/uWS/Adapters.js.map +1 -1
  44. package/dist/lib/http/uWS/Router.js +80 -16
  45. package/dist/lib/http/uWS/Router.js.map +1 -1
  46. package/dist/lib/http/uWS/WebSocket.js +4 -2
  47. package/dist/lib/http/uWS/WebSocket.js.map +1 -1
  48. package/dist/lib/models/ModelUtils.js +910 -227
  49. package/dist/lib/models/ModelUtils.js.map +1 -1
  50. package/dist/lib/models/RepoUtils.js +863 -266
  51. package/dist/lib/models/RepoUtils.js.map +1 -1
  52. package/dist/lib/routes/BaseAdminRoute.js +5 -4
  53. package/dist/lib/routes/BaseAdminRoute.js.map +1 -1
  54. package/dist/lib/routes/BasePushRoute.js +104 -40
  55. package/dist/lib/routes/BasePushRoute.js.map +1 -1
  56. package/dist/lib/routes/CRUDRoute.js +31 -17
  57. package/dist/lib/routes/CRUDRoute.js.map +1 -1
  58. package/dist/lib/routes/RouteUtils.js +120 -29
  59. package/dist/lib/routes/RouteUtils.js.map +1 -1
  60. package/dist/lib/security/ACLUtils.js +170 -34
  61. package/dist/lib/security/ACLUtils.js.map +1 -1
  62. package/dist/types/ApiErrors.d.ts +10 -0
  63. package/dist/types/BackgroundServiceManager.d.ts +6 -0
  64. package/dist/types/EventListenerManager.d.ts +4 -0
  65. package/dist/types/NetUtils.d.ts +65 -6
  66. package/dist/types/RateLimiter.d.ts +4 -3
  67. package/dist/types/Server.d.ts +33 -2
  68. package/dist/types/auth/AuthMiddleware.d.ts +35 -4
  69. package/dist/types/database/ConnectionManager.d.ts +18 -0
  70. package/dist/types/database/DatabaseErrors.d.ts +26 -0
  71. package/dist/types/database/MongoRepository.d.ts +21 -2
  72. package/dist/types/database/index.d.ts +1 -0
  73. package/dist/types/decorators/PersistenceDecorators.d.ts +31 -0
  74. package/dist/types/decorators/RouteDecorators.d.ts +4 -2
  75. package/dist/types/http/bun/BunRouter.d.ts +23 -2
  76. package/dist/types/http/index.d.ts +2 -1
  77. package/dist/types/http/session/sessionMiddleware.d.ts +14 -4
  78. package/dist/types/http/types.d.ts +40 -0
  79. package/dist/types/http/uWS/Adapters.d.ts +10 -1
  80. package/dist/types/http/uWS/Router.d.ts +15 -2
  81. package/dist/types/models/ModelUtils.d.ts +301 -47
  82. package/dist/types/models/RepoUtils.d.ts +240 -4
  83. package/dist/types/routes/BasePushRoute.d.ts +5 -0
  84. package/dist/types/routes/CRUDRoute.d.ts +10 -0
  85. package/dist/types/routes/RouteUtils.d.ts +37 -1
  86. package/dist/types/security/ACLUtils.d.ts +68 -7
  87. package/package.json +1 -1
@@ -29,9 +29,11 @@ export class UWSWebSocketShim extends EventEmitter {
29
29
  */
30
30
  send(data, cb) {
31
31
  try {
32
- const ok = this._ws.send(typeof data === "string" ? data : Buffer.from(data), typeof data !== "string");
32
+ // uWS returns 1 (sent), 0 (backpressure built up, but the message is queued and will still be delivered)
33
+ // or 2 (dropped because the backpressure limit was reached). Only a dropped message is an error.
34
+ const status = this._ws.send(typeof data === "string" ? data : Buffer.from(data), typeof data !== "string");
33
35
  if (cb)
34
- cb(ok ? undefined : new Error("uWS backpressure: send failed"));
36
+ cb(status === 2 ? new Error("uWS backpressure limit reached: message dropped") : undefined);
35
37
  }
36
38
  catch (err) {
37
39
  if (cb)
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../../../src/http/uWS/WebSocket.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwBhC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAI9C,YAAY,EAAkB;QAC1B,KAAK,EAAE,CAAC;QAHL,eAAU,GAAW,CAAC,CAAC,CAAC,OAAO;QAIlC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAS,EAAE,EAA0B;QAC7C,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;YACxG,IAAI,EAAE;gBAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,EAAE;gBAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAa,EAAE,MAAe;QACvC,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,+BAA+B;QACnC,CAAC;IACL,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,IAAI;YACA,OAAO;QACX,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,QAAQ;YACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../../../src/http/uWS/WebSocket.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwBhC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAI9C,YAAY,EAAkB;QAC1B,KAAK,EAAE,CAAC;QAHL,eAAU,GAAW,CAAC,CAAC,CAAC,OAAO;QAIlC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAS,EAAE,EAA0B;QAC7C,IAAI,CAAC;YACD,yGAAyG;YACzG,iGAAiG;YACjG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC5G,IAAI,EAAE;gBAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,EAAE;gBAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAa,EAAE,MAAe;QACvC,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,+BAA+B;QACnC,CAAC;IACL,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,IAAI;YACA,OAAO;QACX,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,QAAQ;YACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}