@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,446 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / ModelUtils
6
-
7
- # Class: ModelUtils
8
-
9
- Defined in: [src/models/ModelUtils.ts:28](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L28)
10
-
11
- Utility class for working with data model classes.
12
-
13
- ## Author
14
-
15
- Jean-Philippe Steinmetz
16
-
17
- ## Constructors
18
-
19
- ### Constructor
20
-
21
- > **new ModelUtils**(): `ModelUtils`
22
-
23
- #### Returns
24
-
25
- `ModelUtils`
26
-
27
- ## Accessors
28
-
29
- ### orm
30
-
31
- #### Get Signature
32
-
33
- > **get** `static` **orm**(): `any`
34
-
35
- Defined in: [src/models/ModelUtils.ts:46](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L46)
36
-
37
- Returns the `typeorm` module, throwing an error if it has not been provided.
38
-
39
- ##### Returns
40
-
41
- `any`
42
-
43
- ## Methods
44
-
45
- ### buildIdSearchQuery()
46
-
47
- > `static` **buildIdSearchQuery**\<`T`\>(`repo`, `modelClass`, `id`, `version?`): `any`
48
-
49
- Defined in: [src/models/ModelUtils.ts:99](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L99)
50
-
51
- Builds a query object for use with `find` functions of the given repository for retrieving objects matching the
52
- specified unique identifier.
53
-
54
- #### Type Parameters
55
-
56
- ##### T
57
-
58
- `T` *extends* `object`
59
-
60
- #### Parameters
61
-
62
- ##### repo
63
-
64
- `Repository`\<`T`\> \| [`MongoRepository`](MongoRepository.md)\<`T`\> \| `undefined`
65
-
66
- The repository to build the query for.
67
-
68
- ##### modelClass
69
-
70
- `any`
71
-
72
- The class definition of the data model to build a search query for.
73
-
74
- ##### id
75
-
76
- `any`
77
-
78
- The unique identifier to search for.
79
-
80
- ##### version?
81
-
82
- `number`
83
-
84
- The version number of the document to search for.
85
-
86
- #### Returns
87
-
88
- `any`
89
-
90
- An object that can be passed to a TypeORM `find` function.
91
-
92
- ***
93
-
94
- ### buildIdSearchQueryMongo()
95
-
96
- > `static` **buildIdSearchQueryMongo**(`modelClass`, `id`, `version?`): `any`
97
-
98
- Defined in: [src/models/ModelUtils.ts:147](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L147)
99
-
100
- Builds a MongoDB compatible query object for use in `find` functions for retrieving objects matching the
101
- specified unique identifier.
102
-
103
- #### Parameters
104
-
105
- ##### modelClass
106
-
107
- `any`
108
-
109
- The class definition of the data model to build a search query for.
110
-
111
- ##### id
112
-
113
- `any`
114
-
115
- The unique identifier to search for.
116
-
117
- ##### version?
118
-
119
- `number`
120
-
121
- The version number of the document to search for.
122
-
123
- #### Returns
124
-
125
- `any`
126
-
127
- An object that can be passed to a MongoDB `find` function.
128
-
129
- ***
130
-
131
- ### buildIdSearchQuerySQL()
132
-
133
- > `static` **buildIdSearchQuerySQL**(`modelClass`, `id`, `version?`): `any`
134
-
135
- Defined in: [src/models/ModelUtils.ts:121](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L121)
136
-
137
- Builds a TypeORM compatible query object for use in `find` functions for retrieving objects matching the
138
- specified unique identifier.
139
-
140
- #### Parameters
141
-
142
- ##### modelClass
143
-
144
- `any`
145
-
146
- The class definition of the data model to build a search query for.
147
-
148
- ##### id
149
-
150
- `any`
151
-
152
- The unique identifier to search for.
153
-
154
- ##### version?
155
-
156
- `number`
157
-
158
- The version number of the document to search for.
159
-
160
- #### Returns
161
-
162
- `any`
163
-
164
- An object that can be passed to a TypeORM `find` function.
165
-
166
- ***
167
-
168
- ### buildSearchQuery()
169
-
170
- > `static` **buildSearchQuery**\<`T`\>(`modelClass`, `repo`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
171
-
172
- Defined in: [src/models/ModelUtils.ts:374](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L374)
173
-
174
- Builds a query object for the given criteria and repository. Query params can have a value containing a
175
- conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
176
- operators are supported:
177
- * `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
178
- * `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
179
- * `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
180
- * `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
181
- * `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
182
- * `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
183
- * `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
184
- * `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
185
- * `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
186
-
187
- When no operator is provided the comparison will always be evaluated as `eq`.
188
-
189
- NOTE: The result of this function is only compatible with the `aggregate()` function when MongoDB is used.
190
-
191
- #### Type Parameters
192
-
193
- ##### T
194
-
195
- `T` *extends* `object`
196
-
197
- #### Parameters
198
-
199
- ##### modelClass
200
-
201
- `any`
202
-
203
- The class definition of the data model to build a search query for.
204
-
205
- ##### repo
206
-
207
- `Repository`\<`T`\> \| [`MongoRepository`](MongoRepository.md)\<`T`\> \| `undefined`
208
-
209
- The repository to build a search query for.
210
-
211
- ##### params?
212
-
213
- `any`
214
-
215
- The URI parameters for the endpoint that was requested.
216
-
217
- ##### queryParams?
218
-
219
- `any`
220
-
221
- The URI query parameters that were included in the request.
222
-
223
- ##### exactMatch?
224
-
225
- `boolean` = `false`
226
-
227
- Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
228
-
229
- ##### user?
230
-
231
- `any`
232
-
233
- The user that is performing the request.
234
-
235
- #### Returns
236
-
237
- `any`
238
-
239
- The TypeORM compatible query object.
240
-
241
- ***
242
-
243
- ### buildSearchQueryMongo()
244
-
245
- > `static` **buildSearchQueryMongo**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
246
-
247
- Defined in: [src/models/ModelUtils.ts:564](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L564)
248
-
249
- Builds a MongoDB compatible query object for the given criteria. Query params can have a value containing a
250
- conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
251
- operators are supported:
252
- * `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
253
- * `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
254
- * `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
255
- * `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
256
- * `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
257
- * `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
258
- * `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
259
- * `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
260
- * `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
261
-
262
- When no operator is provided the comparison will always be evaluated as `eq`.
263
-
264
- NOTE: The result of this function is only compatible with the `aggregate()` function.
265
-
266
- #### Parameters
267
-
268
- ##### modelClass
269
-
270
- `any`
271
-
272
- The class definition of the data model to build a search query for.
273
-
274
- ##### params?
275
-
276
- `any`
277
-
278
- The URI parameters for the endpoint that was requested.
279
-
280
- ##### queryParams?
281
-
282
- `any`
283
-
284
- The URI query parameters that were included in the request.
285
-
286
- ##### exactMatch?
287
-
288
- `boolean` = `false`
289
-
290
- Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
291
-
292
- ##### user?
293
-
294
- `any`
295
-
296
- The user that is performing the request.
297
-
298
- #### Returns
299
-
300
- `any`
301
-
302
- The TypeORM compatible query object.
303
-
304
- ***
305
-
306
- ### buildSearchQuerySQL()
307
-
308
- > `static` **buildSearchQuerySQL**(`modelClass`, `params?`, `queryParams?`, `exactMatch?`, `user?`): `any`
309
-
310
- Defined in: [src/models/ModelUtils.ts:420](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L420)
311
-
312
- Builds a TypeORM compatible query object for the given criteria. Query params can have a value containing a
313
- conditional operator to apply for the search. The operator is encoded with the format `op(value)`. The following
314
- operators are supported:
315
- * `eq` - Returns matches whose parameter exactly matches of the given value. e.g. `param = value`
316
- * `gt` - Returns matches whose parameter is greater than the given value. e.g. `param > value`
317
- * `gte` - Returns matches whose parameter is greater than or equal to the given value. e.g. `param >= value`
318
- * `in` - Returns matches whose parameter includes one of the given values. e.g. `param in ('value1', 'value2', 'value3', ...)`
319
- * `like` - Returns matches whose parameter is lexographically similar to the given value. `param like value`
320
- * `lt` - Returns matches whose parameter is less than the given value. e.g. `param < value`
321
- * `lte` - Returns matches whose parameter is less than or equal to than the given value. e.g. `param < value`
322
- * `not` - Returns matches whose parameter is not equal to the given value. e.g. `param not value`
323
- * `range` - Returns matches whose parameter is greater than or equal to first given value and less than or equal to the second. e.g. `param between(1,100)`
324
-
325
- When no operator is provided the comparison will always be evaluated as `eq`.
326
-
327
- #### Parameters
328
-
329
- ##### modelClass
330
-
331
- `any`
332
-
333
- The class definition of the data model to build a search query for.
334
-
335
- ##### params?
336
-
337
- `any`
338
-
339
- The URI parameters for the endpoint that was requested.
340
-
341
- ##### queryParams?
342
-
343
- `any`
344
-
345
- The URI query parameters that were included in the request.
346
-
347
- ##### exactMatch?
348
-
349
- `boolean` = `false`
350
-
351
- Set to true to create a query where parameters are to be matched exactly, otherwise set to false to use a 'contains' search.
352
-
353
- ##### user?
354
-
355
- `any`
356
-
357
- The user that is performing the request.
358
-
359
- #### Returns
360
-
361
- `any`
362
-
363
- The TypeORM compatible query object.
364
-
365
- ***
366
-
367
- ### getIdPropertyNames()
368
-
369
- > `static` **getIdPropertyNames**(`modelClass`): `string`[]
370
-
371
- Defined in: [src/models/ModelUtils.ts:61](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L61)
372
-
373
- Retrieves a list of all of the specified class's properties that have the
374
-
375
- #### Parameters
376
-
377
- ##### modelClass
378
-
379
- `any`
380
-
381
- The class definition to search for identifiers from.
382
-
383
- #### Returns
384
-
385
- `string`[]
386
-
387
- The list of all property names that have the
388
-
389
- #### Identifier
390
-
391
- decorator applied.
392
-
393
- #### Identifier
394
-
395
- decorator applied.
396
-
397
- ***
398
-
399
- ### loadModels()
400
-
401
- > `static` **loadModels**(`src`, `result?`): `Promise`\<`Map`\<`string`, `any`\>\>
402
-
403
- Defined in: [src/models/ModelUtils.ts:716](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L716)
404
-
405
- Loads all model schema files from the specified path and returns a map containing all the definitions.
406
-
407
- #### Parameters
408
-
409
- ##### src
410
-
411
- `string`
412
-
413
- The path to the model files to load.
414
-
415
- ##### result?
416
-
417
- `Map`\<`string`, `any`\> = `...`
418
-
419
- #### Returns
420
-
421
- `Promise`\<`Map`\<`string`, `any`\>\>
422
-
423
- A map containing of all loaded model names to their class definitions.
424
-
425
- ***
426
-
427
- ### setTypeOrm()
428
-
429
- > `static` **setTypeOrm**(`module`): `void`
430
-
431
- Defined in: [src/models/ModelUtils.ts:39](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/models/ModelUtils.ts#L39)
432
-
433
- Provides the `typeorm` module to use when building SQL queries. This is called automatically when a SQL
434
- datastore connection is established.
435
-
436
- #### Parameters
437
-
438
- ##### module
439
-
440
- `any`
441
-
442
- The `typeorm` module.
443
-
444
- #### Returns
445
-
446
- `void`
@@ -1,218 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / MongoConnection
6
-
7
- # Class: MongoConnection
8
-
9
- Defined in: [src/database/MongoConnection.ts:17](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L17)
10
-
11
- Represents a single named connection to a MongoDB database using the native `mongodb` driver, including the
12
- registry of all model classes assigned to the connection's datastore.
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
- ## Constructors
22
-
23
- ### Constructor
24
-
25
- > **new MongoConnection**(`name`, `client`, `db`, `entities?`): `MongoConnection`
26
-
27
- Defined in: [src/database/MongoConnection.ts:29](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L29)
28
-
29
- #### Parameters
30
-
31
- ##### name
32
-
33
- `string`
34
-
35
- ##### client
36
-
37
- `MongoClient`
38
-
39
- ##### db
40
-
41
- `Db`
42
-
43
- ##### entities?
44
-
45
- `Iterable`\<`any`, `any`, `any`\>
46
-
47
- #### Returns
48
-
49
- `MongoConnection`
50
-
51
- ## Properties
52
-
53
- ### client
54
-
55
- > `readonly` **client**: `MongoClient`
56
-
57
- Defined in: [src/database/MongoConnection.ts:19](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L19)
58
-
59
- The underlying MongoDB client.
60
-
61
- ***
62
-
63
- ### db
64
-
65
- > `readonly` **db**: `Db`
66
-
67
- Defined in: [src/database/MongoConnection.ts:21](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L21)
68
-
69
- The database that this connection is bound to.
70
-
71
- ***
72
-
73
- ### name
74
-
75
- > `readonly` **name**: `string`
76
-
77
- Defined in: [src/database/MongoConnection.ts:23](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L23)
78
-
79
- The name of the datastore that this connection was created for.
80
-
81
- ## Accessors
82
-
83
- ### entityClasses
84
-
85
- #### Get Signature
86
-
87
- > **get** **entityClasses**(): `any`[]
88
-
89
- Defined in: [src/database/MongoConnection.ts:71](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L71)
90
-
91
- Returns the list of all model classes registered with this connection.
92
-
93
- ##### Returns
94
-
95
- `any`[]
96
-
97
- ***
98
-
99
- ### isConnected
100
-
101
- #### Get Signature
102
-
103
- > **get** **isConnected**(): `boolean`
104
-
105
- Defined in: [src/database/MongoConnection.ts:42](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L42)
106
-
107
- Indicates whether or not the connection is currently active.
108
-
109
- ##### Returns
110
-
111
- `boolean`
112
-
113
- ## Methods
114
-
115
- ### admin()
116
-
117
- > **admin**(): `Admin`
118
-
119
- Defined in: [src/database/MongoConnection.ts:47](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L47)
120
-
121
- Returns the admin interface of the underlying database.
122
-
123
- #### Returns
124
-
125
- `Admin`
126
-
127
- ***
128
-
129
- ### close()
130
-
131
- > **close**(): `Promise`\<`void`\>
132
-
133
- Defined in: [src/database/MongoConnection.ts:54](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L54)
134
-
135
- Closes the connection to the database server.
136
-
137
- #### Returns
138
-
139
- `Promise`\<`void`\>
140
-
141
- ***
142
-
143
- ### collectionNameFor()
144
-
145
- > **collectionNameFor**(`clazz`): `string`
146
-
147
- Defined in: [src/database/MongoConnection.ts:64](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L64)
148
-
149
- Returns the name of the collection that records of the given model class are stored in.
150
-
151
- #### Parameters
152
-
153
- ##### clazz
154
-
155
- `any`
156
-
157
- The model class to resolve the collection name for.
158
-
159
- #### Returns
160
-
161
- `string`
162
-
163
- ***
164
-
165
- ### getMongoRepository()
166
-
167
- > **getMongoRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
168
-
169
- Defined in: [src/database/MongoConnection.ts:105](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L105)
170
-
171
- Returns a repository for performing operations against the collection associated with the given model class.
172
- This is an alias of `getRepository` provided for compatibility with TypeORM's `DataSource` interface.
173
-
174
- #### Type Parameters
175
-
176
- ##### T
177
-
178
- `T` *extends* `object` = `any`
179
-
180
- #### Parameters
181
-
182
- ##### classOrName
183
-
184
- `any`
185
-
186
- The model class, or the name of a registered model class, to retrieve a repository for.
187
-
188
- #### Returns
189
-
190
- [`MongoRepository`](MongoRepository.md)\<`T`\>
191
-
192
- ***
193
-
194
- ### getRepository()
195
-
196
- > **getRepository**\<`T`\>(`classOrName`): [`MongoRepository`](MongoRepository.md)\<`T`\>
197
-
198
- Defined in: [src/database/MongoConnection.ts:80](https://github.com/rapidrest/service-core/blob/0879470e308cd5828ebcf6efdbdba1cd0178007b/src/database/MongoConnection.ts#L80)
199
-
200
- Returns a repository for performing operations against the collection associated with the given model class.
201
-
202
- #### Type Parameters
203
-
204
- ##### T
205
-
206
- `T` *extends* `object` = `any`
207
-
208
- #### Parameters
209
-
210
- ##### classOrName
211
-
212
- `any`
213
-
214
- The model class, or the name of a registered model class, to retrieve a repository for.
215
-
216
- #### Returns
217
-
218
- [`MongoRepository`](MongoRepository.md)\<`T`\>