@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,25 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Put
6
-
7
- # Function: Put()
8
-
9
- > **Put**(`path?`): (`target`, `propertyKey`, `descriptor`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:205](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L205)
12
-
13
- Indicates that the decorated function handles incoming `PUT` requests at the given sub-path.
14
-
15
- ## Parameters
16
-
17
- ### path?
18
-
19
- `string`
20
-
21
- The sub-path that the route will handle requests for.
22
-
23
- ## Returns
24
-
25
- (`target`, `propertyKey`, `descriptor`) => `void`
@@ -1,26 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Query
6
-
7
- # Function: Query()
8
-
9
- > **Query**(`name?`): (`target`, `propertyKey`, `index`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:265](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L265)
12
-
13
- Injects the value of the specified query parameter with the given name as the value of the decorated argument. If
14
- no name is specified the entire request query will be injected.
15
-
16
- ## Parameters
17
-
18
- ### name?
19
-
20
- `string` \| `undefined`
21
-
22
- THe name of the query parameter whose value will be injected.
23
-
24
- ## Returns
25
-
26
- (`target`, `propertyKey`, `index`) => `void`
@@ -1,31 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Request
6
-
7
- # Function: Request()
8
-
9
- > **Request**(`target`, `propertyKey`, `index`): `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:276](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L276)
12
-
13
- Injects the Express request object as the value of the decorated argument.
14
-
15
- ## Parameters
16
-
17
- ### target
18
-
19
- `any`
20
-
21
- ### propertyKey
22
-
23
- `string`
24
-
25
- ### index
26
-
27
- `number`
28
-
29
- ## Returns
30
-
31
- `void`
@@ -1,26 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / RequiresRole
6
-
7
- # Function: RequiresRole()
8
-
9
- > **RequiresRole**(`roles`): (`target`, `propertyKey`, `descriptor`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:297](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L297)
12
-
13
- Indicates that the client must be an authenticated user with at least one of the specified role(s) to process the
14
- request.
15
-
16
- ## Parameters
17
-
18
- ### roles
19
-
20
- `string` \| `string`[]
21
-
22
- The role(s) that an authenticated user must have to make the request.
23
-
24
- ## Returns
25
-
26
- (`target`, `propertyKey`, `descriptor`) => `void`
@@ -1,31 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Response
6
-
7
- # Function: Response()
8
-
9
- > **Response**(`target`, `propertyKey`, `index`): `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:285](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L285)
12
-
13
- Injects the Express response object as the value of the decorated argument.
14
-
15
- ## Parameters
16
-
17
- ### target
18
-
19
- `any`
20
-
21
- ### propertyKey
22
-
23
- `string`
24
-
25
- ### index
26
-
27
- `number`
28
-
29
- ## Returns
30
-
31
- `void`
@@ -1,25 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Route
6
-
7
- # Function: Route()
8
-
9
- > **Route**(`paths`): (`target`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:310](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L310)
12
-
13
- Indicates that the decorated class contains Express route definitions.
14
-
15
- ## Parameters
16
-
17
- ### paths
18
-
19
- `string` \| `string`[]
20
-
21
- The base path(s) that all route definitions will use.
22
-
23
- ## Returns
24
-
25
- (`target`) => `void`
@@ -1,33 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Socket
6
-
7
- # Function: Socket()
8
-
9
- > **Socket**(`target`, `propertyKey`, `index`): `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:323](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L323)
12
-
13
- Injects the underlying Socket object associated with the request as the value of the decorated argument.
14
- When the handler function is for a WebSocket request, the returned socket will be the newly established
15
- WebSocket connection.
16
-
17
- ## Parameters
18
-
19
- ### target
20
-
21
- `any`
22
-
23
- ### propertyKey
24
-
25
- `string`
26
-
27
- ### index
28
-
29
- `number`
30
-
31
- ## Returns
32
-
33
- `void`
@@ -1,31 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / User
6
-
7
- # Function: User()
8
-
9
- > **User**(`target`, `propertyKey`, `index`): `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:332](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L332)
12
-
13
- Injects the authenticated user object as the value of the decorated argument.
14
-
15
- ## Parameters
16
-
17
- ### target
18
-
19
- `any`
20
-
21
- ### propertyKey
22
-
23
- `string`
24
-
25
- ### index
26
-
27
- `number`
28
-
29
- ## Returns
30
-
31
- `void`
@@ -1,25 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / Validate
6
-
7
- # Function: Validate()
8
-
9
- > **Validate**(`func`): (`target`, `propertyKey`, `descriptor`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:343](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L343)
12
-
13
- Indicates a validation function to execute in order to verify an incoming requests payload.
14
-
15
- ## Parameters
16
-
17
- ### func
18
-
19
- `string` \| `Function`
20
-
21
- The validation function to execute that will verify the request payload.
22
-
23
- ## Returns
24
-
25
- (`target`, `propertyKey`, `descriptor`) => `void`
@@ -1,25 +0,0 @@
1
- [**@rapidrest/service-core**](../../../../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../../../../globals.md) / [RouteDecorators](../README.md) / WebSocket
6
-
7
- # Function: WebSocket()
8
-
9
- > **WebSocket**(`path?`): (`target`, `propertyKey`, `descriptor`) => `void`
10
-
11
- Defined in: [src/decorators/RouteDecorators.ts:356](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/RouteDecorators.ts#L356)
12
-
13
- Indicates that the decorated function handles incoming `WebSocket` upgrade requests at the given sub-path.
14
-
15
- ## Parameters
16
-
17
- ### path?
18
-
19
- `string`
20
-
21
- The sub-path that the route will handle requests for.
22
-
23
- ## Returns
24
-
25
- (`target`, `propertyKey`, `descriptor`) => `void`
@@ -1,20 +0,0 @@
1
- **@rapidrest/service-core**
2
-
3
- ***
4
-
5
- # RapidREST: service-core
6
-
7
- [![pipeline status](https://gitlab.rapidrest.com/rapidrest/rapidrestjs/service-core/badges/master/pipeline.svg)](https://gitlab.rapidrest.com/rapidrest/rapidrestjs/service-core/-/commits/master)
8
- [![coverage report](https://gitlab.rapidrest.com/rapidrest/rapidrestjs/service-core/badges/master/coverage.svg)](https://gitlab.rapidrest.com/rapidrest/rapidrestjs/service-core/-/commits/master)
9
-
10
- Provides common functionality and utilities for RapidREST based REST API service projects.
11
-
12
- ## NPM
13
- ```
14
- npm i @rapidrest/service-core
15
- ```
16
-
17
- ## Yarn
18
- ```
19
- yarn add @rapidrest/service-core
20
- ```
@@ -1,263 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / ACLUtils
6
-
7
- # Class: ACLUtils
8
-
9
- Defined in: [src/security/ACLUtils.ts:22](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L22)
10
-
11
- Common utility functions for working with `AccessControlList` objects and validating user permissions.
12
-
13
- ## Constructors
14
-
15
- ### Constructor
16
-
17
- > **new ACLUtils**(): `ACLUtils`
18
-
19
- #### Returns
20
-
21
- `ACLUtils`
22
-
23
- ## Properties
24
-
25
- ### enabled
26
-
27
- > **enabled**: `boolean` = `true`
28
-
29
- Defined in: [src/security/ACLUtils.ts:24](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L24)
30
-
31
- ## Methods
32
-
33
- ### checkRequestPerms()
34
-
35
- > **checkRequestPerms**(`uid`, `user`, `req`): `Promise`\<`boolean`\>
36
-
37
- Defined in: [src/security/ACLUtils.ts:90](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L90)
38
-
39
- Validates that the user has permission to perform the request operation against the URL path for the
40
- provided request. If ACLUtils has not been initialized or the `acl` datastore has not been configured
41
- then always returns `true`.
42
-
43
- #### Parameters
44
-
45
- ##### uid
46
-
47
- `string`
48
-
49
- The uid of the access control list to verify against.
50
-
51
- ##### user
52
-
53
- `JWTUser` \| `undefined`
54
-
55
- The user to validate.
56
-
57
- ##### req
58
-
59
- [`HttpRequest`](../interfaces/HttpRequest.md)
60
-
61
- The request whose URL path and method will be verified.
62
-
63
- #### Returns
64
-
65
- `Promise`\<`boolean`\>
66
-
67
- ***
68
-
69
- ### findACL()
70
-
71
- > **findACL**(`entityId`, `parentUids?`, `reqCache?`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
72
-
73
- Defined in: [src/security/ACLUtils.ts:219](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L219)
74
-
75
- Retrieves the access control list with the associated identifier and populates the parent(s).
76
-
77
- #### Parameters
78
-
79
- ##### entityId
80
-
81
- `string`
82
-
83
- The unique identifier of the ACL to retrieve.
84
-
85
- ##### parentUids?
86
-
87
- `string`[] = `[]`
88
-
89
- The list of already found parent UIDs. This is used to break circular dependencies.
90
-
91
- ##### reqCache?
92
-
93
- `Map`\<`string`, [`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
94
-
95
- #### Returns
96
-
97
- `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
98
-
99
- ***
100
-
101
- ### getRecord()
102
-
103
- > **getRecord**(`acl`, `user`): [`ACLRecord`](../interfaces/ACLRecord.md) \| `null`
104
-
105
- Defined in: [src/security/ACLUtils.ts:501](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L501)
106
-
107
- Retrieves the first available record in the provided ACL associated with the provided user.
108
-
109
- #### Parameters
110
-
111
- ##### acl
112
-
113
- [`AccessControlList`](../interfaces/AccessControlList.md)
114
-
115
- The access control list that will be searched.
116
-
117
- ##### user
118
-
119
- `JWTUser` \| `undefined`
120
-
121
- The user to find a record for.
122
-
123
- #### Returns
124
-
125
- [`ACLRecord`](../interfaces/ACLRecord.md) \| `null`
126
-
127
- The ACL record associated with the given user if found, otherwise `undefined`.
128
-
129
- ***
130
-
131
- ### hasPermission()
132
-
133
- > **hasPermission**(`user`, `acl`, `action`): `Promise`\<`boolean`\>
134
-
135
- Defined in: [src/security/ACLUtils.ts:151](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L151)
136
-
137
- Validates that the user has permission to perform the provided action using the given access control list.
138
-
139
- #### Parameters
140
-
141
- ##### user
142
-
143
- `JWTUser` \| `undefined`
144
-
145
- The user to validate permissions of.
146
-
147
- ##### acl
148
-
149
- `string` \| [`AccessControlList`](../interfaces/AccessControlList.md)
150
-
151
- The ACL or uid of an ACL to validate permissions against.
152
-
153
- ##### action
154
-
155
- [`ACLAction`](../enumerations/ACLAction.md)
156
-
157
- The action that the user desires permission for.
158
-
159
- #### Returns
160
-
161
- `Promise`\<`boolean`\>
162
-
163
- `true` if the user has at least one of the permissions granted for the given entity, otherwise `false`.
164
-
165
- ***
166
-
167
- ### populateParent()
168
-
169
- > **populateParent**(`acl`, `parentUids?`): `Promise`\<`void`\>
170
-
171
- Defined in: [src/security/ACLUtils.ts:521](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L521)
172
-
173
- Attempts to retrieve the parent access control list for the given ACL object.
174
-
175
- #### Parameters
176
-
177
- ##### acl
178
-
179
- [`AccessControlList`](../interfaces/AccessControlList.md)
180
-
181
- The access control list whose parents will be populated.
182
-
183
- ##### parentUids?
184
-
185
- `string`[] = `[]`
186
-
187
- The list of already found parent UIDs. This is used to break circular dependencies.
188
-
189
- #### Returns
190
-
191
- `Promise`\<`void`\>
192
-
193
- ***
194
-
195
- ### removeACL()
196
-
197
- > **removeACL**(`uid`): `Promise`\<`void`\>
198
-
199
- Defined in: [src/security/ACLUtils.ts:287](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L287)
200
-
201
- Deletes the ACL with the given identifier from the database.
202
-
203
- #### Parameters
204
-
205
- ##### uid
206
-
207
- `string`
208
-
209
- The unique identifier of the ACL to remove.
210
-
211
- #### Returns
212
-
213
- `Promise`\<`void`\>
214
-
215
- ***
216
-
217
- ### saveACL()
218
-
219
- > **saveACL**(`acl`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
220
-
221
- Defined in: [src/security/ACLUtils.ts:375](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L375)
222
-
223
- Stores the given access control list into the ACL database.
224
-
225
- #### Parameters
226
-
227
- ##### acl
228
-
229
- [`AccessControlList`](../interfaces/AccessControlList.md)
230
-
231
- The ACL to store.
232
-
233
- #### Returns
234
-
235
- `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
236
-
237
- Returns the ACL that was stored in the database.
238
-
239
- ***
240
-
241
- ### saveDefaultACL()
242
-
243
- > **saveDefaultACL**(`acl`): `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
244
-
245
- Defined in: [src/security/ACLUtils.ts:441](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/ACLUtils.ts#L441)
246
-
247
- Stores the given default access control list into the ACL database. A default ACL is a special type of ACL
248
- that is primarily defined and maintained within the code but allows for user-specific overrides. To accomplish
249
- this, the provided ACL is split in two. A new record is automatically created with the `uid` of the form
250
- `default_<uid>` that stores the exact record as provided by code. Then a second ACL record is created
251
- with the `uid` being that of what is passed as the argument. This second ACL is used to store user-defined
252
- overrides. As the `default_<uid>` record is always overwritten with the lastest version of the code, any
253
- user-defined changes made to it are lost on service restart.
254
-
255
- #### Parameters
256
-
257
- ##### acl
258
-
259
- [`AccessControlList`](../interfaces/AccessControlList.md)
260
-
261
- #### Returns
262
-
263
- `Promise`\<[`AccessControlList`](../interfaces/AccessControlList.md) \| `null`\>
@@ -1,51 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / AdminRoute
6
-
7
- # Class: AdminRoute
8
-
9
- Defined in: [src/routes/AdminRoute.ts:50](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/AdminRoute.ts#L50)
10
-
11
- The `AdminRoute` provides a default `/admin` endpoint that gives trusted users the following abilities:
12
-
13
- * Clear cache via `GET /admin/clear-cache`
14
- * Live tail the service logs via `GET /admin/logs`
15
- * Retrieve service dependencies via `GET /admin/dependencies`
16
- * Retrieve service release notes via `GET /admin/release-notes`
17
- * Restart the service via `GET /admin/restart`
18
-
19
- ## Author
20
-
21
- Jean-Philippe Steinmetz
22
-
23
- ## Constructors
24
-
25
- ### Constructor
26
-
27
- > **new AdminRoute**(`releaseNotes`): `AdminRoute`
28
-
29
- Defined in: [src/routes/AdminRoute.ts:82](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/AdminRoute.ts#L82)
30
-
31
- Constructs a new `ReleaseNotesRoute` object with the specified defaults.
32
-
33
- #### Parameters
34
-
35
- ##### releaseNotes
36
-
37
- `string`
38
-
39
- The ReleaseNotes specification object to serve.
40
-
41
- #### Returns
42
-
43
- `AdminRoute`
44
-
45
- ## Properties
46
-
47
- ### cacheClient?
48
-
49
- > `protected` `optional` **cacheClient?**: `Redis`
50
-
51
- Defined in: [src/routes/AdminRoute.ts:55](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/AdminRoute.ts#L55)