@rapidrest/service-core 1.0.0-beta.1

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 (332) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +16 -0
  3. package/dist/lib/ApiErrors.js +41 -0
  4. package/dist/lib/ApiErrors.js.map +1 -0
  5. package/dist/lib/BackgroundService.js +16 -0
  6. package/dist/lib/BackgroundService.js.map +1 -0
  7. package/dist/lib/BackgroundServiceManager.js +135 -0
  8. package/dist/lib/BackgroundServiceManager.js.map +1 -0
  9. package/dist/lib/BulkError.js +24 -0
  10. package/dist/lib/BulkError.js.map +1 -0
  11. package/dist/lib/EventListenerManager.js +161 -0
  12. package/dist/lib/EventListenerManager.js.map +1 -0
  13. package/dist/lib/NetUtils.js +103 -0
  14. package/dist/lib/NetUtils.js.map +1 -0
  15. package/dist/lib/NotificationUtils.js +34 -0
  16. package/dist/lib/NotificationUtils.js.map +1 -0
  17. package/dist/lib/ObjectFactory.js +90 -0
  18. package/dist/lib/ObjectFactory.js.map +1 -0
  19. package/dist/lib/OpenApiSpec.js +748 -0
  20. package/dist/lib/OpenApiSpec.js.map +1 -0
  21. package/dist/lib/Server.js +549 -0
  22. package/dist/lib/Server.js.map +1 -0
  23. package/dist/lib/Types.js +2 -0
  24. package/dist/lib/Types.js.map +1 -0
  25. package/dist/lib/auth/AuthMiddleware.js +229 -0
  26. package/dist/lib/auth/AuthMiddleware.js.map +1 -0
  27. package/dist/lib/auth/AuthStrategy.js +2 -0
  28. package/dist/lib/auth/AuthStrategy.js.map +1 -0
  29. package/dist/lib/auth/BasicStrategy.js +106 -0
  30. package/dist/lib/auth/BasicStrategy.js.map +1 -0
  31. package/dist/lib/auth/JWTStrategy.js +161 -0
  32. package/dist/lib/auth/JWTStrategy.js.map +1 -0
  33. package/dist/lib/auth/index.js +5 -0
  34. package/dist/lib/auth/index.js.map +1 -0
  35. package/dist/lib/database/ConnectionKinds.js +14 -0
  36. package/dist/lib/database/ConnectionKinds.js.map +1 -0
  37. package/dist/lib/database/ConnectionManager.js +161 -0
  38. package/dist/lib/database/ConnectionManager.js.map +1 -0
  39. package/dist/lib/database/MongoConnection.js +86 -0
  40. package/dist/lib/database/MongoConnection.js.map +1 -0
  41. package/dist/lib/database/MongoRepository.js +136 -0
  42. package/dist/lib/database/MongoRepository.js.map +1 -0
  43. package/dist/lib/database/MongoSchemaSync.js +136 -0
  44. package/dist/lib/database/MongoSchemaSync.js.map +1 -0
  45. package/dist/lib/database/NamingUtils.js +52 -0
  46. package/dist/lib/database/NamingUtils.js.map +1 -0
  47. package/dist/lib/database/TypeOrmSupport.js +146 -0
  48. package/dist/lib/database/TypeOrmSupport.js.map +1 -0
  49. package/dist/lib/database/index.js +7 -0
  50. package/dist/lib/database/index.js.map +1 -0
  51. package/dist/lib/decorators/DatabaseDecorators.js +52 -0
  52. package/dist/lib/decorators/DatabaseDecorators.js.map +1 -0
  53. package/dist/lib/decorators/DocDecorators.js +120 -0
  54. package/dist/lib/decorators/DocDecorators.js.map +1 -0
  55. package/dist/lib/decorators/EventDecorators.js +24 -0
  56. package/dist/lib/decorators/EventDecorators.js.map +1 -0
  57. package/dist/lib/decorators/ModelDecorators.js +173 -0
  58. package/dist/lib/decorators/ModelDecorators.js.map +1 -0
  59. package/dist/lib/decorators/PersistenceDecorators.js +177 -0
  60. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -0
  61. package/dist/lib/decorators/RouteDecorators.js +324 -0
  62. package/dist/lib/decorators/RouteDecorators.js.map +1 -0
  63. package/dist/lib/decorators/index.js +7 -0
  64. package/dist/lib/decorators/index.js.map +1 -0
  65. package/dist/lib/http/Adapters.js +230 -0
  66. package/dist/lib/http/Adapters.js.map +1 -0
  67. package/dist/lib/http/Router.js +403 -0
  68. package/dist/lib/http/Router.js.map +1 -0
  69. package/dist/lib/http/WebSocket.js +82 -0
  70. package/dist/lib/http/WebSocket.js.map +1 -0
  71. package/dist/lib/http/index.js +4 -0
  72. package/dist/lib/http/index.js.map +1 -0
  73. package/dist/lib/http/types.js +5 -0
  74. package/dist/lib/http/types.js.map +1 -0
  75. package/dist/lib/index.js +18 -0
  76. package/dist/lib/index.js.map +1 -0
  77. package/dist/lib/models/BaseEntity.js +83 -0
  78. package/dist/lib/models/BaseEntity.js.map +1 -0
  79. package/dist/lib/models/BaseMongoEntity.js +40 -0
  80. package/dist/lib/models/BaseMongoEntity.js.map +1 -0
  81. package/dist/lib/models/ModelUtils.js +645 -0
  82. package/dist/lib/models/ModelUtils.js.map +1 -0
  83. package/dist/lib/models/RecoverableBaseEntity.js +39 -0
  84. package/dist/lib/models/RecoverableBaseEntity.js.map +1 -0
  85. package/dist/lib/models/RecoverableBaseMongoEntity.js +40 -0
  86. package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -0
  87. package/dist/lib/models/RepoUtils.js +717 -0
  88. package/dist/lib/models/RepoUtils.js.map +1 -0
  89. package/dist/lib/models/SimpleEntity.js +42 -0
  90. package/dist/lib/models/SimpleEntity.js.map +1 -0
  91. package/dist/lib/models/SimpleMongoEntity.js +38 -0
  92. package/dist/lib/models/SimpleMongoEntity.js.map +1 -0
  93. package/dist/lib/models/StatusExtraData.js +15 -0
  94. package/dist/lib/models/StatusExtraData.js.map +1 -0
  95. package/dist/lib/models/index.js +10 -0
  96. package/dist/lib/models/index.js.map +1 -0
  97. package/dist/lib/routes/AdminRoute.js +268 -0
  98. package/dist/lib/routes/AdminRoute.js.map +1 -0
  99. package/dist/lib/routes/MetricsRoute.js +86 -0
  100. package/dist/lib/routes/MetricsRoute.js.map +1 -0
  101. package/dist/lib/routes/ModelRoute.js +481 -0
  102. package/dist/lib/routes/ModelRoute.js.map +1 -0
  103. package/dist/lib/routes/OpenAPIRoute.js +115 -0
  104. package/dist/lib/routes/OpenAPIRoute.js.map +1 -0
  105. package/dist/lib/routes/RouteUtils.js +445 -0
  106. package/dist/lib/routes/RouteUtils.js.map +1 -0
  107. package/dist/lib/routes/StatusRoute.js +55 -0
  108. package/dist/lib/routes/StatusRoute.js.map +1 -0
  109. package/dist/lib/routes/index.js +7 -0
  110. package/dist/lib/routes/index.js.map +1 -0
  111. package/dist/lib/security/ACLRouteMongo.js +194 -0
  112. package/dist/lib/security/ACLRouteMongo.js.map +1 -0
  113. package/dist/lib/security/ACLRouteSQL.js +193 -0
  114. package/dist/lib/security/ACLRouteSQL.js.map +1 -0
  115. package/dist/lib/security/ACLUtils.js +457 -0
  116. package/dist/lib/security/ACLUtils.js.map +1 -0
  117. package/dist/lib/security/AccessControlList.js +18 -0
  118. package/dist/lib/security/AccessControlList.js.map +1 -0
  119. package/dist/lib/security/AccessControlListMongo.js +155 -0
  120. package/dist/lib/security/AccessControlListMongo.js.map +1 -0
  121. package/dist/lib/security/AccessControlListSQL.js +149 -0
  122. package/dist/lib/security/AccessControlListSQL.js.map +1 -0
  123. package/dist/lib/security/index.js +3 -0
  124. package/dist/lib/security/index.js.map +1 -0
  125. package/dist/lib/test/index.js +3 -0
  126. package/dist/lib/test/index.js.map +1 -0
  127. package/dist/lib/test/request.js +99 -0
  128. package/dist/lib/test/request.js.map +1 -0
  129. package/dist/lib/test/requestws.js +173 -0
  130. package/dist/lib/test/requestws.js.map +1 -0
  131. package/dist/types/ApiErrors.d.ts +38 -0
  132. package/dist/types/BackgroundService.d.ts +30 -0
  133. package/dist/types/BackgroundServiceManager.d.ts +66 -0
  134. package/dist/types/BulkError.d.ts +11 -0
  135. package/dist/types/EventListenerManager.d.ts +36 -0
  136. package/dist/types/NetUtils.d.ts +29 -0
  137. package/dist/types/NotificationUtils.d.ts +25 -0
  138. package/dist/types/ObjectFactory.d.ts +17 -0
  139. package/dist/types/OpenApiSpec.d.ts +114 -0
  140. package/dist/types/Server.d.ts +180 -0
  141. package/dist/types/Types.d.ts +8 -0
  142. package/dist/types/auth/AuthMiddleware.d.ts +42 -0
  143. package/dist/types/auth/AuthStrategy.d.ts +32 -0
  144. package/dist/types/auth/BasicStrategy.d.ts +33 -0
  145. package/dist/types/auth/JWTStrategy.d.ts +61 -0
  146. package/dist/types/auth/index.d.ts +4 -0
  147. package/dist/types/database/ConnectionKinds.d.ts +7 -0
  148. package/dist/types/database/ConnectionManager.d.ts +35 -0
  149. package/dist/types/database/MongoConnection.d.ts +54 -0
  150. package/dist/types/database/MongoRepository.d.ts +92 -0
  151. package/dist/types/database/MongoSchemaSync.d.ts +41 -0
  152. package/dist/types/database/NamingUtils.d.ts +24 -0
  153. package/dist/types/database/TypeOrmSupport.d.ts +20 -0
  154. package/dist/types/database/index.d.ts +6 -0
  155. package/dist/types/decorators/DatabaseDecorators.d.ts +18 -0
  156. package/dist/types/decorators/DocDecorators.d.ts +69 -0
  157. package/dist/types/decorators/EventDecorators.d.ts +12 -0
  158. package/dist/types/decorators/ModelDecorators.d.ts +80 -0
  159. package/dist/types/decorators/PersistenceDecorators.d.ts +117 -0
  160. package/dist/types/decorators/RouteDecorators.d.ts +172 -0
  161. package/dist/types/decorators/index.d.ts +6 -0
  162. package/dist/types/http/Adapters.d.ts +68 -0
  163. package/dist/types/http/Router.d.ts +99 -0
  164. package/dist/types/http/WebSocket.d.ts +56 -0
  165. package/dist/types/http/index.d.ts +6 -0
  166. package/dist/types/http/types.d.ts +54 -0
  167. package/dist/types/index.d.ts +17 -0
  168. package/dist/types/models/BaseEntity.d.ts +29 -0
  169. package/dist/types/models/BaseMongoEntity.d.ts +13 -0
  170. package/dist/types/models/ModelUtils.d.ts +166 -0
  171. package/dist/types/models/RecoverableBaseEntity.d.ts +16 -0
  172. package/dist/types/models/RecoverableBaseMongoEntity.d.ts +16 -0
  173. package/dist/types/models/RepoUtils.d.ts +154 -0
  174. package/dist/types/models/SimpleEntity.d.ts +14 -0
  175. package/dist/types/models/SimpleMongoEntity.d.ts +15 -0
  176. package/dist/types/models/StatusExtraData.d.ts +6 -0
  177. package/dist/types/models/index.d.ts +9 -0
  178. package/dist/types/routes/AdminRoute.d.ts +47 -0
  179. package/dist/types/routes/MetricsRoute.d.ts +15 -0
  180. package/dist/types/routes/ModelRoute.d.ts +226 -0
  181. package/dist/types/routes/OpenAPIRoute.d.ts +17 -0
  182. package/dist/types/routes/RouteUtils.d.ts +55 -0
  183. package/dist/types/routes/StatusRoute.d.ts +11 -0
  184. package/dist/types/routes/index.d.ts +6 -0
  185. package/dist/types/security/ACLRouteMongo.d.ts +19 -0
  186. package/dist/types/security/ACLRouteSQL.d.ts +19 -0
  187. package/dist/types/security/ACLUtils.d.ts +94 -0
  188. package/dist/types/security/AccessControlList.d.ts +103 -0
  189. package/dist/types/security/AccessControlListMongo.d.ts +24 -0
  190. package/dist/types/security/AccessControlListSQL.d.ts +24 -0
  191. package/dist/types/security/index.d.ts +2 -0
  192. package/dist/types/test/index.d.ts +2 -0
  193. package/dist/types/test/request.d.ts +24 -0
  194. package/dist/types/test/requestws.d.ts +21 -0
  195. package/docs/Makefile +20 -0
  196. package/docs/conf.py +58 -0
  197. package/docs/index.rst +17 -0
  198. package/docs/make.bat +35 -0
  199. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +13 -0
  200. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +25 -0
  201. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +25 -0
  202. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +25 -0
  203. package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +23 -0
  204. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +25 -0
  205. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +25 -0
  206. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +25 -0
  207. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +25 -0
  208. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +25 -0
  209. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +28 -0
  210. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +25 -0
  211. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +25 -0
  212. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +28 -0
  213. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +57 -0
  214. package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +12 -0
  215. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +17 -0
  216. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +26 -0
  217. package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +26 -0
  218. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +25 -0
  219. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +18 -0
  220. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +25 -0
  221. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +27 -0
  222. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +35 -0
  223. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +25 -0
  224. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +27 -0
  225. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +26 -0
  226. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +45 -0
  227. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +14 -0
  228. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +25 -0
  229. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +25 -0
  230. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +26 -0
  231. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +119 -0
  232. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +25 -0
  233. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +68 -0
  234. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +26 -0
  235. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +26 -0
  236. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +27 -0
  237. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +41 -0
  238. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +51 -0
  239. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +41 -0
  240. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +51 -0
  241. package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +36 -0
  242. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +26 -0
  243. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +33 -0
  244. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +31 -0
  245. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +25 -0
  246. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +25 -0
  247. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +25 -0
  248. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +25 -0
  249. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +25 -0
  250. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +25 -0
  251. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +31 -0
  252. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +25 -0
  253. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +25 -0
  254. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +26 -0
  255. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +25 -0
  256. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +25 -0
  257. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +31 -0
  258. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +25 -0
  259. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +26 -0
  260. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +31 -0
  261. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +26 -0
  262. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +31 -0
  263. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +25 -0
  264. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +33 -0
  265. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +31 -0
  266. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +25 -0
  267. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +25 -0
  268. package/docs/reference/README.md +20 -0
  269. package/docs/reference/classes/ACLUtils.md +251 -0
  270. package/docs/reference/classes/AdminRoute.md +51 -0
  271. package/docs/reference/classes/AuthMiddleware.md +131 -0
  272. package/docs/reference/classes/BackgroundService.md +117 -0
  273. package/docs/reference/classes/BackgroundServiceManager.md +172 -0
  274. package/docs/reference/classes/BaseEntity.md +82 -0
  275. package/docs/reference/classes/BaseMongoEntity.md +107 -0
  276. package/docs/reference/classes/BasicStrategy.md +89 -0
  277. package/docs/reference/classes/BasicStrategyOptions.md +91 -0
  278. package/docs/reference/classes/BulkError.md +271 -0
  279. package/docs/reference/classes/ConnectionManager.md +75 -0
  280. package/docs/reference/classes/EventListenerManager.md +88 -0
  281. package/docs/reference/classes/JWTStrategy.md +77 -0
  282. package/docs/reference/classes/JWTStrategyOptions.md +97 -0
  283. package/docs/reference/classes/MetricsRoute.md +27 -0
  284. package/docs/reference/classes/ModelRoute.md +527 -0
  285. package/docs/reference/classes/ModelUtils.md +448 -0
  286. package/docs/reference/classes/MongoConnection.md +218 -0
  287. package/docs/reference/classes/MongoRepository.md +354 -0
  288. package/docs/reference/classes/MongoSchemaSync.md +67 -0
  289. package/docs/reference/classes/NetUtils.md +90 -0
  290. package/docs/reference/classes/NotificationUtils.md +77 -0
  291. package/docs/reference/classes/ObjectFactory.md +336 -0
  292. package/docs/reference/classes/OpenAPIRoute.md +77 -0
  293. package/docs/reference/classes/OpenApiSpec.md +892 -0
  294. package/docs/reference/classes/RecoverableBaseEntity.md +114 -0
  295. package/docs/reference/classes/RecoverableBaseMongoEntity.md +124 -0
  296. package/docs/reference/classes/RedisTransport.md +2202 -0
  297. package/docs/reference/classes/RepoUtils.md +486 -0
  298. package/docs/reference/classes/RouteUtils.md +191 -0
  299. package/docs/reference/classes/Server.md +408 -0
  300. package/docs/reference/classes/SimpleEntity.md +48 -0
  301. package/docs/reference/classes/SimpleMongoEntity.md +66 -0
  302. package/docs/reference/classes/StatusExtraData.md +57 -0
  303. package/docs/reference/classes/StatusRoute.md +26 -0
  304. package/docs/reference/enumerations/ACLAction.md +63 -0
  305. package/docs/reference/enumerations/ApiErrorMessages.md +123 -0
  306. package/docs/reference/enumerations/ApiErrors.md +123 -0
  307. package/docs/reference/functions/isSqlDataSource.md +26 -0
  308. package/docs/reference/functions/resolveCollectionName.md +33 -0
  309. package/docs/reference/functions/snakeCase.md +28 -0
  310. package/docs/reference/globals.md +91 -0
  311. package/docs/reference/interfaces/ACLRecord.md +96 -0
  312. package/docs/reference/interfaces/AccessControlList.md +76 -0
  313. package/docs/reference/interfaces/AuthResult.md +55 -0
  314. package/docs/reference/interfaces/AuthStrategy.md +57 -0
  315. package/docs/reference/interfaces/CreateRequestOptions.md +121 -0
  316. package/docs/reference/interfaces/DeleteRequestOptions.md +147 -0
  317. package/docs/reference/interfaces/FindRequestOptions.md +133 -0
  318. package/docs/reference/interfaces/JWTAuthResult.md +84 -0
  319. package/docs/reference/interfaces/RepoCreateOptions.md +95 -0
  320. package/docs/reference/interfaces/RepoDeleteOptions.md +115 -0
  321. package/docs/reference/interfaces/RepoFindOptions.md +135 -0
  322. package/docs/reference/interfaces/RepoOperationOptions.md +69 -0
  323. package/docs/reference/interfaces/RepoUpdateOptions.md +111 -0
  324. package/docs/reference/interfaces/RequestOptions.md +112 -0
  325. package/docs/reference/interfaces/TruncateRequestOptions.md +175 -0
  326. package/docs/reference/interfaces/UpdateRequestOptions.md +149 -0
  327. package/docs/reference/type-aliases/OneOrMany.md +19 -0
  328. package/docs/reference/type-aliases/OneOrNull.md +19 -0
  329. package/docs/reference/type-aliases/PartialBaseEntity.md +17 -0
  330. package/docs/reference/type-aliases/PartialSimpleEntity.md +17 -0
  331. package/docs/reference/type-aliases/UpdateObject.md +19 -0
  332. package/package.json +125 -0
