@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,96 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / ACLRecord
6
-
7
- # Interface: ACLRecord
8
-
9
- Defined in: [src/security/AccessControlList.ts:33](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L33)
10
-
11
- The `ACLRecord` interface describes a single permissions entry in an `AccessControlList` that grants or denies
12
- a set of permissions to a single user or role.
13
-
14
- Each permission can be one of the following actions:
15
- - `Create` - The user or role can create a new record or object.
16
- - `Read` - The user or role can read the record or object.
17
- - `Update` - The user or role can modify existing records or objects.
18
- - `Delete` - The user or role can delete existing records or objects.
19
- - `Special` - The user or role has special prilieges to edit the ACL permissions.
20
- - `Full` - The user or role has total control over the record or object and supersedes any of the above.
21
-
22
- ## Author
23
-
24
- Jean-Philippe Steinmetz <rapidrests@gmail.com>
25
-
26
- ## Properties
27
-
28
- ### create
29
-
30
- > **create**: `boolean` \| `null`
31
-
32
- Defined in: [src/security/AccessControlList.ts:42](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L42)
33
-
34
- Indicates that the user or role has permission to create new records of the entity.
35
-
36
- ***
37
-
38
- ### delete
39
-
40
- > **delete**: `boolean` \| `null`
41
-
42
- Defined in: [src/security/AccessControlList.ts:57](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L57)
43
-
44
- Indicates that the user or role has permission to delete existing records of the entity.
45
-
46
- ***
47
-
48
- ### full
49
-
50
- > **full**: `boolean` \| `null`
51
-
52
- Defined in: [src/security/AccessControlList.ts:69](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L69)
53
-
54
- Indicates that the user or role has total control over records of the entity. This supersedes all of the above
55
- permissions.
56
-
57
- ***
58
-
59
- ### read
60
-
61
- > **read**: `boolean` \| `null`
62
-
63
- Defined in: [src/security/AccessControlList.ts:47](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L47)
64
-
65
- Indicates that the user or role has permission to read records of the entity.
66
-
67
- ***
68
-
69
- ### special
70
-
71
- > **special**: `boolean` \| `null`
72
-
73
- Defined in: [src/security/AccessControlList.ts:63](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L63)
74
-
75
- Indicates that the user or role has special permission over records of the entity. The exact meaning of this
76
- may vary by service.
77
-
78
- ***
79
-
80
- ### update
81
-
82
- > **update**: `boolean` \| `null`
83
-
84
- Defined in: [src/security/AccessControlList.ts:52](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L52)
85
-
86
- Indicates that the user or role has permission to modify existing records of the entity.
87
-
88
- ***
89
-
90
- ### userOrRoleId
91
-
92
- > **userOrRoleId**: `string`
93
-
94
- Defined in: [src/security/AccessControlList.ts:37](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L37)
95
-
96
- The unique identifier of the user or role that the record belongs to.
@@ -1,76 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / AccessControlList
6
-
7
- # Interface: AccessControlList
8
-
9
- Defined in: [src/security/AccessControlList.ts:97](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L97)
10
-
11
- The access control list provides a generic interface for the storage of user and roles permissions. Each ACL object
12
- represents the permission set for a single entity within the system. The entity is identified generically by its
13
- universally unique identifier (`uuid`). Each entry in the ACL records the permissions available to a particular user
14
- or role.
15
-
16
- Each permission can be one of the following actions:
17
- - `Create` - The user or role can create a new record or object.
18
- - `Read` - The user or role can read the record or object.
19
- - `Update` - The user or role can modify existing records or objects.
20
- - `Delete` - The user or role can delete existing records or objects.
21
- - `Special` - The user or role has special prilieges to edit the ACL permissions.
22
- - `Full` - The user or role has total control over the record or object and supersedes any of the above.
23
-
24
- For each of the above actions the user or role will be granted either an `allow` permission or a `deny` permission.
25
- If an `allow` is granted, the user or role has permission to perform that action. If a `deny` is set, then the user
26
- or role is denied that action. If no explicit `allow` or `deny` is set then the user or role will inherit the
27
- permission from a parent role or ACL.
28
-
29
- ACLs can be chained via single inheritance through the specification of the `parentUid`. This allows the ability to
30
- create complex trees of permissions that can easily inherit control schemes to make the definition of permissions
31
- easier.
32
-
33
- ## Author
34
-
35
- Jean-Philippe Steinmetz <rapidrests@gmail.com>
36
-
37
- ## Properties
38
-
39
- ### parent?
40
-
41
- > `optional` **parent?**: `AccessControlList` \| `null`
42
-
43
- Defined in: [src/security/AccessControlList.ts:106](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L106)
44
-
45
- The parent access control list that this instance inherits permissions from.
46
-
47
- ***
48
-
49
- ### parentUid?
50
-
51
- > `optional` **parentUid?**: `string`
52
-
53
- Defined in: [src/security/AccessControlList.ts:112](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L112)
54
-
55
- The universally unique identifier of the parent `AccessControlList` that this object will inherit permissions
56
- from.
57
-
58
- ***
59
-
60
- ### records
61
-
62
- > **records**: [`ACLRecord`](ACLRecord.md)[]
63
-
64
- Defined in: [src/security/AccessControlList.ts:117](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L117)
65
-
66
- The list of all permission records associated with this access control list.
67
-
68
- ***
69
-
70
- ### uid
71
-
72
- > **uid**: `string`
73
-
74
- Defined in: [src/security/AccessControlList.ts:101](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/security/AccessControlList.ts#L101)
75
-
76
- The universally unique identifier (`uuid`) of the entity that the access control list belongs to.
@@ -1,55 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / AuthResult
6
-
7
- # Interface: AuthResult
8
-
9
- Defined in: [src/auth/AuthStrategy.ts:10](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L10)
10
-
11
- Result returned by `AuthStrategy.authenticate()`.
12
-
13
- ## Extended by
14
-
15
- - [`JWTAuthResult`](JWTAuthResult.md)
16
-
17
- ## Properties
18
-
19
- ### data?
20
-
21
- > `optional` **data?**: `string`
22
-
23
- Defined in: [src/auth/AuthStrategy.ts:12](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L12)
24
-
25
- The raw auth data that was verified.
26
-
27
- ***
28
-
29
- ### method
30
-
31
- > **method**: `string`
32
-
33
- Defined in: [src/auth/AuthStrategy.ts:14](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L14)
34
-
35
- The name of the auth strategy that produced this result.
36
-
37
- ***
38
-
39
- ### payload?
40
-
41
- > `optional` **payload?**: `any`
42
-
43
- Defined in: [src/auth/AuthStrategy.ts:16](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L16)
44
-
45
- The fully decoded payload from the auth data.
46
-
47
- ***
48
-
49
- ### user?
50
-
51
- > `optional` **user?**: `JWTUser`
52
-
53
- Defined in: [src/auth/AuthStrategy.ts:18](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L18)
54
-
55
- The authenticated user profile, or `undefined` if authentication failed.
@@ -1,95 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / AuthStrategy
6
-
7
- # Interface: AuthStrategy
8
-
9
- Defined in: [src/auth/AuthStrategy.ts:24](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L24)
10
-
11
- Describes an interface for implementing strategies that will perform authentication.
12
-
13
- ## Properties
14
-
15
- ### name
16
-
17
- > `readonly` **name**: `string`
18
-
19
- Defined in: [src/auth/AuthStrategy.ts:26](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L26)
20
-
21
- The unique name of the strategy used to register with the `AuthMiddleware`.
22
-
23
- ## Methods
24
-
25
- ### authenticate()
26
-
27
- > **authenticate**(`req`, `res?`, `required?`): `Promise`\<[`AuthResult`](AuthResult.md) \| `undefined`\>
28
-
29
- Defined in: [src/auth/AuthStrategy.ts:37](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L37)
30
-
31
- Attempts to perform authentication with the given request data. If authentication was successful, returns an
32
- `AuthResult` containing the authentication details. If authentication fails and `required` is set to `true`
33
- throws an error, otherwise returns `undefined`.
34
-
35
- #### Parameters
36
-
37
- ##### req
38
-
39
- [`HttpRequest`](HttpRequest.md)
40
-
41
- The request containing data to attempt authentication with.
42
-
43
- ##### res?
44
-
45
- [`HttpResponse`](HttpResponse.md)
46
-
47
- The response to use when writing back directly to the client.
48
-
49
- ##### required?
50
-
51
- `boolean`
52
-
53
- Set to `true` to if authentication is required to pass, otherwise set to `false`.
54
-
55
- #### Returns
56
-
57
- `Promise`\<[`AuthResult`](AuthResult.md) \| `undefined`\>
58
-
59
- ***
60
-
61
- ### authenticateSync()
62
-
63
- > **authenticateSync**(`req`, `res?`, `required?`): [`AuthResult`](AuthResult.md) \| `undefined`
64
-
65
- Defined in: [src/auth/AuthStrategy.ts:50](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/auth/AuthStrategy.ts#L50)
66
-
67
- Attempts to perform authentication with the given request data. If authentication was successful, returns an
68
- `AuthResult` containing the authentication details. If authentication fails and `required` is set to `true`
69
- throws an error, otherwise returns `undefined`.
70
-
71
- This is the synchronous version of `authenticate` that performs blocking based authentication.
72
-
73
- #### Parameters
74
-
75
- ##### req
76
-
77
- [`HttpRequest`](HttpRequest.md)
78
-
79
- The request containing data to attempt authentication with.
80
-
81
- ##### res?
82
-
83
- [`HttpResponse`](HttpResponse.md)
84
-
85
- The response to use when writing back directly to the client.
86
-
87
- ##### required?
88
-
89
- `boolean`
90
-
91
- Set to `true` to if authentication is required to pass, otherwise set to `false`.
92
-
93
- #### Returns
94
-
95
- [`AuthResult`](AuthResult.md) \| `undefined`
@@ -1,121 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / CreateRequestOptions
6
-
7
- # Interface: CreateRequestOptions
8
-
9
- Defined in: [src/routes/ModelRoute.ts:35](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L35)
10
-
11
- The set of options required by create request handlers.
12
-
13
- ## Extends
14
-
15
- - [`RequestOptions`](RequestOptions.md)
16
-
17
- ## Properties
18
-
19
- ### acl?
20
-
21
- > `optional` **acl?**: [`AccessControlList`](AccessControlList.md) \| [`AccessControlList`](AccessControlList.md)[]
22
-
23
- Defined in: [src/routes/ModelRoute.ts:36](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L36)
24
-
25
- ***
26
-
27
- ### ignoreACL?
28
-
29
- > `optional` **ignoreACL?**: `boolean`
30
-
31
- Defined in: [src/models/RepoUtils.ts:33](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L33)
32
-
33
- Set to `true` to ignore the ACL permissions check.
34
-
35
- #### Inherited from
36
-
37
- [`RequestOptions`](RequestOptions.md).[`ignoreACL`](RequestOptions.md#ignoreacl)
38
-
39
- ***
40
-
41
- ### pushChannels?
42
-
43
- > `optional` **pushChannels?**: `string`[]
44
-
45
- Defined in: [src/routes/ModelRoute.ts:38](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L38)
46
-
47
- An additional list of channel names to send push notifications to.
48
-
49
- #### Overrides
50
-
51
- [`RequestOptions`](RequestOptions.md).[`pushChannels`](RequestOptions.md#pushchannels)
52
-
53
- ***
54
-
55
- ### recordEvent?
56
-
57
- > `optional` **recordEvent?**: `boolean`
58
-
59
- Defined in: [src/models/RepoUtils.ts:37](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L37)
60
-
61
- Indicates if a telemetry event should be broadcast for the request.
62
-
63
- #### Inherited from
64
-
65
- [`RequestOptions`](RequestOptions.md).[`recordEvent`](RequestOptions.md#recordevent)
66
-
67
- ***
68
-
69
- ### req?
70
-
71
- > `optional` **req?**: [`HttpRequest`](HttpRequest.md)
72
-
73
- Defined in: [src/routes/ModelRoute.ts:27](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L27)
74
-
75
- The originating client request.
76
-
77
- #### Inherited from
78
-
79
- [`RequestOptions`](RequestOptions.md).[`req`](RequestOptions.md#req)
80
-
81
- ***
82
-
83
- ### res?
84
-
85
- > `optional` **res?**: [`HttpResponse`](HttpResponse.md)
86
-
87
- Defined in: [src/routes/ModelRoute.ts:29](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L29)
88
-
89
- The outgoing client response.
90
-
91
- #### Inherited from
92
-
93
- [`RequestOptions`](RequestOptions.md).[`res`](RequestOptions.md#res)
94
-
95
- ***
96
-
97
- ### skipPush?
98
-
99
- > `optional` **skipPush?**: `boolean`
100
-
101
- Defined in: [src/routes/ModelRoute.ts:40](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L40)
102
-
103
- Set to `true` to not send a push notification.
104
-
105
- #### Overrides
106
-
107
- [`RequestOptions`](RequestOptions.md).[`skipPush`](RequestOptions.md#skippush)
108
-
109
- ***
110
-
111
- ### user?
112
-
113
- > `optional` **user?**: `JWTUser`
114
-
115
- Defined in: [src/models/RepoUtils.ts:41](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L41)
116
-
117
- The authenticated user making the request.
118
-
119
- #### Inherited from
120
-
121
- [`RequestOptions`](RequestOptions.md).[`user`](RequestOptions.md#user)
@@ -1,137 +0,0 @@
1
- [**@rapidrest/service-core**](../README.md)
2
-
3
- ***
4
-
5
- [@rapidrest/service-core](../globals.md) / DeleteRequestOptions
6
-
7
- # Interface: DeleteRequestOptions
8
-
9
- Defined in: [src/routes/ModelRoute.ts:46](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L46)
10
-
11
- The set of options required by delete request handlers.
12
-
13
- ## Extends
14
-
15
- - [`RequestOptions`](RequestOptions.md)
16
-
17
- ## Extended by
18
-
19
- - [`TruncateRequestOptions`](TruncateRequestOptions.md)
20
-
21
- ## Properties
22
-
23
- ### ignoreACL?
24
-
25
- > `optional` **ignoreACL?**: `boolean`
26
-
27
- Defined in: [src/models/RepoUtils.ts:33](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L33)
28
-
29
- Set to `true` to ignore the ACL permissions check.
30
-
31
- #### Inherited from
32
-
33
- [`RequestOptions`](RequestOptions.md).[`ignoreACL`](RequestOptions.md#ignoreacl)
34
-
35
- ***
36
-
37
- ### purge?
38
-
39
- > `optional` **purge?**: `boolean`
40
-
41
- Defined in: [src/routes/ModelRoute.ts:48](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L48)
42
-
43
- Set to true to permanently remove the object from the database (if applicable).
44
-
45
- ***
46
-
47
- ### pushChannels?
48
-
49
- > `optional` **pushChannels?**: `string`[]
50
-
51
- Defined in: [src/routes/ModelRoute.ts:50](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L50)
52
-
53
- An additional list of channel names to send push notifications to.
54
-
55
- #### Overrides
56
-
57
- [`RequestOptions`](RequestOptions.md).[`pushChannels`](RequestOptions.md#pushchannels)
58
-
59
- ***
60
-
61
- ### recordEvent?
62
-
63
- > `optional` **recordEvent?**: `boolean`
64
-
65
- Defined in: [src/models/RepoUtils.ts:37](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L37)
66
-
67
- Indicates if a telemetry event should be broadcast for the request.
68
-
69
- #### Inherited from
70
-
71
- [`RequestOptions`](RequestOptions.md).[`recordEvent`](RequestOptions.md#recordevent)
72
-
73
- ***
74
-
75
- ### req?
76
-
77
- > `optional` **req?**: [`HttpRequest`](HttpRequest.md)
78
-
79
- Defined in: [src/routes/ModelRoute.ts:27](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L27)
80
-
81
- The originating client request.
82
-
83
- #### Inherited from
84
-
85
- [`RequestOptions`](RequestOptions.md).[`req`](RequestOptions.md#req)
86
-
87
- ***
88
-
89
- ### res?
90
-
91
- > `optional` **res?**: [`HttpResponse`](HttpResponse.md)
92
-
93
- Defined in: [src/routes/ModelRoute.ts:29](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L29)
94
-
95
- The outgoing client response.
96
-
97
- #### Inherited from
98
-
99
- [`RequestOptions`](RequestOptions.md).[`res`](RequestOptions.md#res)
100
-
101
- ***
102
-
103
- ### skipPush?
104
-
105
- > `optional` **skipPush?**: `boolean`
106
-
107
- Defined in: [src/routes/ModelRoute.ts:52](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L52)
108
-
109
- Set to `true` to not send a push notification.
110
-
111
- #### Overrides
112
-
113
- [`RequestOptions`](RequestOptions.md).[`skipPush`](RequestOptions.md#skippush)
114
-
115
- ***
116
-
117
- ### user?
118
-
119
- > `optional` **user?**: `JWTUser`
120
-
121
- Defined in: [src/models/RepoUtils.ts:41](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/models/RepoUtils.ts#L41)
122
-
123
- The authenticated user making the request.
124
-
125
- #### Inherited from
126
-
127
- [`RequestOptions`](RequestOptions.md).[`user`](RequestOptions.md#user)
128
-
129
- ***
130
-
131
- ### version?
132
-
133
- > `optional` **version?**: `string` \| `number`
134
-
135
- Defined in: [src/routes/ModelRoute.ts:54](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/routes/ModelRoute.ts#L54)
136
-
137
- The desired version number of the resource to delete.