@rapidrest/service-core 1.0.0-rc.7 → 1.0.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 (380) hide show
  1. package/LICENSE +382 -23
  2. package/README.md +79 -5
  3. package/dist/lib/ApiErrors.js +10 -0
  4. package/dist/lib/ApiErrors.js.map +1 -1
  5. package/dist/lib/BackgroundService.js +1 -4
  6. package/dist/lib/BackgroundService.js.map +1 -1
  7. package/dist/lib/BackgroundServiceManager.js +47 -6
  8. package/dist/lib/BackgroundServiceManager.js.map +1 -1
  9. package/dist/lib/BulkError.js +4 -0
  10. package/dist/lib/BulkError.js.map +1 -1
  11. package/dist/lib/EventListenerManager.js +53 -18
  12. package/dist/lib/EventListenerManager.js.map +1 -1
  13. package/dist/lib/NetUtils.js +1 -0
  14. package/dist/lib/NetUtils.js.map +1 -1
  15. package/dist/lib/NotificationUtils.js +27 -8
  16. package/dist/lib/NotificationUtils.js.map +1 -1
  17. package/dist/lib/ObjectFactory.js +25 -44
  18. package/dist/lib/ObjectFactory.js.map +1 -1
  19. package/dist/lib/OpenApiSpec.js +31 -11
  20. package/dist/lib/OpenApiSpec.js.map +1 -1
  21. package/dist/lib/Server.js +74 -110
  22. package/dist/lib/Server.js.map +1 -1
  23. package/dist/lib/auth/AuthMiddleware.js +11 -16
  24. package/dist/lib/auth/AuthMiddleware.js.map +1 -1
  25. package/dist/lib/auth/JWTStrategy.js +68 -17
  26. package/dist/lib/auth/JWTStrategy.js.map +1 -1
  27. package/dist/lib/auth/index.js +0 -1
  28. package/dist/lib/auth/index.js.map +1 -1
  29. package/dist/lib/database/ConnectionKinds.js +15 -0
  30. package/dist/lib/database/ConnectionKinds.js.map +1 -1
  31. package/dist/lib/database/ConnectionManager.js +140 -61
  32. package/dist/lib/database/ConnectionManager.js.map +1 -1
  33. package/dist/lib/database/MongoConnection.js +13 -3
  34. package/dist/lib/database/MongoConnection.js.map +1 -1
  35. package/dist/lib/database/MongoRepository.js +61 -15
  36. package/dist/lib/database/MongoRepository.js.map +1 -1
  37. package/dist/lib/database/MongoSchemaSync.js +3 -3
  38. package/dist/lib/database/MongoSchemaSync.js.map +1 -1
  39. package/dist/lib/database/NamingUtils.js +3 -2
  40. package/dist/lib/database/NamingUtils.js.map +1 -1
  41. package/dist/lib/database/RedisCache.js +64 -0
  42. package/dist/lib/database/RedisCache.js.map +1 -0
  43. package/dist/lib/database/TypeOrmSupport.js +53 -13
  44. package/dist/lib/database/TypeOrmSupport.js.map +1 -1
  45. package/dist/lib/database/index.js +1 -0
  46. package/dist/lib/database/index.js.map +1 -1
  47. package/dist/lib/decorators/DatabaseDecorators.js +264 -20
  48. package/dist/lib/decorators/DatabaseDecorators.js.map +1 -1
  49. package/dist/lib/decorators/DocDecorators.js +30 -9
  50. package/dist/lib/decorators/DocDecorators.js.map +1 -1
  51. package/dist/lib/decorators/EventDecorators.js +1 -0
  52. package/dist/lib/decorators/EventDecorators.js.map +1 -1
  53. package/dist/lib/decorators/ModelDecorators.js +39 -23
  54. package/dist/lib/decorators/ModelDecorators.js.map +1 -1
  55. package/dist/lib/decorators/PersistenceDecorators.js +4 -3
  56. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
  57. package/dist/lib/decorators/RouteDecorators.js +139 -36
  58. package/dist/lib/decorators/RouteDecorators.js.map +1 -1
  59. package/dist/lib/http/IWebSocketShim.js +2 -0
  60. package/dist/lib/http/IWebSocketShim.js.map +1 -0
  61. package/dist/lib/http/MiddlewareChain.js +167 -0
  62. package/dist/lib/http/MiddlewareChain.js.map +1 -0
  63. package/dist/lib/http/RuntimeDetect.js +9 -0
  64. package/dist/lib/http/RuntimeDetect.js.map +1 -0
  65. package/dist/lib/http/bun/BunAdapters.js +326 -0
  66. package/dist/lib/http/bun/BunAdapters.js.map +1 -0
  67. package/dist/lib/http/bun/BunRouter.js +391 -0
  68. package/dist/lib/http/bun/BunRouter.js.map +1 -0
  69. package/dist/lib/http/bun/BunWebSocket.js +49 -0
  70. package/dist/lib/http/bun/BunWebSocket.js.map +1 -0
  71. package/dist/lib/http/index.js +16 -3
  72. package/dist/lib/http/index.js.map +1 -1
  73. package/dist/lib/http/session/RedisSessionStore.js +30 -0
  74. package/dist/lib/http/session/RedisSessionStore.js.map +1 -0
  75. package/dist/lib/http/session/SessionManager.js +113 -0
  76. package/dist/lib/http/session/SessionManager.js.map +1 -0
  77. package/dist/lib/http/session/SessionStore.js +6 -0
  78. package/dist/lib/http/session/SessionStore.js.map +1 -0
  79. package/dist/lib/http/session/sessionMiddleware.js +42 -0
  80. package/dist/lib/http/session/sessionMiddleware.js.map +1 -0
  81. package/dist/lib/http/types.js +0 -3
  82. package/dist/lib/http/types.js.map +1 -1
  83. package/dist/lib/http/uWS/Adapters.js +421 -0
  84. package/dist/lib/http/uWS/Adapters.js.map +1 -0
  85. package/dist/lib/http/{Router.js → uWS/Router.js} +73 -173
  86. package/dist/lib/http/uWS/Router.js.map +1 -0
  87. package/dist/lib/http/{WebSocket.js → uWS/WebSocket.js} +4 -1
  88. package/dist/lib/http/uWS/WebSocket.js.map +1 -0
  89. package/dist/lib/models/BaseEntity.js +2 -1
  90. package/dist/lib/models/BaseEntity.js.map +1 -1
  91. package/dist/lib/models/BaseMongoEntity.js +2 -2
  92. package/dist/lib/models/BaseMongoEntity.js.map +1 -1
  93. package/dist/lib/models/ModelUtils.js +248 -101
  94. package/dist/lib/models/ModelUtils.js.map +1 -1
  95. package/dist/lib/models/RecoverableBaseEntity.js +6 -1
  96. package/dist/lib/models/RecoverableBaseEntity.js.map +1 -1
  97. package/dist/lib/models/RecoverableBaseMongoEntity.js +1 -0
  98. package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -1
  99. package/dist/lib/models/RepoUtils.js +641 -203
  100. package/dist/lib/models/RepoUtils.js.map +1 -1
  101. package/dist/lib/models/SimpleEntity.js +1 -0
  102. package/dist/lib/models/SimpleEntity.js.map +1 -1
  103. package/dist/lib/models/SimpleMongoEntity.js +2 -1
  104. package/dist/lib/models/SimpleMongoEntity.js.map +1 -1
  105. package/dist/lib/models/StatusExtraData.js +4 -0
  106. package/dist/lib/models/StatusExtraData.js.map +1 -1
  107. package/dist/lib/routes/{AdminRoute.js → BaseAdminRoute.js} +98 -80
  108. package/dist/lib/routes/BaseAdminRoute.js.map +1 -0
  109. package/dist/lib/routes/{MetricsRoute.js → BaseMetricsRoute.js} +29 -15
  110. package/dist/lib/routes/BaseMetricsRoute.js.map +1 -0
  111. package/dist/lib/routes/{OpenAPIRoute.js → BaseOpenAPIRoute.js} +32 -32
  112. package/dist/lib/routes/BaseOpenAPIRoute.js.map +1 -0
  113. package/dist/lib/routes/BasePushRoute.js +305 -0
  114. package/dist/lib/routes/BasePushRoute.js.map +1 -0
  115. package/dist/lib/routes/BaseStaticRoute.js +153 -0
  116. package/dist/lib/routes/BaseStaticRoute.js.map +1 -0
  117. package/dist/lib/routes/BaseStatusRoute.js +80 -0
  118. package/dist/lib/routes/BaseStatusRoute.js.map +1 -0
  119. package/dist/lib/routes/CRUDRoute.js +284 -0
  120. package/dist/lib/routes/CRUDRoute.js.map +1 -0
  121. package/dist/lib/routes/ModelRoute.js +84 -57
  122. package/dist/lib/routes/ModelRoute.js.map +1 -1
  123. package/dist/lib/routes/RouteUtils.js +108 -20
  124. package/dist/lib/routes/RouteUtils.js.map +1 -1
  125. package/dist/lib/routes/index.js +7 -4
  126. package/dist/lib/routes/index.js.map +1 -1
  127. package/dist/lib/security/ACLUtils.js +297 -170
  128. package/dist/lib/security/ACLUtils.js.map +1 -1
  129. package/dist/lib/security/AccessControlList.js +18 -10
  130. package/dist/lib/security/AccessControlList.js.map +1 -1
  131. package/dist/lib/security/AccessControlListMongo.js +19 -68
  132. package/dist/lib/security/AccessControlListMongo.js.map +1 -1
  133. package/dist/lib/security/AccessControlListSQL.js +21 -70
  134. package/dist/lib/security/AccessControlListSQL.js.map +1 -1
  135. package/dist/lib/security/BaseACLRoute.js +239 -0
  136. package/dist/lib/security/BaseACLRoute.js.map +1 -0
  137. package/dist/lib/security/index.js +3 -0
  138. package/dist/lib/security/index.js.map +1 -1
  139. package/dist/lib/test/request.js +62 -5
  140. package/dist/lib/test/request.js.map +1 -1
  141. package/dist/lib/test/requestws.js +34 -10
  142. package/dist/lib/test/requestws.js.map +1 -1
  143. package/dist/types/ApiErrors.d.ts +8 -2
  144. package/dist/types/BackgroundService.d.ts +0 -5
  145. package/dist/types/BackgroundServiceManager.d.ts +2 -1
  146. package/dist/types/EventListenerManager.d.ts +7 -6
  147. package/dist/types/NotificationUtils.d.ts +5 -3
  148. package/dist/types/OpenApiSpec.d.ts +2 -2
  149. package/dist/types/Server.d.ts +28 -10
  150. package/dist/types/auth/AuthMiddleware.d.ts +3 -3
  151. package/dist/types/auth/AuthStrategy.d.ts +10 -7
  152. package/dist/types/auth/JWTStrategy.d.ts +6 -4
  153. package/dist/types/auth/index.d.ts +0 -1
  154. package/dist/types/database/ConnectionKinds.d.ts +7 -0
  155. package/dist/types/database/ConnectionManager.d.ts +29 -4
  156. package/dist/types/database/MongoConnection.d.ts +16 -4
  157. package/dist/types/database/MongoRepository.d.ts +32 -11
  158. package/dist/types/database/RedisCache.d.ts +23 -0
  159. package/dist/types/database/TypeOrmSupport.d.ts +4 -4
  160. package/dist/types/database/index.d.ts +1 -0
  161. package/dist/types/decorators/DatabaseDecorators.d.ts +139 -8
  162. package/dist/types/decorators/DocDecorators.d.ts +11 -2
  163. package/dist/types/decorators/ModelDecorators.d.ts +12 -5
  164. package/dist/types/decorators/PersistenceDecorators.d.ts +11 -4
  165. package/dist/types/decorators/RouteDecorators.d.ts +36 -6
  166. package/dist/types/http/IWebSocketShim.d.ts +11 -0
  167. package/dist/types/http/MiddlewareChain.d.ts +47 -0
  168. package/dist/types/http/RuntimeDetect.d.ts +2 -0
  169. package/dist/types/http/bun/BunAdapters.d.ts +139 -0
  170. package/dist/types/http/bun/BunRouter.d.ts +79 -0
  171. package/dist/types/http/bun/BunWebSocket.d.ts +35 -0
  172. package/dist/types/http/index.d.ts +16 -6
  173. package/dist/types/http/session/RedisSessionStore.d.ts +15 -0
  174. package/dist/types/http/session/SessionManager.d.ts +35 -0
  175. package/dist/types/http/session/SessionStore.d.ts +12 -0
  176. package/dist/types/http/session/sessionMiddleware.d.ts +10 -0
  177. package/dist/types/http/types.d.ts +42 -3
  178. package/dist/types/http/uWS/Adapters.d.ts +129 -0
  179. package/dist/types/http/{Router.d.ts → uWS/Router.d.ts} +14 -38
  180. package/dist/types/http/{WebSocket.d.ts → uWS/WebSocket.d.ts} +6 -5
  181. package/dist/types/models/BaseEntity.d.ts +1 -1
  182. package/dist/types/models/ModelUtils.d.ts +47 -14
  183. package/dist/types/models/RecoverableBaseEntity.d.ts +3 -1
  184. package/dist/types/models/RepoUtils.d.ts +84 -14
  185. package/dist/types/routes/BaseAdminRoute.d.ts +65 -0
  186. package/dist/types/routes/BaseMetricsRoute.d.ts +37 -0
  187. package/dist/types/routes/BaseOpenAPIRoute.d.ts +33 -0
  188. package/dist/types/routes/BasePushRoute.d.ts +53 -0
  189. package/dist/types/routes/BaseStaticRoute.d.ts +44 -0
  190. package/dist/types/routes/BaseStatusRoute.d.ts +37 -0
  191. package/dist/types/routes/CRUDRoute.d.ts +57 -0
  192. package/dist/types/routes/ModelRoute.d.ts +39 -36
  193. package/dist/types/routes/RouteUtils.d.ts +19 -0
  194. package/dist/types/routes/index.d.ts +7 -4
  195. package/dist/types/security/ACLUtils.d.ts +94 -18
  196. package/dist/types/security/AccessControlList.d.ts +37 -59
  197. package/dist/types/security/AccessControlListMongo.d.ts +3 -8
  198. package/dist/types/security/AccessControlListSQL.d.ts +3 -8
  199. package/dist/types/security/BaseACLRoute.d.ts +73 -0
  200. package/dist/types/security/index.d.ts +3 -0
  201. package/dist/types/test/request.d.ts +18 -1
  202. package/package.json +135 -129
  203. package/tsconfig.export.json +17 -0
  204. package/dist/lib/auth/BasicStrategy.js +0 -113
  205. package/dist/lib/auth/BasicStrategy.js.map +0 -1
  206. package/dist/lib/http/Adapters.js +0 -241
  207. package/dist/lib/http/Adapters.js.map +0 -1
  208. package/dist/lib/http/Router.js.map +0 -1
  209. package/dist/lib/http/WebSocket.js.map +0 -1
  210. package/dist/lib/routes/AdminRoute.js.map +0 -1
  211. package/dist/lib/routes/MetricsRoute.js.map +0 -1
  212. package/dist/lib/routes/OpenAPIRoute.js.map +0 -1
  213. package/dist/lib/routes/StatusRoute.js +0 -55
  214. package/dist/lib/routes/StatusRoute.js.map +0 -1
  215. package/dist/lib/security/ACLRouteMongo.js +0 -194
  216. package/dist/lib/security/ACLRouteMongo.js.map +0 -1
  217. package/dist/lib/security/ACLRouteSQL.js +0 -193
  218. package/dist/lib/security/ACLRouteSQL.js.map +0 -1
  219. package/dist/types/auth/BasicStrategy.d.ts +0 -37
  220. package/dist/types/http/Adapters.d.ts +0 -68
  221. package/dist/types/routes/AdminRoute.d.ts +0 -47
  222. package/dist/types/routes/MetricsRoute.d.ts +0 -15
  223. package/dist/types/routes/OpenAPIRoute.d.ts +0 -17
  224. package/dist/types/routes/StatusRoute.d.ts +0 -11
  225. package/dist/types/security/ACLRouteMongo.d.ts +0 -19
  226. package/dist/types/security/ACLRouteSQL.d.ts +0 -19
  227. package/docs/Makefile +0 -20
  228. package/docs/conf.py +0 -58
  229. package/docs/index.rst +0 -17
  230. package/docs/make.bat +0 -35
  231. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +0 -13
  232. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +0 -25
  233. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +0 -25
  234. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +0 -25
  235. package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +0 -23
  236. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +0 -25
  237. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +0 -25
  238. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +0 -25
  239. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +0 -25
  240. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +0 -25
  241. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +0 -28
  242. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +0 -25
  243. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +0 -25
  244. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +0 -28
  245. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +0 -57
  246. package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +0 -12
  247. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +0 -17
  248. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +0 -26
  249. package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +0 -26
  250. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +0 -25
  251. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +0 -18
  252. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +0 -25
  253. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +0 -27
  254. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +0 -35
  255. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +0 -25
  256. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +0 -27
  257. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +0 -26
  258. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +0 -45
  259. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +0 -14
  260. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +0 -27
  261. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +0 -25
  262. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +0 -25
  263. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +0 -119
  264. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +0 -25
  265. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +0 -68
  266. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +0 -26
  267. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +0 -26
  268. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +0 -27
  269. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +0 -79
  270. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +0 -41
  271. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +0 -51
  272. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +0 -32
  273. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +0 -41
  274. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +0 -61
  275. package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +0 -36
  276. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +0 -26
  277. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +0 -33
  278. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +0 -31
  279. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +0 -25
  280. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +0 -25
  281. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +0 -25
  282. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +0 -25
  283. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +0 -25
  284. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +0 -25
  285. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +0 -31
  286. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +0 -25
  287. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +0 -25
  288. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +0 -26
  289. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +0 -25
  290. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +0 -25
  291. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +0 -31
  292. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +0 -25
  293. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +0 -26
  294. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +0 -31
  295. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +0 -26
  296. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +0 -31
  297. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +0 -25
  298. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +0 -33
  299. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +0 -31
  300. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +0 -25
  301. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +0 -25
  302. package/docs/reference/README.md +0 -20
  303. package/docs/reference/classes/ACLUtils.md +0 -263
  304. package/docs/reference/classes/AdminRoute.md +0 -51
  305. package/docs/reference/classes/AuthMiddleware.md +0 -173
  306. package/docs/reference/classes/BackgroundService.md +0 -117
  307. package/docs/reference/classes/BackgroundServiceManager.md +0 -172
  308. package/docs/reference/classes/BaseEntity.md +0 -82
  309. package/docs/reference/classes/BaseMongoEntity.md +0 -107
  310. package/docs/reference/classes/BasicStrategy.md +0 -131
  311. package/docs/reference/classes/BasicStrategyOptions.md +0 -115
  312. package/docs/reference/classes/BulkError.md +0 -271
  313. package/docs/reference/classes/ConnectionManager.md +0 -75
  314. package/docs/reference/classes/EventListenerManager.md +0 -88
  315. package/docs/reference/classes/HttpRouter.md +0 -343
  316. package/docs/reference/classes/JWTStrategy.md +0 -100
  317. package/docs/reference/classes/JWTStrategyOptions.md +0 -97
  318. package/docs/reference/classes/MetricsRoute.md +0 -27
  319. package/docs/reference/classes/ModelRoute.md +0 -527
  320. package/docs/reference/classes/ModelUtils.md +0 -446
  321. package/docs/reference/classes/MongoConnection.md +0 -218
  322. package/docs/reference/classes/MongoRepository.md +0 -390
  323. package/docs/reference/classes/MongoSchemaSync.md +0 -97
  324. package/docs/reference/classes/NetUtils.md +0 -90
  325. package/docs/reference/classes/NotificationUtils.md +0 -77
  326. package/docs/reference/classes/ObjectFactory.md +0 -336
  327. package/docs/reference/classes/OpenAPIRoute.md +0 -77
  328. package/docs/reference/classes/OpenApiSpec.md +0 -892
  329. package/docs/reference/classes/RecoverableBaseEntity.md +0 -114
  330. package/docs/reference/classes/RecoverableBaseMongoEntity.md +0 -124
  331. package/docs/reference/classes/RedisTransport.md +0 -2202
  332. package/docs/reference/classes/RepoUtils.md +0 -482
  333. package/docs/reference/classes/RouteUtils.md +0 -191
  334. package/docs/reference/classes/Server.md +0 -408
  335. package/docs/reference/classes/SimpleEntity.md +0 -48
  336. package/docs/reference/classes/SimpleMongoEntity.md +0 -66
  337. package/docs/reference/classes/StatusExtraData.md +0 -57
  338. package/docs/reference/classes/StatusRoute.md +0 -26
  339. package/docs/reference/classes/UWSRequest.md +0 -226
  340. package/docs/reference/classes/UWSResponse.md +0 -257
  341. package/docs/reference/classes/UWSWebSocketShim.md +0 -958
  342. package/docs/reference/enumerations/ACLAction.md +0 -63
  343. package/docs/reference/enumerations/ApiErrorMessages.md +0 -123
  344. package/docs/reference/enumerations/ApiErrors.md +0 -123
  345. package/docs/reference/functions/createWebSocketStream.md +0 -27
  346. package/docs/reference/functions/isSqlDataSource.md +0 -26
  347. package/docs/reference/functions/readBody.md +0 -29
  348. package/docs/reference/functions/resolveCollectionName.md +0 -33
  349. package/docs/reference/functions/runChain.md +0 -40
  350. package/docs/reference/functions/snakeCase.md +0 -28
  351. package/docs/reference/globals.md +0 -106
  352. package/docs/reference/interfaces/ACLRecord.md +0 -96
  353. package/docs/reference/interfaces/AccessControlList.md +0 -76
  354. package/docs/reference/interfaces/AuthResult.md +0 -55
  355. package/docs/reference/interfaces/AuthStrategy.md +0 -95
  356. package/docs/reference/interfaces/CreateRequestOptions.md +0 -121
  357. package/docs/reference/interfaces/DeleteRequestOptions.md +0 -137
  358. package/docs/reference/interfaces/FindRequestOptions.md +0 -133
  359. package/docs/reference/interfaces/HttpRequest.md +0 -147
  360. package/docs/reference/interfaces/HttpResponse.md +0 -164
  361. package/docs/reference/interfaces/JWTAuthResult.md +0 -84
  362. package/docs/reference/interfaces/RepoCreateOptions.md +0 -95
  363. package/docs/reference/interfaces/RepoDeleteOptions.md +0 -105
  364. package/docs/reference/interfaces/RepoFindOptions.md +0 -125
  365. package/docs/reference/interfaces/RepoOperationOptions.md +0 -69
  366. package/docs/reference/interfaces/RepoUpdateOptions.md +0 -101
  367. package/docs/reference/interfaces/RequestOptions.md +0 -112
  368. package/docs/reference/interfaces/RequestWS.md +0 -225
  369. package/docs/reference/interfaces/TruncateRequestOptions.md +0 -161
  370. package/docs/reference/interfaces/UpdateRequestOptions.md +0 -139
  371. package/docs/reference/type-aliases/ErrorHandler.md +0 -35
  372. package/docs/reference/type-aliases/NextFunction.md +0 -23
  373. package/docs/reference/type-aliases/OneOrMany.md +0 -19
  374. package/docs/reference/type-aliases/OneOrNull.md +0 -19
  375. package/docs/reference/type-aliases/PartialBaseEntity.md +0 -17
  376. package/docs/reference/type-aliases/PartialSimpleEntity.md +0 -17
  377. package/docs/reference/type-aliases/RequestHandler.md +0 -31
  378. package/docs/reference/type-aliases/UpdateObject.md +0 -19
  379. package/docs/reference/type-aliases/WsUpgradeAuth.md +0 -27
  380. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +0 -47