@@ -0,0 +1,408 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / Server
6
+
7
+ # Class: Server
8
+
9
+ Defined in: [src/Server.ts:147](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L147)
10
+
11
+ Provides an HTTP server utilizing uWebSockets.js. The server automatically registers all routes, and
12
+ establishes database connections for all configured data stores. Additionally provides automatic authentication
13
+ handling using JSON Web Token (JWT) directly — no Passport dependency required. When provided an OpenAPI
14
+ specification object the server will also automatically serve this specification via the `GET /openapi.json` route.
15
+
16
+ Routes are defined by creating any class definition using the various decorators found in `RouteDecorators` and
17
+ saving these files in the `routes` subfolder. Upon server start, the `routes` folder is scanned for any class
18
+ that has been decorated with `@Route` and is automatically loaded and registered. Similarly, if the
19
+ class is decorated with the `@Model` decorator the resulting route object will have the associated data model
20
+ definition object injected into the constructor.
21
+
22
+ SSL termination is supported by providing an `ssl` configuration block with `key`, `cert`, and optionally
23
+ `ca` and `passphrase` file paths. When `ssl` is present the server uses `uWS.SSLApp()`.
24
+
25
+ IPv6 is supported by setting `listen_host` to `"::"` in configuration (default `"0.0.0.0"`).
26
+
27
+ By default all registered endpoints that do not explicitly have an `@Auth` decorator have the `JWT`
28
+ authentication strategy applied. This allows users to be implicitly authenticated without requiring additional
29
+ configuration. Once authenticated, the provided `request` argument will have the `user` property available
30
+ containing information about the authenticated user. If the `user` property is `undefined` then no user has
31
+ been authenticated or the authentication attempt failed.
32
+
33
+ The following is an example of a simple route class.
34
+
35
+ ```javascript
36
+ import { DefaultBehaviors, RouteDecorators } from "@rapidrest/service-core";
37
+ import { Get, Route } = RouteDecorators;
38
+
39
+ @Route("/hello")
40
+ class TestRoute extends ModelRoute {
41
+ constructor(model: any) {
42
+ super(model);
43
+ }
44
+
45
+ @Get()
46
+ count(req: any, res: any, next: Function): any {
47
+ return res.send("Hello World!");
48
+ }
49
+ }
50
+
51
+ export default TestRoute;
52
+ ```
53
+
54
+ The following is an example of a route class that is bound to a data model providing basic CRUDS operations.
55
+
56
+ ```javascript
57
+ import { DefaultBehaviors, ModelDecorators, ModelRoute, RouteDecorators } from "@rapidrest/service-core";
58
+ import { After, Before, Delete, Get, Post, Put, Route, Validate } = RouteDecorators;
59
+ import { Model } = ModelDecorators;
60
+ import { marshall } = DefaultBehaviors;
61
+
62
+ @Model("Item")
63
+ @Route("/items")
64
+ class ItemRoute extends ModelRoute {
65
+ constructor(model: any) {
66
+ super(model);
67
+ }
68
+
69
+ @Get()
70
+ @Before(super.count)
71
+ @After(marshall)
72
+ count(req: any, res: any, next: Function): any {
73
+ return next();
74
+ }
75
+
76
+ @Post()
77
+ @Before([super.create])
78
+ @After([this.prepare, marshall])
79
+ create(req: any, res: any, next: Function): any {
80
+ return next();
81
+ }
82
+
83
+ @Delete(":id")
84
+ @Before([super.delete])
85
+ delete(req: any, res: any, next: Function): any {
86
+ return next();
87
+ }
88
+
89
+ @Get()
90
+ @Before([super.findAll])
91
+ @After(this.prepareAndSend)
92
+ findAll(req: any, res: any, next: Function): any {
93
+ return next();
94
+ }
95
+
96
+ @Get(":id")
97
+ @Before([super.findById])
98
+ @After([this.prepare, marshall])
99
+ findById(req: any, res: any, next: Function): any {
100
+ return next();
101
+ }
102
+
103
+ @Put(":id")
104
+ @Before([super.update])
105
+ @After([this.prepare, marshall])
106
+ update(req: any, res: any, next: Function): any {
107
+ return next();
108
+ }
109
+ }
110
+
111
+ export default ItemRoute;
112
+ ```
113
+
114
+ ## Author
115
+
116
+ Jean-Philippe Steinmetz
117
+
118
+ ## Constructors
119
+
120
+ ### Constructor
121
+
122
+ > **new Server**(`config`, `basePath?`, `logger?`, `objectFactory?`): `Server`
123
+
124
+ Defined in: [src/Server.ts:209](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L209)
125
+
126
+ Creates a new instance of Server with the specified defaults.
127
+
128
+ #### Parameters
129
+
130
+ ##### config
131
+
132
+ `any`
133
+
134
+ The nconf-compatible configuration object to initialize the server with.
135
+
136
+ ##### basePath?
137
+
138
+ `string` = `"."`
139
+
140
+ The base file system path that models and routes will be searched from.
141
+
142
+ ##### logger?
143
+
144
+ `any` = `...`
145
+
146
+ The logging utility to use for outputing to console/file.
147
+
148
+ ##### objectFactory?
149
+
150
+ [`ObjectFactory`](ObjectFactory.md)
151
+
152
+ The object factory to use for automatic dependency injection (IOC).
153
+
154
+ #### Returns
155
+
156
+ `Server`
157
+
158
+ ## Properties
159
+
160
+ ### apiSpec?
161
+
162
+ > `protected` `optional` **apiSpec?**: [`OpenApiSpec`](OpenApiSpec.md)
163
+
164
+ Defined in: [src/Server.ts:149](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L149)
165
+
166
+ The OpenAPI specification object to use to construct the server with.
167
+
168
+ ***
169
+
170
+ ### app
171
+
172
+ > `protected` **app**: `HttpRouter`
173
+
174
+ Defined in: [src/Server.ts:151](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L151)
175
+
176
+ The underlying HTTP router (uWS-backed) that provides HTTP processing services.
177
+
178
+ ***
179
+
180
+ ### basePath
181
+
182
+ > `protected` `readonly` **basePath**: `string`
183
+
184
+ Defined in: [src/Server.ts:153](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L153)
185
+
186
+ The base file system path that will be searched for models and routes.
187
+
188
+ ***
189
+
190
+ ### config?
191
+
192
+ > `protected` `readonly` `optional` **config?**: `any`
193
+
194
+ Defined in: [src/Server.ts:155](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L155)
195
+
196
+ The global object containing configuration information to use.
197
+
198
+ ***
199
+
200
+ ### connectionManager?
201
+
202
+ > `protected` `optional` **connectionManager?**: [`ConnectionManager`](ConnectionManager.md)
203
+
204
+ Defined in: [src/Server.ts:157](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L157)
205
+
206
+ The manager for handling database connections.
207
+
208
+ ***
209
+
210
+ ### eventListenerManager?
211
+
212
+ > `protected` `optional` **eventListenerManager?**: [`EventListenerManager`](EventListenerManager.md)
213
+
214
+ Defined in: [src/Server.ts:159](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L159)
215
+
216
+ The manager for handling events.
217
+
218
+ ***
219
+
220
+ ### logger
221
+
222
+ > `protected` `readonly` **logger**: `any`
223
+
224
+ Defined in: [src/Server.ts:161](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L161)
225
+
226
+ The logging utility to use when outputing to console/file.
227
+
228
+ ***
229
+
230
+ ### metricCompletedRequests
231
+
232
+ > `protected` **metricCompletedRequests**: `Counter`\<`string`\>
233
+
234
+ Defined in: [src/Server.ts:188](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L188)
235
+
236
+ ***
237
+
238
+ ### metricFailedRequests
239
+
240
+ > `protected` **metricFailedRequests**: `Counter`\<`string`\>
241
+
242
+ Defined in: [src/Server.ts:192](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L192)
243
+
244
+ ***
245
+
246
+ ### metricRequestPath
247
+
248
+ > `protected` **metricRequestPath**: `Counter`\<`string`\>
249
+
250
+ Defined in: [src/Server.ts:172](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L172)
251
+
252
+ ***
253
+
254
+ ### metricRequestStatus
255
+
256
+ > `protected` **metricRequestStatus**: `Counter`\<`string`\>
257
+
258
+ Defined in: [src/Server.ts:177](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L177)
259
+
260
+ ***
261
+
262
+ ### metricRequestTime
263
+
264
+ > `protected` **metricRequestTime**: `Histogram`\<`string`\>
265
+
266
+ Defined in: [src/Server.ts:182](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L182)
267
+
268
+ ***
269
+
270
+ ### metricTotalRequests
271
+
272
+ > `protected` **metricTotalRequests**: `Counter`\<`string`\>
273
+
274
+ Defined in: [src/Server.ts:196](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L196)
275
+
276
+ ***
277
+
278
+ ### objectFactory
279
+
280
+ > `protected` `readonly` **objectFactory**: [`ObjectFactory`](ObjectFactory.md)
281
+
282
+ Defined in: [src/Server.ts:163](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L163)
283
+
284
+ The object factory to use when injecting dependencies.
285
+
286
+ ***
287
+
288
+ ### port
289
+
290
+ > `readonly` **port**: `number`
291
+
292
+ Defined in: [src/Server.ts:165](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L165)
293
+
294
+ The port that the server is listening on.
295
+
296
+ ***
297
+
298
+ ### routeUtils?
299
+
300
+ > `protected` `optional` **routeUtils?**: [`RouteUtils`](RouteUtils.md)
301
+
302
+ Defined in: [src/Server.ts:166](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L166)
303
+
304
+ ***
305
+
306
+ ### serviceManager?
307
+
308
+ > `protected` `optional` **serviceManager?**: [`BackgroundServiceManager`](BackgroundServiceManager.md)
309
+
310
+ Defined in: [src/Server.ts:167](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L167)
311
+
312
+ ## Methods
313
+
314
+ ### getApplication()
315
+
316
+ > **getApplication**(): `HttpRouter`
317
+
318
+ Defined in: [src/Server.ts:220](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L220)
319
+
320
+ Returns the HTTP router instance.
321
+
322
+ #### Returns
323
+
324
+ `HttpRouter`
325
+
326
+ ***
327
+
328
+ ### isRunning()
329
+
330
+ > **isRunning**(): `boolean`
331
+
332
+ Defined in: [src/Server.ts:227](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L227)
333
+
334
+ Returns `true` if the server is running, otherwise `false`.
335
+
336
+ #### Returns
337
+
338
+ `boolean`
339
+
340
+ ***
341
+
342
+ ### postStart()
343
+
344
+ > `protected` **postStart**(): `void` \| `Promise`\<`void`\>
345
+
346
+ Defined in: [src/Server.ts:241](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L241)
347
+
348
+ Override this function to add custom behavior after the server is started.
349
+
350
+ #### Returns
351
+
352
+ `void` \| `Promise`\<`void`\>
353
+
354
+ ***
355
+
356
+ ### preStart()
357
+
358
+ > `protected` **preStart**(): `void` \| `Promise`\<`void`\>
359
+
360
+ Defined in: [src/Server.ts:234](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L234)
361
+
362
+ Override this function to add custom behavior before the server is started.
363
+
364
+ #### Returns
365
+
366
+ `void` \| `Promise`\<`void`\>
367
+
368
+ ***
369
+
370
+ ### restart()
371
+
372
+ > **restart**(): `Promise`\<`void`\>
373
+
374
+ Defined in: [src/Server.ts:622](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L622)
375
+
376
+ Restarts the HTTP listen server using the provided configuration and OpenAPI specification.
377
+
378
+ #### Returns
379
+
380
+ `Promise`\<`void`\>
381
+
382
+ ***
383
+
384
+ ### start()
385
+
386
+ > **start**(): `Promise`\<`void`\>
387
+
388
+ Defined in: [src/Server.ts:248](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L248)
389
+
390
+ Starts an HTTP listen server based on the provided configuration and OpenAPI specification.
391
+
392
+ #### Returns
393
+
394
+ `Promise`\<`void`\>
395
+
396
+ ***
397
+
398
+ ### stop()
399
+
400
+ > **stop**(): `Promise`\<`void`\>
401
+
402
+ Defined in: [src/Server.ts:594](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/Server.ts#L594)
403
+
404
+ Stops the HTTP listen server.
405
+
406
+ #### Returns
407
+
408
+ `Promise`\<`void`\>
@@ -0,0 +1,48 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / SimpleEntity
6
+
7
+ # Abstract Class: SimpleEntity
8
+
9
+ Defined in: [src/models/SimpleEntity.ts:15](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L15)
10
+
11
+ Provides a simple base class for all entity's that will be persisted with TypeORM. Unlike `BaseEntity` this class
12
+ does not provide optimistic locking or date created and modified tracking.
13
+
14
+ ## Author
15
+
16
+ Jean-Philippe Steinmetz <rapidrests@gmail.com>
17
+
18
+ ## Extended by
19
+
20
+ - [`SimpleMongoEntity`](SimpleMongoEntity.md)
21
+
22
+ ## Constructors
23
+
24
+ ### Constructor
25
+
26
+ > **new SimpleEntity**(`other?`): `SimpleEntity`
27
+
28
+ Defined in: [src/models/SimpleEntity.ts:26](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L26)
29
+
30
+ #### Parameters
31
+
32
+ ##### other?
33
+
34
+ `Partial`\<`SimpleEntity`\>
35
+
36
+ #### Returns
37
+
38
+ `SimpleEntity`
39
+
40
+ ## Properties
41
+
42
+ ### uid
43
+
44
+ > **uid**: `string`
45
+
46
+ Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L24)
47
+
48
+ The universally unique identifier of the entity.
@@ -0,0 +1,66 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / SimpleMongoEntity
6
+
7
+ # Abstract Class: SimpleMongoEntity
8
+
9
+ Defined in: [src/models/SimpleMongoEntity.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L14)
10
+
11
+ Provides a simple base class for all entity's that will be persisted in a MongoDB database. Unlike
12
+ `BaseMongoEntity` this class does not provide optimistic locking or date created and modified tracking.
13
+
14
+ ## Author
15
+
16
+ Jean-Philippe Steinmetz <rapidrests@gmail.com>
17
+
18
+ ## Extends
19
+
20
+ - [`SimpleEntity`](SimpleEntity.md)
21
+
22
+ ## Constructors
23
+
24
+ ### Constructor
25
+
26
+ > **new SimpleMongoEntity**(`other?`): `SimpleMongoEntity`
27
+
28
+ Defined in: [src/models/SimpleMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L21)
29
+
30
+ #### Parameters
31
+
32
+ ##### other?
33
+
34
+ `Partial`\<`SimpleMongoEntity`\>
35
+
36
+ #### Returns
37
+
38
+ `SimpleMongoEntity`
39
+
40
+ #### Overrides
41
+
42
+ [`SimpleEntity`](SimpleEntity.md).[`constructor`](SimpleEntity.md#constructor)
43
+
44
+ ## Properties
45
+
46
+ ### \_id?
47
+
48
+ > `optional` **\_id?**: `ObjectId`
49
+
50
+ Defined in: [src/models/SimpleMongoEntity.ts:19](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L19)
51
+
52
+ The internal unique identifier used by MongoDB.
53
+
54
+ ***
55
+
56
+ ### uid
57
+
58
+ > **uid**: `string`
59
+
60
+ Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L24)
61
+
62
+ The universally unique identifier of the entity.
63
+
64
+ #### Inherited from
65
+
66
+ [`SimpleEntity`](SimpleEntity.md).[`uid`](SimpleEntity.md#uid)
@@ -0,0 +1,57 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / StatusExtraData
6
+
7
+ # Class: StatusExtraData
8
+
9
+ Defined in: [src/models/StatusExtraData.ts:1](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L1)
10
+
11
+ ## Constructors
12
+
13
+ ### Constructor
14
+
15
+ > **new StatusExtraData**(`other`): `StatusExtraData`
16
+
17
+ Defined in: [src/models/StatusExtraData.ts:9](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L9)
18
+
19
+ #### Parameters
20
+
21
+ ##### other
22
+
23
+ `Partial`\<`StatusExtraData`\>
24
+
25
+ #### Returns
26
+
27
+ `StatusExtraData`
28
+
29
+ ## Accessors
30
+
31
+ ### data
32
+
33
+ #### Get Signature
34
+
35
+ > **get** **data**(): `any`
36
+
37
+ Defined in: [src/models/StatusExtraData.ts:3](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L3)
38
+
39
+ ##### Returns
40
+
41
+ `any`
42
+
43
+ #### Set Signature
44
+
45
+ > **set** **data**(`data`): `void`
46
+
47
+ Defined in: [src/models/StatusExtraData.ts:6](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L6)
48
+
49
+ ##### Parameters
50
+
51
+ ###### data
52
+
53
+ `any`
54
+
55
+ ##### Returns
56
+
57
+ `void`
@@ -0,0 +1,26 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / StatusRoute
6
+
7
+ # Class: StatusRoute
8
+
9
+ Defined in: [src/routes/StatusRoute.ts:17](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/StatusRoute.ts#L17)
10
+
11
+ The `StatusRoute` provides a default `/status` endpoint the returns metadata information about the service such as
12
+ name, version.
13
+
14
+ ## Author
15
+
16
+ Jean-Philippe Steinmetz
17
+
18
+ ## Constructors
19
+
20
+ ### Constructor
21
+
22
+ > **new StatusRoute**(): `StatusRoute`
23
+
24
+ #### Returns
25
+
26
+ `StatusRoute`
@@ -0,0 +1,63 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / ACLAction
6
+
7
+ # Enumeration: ACLAction
8
+
9
+ Defined in: [src/security/AccessControlList.ts:10](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L10)
10
+
11
+ Describes the various permission actions that can be performed against an entity.
12
+
13
+ ## Author
14
+
15
+ Jean-Philippe Steinmetz <rapidrests@gmail.com>
16
+
17
+ ## Enumeration Members
18
+
19
+ ### CREATE
20
+
21
+ > **CREATE**: `"CREATE"`
22
+
23
+ Defined in: [src/security/AccessControlList.ts:11](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L11)
24
+
25
+ ***
26
+
27
+ ### DELETE
28
+
29
+ > **DELETE**: `"DELETE"`
30
+
31
+ Defined in: [src/security/AccessControlList.ts:12](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L12)
32
+
33
+ ***
34
+
35
+ ### FULL
36
+
37
+ > **FULL**: `"FULL"`
38
+
39
+ Defined in: [src/security/AccessControlList.ts:13](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L13)
40
+
41
+ ***
42
+
43
+ ### READ
44
+
45
+ > **READ**: `"READ"`
46
+
47
+ Defined in: [src/security/AccessControlList.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L14)
48
+
49
+ ***
50
+
51
+ ### SPECIAL
52
+
53
+ > **SPECIAL**: `"SPECIAL"`
54
+
55
+ Defined in: [src/security/AccessControlList.ts:15](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L15)
56
+
57
+ ***
58
+
59
+ ### UPDATE
60
+
61
+ > **UPDATE**: `"UPDATE"`
62
+
63
+ Defined in: [src/security/AccessControlList.ts:16](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/security/AccessControlList.ts#L16)