@rapidrest/service-core 1.0.0-rc.2 → 1.0.0-rc.21

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 (250) hide show
  1. package/dist/lib/BackgroundService.js +0 -4
  2. package/dist/lib/BackgroundService.js.map +1 -1
  3. package/dist/lib/BackgroundServiceManager.js +21 -4
  4. package/dist/lib/BackgroundServiceManager.js.map +1 -1
  5. package/dist/lib/EventListenerManager.js.map +1 -1
  6. package/dist/lib/OpenApiSpec.js +3 -2
  7. package/dist/lib/OpenApiSpec.js.map +1 -1
  8. package/dist/lib/Server.js +18 -79
  9. package/dist/lib/Server.js.map +1 -1
  10. package/dist/lib/database/TypeOrmSupport.js +18 -2
  11. package/dist/lib/database/TypeOrmSupport.js.map +1 -1
  12. package/dist/lib/decorators/DocDecorators.js +19 -1
  13. package/dist/lib/decorators/DocDecorators.js.map +1 -1
  14. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
  15. package/dist/lib/decorators/RouteDecorators.js +71 -20
  16. package/dist/lib/decorators/RouteDecorators.js.map +1 -1
  17. package/dist/lib/http/Adapters.js +45 -2
  18. package/dist/lib/http/Adapters.js.map +1 -1
  19. package/dist/lib/http/Router.js +53 -56
  20. package/dist/lib/http/Router.js.map +1 -1
  21. package/dist/lib/models/ModelUtils.js +18 -8
  22. package/dist/lib/models/ModelUtils.js.map +1 -1
  23. package/dist/lib/models/RepoUtils.js +96 -31
  24. package/dist/lib/models/RepoUtils.js.map +1 -1
  25. package/dist/lib/routes/{AdminRoute.js → BaseAdminRoute.js} +51 -36
  26. package/dist/lib/routes/BaseAdminRoute.js.map +1 -0
  27. package/dist/lib/routes/{MetricsRoute.js → BaseMetricsRoute.js} +28 -15
  28. package/dist/lib/routes/BaseMetricsRoute.js.map +1 -0
  29. package/dist/lib/routes/{OpenAPIRoute.js → BaseOpenAPIRoute.js} +31 -32
  30. package/dist/lib/routes/BaseOpenAPIRoute.js.map +1 -0
  31. package/dist/lib/routes/BasePushRoute.js +193 -0
  32. package/dist/lib/routes/BasePushRoute.js.map +1 -0
  33. package/dist/lib/routes/BaseStaticRoute.js +152 -0
  34. package/dist/lib/routes/BaseStaticRoute.js.map +1 -0
  35. package/dist/lib/routes/BaseStatusRoute.js +79 -0
  36. package/dist/lib/routes/BaseStatusRoute.js.map +1 -0
  37. package/dist/lib/routes/CRUDRoute.js +238 -0
  38. package/dist/lib/routes/CRUDRoute.js.map +1 -0
  39. package/dist/lib/routes/ModelRoute.js +20 -28
  40. package/dist/lib/routes/ModelRoute.js.map +1 -1
  41. package/dist/lib/routes/index.js +7 -4
  42. package/dist/lib/routes/index.js.map +1 -1
  43. package/dist/lib/security/ACLUtils.js +10 -13
  44. package/dist/lib/security/ACLUtils.js.map +1 -1
  45. package/dist/lib/security/AccessControlListMongo.js +5 -1
  46. package/dist/lib/security/AccessControlListMongo.js.map +1 -1
  47. package/dist/lib/security/AccessControlListSQL.js +7 -3
  48. package/dist/lib/security/AccessControlListSQL.js.map +1 -1
  49. package/dist/lib/security/BaseACLRoute.js +239 -0
  50. package/dist/lib/security/BaseACLRoute.js.map +1 -0
  51. package/dist/lib/security/index.js +3 -0
  52. package/dist/lib/security/index.js.map +1 -1
  53. package/dist/lib/test/request.js +6 -2
  54. package/dist/lib/test/request.js.map +1 -1
  55. package/dist/types/BackgroundService.d.ts +0 -5
  56. package/dist/types/BackgroundServiceManager.d.ts +1 -1
  57. package/dist/types/EventListenerManager.d.ts +4 -4
  58. package/dist/types/Server.d.ts +21 -6
  59. package/dist/types/decorators/DocDecorators.d.ts +9 -0
  60. package/dist/types/decorators/PersistenceDecorators.d.ts +7 -0
  61. package/dist/types/decorators/RouteDecorators.d.ts +14 -5
  62. package/dist/types/http/Adapters.d.ts +19 -0
  63. package/dist/types/http/Router.d.ts +6 -6
  64. package/dist/types/models/ModelUtils.d.ts +2 -1
  65. package/dist/types/routes/BaseAdminRoute.d.ts +59 -0
  66. package/dist/types/routes/BaseMetricsRoute.d.ts +37 -0
  67. package/dist/types/routes/BaseOpenAPIRoute.d.ts +33 -0
  68. package/dist/types/routes/BasePushRoute.d.ts +39 -0
  69. package/dist/types/routes/BaseStaticRoute.d.ts +44 -0
  70. package/dist/types/routes/BaseStatusRoute.d.ts +37 -0
  71. package/dist/types/routes/CRUDRoute.d.ts +47 -0
  72. package/dist/types/routes/ModelRoute.d.ts +23 -16
  73. package/dist/types/routes/index.d.ts +7 -4
  74. package/dist/types/security/ACLUtils.d.ts +1 -1
  75. package/dist/types/security/AccessControlList.d.ts +1 -1
  76. package/dist/types/security/AccessControlListMongo.d.ts +1 -1
  77. package/dist/types/security/AccessControlListSQL.d.ts +1 -1
  78. package/dist/types/security/BaseACLRoute.d.ts +73 -0
  79. package/dist/types/security/index.d.ts +3 -0
  80. package/package.json +132 -129
  81. package/tsconfig.export.json +17 -0
  82. package/dist/lib/routes/AdminRoute.js.map +0 -1
  83. package/dist/lib/routes/MetricsRoute.js.map +0 -1
  84. package/dist/lib/routes/OpenAPIRoute.js.map +0 -1
  85. package/dist/lib/routes/StatusRoute.js +0 -55
  86. package/dist/lib/routes/StatusRoute.js.map +0 -1
  87. package/dist/lib/security/ACLRouteMongo.js +0 -194
  88. package/dist/lib/security/ACLRouteMongo.js.map +0 -1
  89. package/dist/lib/security/ACLRouteSQL.js +0 -193
  90. package/dist/lib/security/ACLRouteSQL.js.map +0 -1
  91. package/dist/types/routes/AdminRoute.d.ts +0 -47
  92. package/dist/types/routes/MetricsRoute.d.ts +0 -15
  93. package/dist/types/routes/OpenAPIRoute.d.ts +0 -17
  94. package/dist/types/routes/StatusRoute.d.ts +0 -11
  95. package/dist/types/security/ACLRouteMongo.d.ts +0 -19
  96. package/dist/types/security/ACLRouteSQL.d.ts +0 -19
  97. package/docs/Makefile +0 -20
  98. package/docs/conf.py +0 -58
  99. package/docs/index.rst +0 -17
  100. package/docs/make.bat +0 -35
  101. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +0 -13
  102. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +0 -25
  103. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +0 -25
  104. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +0 -25
  105. package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +0 -23
  106. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +0 -25
  107. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +0 -25
  108. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +0 -25
  109. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +0 -25
  110. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +0 -25
  111. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +0 -28
  112. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +0 -25
  113. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +0 -25
  114. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +0 -28
  115. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +0 -57
  116. package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +0 -12
  117. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +0 -17
  118. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +0 -26
  119. package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +0 -26
  120. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +0 -25
  121. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +0 -18
  122. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +0 -25
  123. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +0 -27
  124. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +0 -35
  125. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +0 -25
  126. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +0 -27
  127. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +0 -26
  128. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +0 -45
  129. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +0 -14
  130. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +0 -27
  131. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +0 -25
  132. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +0 -25
  133. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +0 -119
  134. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +0 -25
  135. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +0 -68
  136. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +0 -26
  137. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +0 -26
  138. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +0 -27
  139. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +0 -79
  140. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +0 -41
  141. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +0 -51
  142. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +0 -32
  143. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +0 -41
  144. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +0 -61
  145. package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +0 -36
  146. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +0 -26
  147. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +0 -33
  148. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +0 -31
  149. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +0 -25
  150. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +0 -25
  151. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +0 -25
  152. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +0 -25
  153. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +0 -25
  154. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +0 -25
  155. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +0 -31
  156. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +0 -25
  157. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +0 -25
  158. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +0 -26
  159. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +0 -25
  160. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +0 -25
  161. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +0 -31
  162. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +0 -25
  163. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +0 -26
  164. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +0 -31
  165. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +0 -26
  166. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +0 -31
  167. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +0 -25
  168. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +0 -33
  169. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +0 -31
  170. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +0 -25
  171. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +0 -25
  172. package/docs/reference/README.md +0 -20
  173. package/docs/reference/classes/ACLUtils.md +0 -263
  174. package/docs/reference/classes/AdminRoute.md +0 -51
  175. package/docs/reference/classes/AuthMiddleware.md +0 -173
  176. package/docs/reference/classes/BackgroundService.md +0 -117
  177. package/docs/reference/classes/BackgroundServiceManager.md +0 -172
  178. package/docs/reference/classes/BaseEntity.md +0 -82
  179. package/docs/reference/classes/BaseMongoEntity.md +0 -107
  180. package/docs/reference/classes/BasicStrategy.md +0 -131
  181. package/docs/reference/classes/BasicStrategyOptions.md +0 -115
  182. package/docs/reference/classes/BulkError.md +0 -271
  183. package/docs/reference/classes/ConnectionManager.md +0 -75
  184. package/docs/reference/classes/EventListenerManager.md +0 -88
  185. package/docs/reference/classes/HttpRouter.md +0 -343
  186. package/docs/reference/classes/JWTStrategy.md +0 -100
  187. package/docs/reference/classes/JWTStrategyOptions.md +0 -97
  188. package/docs/reference/classes/MetricsRoute.md +0 -27
  189. package/docs/reference/classes/ModelRoute.md +0 -527
  190. package/docs/reference/classes/ModelUtils.md +0 -430
  191. package/docs/reference/classes/MongoConnection.md +0 -218
  192. package/docs/reference/classes/MongoRepository.md +0 -390
  193. package/docs/reference/classes/MongoSchemaSync.md +0 -97
  194. package/docs/reference/classes/NetUtils.md +0 -90
  195. package/docs/reference/classes/NotificationUtils.md +0 -77
  196. package/docs/reference/classes/ObjectFactory.md +0 -336
  197. package/docs/reference/classes/OpenAPIRoute.md +0 -77
  198. package/docs/reference/classes/OpenApiSpec.md +0 -892
  199. package/docs/reference/classes/RecoverableBaseEntity.md +0 -114
  200. package/docs/reference/classes/RecoverableBaseMongoEntity.md +0 -124
  201. package/docs/reference/classes/RedisTransport.md +0 -2202
  202. package/docs/reference/classes/RepoUtils.md +0 -482
  203. package/docs/reference/classes/RouteUtils.md +0 -191
  204. package/docs/reference/classes/Server.md +0 -408
  205. package/docs/reference/classes/SimpleEntity.md +0 -48
  206. package/docs/reference/classes/SimpleMongoEntity.md +0 -66
  207. package/docs/reference/classes/StatusExtraData.md +0 -57
  208. package/docs/reference/classes/StatusRoute.md +0 -26
  209. package/docs/reference/classes/UWSRequest.md +0 -226
  210. package/docs/reference/classes/UWSResponse.md +0 -257
  211. package/docs/reference/classes/UWSWebSocketShim.md +0 -958
  212. package/docs/reference/enumerations/ACLAction.md +0 -63
  213. package/docs/reference/enumerations/ApiErrorMessages.md +0 -123
  214. package/docs/reference/enumerations/ApiErrors.md +0 -123
  215. package/docs/reference/functions/createWebSocketStream.md +0 -27
  216. package/docs/reference/functions/isSqlDataSource.md +0 -26
  217. package/docs/reference/functions/readBody.md +0 -29
  218. package/docs/reference/functions/resolveCollectionName.md +0 -33
  219. package/docs/reference/functions/runChain.md +0 -40
  220. package/docs/reference/functions/snakeCase.md +0 -28
  221. package/docs/reference/globals.md +0 -106
  222. package/docs/reference/interfaces/ACLRecord.md +0 -96
  223. package/docs/reference/interfaces/AccessControlList.md +0 -76
  224. package/docs/reference/interfaces/AuthResult.md +0 -55
  225. package/docs/reference/interfaces/AuthStrategy.md +0 -95
  226. package/docs/reference/interfaces/CreateRequestOptions.md +0 -121
  227. package/docs/reference/interfaces/DeleteRequestOptions.md +0 -137
  228. package/docs/reference/interfaces/FindRequestOptions.md +0 -133
  229. package/docs/reference/interfaces/HttpRequest.md +0 -147
  230. package/docs/reference/interfaces/HttpResponse.md +0 -164
  231. package/docs/reference/interfaces/JWTAuthResult.md +0 -84
  232. package/docs/reference/interfaces/RepoCreateOptions.md +0 -95
  233. package/docs/reference/interfaces/RepoDeleteOptions.md +0 -105
  234. package/docs/reference/interfaces/RepoFindOptions.md +0 -125
  235. package/docs/reference/interfaces/RepoOperationOptions.md +0 -69
  236. package/docs/reference/interfaces/RepoUpdateOptions.md +0 -101
  237. package/docs/reference/interfaces/RequestOptions.md +0 -112
  238. package/docs/reference/interfaces/RequestWS.md +0 -225
  239. package/docs/reference/interfaces/TruncateRequestOptions.md +0 -161
  240. package/docs/reference/interfaces/UpdateRequestOptions.md +0 -139
  241. package/docs/reference/type-aliases/ErrorHandler.md +0 -35
  242. package/docs/reference/type-aliases/NextFunction.md +0 -23
  243. package/docs/reference/type-aliases/OneOrMany.md +0 -19
  244. package/docs/reference/type-aliases/OneOrNull.md +0 -19
  245. package/docs/reference/type-aliases/PartialBaseEntity.md +0 -17
  246. package/docs/reference/type-aliases/PartialSimpleEntity.md +0 -17
  247. package/docs/reference/type-aliases/RequestHandler.md +0 -31
  248. package/docs/reference/type-aliases/UpdateObject.md +0 -19
  249. package/docs/reference/type-aliases/WsUpgradeAuth.md +0 -27
  250. 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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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/33d3655fa6883713f33f0fe6f330eb205671fea1/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`