@@ -1,390 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / MongoRepository
6
-
7
- # Class: MongoRepository\<T\>
8
-
9
- Defined in: [src/database/MongoRepository.ts:28](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L28)
10
-
11
- Provides a lightweight repository for performing common operations against a single MongoDB collection using the
12
- native `mongodb` driver. Instances of this class are obtained via `MongoConnection.getRepository`.
13
-
14
- Note that this class only references the `mongodb` package via type-only imports and is therefore safe to load
15
- when the optional `mongodb` peer dependency is not installed.
16
-
17
- ## Author
18
-
19
- Jean-Philippe Steinmetz <rapidrests@gmail.com>
20
-
21
- ## Type Parameters
22
-
23
- ### T
24
-
25
- `T` *extends* `Document` = `any`
26
-
27
- ## Constructors
28
-
29
- ### Constructor
30
-
31
- > **new MongoRepository**\<`T`\>(`db`, `collection`, `modelClass?`): `MongoRepository`\<`T`\>
32
-
33
- Defined in: [src/database/MongoRepository.ts:36](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L36)
34
-
35
- #### Parameters
36
-
37
- ##### db
38
-
39
- `Db`
40
-
41
- ##### collection
42
-
43
- `Collection`\<`T`\>
44
-
45
- ##### modelClass?
46
-
47
- `any`
48
-
49
- #### Returns
50
-
51
- `MongoRepository`\<`T`\>
52
-
53
- ## Properties
54
-
55
- ### collection
56
-
57
- > `readonly` **collection**: `Collection`\<`T`\>
58
-
59
- Defined in: [src/database/MongoRepository.ts:32](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L32)
60
-
61
- The underlying MongoDB collection that operations are performed against.
62
-
63
- ***
64
-
65
- ### db
66
-
67
- > `readonly` **db**: `Db`
68
-
69
- Defined in: [src/database/MongoRepository.ts:30](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L30)
70
-
71
- The database that the underlying collection belongs to.
72
-
73
- ***
74
-
75
- ### modelClass
76
-
77
- > `readonly` **modelClass**: `any`
78
-
79
- Defined in: [src/database/MongoRepository.ts:34](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L34)
80
-
81
- The model class associated with this repository.
82
-
83
- ## Accessors
84
-
85
- ### collectionName
86
-
87
- #### Get Signature
88
-
89
- > **get** **collectionName**(): `string`
90
-
91
- Defined in: [src/database/MongoRepository.ts:43](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L43)
92
-
93
- The name of the underlying MongoDB collection.
94
-
95
- ##### Returns
96
-
97
- `string`
98
-
99
- ## Methods
100
-
101
- ### aggregate()
102
-
103
- > **aggregate**(`pipeline`): `AggregationCursor`\<`any`\>
104
-
105
- Defined in: [src/database/MongoRepository.ts:52](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L52)
106
-
107
- Executes the given aggregation pipeline against the collection and returns the resulting cursor.
108
-
109
- #### Parameters
110
-
111
- ##### pipeline
112
-
113
- `Document`[]
114
-
115
- The aggregation pipeline stages to execute.
116
-
117
- #### Returns
118
-
119
- `AggregationCursor`\<`any`\>
120
-
121
- ***
122
-
123
- ### clear()
124
-
125
- > **clear**(): `Promise`\<`void`\>
126
-
127
- Defined in: [src/database/MongoRepository.ts:60](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L60)
128
-
129
- Drops the entire collection from the database, removing all documents and indexes. Does nothing if the
130
- collection does not exist.
131
-
132
- #### Returns
133
-
134
- `Promise`\<`void`\>
135
-
136
- ***
137
-
138
- ### count()
139
-
140
- > **count**(`filter?`, `options?`): `Promise`\<`number`\>
141
-
142
- Defined in: [src/database/MongoRepository.ts:70](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L70)
143
-
144
- Returns the number of documents matching the given filter.
145
-
146
- #### Parameters
147
-
148
- ##### filter?
149
-
150
- `Filter`\<`T`\>
151
-
152
- The filter for the count
153
-
154
- ##### options?
155
-
156
- `CountDocumentsOptions`
157
-
158
- Optional settings for the command
159
-
160
- #### Returns
161
-
162
- `Promise`\<`number`\>
163
-
164
- ***
165
-
166
- ### deleteMany()
167
-
168
- > **deleteMany**(`filter`, `options?`): `Promise`\<`DeleteResult`\>
169
-
170
- Defined in: [src/database/MongoRepository.ts:80](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L80)
171
-
172
- Deletes all documents matching the given filter.
173
-
174
- #### Parameters
175
-
176
- ##### filter
177
-
178
- `Filter`\<`T`\>
179
-
180
- The query filter to match documents against.
181
-
182
- ##### options?
183
-
184
- `DeleteOptions`
185
-
186
- Optional settings for the command
187
-
188
- #### Returns
189
-
190
- `Promise`\<`DeleteResult`\>
191
-
192
- ***
193
-
194
- ### deleteOne()
195
-
196
- > **deleteOne**(`filter?`, `options?`): `Promise`\<`DeleteResult`\>
197
-
198
- Defined in: [src/database/MongoRepository.ts:90](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L90)
199
-
200
- Deletes the first document matching the given filter.
201
-
202
- #### Parameters
203
-
204
- ##### filter?
205
-
206
- `Filter`\<`T`\>
207
-
208
- The query filter to match documents against.
209
-
210
- ##### options?
211
-
212
- `DeleteOptions`
213
-
214
- Optional settings for the command
215
-
216
- #### Returns
217
-
218
- `Promise`\<`DeleteResult`\>
219
-
220
- ***
221
-
222
- ### distinct()
223
-
224
- > **distinct**(`field`, `filter?`): `Promise`\<`any`[]\>
225
-
226
- Defined in: [src/database/MongoRepository.ts:100](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L100)
227
-
228
- Returns the list of distinct values of the given field for all documents matching the given filter.
229
-
230
- #### Parameters
231
-
232
- ##### field
233
-
234
- `string`
235
-
236
- The name of the document field to return distinct values of.
237
-
238
- ##### filter?
239
-
240
- `Filter`\<`T`\>
241
-
242
- The query filter to match documents against.
243
-
244
- #### Returns
245
-
246
- `Promise`\<`any`[]\>
247
-
248
- ***
249
-
250
- ### find()
251
-
252
- > **find**(`filter?`, `options?`): `FindCursor`\<`T`\>
253
-
254
- Defined in: [src/database/MongoRepository.ts:110](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L110)
255
-
256
- Returns all documents matching the given filter.
257
-
258
- #### Parameters
259
-
260
- ##### filter?
261
-
262
- `Filter`\<`T`\>
263
-
264
- The query filter to match documents against.
265
-
266
- ##### options?
267
-
268
- `FindOptions`
269
-
270
- Optional settings for the command
271
-
272
- #### Returns
273
-
274
- `FindCursor`\<`T`\>
275
-
276
- ***
277
-
278
- ### findOne()
279
-
280
- > **findOne**(`filter`): `Promise`\<`T` \| `null`\>
281
-
282
- Defined in: [src/database/MongoRepository.ts:119](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L119)
283
-
284
- Returns the first document matching the given filter.
285
-
286
- #### Parameters
287
-
288
- ##### filter
289
-
290
- `any`
291
-
292
- The query filter to match documents against.
293
-
294
- #### Returns
295
-
296
- `Promise`\<`T` \| `null`\>
297
-
298
- ***
299
-
300
- ### save()
301
-
302
- > **save**(`doc`): `Promise`\<`T`\>
303
-
304
- Defined in: [src/database/MongoRepository.ts:131](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L131)
305
-
306
- Saves the given document to the collection. If the document has an existing `_id` the stored document is
307
- replaced (inserting if missing), otherwise the document is inserted and its newly assigned `_id` is set on
308
- the returned object.
309
-
310
- #### Parameters
311
-
312
- ##### doc
313
-
314
- `any`
315
-
316
- The document to save.
317
-
318
- #### Returns
319
-
320
- `Promise`\<`T`\>
321
-
322
- The saved document.
323
-
324
- ***
325
-
326
- ### updateMany()
327
-
328
- > **updateMany**(`filter`, `update`, `options?`): `Promise`\<`UpdateResult`\<`T`\>\>
329
-
330
- Defined in: [src/database/MongoRepository.ts:157](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L157)
331
-
332
- Updates all documents matching the given filter with the provided update operations.
333
-
334
- #### Parameters
335
-
336
- ##### filter
337
-
338
- `any`
339
-
340
- The query filter to match documents against.
341
-
342
- ##### update
343
-
344
- `any`
345
-
346
- The update operations (e.g. `$set`) to apply.
347
-
348
- ##### options?
349
-
350
- `UpdateOptions`
351
-
352
- Optional settings for the command
353
-
354
- #### Returns
355
-
356
- `Promise`\<`UpdateResult`\<`T`\>\>
357
-
358
- ***
359
-
360
- ### updateOne()
361
-
362
- > **updateOne**(`filter`, `update`, `options?`): `Promise`\<`UpdateResult`\<`T`\>\>
363
-
364
- Defined in: [src/database/MongoRepository.ts:168](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoRepository.ts#L168)
365
-
366
- Updates the first document matching the given filter with the provided update operations.
367
-
368
- #### Parameters
369
-
370
- ##### filter
371
-
372
- `any`
373
-
374
- The query filter to match documents against.
375
-
376
- ##### update
377
-
378
- `any`
379
-
380
- The update operations (e.g. `$set`) to apply.
381
-
382
- ##### options?
383
-
384
- `UpdateOptions`
385
-
386
- Optional settings for the command
387
-
388
- #### Returns
389
-
390
- `Promise`\<`UpdateResult`\<`T`\>\>
@@ -1,97 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / MongoSchemaSync
6
-
7
- # Class: MongoSchemaSync
8
-
9
- Defined in: [src/database/MongoSchemaSync.ts:40](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoSchemaSync.ts#L40)
10
-
11
- Performs structure synchronization of MongoDB collections based on the persistence metadata of model classes.
12
-
13
- For each collection associated with a model class the following operations are performed:
14
- - The collection is created if it does not already exist.
15
- - Indexes declared via the `@Index` and `@Unique` decorators are created if missing.
16
- - Existing declared indexes whose definition has changed are dropped and re-created.
17
-
18
- The synchronization process never drops collections or data, never modifies the built-in `_id_` index, and never
19
- drops indexes that are not declared by the model class (e.g. shard keys or manually created indexes).
20
-
21
- ## Author
22
-
23
- Jean-Philippe Steinmetz <rapidrests@gmail.com>
24
-
25
- ## Constructors
26
-
27
- ### Constructor
28
-
29
- > **new MongoSchemaSync**(`db`, `logger?`): `MongoSchemaSync`
30
-
31
- Defined in: [src/database/MongoSchemaSync.ts:44](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoSchemaSync.ts#L44)
32
-
33
- #### Parameters
34
-
35
- ##### db
36
-
37
- `Db`
38
-
39
- ##### logger?
40
-
41
- `any`
42
-
43
- #### Returns
44
-
45
- `MongoSchemaSync`
46
-
47
- ## Methods
48
-
49
- ### resolveCollectionInfo()
50
-
51
- > **resolveCollectionInfo**(`clazz`): `CollectionInfo`
52
-
53
- Defined in: [src/database/MongoSchemaSync.ts:62](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoSchemaSync.ts#L62)
54
-
55
- Resolves the entity info of the database collection (or table) that records of the given model class are stored in.
56
-
57
- The entity info is resolved using the following rules:
58
- 1. The nearest class in the inheritance chain (starting with `clazz` itself) that specifies an explicit
59
- entity info via the `@Entity(info)` decorator.
60
- 2. Otherwise, the most ancestral class in the inheritance chain that declares its own `@DataStore` binding.
61
- This ensures that `@ChildEntity` subclasses are stored in the same collection as their parent entity
62
- (single collection inheritance).
63
- 3. Otherwise, a new info object containing the snake_case form of the class name.
64
-
65
- #### Parameters
66
-
67
- ##### clazz
68
-
69
- `any`
70
-
71
- The model class to resolve the collection name for.
72
-
73
- #### Returns
74
-
75
- `CollectionInfo`
76
-
77
- ***
78
-
79
- ### synchronize()
80
-
81
- > **synchronize**(`entities`): `Promise`\<`void`\>
82
-
83
- Defined in: [src/database/MongoSchemaSync.ts:98](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoSchemaSync.ts#L98)
84
-
85
- Synchronizes the structure of all collections associated with the given model classes.
86
-
87
- #### Parameters
88
-
89
- ##### entities
90
-
91
- `Iterable`\<`any`\>
92
-
93
- The list of model classes to synchronize collections for.
94
-
95
- #### Returns
96
-
97
- `Promise`\<`void`\>
@@ -1,90 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / NetUtils
6
-
7
- # Class: NetUtils
8
-
9
- Defined in: [src/NetUtils.ts:12](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NetUtils.ts#L12)
10
-
11
- Provides common utilities and functions for working with networking related problems.
12
-
13
- ## Author
14
-
15
- Jean-Philippe Steinmetz <rapidrests@gmail.com>
16
-
17
- ## Constructors
18
-
19
- ### Constructor
20
-
21
- > **new NetUtils**(): `NetUtils`
22
-
23
- #### Returns
24
-
25
- `NetUtils`
26
-
27
- ## Methods
28
-
29
- ### getIPAddress()
30
-
31
- > `static` **getIPAddress**(`urlOrRequest`, `trustedProxies?`): `string` \| `undefined`
32
-
33
- Defined in: [src/NetUtils.ts:57](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NetUtils.ts#L57)
34
-
35
- Extracts the IP address from a given url or HTTP request.
36
-
37
- When `trustedProxies` is provided, forwarding headers (`X-Forwarded-For`, etc.) are
38
- only trusted when the direct connection's `remoteAddress` is in that list. Without a
39
- trusted-proxy list the headers are ignored and the socket address is returned directly,
40
- preventing clients from spoofing their IP in audit logs.
41
-
42
- #### Parameters
43
-
44
- ##### urlOrRequest
45
-
46
- `string` \| [`HttpRequest`](../interfaces/HttpRequest.md)
47
-
48
- The url or HTTP request to extract the IP from.
49
-
50
- ##### trustedProxies?
51
-
52
- `string`[]
53
-
54
- Optional list of proxy IP addresses whose forwarding headers should be trusted.
55
-
56
- #### Returns
57
-
58
- `string` \| `undefined`
59
-
60
- A `string` containing the IP address if found, otherwise `undefined`.
61
-
62
- ***
63
-
64
- ### lookupIPAddress()
65
-
66
- > `static` **lookupIPAddress**(`url`, `family?`): `Promise`\<`string` \| `undefined`\>
67
-
68
- Defined in: [src/NetUtils.ts:20](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NetUtils.ts#L20)
69
-
70
- Performs DNS lookup of the IP address from a given url.
71
-
72
- #### Parameters
73
-
74
- ##### url
75
-
76
- `string`
77
-
78
- The url to lookup the IP from.
79
-
80
- ##### family?
81
-
82
- `number` = `4`
83
-
84
- ip family used for dns lookup
85
-
86
- #### Returns
87
-
88
- `Promise`\<`string` \| `undefined`\>
89
-
90
- A `string` containing the IP address if found, otherwise `undefined`.
@@ -1,77 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / NotificationUtils
6
-
7
- # Class: NotificationUtils
8
-
9
- Defined in: [src/NotificationUtils.ts:11](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NotificationUtils.ts#L11)
10
-
11
- Utility functions for sending push notifications to registered clients.
12
-
13
- ## Author
14
-
15
- Jean-Philippe Steinmetz
16
-
17
- ## Constructors
18
-
19
- ### Constructor
20
-
21
- > **new NotificationUtils**(`redis`): `NotificationUtils`
22
-
23
- Defined in: [src/NotificationUtils.ts:20](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NotificationUtils.ts#L20)
24
-
25
- Initializes the utility using the given redis connection.
26
-
27
- #### Parameters
28
-
29
- ##### redis
30
-
31
- `Redis`
32
-
33
- The redis connection to publish to.
34
-
35
- #### Returns
36
-
37
- `NotificationUtils`
38
-
39
- ## Methods
40
-
41
- ### sendMessage()
42
-
43
- > **sendMessage**(`uids`, `type`, `action`, `data`): `void`
44
-
45
- Defined in: [src/NotificationUtils.ts:32](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/NotificationUtils.ts#L32)
46
-
47
- Sends a given message to the room or user with the specified uid(s).
48
-
49
- #### Parameters
50
-
51
- ##### uids
52
-
53
- `string` \| `string`[]
54
-
55
- The universally unique identifier of the room or user to send the message to.
56
-
57
- ##### type
58
-
59
- `string`
60
-
61
- The type of message being sent.
62
-
63
- ##### action
64
-
65
- `string`
66
-
67
- The action performed on the data (if applicable).
68
-
69
- ##### data
70
-
71
- `any`
72
-
73
- The contents of the message to send to the room or user.
74
-
75
- #### Returns
76
-
77
- `void`