node-server-engine 1.0.5

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 (772) hide show
  1. package/.env.example +191 -0
  2. package/.mocharc.js +13 -0
  3. package/.nycrc +18 -0
  4. package/.prettierrc +7 -0
  5. package/Dockerfile +31 -0
  6. package/README.md +960 -0
  7. package/babel.config.json +35 -0
  8. package/dist/const/DebeziumEvent.d.ts +6 -0
  9. package/dist/const/DebeziumEvent.js +14 -0
  10. package/dist/const/DebeziumEvent.js.map +1 -0
  11. package/dist/const/LogSeverity.d.ts +7 -0
  12. package/dist/const/LogSeverity.js +15 -0
  13. package/dist/const/LogSeverity.js.map +1 -0
  14. package/dist/const/index.d.ts +5 -0
  15. package/dist/const/index.js +61 -0
  16. package/dist/const/index.js.map +1 -0
  17. package/dist/const/metrics.d.ts +3 -0
  18. package/dist/const/metrics.js +12 -0
  19. package/dist/const/metrics.js.map +1 -0
  20. package/dist/const/mime.d.ts +9 -0
  21. package/dist/const/mime.js +16 -0
  22. package/dist/const/mime.js.map +1 -0
  23. package/dist/const/tokenIssuer.d.ts +8 -0
  24. package/dist/const/tokenIssuer.js +14 -0
  25. package/dist/const/tokenIssuer.js.map +1 -0
  26. package/dist/db/migrations/20241030121500-create-sequelize-meta-table.d.ts +3 -0
  27. package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js +32 -0
  28. package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js.map +1 -0
  29. package/dist/db/models/SequelizeMeta.d.ts +5 -0
  30. package/dist/db/models/SequelizeMeta.js +48 -0
  31. package/dist/db/models/SequelizeMeta.js.map +1 -0
  32. package/dist/db/models/index.d.ts +1 -0
  33. package/dist/db/models/index.js +17 -0
  34. package/dist/db/models/index.js.map +1 -0
  35. package/dist/entities/ElasticSearch/ElasticSearch.d.ts +15 -0
  36. package/dist/entities/ElasticSearch/ElasticSearch.js +114 -0
  37. package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -0
  38. package/dist/entities/ElasticSearch/ElasticSearch.types.d.ts +6 -0
  39. package/dist/entities/ElasticSearch/ElasticSearch.types.js +2 -0
  40. package/dist/entities/ElasticSearch/ElasticSearch.types.js.map +1 -0
  41. package/dist/entities/ElasticSearch/index.d.ts +2 -0
  42. package/dist/entities/ElasticSearch/index.js +28 -0
  43. package/dist/entities/ElasticSearch/index.js.map +1 -0
  44. package/dist/entities/Endpoint/Endpoint.d.ts +39 -0
  45. package/dist/entities/Endpoint/Endpoint.js +174 -0
  46. package/dist/entities/Endpoint/Endpoint.js.map +1 -0
  47. package/dist/entities/Endpoint/Endpoint.types.d.ts +133 -0
  48. package/dist/entities/Endpoint/Endpoint.types.js +63 -0
  49. package/dist/entities/Endpoint/Endpoint.types.js.map +1 -0
  50. package/dist/entities/Endpoint/index.d.ts +2 -0
  51. package/dist/entities/Endpoint/index.js +28 -0
  52. package/dist/entities/Endpoint/index.js.map +1 -0
  53. package/dist/entities/EngineError/EngineError.d.ts +17 -0
  54. package/dist/entities/EngineError/EngineError.js +46 -0
  55. package/dist/entities/EngineError/EngineError.js.map +1 -0
  56. package/dist/entities/EngineError/EngineError.types.d.ts +14 -0
  57. package/dist/entities/EngineError/EngineError.types.js +2 -0
  58. package/dist/entities/EngineError/EngineError.types.js.map +1 -0
  59. package/dist/entities/EngineError/index.d.ts +2 -0
  60. package/dist/entities/EngineError/index.js +28 -0
  61. package/dist/entities/EngineError/index.js.map +1 -0
  62. package/dist/entities/KeySet/KeySet.d.ts +33 -0
  63. package/dist/entities/KeySet/KeySet.js +201 -0
  64. package/dist/entities/KeySet/KeySet.js.map +1 -0
  65. package/dist/entities/KeySet/KeySet.types.d.ts +25 -0
  66. package/dist/entities/KeySet/KeySet.types.js +2 -0
  67. package/dist/entities/KeySet/KeySet.types.js.map +1 -0
  68. package/dist/entities/KeySet/index.d.ts +2 -0
  69. package/dist/entities/KeySet/index.js +28 -0
  70. package/dist/entities/KeySet/index.js.map +1 -0
  71. package/dist/entities/LifecycleController/LifecycleController.d.ts +10 -0
  72. package/dist/entities/LifecycleController/LifecycleController.js +28 -0
  73. package/dist/entities/LifecycleController/LifecycleController.js.map +1 -0
  74. package/dist/entities/LifecycleController/LifecycleController.types.d.ts +5 -0
  75. package/dist/entities/LifecycleController/LifecycleController.types.js +2 -0
  76. package/dist/entities/LifecycleController/LifecycleController.types.js.map +1 -0
  77. package/dist/entities/LifecycleController/index.d.ts +2 -0
  78. package/dist/entities/LifecycleController/index.js +28 -0
  79. package/dist/entities/LifecycleController/index.js.map +1 -0
  80. package/dist/entities/Localizator/Localizator.d.ts +28 -0
  81. package/dist/entities/Localizator/Localizator.js +128 -0
  82. package/dist/entities/Localizator/Localizator.js.map +1 -0
  83. package/dist/entities/Localizator/Localizator.types.d.ts +48 -0
  84. package/dist/entities/Localizator/Localizator.types.js +2 -0
  85. package/dist/entities/Localizator/Localizator.types.js.map +1 -0
  86. package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.d.ts +8 -0
  87. package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js +48 -0
  88. package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js.map +1 -0
  89. package/dist/entities/Localizator/guessNamingConvention/index.d.ts +1 -0
  90. package/dist/entities/Localizator/guessNamingConvention/index.js +17 -0
  91. package/dist/entities/Localizator/guessNamingConvention/index.js.map +1 -0
  92. package/dist/entities/Localizator/index.d.ts +2 -0
  93. package/dist/entities/Localizator/index.js +28 -0
  94. package/dist/entities/Localizator/index.js.map +1 -0
  95. package/dist/entities/MessageHandler/MessageHandler.d.ts +20 -0
  96. package/dist/entities/MessageHandler/MessageHandler.js +65 -0
  97. package/dist/entities/MessageHandler/MessageHandler.js.map +1 -0
  98. package/dist/entities/MessageHandler/MessageHandler.types.d.ts +10 -0
  99. package/dist/entities/MessageHandler/MessageHandler.types.js +2 -0
  100. package/dist/entities/MessageHandler/MessageHandler.types.js.map +1 -0
  101. package/dist/entities/MessageHandler/index.d.ts +2 -0
  102. package/dist/entities/MessageHandler/index.js +28 -0
  103. package/dist/entities/MessageHandler/index.js.map +1 -0
  104. package/dist/entities/PubSub/PubSub.d.ts +36 -0
  105. package/dist/entities/PubSub/PubSub.js +167 -0
  106. package/dist/entities/PubSub/PubSub.js.map +1 -0
  107. package/dist/entities/PubSub/PubSub.types.d.ts +61 -0
  108. package/dist/entities/PubSub/PubSub.types.js +2 -0
  109. package/dist/entities/PubSub/PubSub.types.js.map +1 -0
  110. package/dist/entities/PubSub/handleMessage/handleMessage.d.ts +10 -0
  111. package/dist/entities/PubSub/handleMessage/handleMessage.js +63 -0
  112. package/dist/entities/PubSub/handleMessage/handleMessage.js.map +1 -0
  113. package/dist/entities/PubSub/handleMessage/index.d.ts +1 -0
  114. package/dist/entities/PubSub/handleMessage/index.js +17 -0
  115. package/dist/entities/PubSub/handleMessage/index.js.map +1 -0
  116. package/dist/entities/PubSub/index.d.ts +2 -0
  117. package/dist/entities/PubSub/index.js +28 -0
  118. package/dist/entities/PubSub/index.js.map +1 -0
  119. package/dist/entities/PushNotification/PushNotification.d.ts +11 -0
  120. package/dist/entities/PushNotification/PushNotification.js +44 -0
  121. package/dist/entities/PushNotification/PushNotification.js.map +1 -0
  122. package/dist/entities/PushNotification/PushNotification.types.d.ts +25 -0
  123. package/dist/entities/PushNotification/PushNotification.types.js +2 -0
  124. package/dist/entities/PushNotification/PushNotification.types.js.map +1 -0
  125. package/dist/entities/PushNotification/index.d.ts +2 -0
  126. package/dist/entities/PushNotification/index.js +28 -0
  127. package/dist/entities/PushNotification/index.js.map +1 -0
  128. package/dist/entities/Redis/Redis.d.ts +19 -0
  129. package/dist/entities/Redis/Redis.js +75 -0
  130. package/dist/entities/Redis/Redis.js.map +1 -0
  131. package/dist/entities/Redis/Redis.types.d.ts +16 -0
  132. package/dist/entities/Redis/Redis.types.js +2 -0
  133. package/dist/entities/Redis/Redis.types.js.map +1 -0
  134. package/dist/entities/Redis/Redis.validate.d.ts +5 -0
  135. package/dist/entities/Redis/Redis.validate.js +21 -0
  136. package/dist/entities/Redis/Redis.validate.js.map +1 -0
  137. package/dist/entities/Redis/index.d.ts +2 -0
  138. package/dist/entities/Redis/index.js +35 -0
  139. package/dist/entities/Redis/index.js.map +1 -0
  140. package/dist/entities/Sequelize/Sequelize.config.d.ts +7 -0
  141. package/dist/entities/Sequelize/Sequelize.config.js +32 -0
  142. package/dist/entities/Sequelize/Sequelize.config.js.map +1 -0
  143. package/dist/entities/Sequelize/Sequelize.d.ts +14 -0
  144. package/dist/entities/Sequelize/Sequelize.js +70 -0
  145. package/dist/entities/Sequelize/Sequelize.js.map +1 -0
  146. package/dist/entities/Sequelize/Sequelize.types.d.ts +9 -0
  147. package/dist/entities/Sequelize/Sequelize.types.js +2 -0
  148. package/dist/entities/Sequelize/Sequelize.types.js.map +1 -0
  149. package/dist/entities/Sequelize/Sequelize.validate.d.ts +4 -0
  150. package/dist/entities/Sequelize/Sequelize.validate.js +27 -0
  151. package/dist/entities/Sequelize/Sequelize.validate.js.map +1 -0
  152. package/dist/entities/Sequelize/index.d.ts +2 -0
  153. package/dist/entities/Sequelize/index.js +28 -0
  154. package/dist/entities/Sequelize/index.js.map +1 -0
  155. package/dist/entities/Server/Server.const.d.ts +5 -0
  156. package/dist/entities/Server/Server.const.js +45 -0
  157. package/dist/entities/Server/Server.const.js.map +1 -0
  158. package/dist/entities/Server/Server.d.ts +61 -0
  159. package/dist/entities/Server/Server.js +380 -0
  160. package/dist/entities/Server/Server.js.map +1 -0
  161. package/dist/entities/Server/Server.types.d.ts +75 -0
  162. package/dist/entities/Server/Server.types.js +2 -0
  163. package/dist/entities/Server/Server.types.js.map +1 -0
  164. package/dist/entities/Server/index.d.ts +2 -0
  165. package/dist/entities/Server/index.js +28 -0
  166. package/dist/entities/Server/index.js.map +1 -0
  167. package/dist/entities/SocketClient/SocketClient.d.ts +79 -0
  168. package/dist/entities/SocketClient/SocketClient.js +394 -0
  169. package/dist/entities/SocketClient/SocketClient.js.map +1 -0
  170. package/dist/entities/SocketClient/SocketClient.types.d.ts +53 -0
  171. package/dist/entities/SocketClient/SocketClient.types.js +2 -0
  172. package/dist/entities/SocketClient/SocketClient.types.js.map +1 -0
  173. package/dist/entities/SocketClient/index.d.ts +2 -0
  174. package/dist/entities/SocketClient/index.js +28 -0
  175. package/dist/entities/SocketClient/index.js.map +1 -0
  176. package/dist/entities/SocketClient/parseMessage/index.d.ts +1 -0
  177. package/dist/entities/SocketClient/parseMessage/index.js +17 -0
  178. package/dist/entities/SocketClient/parseMessage/index.js.map +1 -0
  179. package/dist/entities/SocketClient/parseMessage/parseMessage.d.ts +5 -0
  180. package/dist/entities/SocketClient/parseMessage/parseMessage.js +34 -0
  181. package/dist/entities/SocketClient/parseMessage/parseMessage.js.map +1 -0
  182. package/dist/entities/Storage/Storage.d.ts +38 -0
  183. package/dist/entities/Storage/Storage.js +214 -0
  184. package/dist/entities/Storage/Storage.js.map +1 -0
  185. package/dist/entities/Storage/Storage.types.d.ts +52 -0
  186. package/dist/entities/Storage/Storage.types.js +2 -0
  187. package/dist/entities/Storage/Storage.types.js.map +1 -0
  188. package/dist/entities/Storage/index.d.ts +2 -0
  189. package/dist/entities/Storage/index.js +28 -0
  190. package/dist/entities/Storage/index.js.map +1 -0
  191. package/dist/entities/ValidationError/ValidationError.d.ts +7 -0
  192. package/dist/entities/ValidationError/ValidationError.js +44 -0
  193. package/dist/entities/ValidationError/ValidationError.js.map +1 -0
  194. package/dist/entities/ValidationError/index.d.ts +1 -0
  195. package/dist/entities/ValidationError/index.js +17 -0
  196. package/dist/entities/ValidationError/index.js.map +1 -0
  197. package/dist/entities/WebError/WebError.d.ts +15 -0
  198. package/dist/entities/WebError/WebError.js +42 -0
  199. package/dist/entities/WebError/WebError.js.map +1 -0
  200. package/dist/entities/WebError/WebError.types.d.ts +8 -0
  201. package/dist/entities/WebError/WebError.types.js +2 -0
  202. package/dist/entities/WebError/WebError.types.js.map +1 -0
  203. package/dist/entities/WebError/index.d.ts +2 -0
  204. package/dist/entities/WebError/index.js +28 -0
  205. package/dist/entities/WebError/index.js.map +1 -0
  206. package/dist/entities/index.d.ts +16 -0
  207. package/dist/entities/index.js +182 -0
  208. package/dist/entities/index.js.map +1 -0
  209. package/dist/index.d.ts +4 -0
  210. package/dist/index.js +50 -0
  211. package/dist/index.js.map +1 -0
  212. package/dist/metrics/debug.d.ts +2 -0
  213. package/dist/metrics/debug.js +15 -0
  214. package/dist/metrics/debug.js.map +1 -0
  215. package/dist/metrics/index.d.ts +2 -0
  216. package/dist/metrics/index.js +28 -0
  217. package/dist/metrics/index.js.map +1 -0
  218. package/dist/metrics/request.d.ts +3 -0
  219. package/dist/metrics/request.js +22 -0
  220. package/dist/metrics/request.js.map +1 -0
  221. package/dist/middleware/authAdmin/authAdmin.d.ts +4 -0
  222. package/dist/middleware/authAdmin/authAdmin.js +105 -0
  223. package/dist/middleware/authAdmin/authAdmin.js.map +1 -0
  224. package/dist/middleware/authAdmin/authAdmin.types.d.ts +16 -0
  225. package/dist/middleware/authAdmin/authAdmin.types.js +2 -0
  226. package/dist/middleware/authAdmin/authAdmin.types.js.map +1 -0
  227. package/dist/middleware/authAdmin/index.d.ts +2 -0
  228. package/dist/middleware/authAdmin/index.js +28 -0
  229. package/dist/middleware/authAdmin/index.js.map +1 -0
  230. package/dist/middleware/authHmac/authHmac.d.ts +4 -0
  231. package/dist/middleware/authHmac/authHmac.js +57 -0
  232. package/dist/middleware/authHmac/authHmac.js.map +1 -0
  233. package/dist/middleware/authHmac/authHmac.types.d.ts +7 -0
  234. package/dist/middleware/authHmac/authHmac.types.js +2 -0
  235. package/dist/middleware/authHmac/authHmac.types.js.map +1 -0
  236. package/dist/middleware/authHmac/index.d.ts +2 -0
  237. package/dist/middleware/authHmac/index.js +28 -0
  238. package/dist/middleware/authHmac/index.js.map +1 -0
  239. package/dist/middleware/authJwt/authJwt.d.ts +3 -0
  240. package/dist/middleware/authJwt/authJwt.js +56 -0
  241. package/dist/middleware/authJwt/authJwt.js.map +1 -0
  242. package/dist/middleware/authJwt/authJwt.types.d.ts +22 -0
  243. package/dist/middleware/authJwt/authJwt.types.js +2 -0
  244. package/dist/middleware/authJwt/authJwt.types.js.map +1 -0
  245. package/dist/middleware/authJwt/index.d.ts +2 -0
  246. package/dist/middleware/authJwt/index.js +28 -0
  247. package/dist/middleware/authJwt/index.js.map +1 -0
  248. package/dist/middleware/authStatic/authStatic.d.ts +6 -0
  249. package/dist/middleware/authStatic/authStatic.js +54 -0
  250. package/dist/middleware/authStatic/authStatic.js.map +1 -0
  251. package/dist/middleware/authStatic/index.d.ts +1 -0
  252. package/dist/middleware/authStatic/index.js +17 -0
  253. package/dist/middleware/authStatic/index.js.map +1 -0
  254. package/dist/middleware/authTls/authTls.d.ts +16 -0
  255. package/dist/middleware/authTls/authTls.js +102 -0
  256. package/dist/middleware/authTls/authTls.js.map +1 -0
  257. package/dist/middleware/authTls/authTls.types.d.ts +10 -0
  258. package/dist/middleware/authTls/authTls.types.js +6 -0
  259. package/dist/middleware/authTls/authTls.types.js.map +1 -0
  260. package/dist/middleware/authTls/index.d.ts +2 -0
  261. package/dist/middleware/authTls/index.js +18 -0
  262. package/dist/middleware/authTls/index.js.map +1 -0
  263. package/dist/middleware/error/error.d.ts +3 -0
  264. package/dist/middleware/error/error.js +34 -0
  265. package/dist/middleware/error/error.js.map +1 -0
  266. package/dist/middleware/error/index.d.ts +1 -0
  267. package/dist/middleware/error/index.js +17 -0
  268. package/dist/middleware/error/index.js.map +1 -0
  269. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.d.ts +6 -0
  270. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js +28 -0
  271. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js.map +1 -0
  272. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.d.ts +12 -0
  273. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js +2 -0
  274. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js.map +1 -0
  275. package/dist/middleware/fileUploader/compressAvatar/index.d.ts +2 -0
  276. package/dist/middleware/fileUploader/compressAvatar/index.js +28 -0
  277. package/dist/middleware/fileUploader/compressAvatar/index.js.map +1 -0
  278. package/dist/middleware/fileUploader/fileUploader.d.ts +10 -0
  279. package/dist/middleware/fileUploader/fileUploader.js +296 -0
  280. package/dist/middleware/fileUploader/fileUploader.js.map +1 -0
  281. package/dist/middleware/fileUploader/fileUploader.types.d.ts +49 -0
  282. package/dist/middleware/fileUploader/fileUploader.types.js +2 -0
  283. package/dist/middleware/fileUploader/fileUploader.types.js.map +1 -0
  284. package/dist/middleware/fileUploader/index.d.ts +2 -0
  285. package/dist/middleware/fileUploader/index.js +28 -0
  286. package/dist/middleware/fileUploader/index.js.map +1 -0
  287. package/dist/middleware/fileUploader/isMultiPart/index.d.ts +1 -0
  288. package/dist/middleware/fileUploader/isMultiPart/index.js +17 -0
  289. package/dist/middleware/fileUploader/isMultiPart/index.js.map +1 -0
  290. package/dist/middleware/fileUploader/isMultiPart/isMultipart.d.ts +3 -0
  291. package/dist/middleware/fileUploader/isMultiPart/isMultipart.js +14 -0
  292. package/dist/middleware/fileUploader/isMultiPart/isMultipart.js.map +1 -0
  293. package/dist/middleware/fileUploader/validate/index.d.ts +1 -0
  294. package/dist/middleware/fileUploader/validate/index.js +17 -0
  295. package/dist/middleware/fileUploader/validate/index.js.map +1 -0
  296. package/dist/middleware/fileUploader/validate/validate.d.ts +4 -0
  297. package/dist/middleware/fileUploader/validate/validate.js +28 -0
  298. package/dist/middleware/fileUploader/validate/validate.js.map +1 -0
  299. package/dist/middleware/fourOhFour/fourOhFour.d.ts +3 -0
  300. package/dist/middleware/fourOhFour/fourOhFour.js +18 -0
  301. package/dist/middleware/fourOhFour/fourOhFour.js.map +1 -0
  302. package/dist/middleware/fourOhFour/index.d.ts +1 -0
  303. package/dist/middleware/fourOhFour/index.js +17 -0
  304. package/dist/middleware/fourOhFour/index.js.map +1 -0
  305. package/dist/middleware/healthCheck/healthCheck.d.ts +5 -0
  306. package/dist/middleware/healthCheck/healthCheck.js +18 -0
  307. package/dist/middleware/healthCheck/healthCheck.js.map +1 -0
  308. package/dist/middleware/healthCheck/index.d.ts +1 -0
  309. package/dist/middleware/healthCheck/index.js +17 -0
  310. package/dist/middleware/healthCheck/index.js.map +1 -0
  311. package/dist/middleware/index.d.ts +15 -0
  312. package/dist/middleware/index.js +171 -0
  313. package/dist/middleware/index.js.map +1 -0
  314. package/dist/middleware/metrics/index.d.ts +1 -0
  315. package/dist/middleware/metrics/index.js +17 -0
  316. package/dist/middleware/metrics/index.js.map +1 -0
  317. package/dist/middleware/metrics/metrics.d.ts +3 -0
  318. package/dist/middleware/metrics/metrics.js +28 -0
  319. package/dist/middleware/metrics/metrics.js.map +1 -0
  320. package/dist/middleware/requestMetrics/index.d.ts +1 -0
  321. package/dist/middleware/requestMetrics/index.js +17 -0
  322. package/dist/middleware/requestMetrics/index.js.map +1 -0
  323. package/dist/middleware/requestMetrics/requestMetrics.d.ts +2 -0
  324. package/dist/middleware/requestMetrics/requestMetrics.js +21 -0
  325. package/dist/middleware/requestMetrics/requestMetrics.js.map +1 -0
  326. package/dist/middleware/swaggerDocs/index.d.ts +2 -0
  327. package/dist/middleware/swaggerDocs/index.js +28 -0
  328. package/dist/middleware/swaggerDocs/index.js.map +1 -0
  329. package/dist/middleware/swaggerDocs/swaggerDocs.d.ts +6 -0
  330. package/dist/middleware/swaggerDocs/swaggerDocs.js +103 -0
  331. package/dist/middleware/swaggerDocs/swaggerDocs.js.map +1 -0
  332. package/dist/middleware/swaggerDocs/swaggerDocs.types.d.ts +37 -0
  333. package/dist/middleware/swaggerDocs/swaggerDocs.types.js +2 -0
  334. package/dist/middleware/swaggerDocs/swaggerDocs.types.js.map +1 -0
  335. package/dist/middleware/userResolver/index.d.ts +1 -0
  336. package/dist/middleware/userResolver/index.js +17 -0
  337. package/dist/middleware/userResolver/index.js.map +1 -0
  338. package/dist/middleware/userResolver/userResolver.d.ts +3 -0
  339. package/dist/middleware/userResolver/userResolver.js +41 -0
  340. package/dist/middleware/userResolver/userResolver.js.map +1 -0
  341. package/dist/middleware/validate/index.d.ts +1 -0
  342. package/dist/middleware/validate/index.js +17 -0
  343. package/dist/middleware/validate/index.js.map +1 -0
  344. package/dist/middleware/validate/validate.d.ts +4 -0
  345. package/dist/middleware/validate/validate.js +19 -0
  346. package/dist/middleware/validate/validate.js.map +1 -0
  347. package/dist/middleware/version/index.d.ts +1 -0
  348. package/dist/middleware/version/index.js +17 -0
  349. package/dist/middleware/version/index.js.map +1 -0
  350. package/dist/middleware/version/version.d.ts +6 -0
  351. package/dist/middleware/version/version.js +21 -0
  352. package/dist/middleware/version/version.js.map +1 -0
  353. package/dist/utils/checkEnvironment/index.d.ts +13 -0
  354. package/dist/utils/checkEnvironment/index.js +62 -0
  355. package/dist/utils/checkEnvironment/index.js.map +1 -0
  356. package/dist/utils/createHttpServer/createHttpServer.d.ts +5 -0
  357. package/dist/utils/createHttpServer/createHttpServer.js +30 -0
  358. package/dist/utils/createHttpServer/createHttpServer.js.map +1 -0
  359. package/dist/utils/createHttpServer/createHttpServer.validate.d.ts +4 -0
  360. package/dist/utils/createHttpServer/createHttpServer.validate.js +31 -0
  361. package/dist/utils/createHttpServer/createHttpServer.validate.js.map +1 -0
  362. package/dist/utils/createHttpServer/index.d.ts +1 -0
  363. package/dist/utils/createHttpServer/index.js +17 -0
  364. package/dist/utils/createHttpServer/index.js.map +1 -0
  365. package/dist/utils/createSortedObject/createSortedObject.d.ts +2 -0
  366. package/dist/utils/createSortedObject/createSortedObject.js +21 -0
  367. package/dist/utils/createSortedObject/createSortedObject.js.map +1 -0
  368. package/dist/utils/createSortedObject/index.d.ts +1 -0
  369. package/dist/utils/createSortedObject/index.js +17 -0
  370. package/dist/utils/createSortedObject/index.js.map +1 -0
  371. package/dist/utils/dbMigration/dbMigration.d.ts +17 -0
  372. package/dist/utils/dbMigration/dbMigration.js +207 -0
  373. package/dist/utils/dbMigration/dbMigration.js.map +1 -0
  374. package/dist/utils/dbMigration/dbMigration.types.d.ts +10 -0
  375. package/dist/utils/dbMigration/dbMigration.types.js +2 -0
  376. package/dist/utils/dbMigration/dbMigration.types.js.map +1 -0
  377. package/dist/utils/dbMigration/index.d.ts +2 -0
  378. package/dist/utils/dbMigration/index.js +28 -0
  379. package/dist/utils/dbMigration/index.js.map +1 -0
  380. package/dist/utils/dbMigration/migrateMetadataTable/index.d.ts +1 -0
  381. package/dist/utils/dbMigration/migrateMetadataTable/index.js +17 -0
  382. package/dist/utils/dbMigration/migrateMetadataTable/index.js.map +1 -0
  383. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.d.ts +7 -0
  384. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js +63 -0
  385. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js.map +1 -0
  386. package/dist/utils/envAssert/envAssert.d.ts +21 -0
  387. package/dist/utils/envAssert/envAssert.js +30 -0
  388. package/dist/utils/envAssert/envAssert.js.map +1 -0
  389. package/dist/utils/envAssert/index.d.ts +1 -0
  390. package/dist/utils/envAssert/index.js +17 -0
  391. package/dist/utils/envAssert/index.js.map +1 -0
  392. package/dist/utils/envAssert/validators/hostList.d.ts +4 -0
  393. package/dist/utils/envAssert/validators/hostList.js +22 -0
  394. package/dist/utils/envAssert/validators/hostList.js.map +1 -0
  395. package/dist/utils/envAssert/validators/index.d.ts +5 -0
  396. package/dist/utils/envAssert/validators/index.js +61 -0
  397. package/dist/utils/envAssert/validators/index.js.map +1 -0
  398. package/dist/utils/envAssert/validators/ipList.d.ts +4 -0
  399. package/dist/utils/envAssert/validators/ipList.js +20 -0
  400. package/dist/utils/envAssert/validators/ipList.js.map +1 -0
  401. package/dist/utils/envAssert/validators/path.d.ts +4 -0
  402. package/dist/utils/envAssert/validators/path.js +19 -0
  403. package/dist/utils/envAssert/validators/path.js.map +1 -0
  404. package/dist/utils/envAssert/validators/string.d.ts +4 -0
  405. package/dist/utils/envAssert/validators/string.js +15 -0
  406. package/dist/utils/envAssert/validators/string.js.map +1 -0
  407. package/dist/utils/envAssert/validators/stringList.d.ts +5 -0
  408. package/dist/utils/envAssert/validators/stringList.js +19 -0
  409. package/dist/utils/envAssert/validators/stringList.js.map +1 -0
  410. package/dist/utils/filter/filter.d.ts +6 -0
  411. package/dist/utils/filter/filter.js +21 -0
  412. package/dist/utils/filter/filter.js.map +1 -0
  413. package/dist/utils/filter/index.d.ts +1 -0
  414. package/dist/utils/filter/index.js +17 -0
  415. package/dist/utils/filter/index.js.map +1 -0
  416. package/dist/utils/getDynamicLink/getDynamicLink.d.ts +3 -0
  417. package/dist/utils/getDynamicLink/getDynamicLink.js +28 -0
  418. package/dist/utils/getDynamicLink/getDynamicLink.js.map +1 -0
  419. package/dist/utils/getDynamicLink/getDynamicLink.types.d.ts +10 -0
  420. package/dist/utils/getDynamicLink/getDynamicLink.types.js +2 -0
  421. package/dist/utils/getDynamicLink/getDynamicLink.types.js.map +1 -0
  422. package/dist/utils/getDynamicLink/getDynamicLink.validate.d.ts +2 -0
  423. package/dist/utils/getDynamicLink/getDynamicLink.validate.js +14 -0
  424. package/dist/utils/getDynamicLink/getDynamicLink.validate.js.map +1 -0
  425. package/dist/utils/getDynamicLink/index.d.ts +2 -0
  426. package/dist/utils/getDynamicLink/index.js +28 -0
  427. package/dist/utils/getDynamicLink/index.js.map +1 -0
  428. package/dist/utils/hmac/checkEnv/checkEnv.d.ts +4 -0
  429. package/dist/utils/hmac/checkEnv/checkEnv.js +17 -0
  430. package/dist/utils/hmac/checkEnv/checkEnv.js.map +1 -0
  431. package/dist/utils/hmac/checkEnv/index.d.ts +1 -0
  432. package/dist/utils/hmac/checkEnv/index.js +17 -0
  433. package/dist/utils/hmac/checkEnv/index.js.map +1 -0
  434. package/dist/utils/hmac/createHmac/createHmac.d.ts +3 -0
  435. package/dist/utils/hmac/createHmac/createHmac.js +33 -0
  436. package/dist/utils/hmac/createHmac/createHmac.js.map +1 -0
  437. package/dist/utils/hmac/createHmac/index.d.ts +1 -0
  438. package/dist/utils/hmac/createHmac/index.js +17 -0
  439. package/dist/utils/hmac/createHmac/index.js.map +1 -0
  440. package/dist/utils/hmac/index.d.ts +4 -0
  441. package/dist/utils/hmac/index.js +50 -0
  442. package/dist/utils/hmac/index.js.map +1 -0
  443. package/dist/utils/hmac/index.types.d.ts +12 -0
  444. package/dist/utils/hmac/index.types.js +2 -0
  445. package/dist/utils/hmac/index.types.js.map +1 -0
  446. package/dist/utils/hmac/signPayload/index.d.ts +1 -0
  447. package/dist/utils/hmac/signPayload/index.js +17 -0
  448. package/dist/utils/hmac/signPayload/index.js.map +1 -0
  449. package/dist/utils/hmac/signPayload/signPayload.d.ts +6 -0
  450. package/dist/utils/hmac/signPayload/signPayload.js +18 -0
  451. package/dist/utils/hmac/signPayload/signPayload.js.map +1 -0
  452. package/dist/utils/hmac/verifySignature/index.d.ts +1 -0
  453. package/dist/utils/hmac/verifySignature/index.js +17 -0
  454. package/dist/utils/hmac/verifySignature/index.js.map +1 -0
  455. package/dist/utils/hmac/verifySignature/verifySignature.d.ts +3 -0
  456. package/dist/utils/hmac/verifySignature/verifySignature.js +23 -0
  457. package/dist/utils/hmac/verifySignature/verifySignature.js.map +1 -0
  458. package/dist/utils/index.d.ts +17 -0
  459. package/dist/utils/index.js +193 -0
  460. package/dist/utils/index.js.map +1 -0
  461. package/dist/utils/jwt/index.d.ts +2 -0
  462. package/dist/utils/jwt/index.js +28 -0
  463. package/dist/utils/jwt/index.js.map +1 -0
  464. package/dist/utils/jwt/jwt.d.ts +12 -0
  465. package/dist/utils/jwt/jwt.js +195 -0
  466. package/dist/utils/jwt/jwt.js.map +1 -0
  467. package/dist/utils/jwt/jwt.types.d.ts +20 -0
  468. package/dist/utils/jwt/jwt.types.js +2 -0
  469. package/dist/utils/jwt/jwt.types.js.map +1 -0
  470. package/dist/utils/report/index.d.ts +3 -0
  471. package/dist/utils/report/index.js +39 -0
  472. package/dist/utils/report/index.js.map +1 -0
  473. package/dist/utils/report/output.d.ts +4 -0
  474. package/dist/utils/report/output.js +49 -0
  475. package/dist/utils/report/output.js.map +1 -0
  476. package/dist/utils/report/output.types.d.ts +65 -0
  477. package/dist/utils/report/output.types.js +2 -0
  478. package/dist/utils/report/output.types.js.map +1 -0
  479. package/dist/utils/report/report.d.ts +18 -0
  480. package/dist/utils/report/report.js +119 -0
  481. package/dist/utils/report/report.js.map +1 -0
  482. package/dist/utils/report/report.types.d.ts +11 -0
  483. package/dist/utils/report/report.types.js +2 -0
  484. package/dist/utils/report/report.types.js.map +1 -0
  485. package/dist/utils/request/index.d.ts +1 -0
  486. package/dist/utils/request/index.js +17 -0
  487. package/dist/utils/request/index.js.map +1 -0
  488. package/dist/utils/request/request.d.ts +3 -0
  489. package/dist/utils/request/request.js +42 -0
  490. package/dist/utils/request/request.js.map +1 -0
  491. package/dist/utils/semverCompare/index.d.ts +1 -0
  492. package/dist/utils/semverCompare/index.js +17 -0
  493. package/dist/utils/semverCompare/index.js.map +1 -0
  494. package/dist/utils/semverCompare/semverCompare.d.ts +7 -0
  495. package/dist/utils/semverCompare/semverCompare.js +65 -0
  496. package/dist/utils/semverCompare/semverCompare.js.map +1 -0
  497. package/dist/utils/sendEmail/index.d.ts +1 -0
  498. package/dist/utils/sendEmail/index.js +17 -0
  499. package/dist/utils/sendEmail/index.js.map +1 -0
  500. package/dist/utils/sendEmail/sendEmail.d.ts +11 -0
  501. package/dist/utils/sendEmail/sendEmail.js +32 -0
  502. package/dist/utils/sendEmail/sendEmail.js.map +1 -0
  503. package/dist/utils/sendEmail/sendEmail.types.d.ts +7 -0
  504. package/dist/utils/sendEmail/sendEmail.types.js +2 -0
  505. package/dist/utils/sendEmail/sendEmail.types.js.map +1 -0
  506. package/dist/utils/sendPush/index.d.ts +2 -0
  507. package/dist/utils/sendPush/index.js +28 -0
  508. package/dist/utils/sendPush/index.js.map +1 -0
  509. package/dist/utils/sendPush/sendPush.d.ts +8 -0
  510. package/dist/utils/sendPush/sendPush.js +25 -0
  511. package/dist/utils/sendPush/sendPush.js.map +1 -0
  512. package/dist/utils/sendPush/sendPush.types.d.ts +25 -0
  513. package/dist/utils/sendPush/sendPush.types.js +2 -0
  514. package/dist/utils/sendPush/sendPush.types.js.map +1 -0
  515. package/dist/utils/tlsConfig/index.d.ts +2 -0
  516. package/dist/utils/tlsConfig/index.js +28 -0
  517. package/dist/utils/tlsConfig/index.js.map +1 -0
  518. package/dist/utils/tlsConfig/tlsConfig.d.ts +8 -0
  519. package/dist/utils/tlsConfig/tlsConfig.js +44 -0
  520. package/dist/utils/tlsConfig/tlsConfig.js.map +1 -0
  521. package/dist/utils/tlsConfig/tlsConfig.types.d.ts +11 -0
  522. package/dist/utils/tlsConfig/tlsConfig.types.js +2 -0
  523. package/dist/utils/tlsConfig/tlsConfig.types.js.map +1 -0
  524. package/dist/utils/tlsConfig/tlsConfig.validate.d.ts +4 -0
  525. package/dist/utils/tlsConfig/tlsConfig.validate.js +48 -0
  526. package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -0
  527. package/dist/utils/tlsRequest/index.d.ts +1 -0
  528. package/dist/utils/tlsRequest/index.js +17 -0
  529. package/dist/utils/tlsRequest/index.js.map +1 -0
  530. package/dist/utils/tlsRequest/tlsRequest.d.ts +3 -0
  531. package/dist/utils/tlsRequest/tlsRequest.js +18 -0
  532. package/dist/utils/tlsRequest/tlsRequest.js.map +1 -0
  533. package/dist/utils/trimPathSlash/index.d.ts +1 -0
  534. package/dist/utils/trimPathSlash/index.js +17 -0
  535. package/dist/utils/trimPathSlash/index.js.map +1 -0
  536. package/dist/utils/trimPathSlash/trimPathSlash.d.ts +6 -0
  537. package/dist/utils/trimPathSlash/trimPathSlash.js +15 -0
  538. package/dist/utils/trimPathSlash/trimPathSlash.js.map +1 -0
  539. package/eslint.config.mjs +11 -0
  540. package/package.json +157 -0
  541. package/src/const/DebeziumEvent.ts +6 -0
  542. package/src/const/LogSeverity.ts +7 -0
  543. package/src/const/index.ts +5 -0
  544. package/src/const/metrics.ts +6 -0
  545. package/src/const/mime.ts +37 -0
  546. package/src/const/tokenIssuer.ts +9 -0
  547. package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +29 -0
  548. package/src/db/models/SequelizeMeta.ts +16 -0
  549. package/src/db/models/index.ts +2 -0
  550. package/src/entities/ElasticSearch/ElasticSearch.ts +103 -0
  551. package/src/entities/ElasticSearch/ElasticSearch.types.ts +7 -0
  552. package/src/entities/ElasticSearch/index.ts +2 -0
  553. package/src/entities/Endpoint/Endpoint.test.ts +337 -0
  554. package/src/entities/Endpoint/Endpoint.ts +202 -0
  555. package/src/entities/Endpoint/Endpoint.types.ts +205 -0
  556. package/src/entities/Endpoint/index.ts +2 -0
  557. package/src/entities/EngineError/EngineError.ts +28 -0
  558. package/src/entities/EngineError/EngineError.types.ts +15 -0
  559. package/src/entities/EngineError/index.ts +2 -0
  560. package/src/entities/KeySet/KeySet.test.ts +126 -0
  561. package/src/entities/KeySet/KeySet.ts +172 -0
  562. package/src/entities/KeySet/KeySet.types.ts +28 -0
  563. package/src/entities/KeySet/index.ts +2 -0
  564. package/src/entities/LifecycleController/LifecycleController.test.ts +48 -0
  565. package/src/entities/LifecycleController/LifecycleController.ts +24 -0
  566. package/src/entities/LifecycleController/LifecycleController.types.ts +5 -0
  567. package/src/entities/LifecycleController/index.ts +2 -0
  568. package/src/entities/Localizator/Localizator.ts +139 -0
  569. package/src/entities/Localizator/Localizator.types.ts +52 -0
  570. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +165 -0
  571. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +58 -0
  572. package/src/entities/Localizator/guessNamingConvention/index.ts +1 -0
  573. package/src/entities/Localizator/index.ts +2 -0
  574. package/src/entities/MessageHandler/MessageHandler.test.ts +130 -0
  575. package/src/entities/MessageHandler/MessageHandler.ts +72 -0
  576. package/src/entities/MessageHandler/MessageHandler.types.ts +15 -0
  577. package/src/entities/MessageHandler/index.ts +2 -0
  578. package/src/entities/PubSub/PubSub.test.ts +297 -0
  579. package/src/entities/PubSub/PubSub.ts +202 -0
  580. package/src/entities/PubSub/PubSub.types.ts +76 -0
  581. package/src/entities/PubSub/handleMessage/handleMessage.test.ts +102 -0
  582. package/src/entities/PubSub/handleMessage/handleMessage.ts +65 -0
  583. package/src/entities/PubSub/handleMessage/index.ts +1 -0
  584. package/src/entities/PubSub/index.ts +2 -0
  585. package/src/entities/PushNotification/PushNotification.test.ts +35 -0
  586. package/src/entities/PushNotification/PushNotification.ts +44 -0
  587. package/src/entities/PushNotification/PushNotification.types.ts +25 -0
  588. package/src/entities/PushNotification/index.ts +2 -0
  589. package/src/entities/Redis/Redis.ts +71 -0
  590. package/src/entities/Redis/Redis.types.ts +19 -0
  591. package/src/entities/Redis/Redis.validate.ts +17 -0
  592. package/src/entities/Redis/index.ts +2 -0
  593. package/src/entities/Sequelize/Sequelize.config.ts +29 -0
  594. package/src/entities/Sequelize/Sequelize.test.ts +21 -0
  595. package/src/entities/Sequelize/Sequelize.ts +75 -0
  596. package/src/entities/Sequelize/Sequelize.types.ts +10 -0
  597. package/src/entities/Sequelize/Sequelize.validate.ts +15 -0
  598. package/src/entities/Sequelize/index.ts +2 -0
  599. package/src/entities/Server/Server.const.ts +56 -0
  600. package/src/entities/Server/Server.test.ts +272 -0
  601. package/src/entities/Server/Server.ts +445 -0
  602. package/src/entities/Server/Server.types.ts +88 -0
  603. package/src/entities/Server/index.ts +2 -0
  604. package/src/entities/SocketClient/SocketClient.test.ts +392 -0
  605. package/src/entities/SocketClient/SocketClient.ts +401 -0
  606. package/src/entities/SocketClient/SocketClient.types.ts +62 -0
  607. package/src/entities/SocketClient/index.ts +2 -0
  608. package/src/entities/SocketClient/parseMessage/index.ts +1 -0
  609. package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +20 -0
  610. package/src/entities/SocketClient/parseMessage/parseMessage.ts +26 -0
  611. package/src/entities/Storage/Storage.test.ts +58 -0
  612. package/src/entities/Storage/Storage.ts +219 -0
  613. package/src/entities/Storage/Storage.types.ts +57 -0
  614. package/src/entities/Storage/index.ts +2 -0
  615. package/src/entities/ValidationError/ValidationError.ts +34 -0
  616. package/src/entities/ValidationError/index.ts +1 -0
  617. package/src/entities/WebError/WebError.test.ts +18 -0
  618. package/src/entities/WebError/WebError.ts +23 -0
  619. package/src/entities/WebError/WebError.types.ts +9 -0
  620. package/src/entities/WebError/index.ts +2 -0
  621. package/src/entities/index.ts +16 -0
  622. package/src/index.ts +4 -0
  623. package/src/metrics/debug.ts +10 -0
  624. package/src/metrics/index.ts +2 -0
  625. package/src/metrics/request.ts +17 -0
  626. package/src/middleware/authAdmin/authAdmin.test.ts +199 -0
  627. package/src/middleware/authAdmin/authAdmin.ts +114 -0
  628. package/src/middleware/authAdmin/authAdmin.types.ts +19 -0
  629. package/src/middleware/authAdmin/index.ts +2 -0
  630. package/src/middleware/authHmac/authHmac.test.ts +86 -0
  631. package/src/middleware/authHmac/authHmac.ts +56 -0
  632. package/src/middleware/authHmac/authHmac.types.ts +7 -0
  633. package/src/middleware/authHmac/index.ts +2 -0
  634. package/src/middleware/authJwt/authJwt.test.ts +54 -0
  635. package/src/middleware/authJwt/authJwt.ts +55 -0
  636. package/src/middleware/authJwt/authJwt.types.ts +25 -0
  637. package/src/middleware/authJwt/index.ts +2 -0
  638. package/src/middleware/authStatic/authStatic.test.ts +36 -0
  639. package/src/middleware/authStatic/authStatic.ts +45 -0
  640. package/src/middleware/authStatic/index.ts +1 -0
  641. package/src/middleware/authTls/authTls.test.ts +138 -0
  642. package/src/middleware/authTls/authTls.ts +106 -0
  643. package/src/middleware/authTls/authTls.types.ts +13 -0
  644. package/src/middleware/authTls/index.ts +2 -0
  645. package/src/middleware/error/error.test.ts +60 -0
  646. package/src/middleware/error/error.ts +25 -0
  647. package/src/middleware/error/index.ts +1 -0
  648. package/src/middleware/fileUploader/compressAvatar/compressAvatar.ts +25 -0
  649. package/src/middleware/fileUploader/compressAvatar/compressAvatar.types.ts +12 -0
  650. package/src/middleware/fileUploader/compressAvatar/index.ts +2 -0
  651. package/src/middleware/fileUploader/fileUploader.test.ts +310 -0
  652. package/src/middleware/fileUploader/fileUploader.ts +303 -0
  653. package/src/middleware/fileUploader/fileUploader.types.ts +52 -0
  654. package/src/middleware/fileUploader/index.ts +2 -0
  655. package/src/middleware/fileUploader/isMultiPart/index.ts +1 -0
  656. package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +9 -0
  657. package/src/middleware/fileUploader/validate/index.ts +1 -0
  658. package/src/middleware/fileUploader/validate/validate.ts +27 -0
  659. package/src/middleware/fourOhFour/fourOhFour.test.ts +14 -0
  660. package/src/middleware/fourOhFour/fourOhFour.ts +13 -0
  661. package/src/middleware/fourOhFour/index.ts +1 -0
  662. package/src/middleware/healthCheck/healthCheck.test.ts +12 -0
  663. package/src/middleware/healthCheck/healthCheck.ts +14 -0
  664. package/src/middleware/healthCheck/index.ts +1 -0
  665. package/src/middleware/index.ts +15 -0
  666. package/src/middleware/metrics/index.ts +1 -0
  667. package/src/middleware/metrics/metrics.test.ts +46 -0
  668. package/src/middleware/metrics/metrics.ts +24 -0
  669. package/src/middleware/requestMetrics/index.ts +1 -0
  670. package/src/middleware/requestMetrics/requestMetrics.test.ts +77 -0
  671. package/src/middleware/requestMetrics/requestMetrics.ts +20 -0
  672. package/src/middleware/swaggerDocs/index.ts +2 -0
  673. package/src/middleware/swaggerDocs/swaggerDocs.ts +114 -0
  674. package/src/middleware/swaggerDocs/swaggerDocs.types.ts +41 -0
  675. package/src/middleware/userResolver/index.ts +1 -0
  676. package/src/middleware/userResolver/userResolver.test.ts +35 -0
  677. package/src/middleware/userResolver/userResolver.ts +36 -0
  678. package/src/middleware/validate/index.ts +1 -0
  679. package/src/middleware/validate/validate.test.ts +43 -0
  680. package/src/middleware/validate/validate.ts +25 -0
  681. package/src/middleware/version/index.ts +1 -0
  682. package/src/middleware/version/version.test.ts +23 -0
  683. package/src/middleware/version/version.ts +12 -0
  684. package/src/utils/checkEnvironment/index.ts +49 -0
  685. package/src/utils/createHttpServer/createHttpServer.test.ts +24 -0
  686. package/src/utils/createHttpServer/createHttpServer.ts +34 -0
  687. package/src/utils/createHttpServer/createHttpServer.validate.ts +17 -0
  688. package/src/utils/createHttpServer/index.ts +1 -0
  689. package/src/utils/createSortedObject/createSortedObject.ts +20 -0
  690. package/src/utils/createSortedObject/createSortedObjet.test.ts +47 -0
  691. package/src/utils/createSortedObject/index.ts +1 -0
  692. package/src/utils/dbMigration/dbMigration.test.ts +209 -0
  693. package/src/utils/dbMigration/dbMigration.ts +196 -0
  694. package/src/utils/dbMigration/dbMigration.types.ts +11 -0
  695. package/src/utils/dbMigration/index.ts +2 -0
  696. package/src/utils/dbMigration/migrateMetadataTable/index.ts +1 -0
  697. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +59 -0
  698. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +70 -0
  699. package/src/utils/envAssert/envAssert.ts +31 -0
  700. package/src/utils/envAssert/index.ts +1 -0
  701. package/src/utils/envAssert/validators/hostList.ts +17 -0
  702. package/src/utils/envAssert/validators/index.ts +5 -0
  703. package/src/utils/envAssert/validators/ipList.ts +13 -0
  704. package/src/utils/envAssert/validators/path.ts +13 -0
  705. package/src/utils/envAssert/validators/string.ts +9 -0
  706. package/src/utils/envAssert/validators/stringList.ts +13 -0
  707. package/src/utils/filter/filter.ts +17 -0
  708. package/src/utils/filter/index.ts +1 -0
  709. package/src/utils/getDynamicLink/getDynamicLink.test.ts +51 -0
  710. package/src/utils/getDynamicLink/getDynamicLink.ts +28 -0
  711. package/src/utils/getDynamicLink/getDynamicLink.types.ts +11 -0
  712. package/src/utils/getDynamicLink/getDynamicLink.validate.ts +6 -0
  713. package/src/utils/getDynamicLink/index.ts +2 -0
  714. package/src/utils/hmac/checkEnv/checkEnv.test.ts +18 -0
  715. package/src/utils/hmac/checkEnv/checkEnv.ts +9 -0
  716. package/src/utils/hmac/checkEnv/index.ts +1 -0
  717. package/src/utils/hmac/createHmac/createHmac.ts +33 -0
  718. package/src/utils/hmac/createHmac/index.ts +1 -0
  719. package/src/utils/hmac/index.ts +4 -0
  720. package/src/utils/hmac/index.types.ts +13 -0
  721. package/src/utils/hmac/signPayload/index.ts +1 -0
  722. package/src/utils/hmac/signPayload/signPayload.ts +16 -0
  723. package/src/utils/hmac/verifySignature/index.ts +1 -0
  724. package/src/utils/hmac/verifySignature/verifySignature.ts +24 -0
  725. package/src/utils/index.ts +26 -0
  726. package/src/utils/jwt/index.ts +2 -0
  727. package/src/utils/jwt/jwt.test.ts +41 -0
  728. package/src/utils/jwt/jwt.ts +204 -0
  729. package/src/utils/jwt/jwt.types.ts +21 -0
  730. package/src/utils/report/index.ts +3 -0
  731. package/src/utils/report/output.ts +45 -0
  732. package/src/utils/report/output.types.ts +70 -0
  733. package/src/utils/report/report.test.ts +133 -0
  734. package/src/utils/report/report.ts +134 -0
  735. package/src/utils/report/report.types.ts +13 -0
  736. package/src/utils/request/index.ts +1 -0
  737. package/src/utils/request/request.test.ts +26 -0
  738. package/src/utils/request/request.ts +48 -0
  739. package/src/utils/semverCompare/index.ts +1 -0
  740. package/src/utils/semverCompare/semverCompare.test.ts +49 -0
  741. package/src/utils/semverCompare/semverCompare.ts +60 -0
  742. package/src/utils/sendEmail/index.ts +1 -0
  743. package/src/utils/sendEmail/sendEmail.ts +27 -0
  744. package/src/utils/sendEmail/sendEmail.types.ts +7 -0
  745. package/src/utils/sendPush/index.ts +2 -0
  746. package/src/utils/sendPush/sendPush.ts +20 -0
  747. package/src/utils/sendPush/sendPush.types.ts +25 -0
  748. package/src/utils/tlsConfig/index.ts +2 -0
  749. package/src/utils/tlsConfig/tlsConfig.test.ts +32 -0
  750. package/src/utils/tlsConfig/tlsConfig.ts +47 -0
  751. package/src/utils/tlsConfig/tlsConfig.types.ts +11 -0
  752. package/src/utils/tlsConfig/tlsConfig.validate.ts +25 -0
  753. package/src/utils/tlsRequest/index.ts +1 -0
  754. package/src/utils/tlsRequest/tlsRequest.test.ts +63 -0
  755. package/src/utils/tlsRequest/tlsRequest.ts +12 -0
  756. package/src/utils/trimPathSlash/index.ts +1 -0
  757. package/src/utils/trimPathSlash/trimPathSlash.test.ts +26 -0
  758. package/src/utils/trimPathSlash/trimPathSlash.ts +8 -0
  759. package/test/env.ts +56 -0
  760. package/test/factory/index.ts +8 -0
  761. package/test/factory/sequelizeMeta.ts +12 -0
  762. package/test/hooks.ts +37 -0
  763. package/test/index.ts +3 -0
  764. package/test/stub/index.ts +3 -0
  765. package/test/stub/stubLocales.ts +68 -0
  766. package/test/stub/stubPubSub.ts +7 -0
  767. package/test/stub/stubStorage.ts +77 -0
  768. package/test/stub/stubStorage.types.ts +11 -0
  769. package/test/utils/app.ts +31 -0
  770. package/test/utils/index.ts +1 -0
  771. package/tsconfig.build.json +5 -0
  772. package/tsconfig.json +32 -0
@@ -0,0 +1,39 @@
1
+ import { Application } from 'express';
2
+ import { EndpointOptions, EndpointAuthType, EndpointMethod } from './Endpoint.types';
3
+ /**
4
+ * Object representing a REST endpoint served by server
5
+ */
6
+ export declare class Endpoint<T extends EndpointAuthType> {
7
+ /** Path at which the endpoint is reachable */
8
+ readonly path: string;
9
+ /** HTTP method of the endpoint */
10
+ readonly method: EndpointMethod;
11
+ /** Authentication system required by this endpoint */
12
+ readonly authType: T;
13
+ /** Function handling the endpoint's business logic */
14
+ private handler;
15
+ /** Validation schema that the request must pass before reaching the handler */
16
+ private validator;
17
+ /** Authentication related options for this endpoint */
18
+ private authParams?;
19
+ /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */
20
+ private files?;
21
+ /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */
22
+ private middleware?;
23
+ /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */
24
+ private errorMiddleware?;
25
+ /** Create a REST endpoint */
26
+ constructor(config: EndpointOptions<T>);
27
+ /**
28
+ * Register the endpoint to a react app
29
+ */
30
+ register(app: Application): void;
31
+ /**
32
+ * Catch exceptions thrown inside of middleware and pass them properly to express
33
+ */
34
+ private catchExceptionForExpress;
35
+ /**
36
+ * Get the authentication middleware for a given type of authentication
37
+ */
38
+ private getAuthMiddleware;
39
+ }
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Endpoint = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _EngineError = require("../EngineError");
11
+ var _Endpoint2 = require("./Endpoint.types");
12
+ var _const = require("../../const");
13
+ var _middleware = require("../../middleware");
14
+ var _report = require("../../utils/report");
15
+ const namespace = 'engine:Endpoint';
16
+
17
+ /**
18
+ * Object representing a REST endpoint served by server
19
+ */
20
+ let Endpoint = exports.Endpoint = /*#__PURE__*/function () {
21
+ /** Create a REST endpoint */
22
+ function Endpoint(config) {
23
+ (0, _classCallCheck2.default)(this, Endpoint);
24
+ /** Path at which the endpoint is reachable */
25
+ this.path = void 0;
26
+ /** HTTP method of the endpoint */
27
+ this.method = void 0;
28
+ /** Authentication system required by this endpoint */
29
+ this.authType = void 0;
30
+ /** Function handling the endpoint's business logic */
31
+ this.handler = void 0;
32
+ /** Validation schema that the request must pass before reaching the handler */
33
+ this.validator = void 0;
34
+ /** Authentication related options for this endpoint */
35
+ this.authParams = void 0;
36
+ /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */
37
+ this.files = void 0;
38
+ /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */
39
+ this.middleware = void 0;
40
+ /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */
41
+ this.errorMiddleware = void 0;
42
+ (0, _report.reportDebug)({
43
+ namespace,
44
+ message: `Creating Endpoint [${config.method} - ${config.path}]`,
45
+ data: {
46
+ method: config.method,
47
+ path: config.path,
48
+ authType: config.authType,
49
+ authParams: config.authParams,
50
+ file: config.file
51
+ }
52
+ });
53
+ if (typeof config.path !== 'string') throw new _EngineError.EngineError({
54
+ message: 'Endpoint path was not declared as a string'
55
+ });
56
+ this.path = config.path;
57
+ if (!_Endpoint2.EndpointMethods.includes(config.method)) throw new _EngineError.EngineError({
58
+ message: 'Endpoint method is not a valid HTTP method'
59
+ });
60
+ this.method = config.method;
61
+ if (typeof config.handler !== 'function') throw new _EngineError.EngineError({
62
+ message: 'Endpoint handler is not a function'
63
+ });
64
+ this.handler = config.handler;
65
+ if (!_Endpoint2.EndpointAuthTypes.includes(config.authType)) throw new _EngineError.EngineError({
66
+ message: 'Endpoint auth type is not valid'
67
+ });
68
+ this.authType = config.authType;
69
+ this.validator = config.validator;
70
+ this.authParams = config.authParams;
71
+ this.files = config.file ? [config.file] : config.files;
72
+
73
+ // Middleware can both be function or arrays
74
+ if (typeof config.middleware === 'function') this.middleware = [config.middleware];
75
+ if (config.middleware instanceof Array) this.middleware = config.middleware;
76
+ if (typeof config.errorMiddleware === 'function') this.errorMiddleware = [config.errorMiddleware];
77
+ if (config.errorMiddleware instanceof Array) this.errorMiddleware = config.errorMiddleware;
78
+ }
79
+
80
+ /**
81
+ * Register the endpoint to a react app
82
+ */
83
+ return (0, _createClass2.default)(Endpoint, [{
84
+ key: "register",
85
+ value: function register(app) {
86
+ // First initialize the handling calculation
87
+ const middlewareChain = [_middleware.requestMetrics];
88
+ // Register auth middleware
89
+ middlewareChain.push(...this.getAuthMiddleware(this.authType));
90
+ if (this.files) {
91
+ // Register file upload
92
+ // Validation is included in the file upload process as this uses multipart/form-data
93
+ middlewareChain.push((0, _middleware.fileUploader)(this.files, this.validator));
94
+ } else {
95
+ // Register validator for regular cases
96
+ middlewareChain.push((0, _middleware.validate)(this.validator));
97
+ }
98
+ // Register additional middleware
99
+ if (this.middleware) {
100
+ middlewareChain.push(...this.middleware);
101
+ }
102
+ // Register handler
103
+ middlewareChain.push(this.handler);
104
+ // Wrap middleware to await any async execution and catch any errors thrown
105
+ const safeMiddlewareChain = this.catchExceptionForExpress(middlewareChain);
106
+ // Register error middleware
107
+ if (this.errorMiddleware) {
108
+ safeMiddlewareChain.push(...this.errorMiddleware);
109
+ }
110
+ app[this.method](this.path, ...safeMiddlewareChain.flat());
111
+ }
112
+
113
+ /**
114
+ * Catch exceptions thrown inside of middleware and pass them properly to express
115
+ */
116
+ }, {
117
+ key: "catchExceptionForExpress",
118
+ value: function catchExceptionForExpress(middlewareChain) {
119
+ return middlewareChain.map(middleware => {
120
+ if (middleware instanceof Array) {
121
+ return this.catchExceptionForExpress(middleware);
122
+ }
123
+ if (typeof middleware === 'function') {
124
+ return (req, res, next) => {
125
+ (async () => {
126
+ try {
127
+ await middleware(req, res, next);
128
+ } catch (err) {
129
+ next(err);
130
+ }
131
+ })().catch(error => {
132
+ (0, _report.reportError)(error);
133
+ });
134
+ };
135
+ }
136
+ throw new _EngineError.EngineError({
137
+ message: 'Middleware is not a function nor an array',
138
+ data: {
139
+ type: typeof middleware
140
+ }
141
+ });
142
+ });
143
+ }
144
+
145
+ /**
146
+ * Get the authentication middleware for a given type of authentication
147
+ */
148
+ }, {
149
+ key: "getAuthMiddleware",
150
+ value: function getAuthMiddleware(authType) {
151
+ const middlewareChain = [];
152
+ const handler = _Endpoint2.EndpointAuthHandlers[authType];
153
+ if (!handler) {
154
+ (0, _report.reportInfo)({
155
+ severity: _const.LogSeverity.WARNING,
156
+ message: `Endpoint "${this.method} - ${this.path}" was declared with no authentication method`
157
+ });
158
+ return [];
159
+ }
160
+ const middleware = handler(this.authParams);
161
+ middlewareChain.push(async (request, response, next) => {
162
+ try {
163
+ await middleware(request, response, next);
164
+ } catch (error) {
165
+ if (!this.authParams?.acceptInvalid) throw error;
166
+ (0, _report.reportError)(error);
167
+ next();
168
+ }
169
+ });
170
+ return middlewareChain;
171
+ }
172
+ }]);
173
+ }();
174
+ //# sourceMappingURL=Endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Endpoint.js","names":["_EngineError","require","_Endpoint2","_const","_middleware","_report","namespace","Endpoint","exports","config","_classCallCheck2","default","path","method","authType","handler","validator","authParams","files","middleware","errorMiddleware","reportDebug","message","data","file","EngineError","EndpointMethods","includes","EndpointAuthTypes","Array","_createClass2","key","value","register","app","middlewareChain","requestMetrics","push","getAuthMiddleware","fileUploader","validate","safeMiddlewareChain","catchExceptionForExpress","flat","map","req","res","next","err","catch","error","reportError","type","EndpointAuthHandlers","reportInfo","severity","LogSeverity","WARNING","request","response","acceptInvalid"],"sources":["../../../src/entities/Endpoint/Endpoint.ts"],"sourcesContent":["import {\n RequestHandler,\n ErrorRequestHandler,\n Application,\n Request,\n Response,\n NextFunction\n} from 'express';\nimport { Schema } from 'express-validator';\nimport { EngineError } from '../EngineError';\nimport {\n EndpointOptions,\n EndpointAuthType,\n EndpointAuthTypes,\n EndpointMethod,\n EndpointMethods,\n EndpointAuthParams,\n Middleware,\n MiddlewareChainElement,\n SafeMiddleWareChain,\n EndpointAuthHandlers,\n EndpointAuthHandler,\n EndpointRequestType,\n EndpointHandler\n} from './Endpoint.types';\nimport { LogSeverity } from 'const';\nimport { validate, fileUploader, requestMetrics } from 'middleware';\nimport { FileUploaderConfig } from 'middleware/fileUploader';\nimport { reportDebug, reportError, reportInfo } from 'utils/report';\n\nconst namespace = 'engine:Endpoint';\n\n/**\n * Object representing a REST endpoint served by server\n */\nexport class Endpoint<T extends EndpointAuthType> {\n /** Path at which the endpoint is reachable */\n public readonly path: string;\n /** HTTP method of the endpoint */\n public readonly method: EndpointMethod;\n /** Authentication system required by this endpoint */\n public readonly authType: T;\n /** Function handling the endpoint's business logic */\n private handler: EndpointHandler<T>;\n /** Validation schema that the request must pass before reaching the handler */\n private validator: Schema;\n /** Authentication related options for this endpoint */\n private authParams?: EndpointAuthParams<T>;\n /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */\n private files?: Array<FileUploaderConfig>;\n /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */\n private middleware?: Array<Middleware<T>>;\n /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */\n private errorMiddleware?: Array<ErrorRequestHandler>;\n\n /** Create a REST endpoint */\n public constructor(config: EndpointOptions<T>) {\n reportDebug({\n namespace,\n message: `Creating Endpoint [${config.method} - ${config.path}]`,\n data: {\n method: config.method,\n path: config.path,\n authType: config.authType,\n authParams: config.authParams,\n file: config.file\n }\n });\n\n if (typeof config.path !== 'string')\n throw new EngineError({\n message: 'Endpoint path was not declared as a string'\n });\n this.path = config.path;\n\n if (!EndpointMethods.includes(config.method))\n throw new EngineError({\n message: 'Endpoint method is not a valid HTTP method'\n });\n this.method = config.method;\n\n if (typeof config.handler !== 'function')\n throw new EngineError({ message: 'Endpoint handler is not a function' });\n this.handler = config.handler;\n\n if (!EndpointAuthTypes.includes(config.authType))\n throw new EngineError({ message: 'Endpoint auth type is not valid' });\n this.authType = config.authType;\n\n this.validator = config.validator;\n this.authParams = config.authParams;\n this.files = config.file ? [config.file] : config.files;\n\n // Middleware can both be function or arrays\n if (typeof config.middleware === 'function')\n this.middleware = [config.middleware];\n if (config.middleware instanceof Array) this.middleware = config.middleware;\n if (typeof config.errorMiddleware === 'function')\n this.errorMiddleware = [config.errorMiddleware];\n if (config.errorMiddleware instanceof Array)\n this.errorMiddleware = config.errorMiddleware;\n }\n\n /**\n * Register the endpoint to a react app\n */\n public register(app: Application): void {\n // First initialize the handling calculation\n const middlewareChain: Array<MiddlewareChainElement<T>> = [requestMetrics];\n // Register auth middleware\n middlewareChain.push(...this.getAuthMiddleware(this.authType));\n if (this.files) {\n // Register file upload\n // Validation is included in the file upload process as this uses multipart/form-data\n middlewareChain.push(fileUploader(this.files, this.validator));\n } else {\n // Register validator for regular cases\n middlewareChain.push(validate(this.validator));\n }\n // Register additional middleware\n if (this.middleware) {\n middlewareChain.push(...this.middleware);\n }\n // Register handler\n middlewareChain.push(this.handler);\n // Wrap middleware to await any async execution and catch any errors thrown\n const safeMiddlewareChain: SafeMiddleWareChain =\n this.catchExceptionForExpress(middlewareChain);\n // Register error middleware\n if (this.errorMiddleware) {\n safeMiddlewareChain.push(...this.errorMiddleware);\n }\n app[this.method](\n this.path,\n ...(safeMiddlewareChain.flat() as Array<\n RequestHandler | ErrorRequestHandler\n >)\n );\n }\n\n /**\n * Catch exceptions thrown inside of middleware and pass them properly to express\n */\n private catchExceptionForExpress(\n middlewareChain: Array<MiddlewareChainElement<T>>\n ): SafeMiddleWareChain {\n return middlewareChain.map((middleware) => {\n if (middleware instanceof Array) {\n return this.catchExceptionForExpress(middleware);\n }\n if (typeof middleware === 'function') {\n return (req: Request, res: Response, next: NextFunction) => {\n (async (): Promise<void> => {\n try {\n await middleware(req as EndpointRequestType[T], res, next);\n } catch (err) {\n next(err);\n }\n })().catch((error) => {\n reportError(error);\n });\n };\n }\n throw new EngineError({\n message: 'Middleware is not a function nor an array',\n data: { type: typeof middleware }\n });\n });\n }\n\n /**\n * Get the authentication middleware for a given type of authentication\n */\n private getAuthMiddleware(authType: EndpointAuthType): Array<RequestHandler> {\n const middlewareChain: Array<RequestHandler> = [];\n\n const handler = EndpointAuthHandlers[authType] as EndpointAuthHandler<T>;\n if (!handler) {\n reportInfo({\n severity: LogSeverity.WARNING,\n message: `Endpoint \"${this.method} - ${this.path}\" was declared with no authentication method`\n });\n return [];\n }\n\n const middleware = handler(this.authParams);\n\n middlewareChain.push(\n async (request: Request, response: Response, next: NextFunction) => {\n try {\n await middleware(request, response, next);\n } catch (error) {\n if (!this.authParams?.acceptInvalid) throw error;\n reportError(error);\n next();\n }\n }\n );\n\n return middlewareChain;\n }\n}\n"],"mappings":";;;;;;;;;AASA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAeA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,MAAMK,SAAS,GAAG,iBAAiB;;AAEnC;AACA;AACA;AAFA,IAGaC,QAAQ,GAAAC,OAAA,CAAAD,QAAA;EAoBnB;EACA,SAAAA,SAAmBE,MAA0B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,QAAA;IApB/C;IAAA,KACgBK,IAAI;IACpB;IAAA,KACgBC,MAAM;IACtB;IAAA,KACgBC,QAAQ;IACxB;IAAA,KACQC,OAAO;IACf;IAAA,KACQC,SAAS;IACjB;IAAA,KACQC,UAAU;IAClB;IAAA,KACQC,KAAK;IACb;IAAA,KACQC,UAAU;IAClB;IAAA,KACQC,eAAe;IAIrB,IAAAC,mBAAW,EAAC;MACVf,SAAS;MACTgB,OAAO,EAAE,sBAAsBb,MAAM,CAACI,MAAM,MAAMJ,MAAM,CAACG,IAAI,GAAG;MAChEW,IAAI,EAAE;QACJV,MAAM,EAAEJ,MAAM,CAACI,MAAM;QACrBD,IAAI,EAAEH,MAAM,CAACG,IAAI;QACjBE,QAAQ,EAAEL,MAAM,CAACK,QAAQ;QACzBG,UAAU,EAAER,MAAM,CAACQ,UAAU;QAC7BO,IAAI,EAAEf,MAAM,CAACe;MACf;IACF,CAAC,CAAC;IAEF,IAAI,OAAOf,MAAM,CAACG,IAAI,KAAK,QAAQ,EACjC,MAAM,IAAIa,wBAAW,CAAC;MACpBH,OAAO,EAAE;IACX,CAAC,CAAC;IACJ,IAAI,CAACV,IAAI,GAAGH,MAAM,CAACG,IAAI;IAEvB,IAAI,CAACc,0BAAe,CAACC,QAAQ,CAAClB,MAAM,CAACI,MAAM,CAAC,EAC1C,MAAM,IAAIY,wBAAW,CAAC;MACpBH,OAAO,EAAE;IACX,CAAC,CAAC;IACJ,IAAI,CAACT,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAE3B,IAAI,OAAOJ,MAAM,CAACM,OAAO,KAAK,UAAU,EACtC,MAAM,IAAIU,wBAAW,CAAC;MAAEH,OAAO,EAAE;IAAqC,CAAC,CAAC;IAC1E,IAAI,CAACP,OAAO,GAAGN,MAAM,CAACM,OAAO;IAE7B,IAAI,CAACa,4BAAiB,CAACD,QAAQ,CAAClB,MAAM,CAACK,QAAQ,CAAC,EAC9C,MAAM,IAAIW,wBAAW,CAAC;MAAEH,OAAO,EAAE;IAAkC,CAAC,CAAC;IACvE,IAAI,CAACR,QAAQ,GAAGL,MAAM,CAACK,QAAQ;IAE/B,IAAI,CAACE,SAAS,GAAGP,MAAM,CAACO,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGR,MAAM,CAACQ,UAAU;IACnC,IAAI,CAACC,KAAK,GAAGT,MAAM,CAACe,IAAI,GAAG,CAACf,MAAM,CAACe,IAAI,CAAC,GAAGf,MAAM,CAACS,KAAK;;IAEvD;IACA,IAAI,OAAOT,MAAM,CAACU,UAAU,KAAK,UAAU,EACzC,IAAI,CAACA,UAAU,GAAG,CAACV,MAAM,CAACU,UAAU,CAAC;IACvC,IAAIV,MAAM,CAACU,UAAU,YAAYU,KAAK,EAAE,IAAI,CAACV,UAAU,GAAGV,MAAM,CAACU,UAAU;IAC3E,IAAI,OAAOV,MAAM,CAACW,eAAe,KAAK,UAAU,EAC9C,IAAI,CAACA,eAAe,GAAG,CAACX,MAAM,CAACW,eAAe,CAAC;IACjD,IAAIX,MAAM,CAACW,eAAe,YAAYS,KAAK,EACzC,IAAI,CAACT,eAAe,GAAGX,MAAM,CAACW,eAAe;EACjD;;EAEA;AACF;AACA;EAFE,WAAAU,aAAA,CAAAnB,OAAA,EAAAJ,QAAA;IAAAwB,GAAA;IAAAC,KAAA,EAGA,SAAOC,QAAQA,CAACC,GAAgB,EAAQ;MACtC;MACA,MAAMC,eAAiD,GAAG,CAACC,0BAAc,CAAC;MAC1E;MACAD,eAAe,CAACE,IAAI,CAAC,GAAG,IAAI,CAACC,iBAAiB,CAAC,IAAI,CAACxB,QAAQ,CAAC,CAAC;MAC9D,IAAI,IAAI,CAACI,KAAK,EAAE;QACd;QACA;QACAiB,eAAe,CAACE,IAAI,CAAC,IAAAE,wBAAY,EAAC,IAAI,CAACrB,KAAK,EAAE,IAAI,CAACF,SAAS,CAAC,CAAC;MAChE,CAAC,MAAM;QACL;QACAmB,eAAe,CAACE,IAAI,CAAC,IAAAG,oBAAQ,EAAC,IAAI,CAACxB,SAAS,CAAC,CAAC;MAChD;MACA;MACA,IAAI,IAAI,CAACG,UAAU,EAAE;QACnBgB,eAAe,CAACE,IAAI,CAAC,GAAG,IAAI,CAAClB,UAAU,CAAC;MAC1C;MACA;MACAgB,eAAe,CAACE,IAAI,CAAC,IAAI,CAACtB,OAAO,CAAC;MAClC;MACA,MAAM0B,mBAAwC,GAC5C,IAAI,CAACC,wBAAwB,CAACP,eAAe,CAAC;MAChD;MACA,IAAI,IAAI,CAACf,eAAe,EAAE;QACxBqB,mBAAmB,CAACJ,IAAI,CAAC,GAAG,IAAI,CAACjB,eAAe,CAAC;MACnD;MACAc,GAAG,CAAC,IAAI,CAACrB,MAAM,CAAC,CACd,IAAI,CAACD,IAAI,EACT,GAAI6B,mBAAmB,CAACE,IAAI,CAAC,CAG/B,CAAC;IACH;;IAEA;AACF;AACA;EAFE;IAAAZ,GAAA;IAAAC,KAAA,EAGA,SAAQU,wBAAwBA,CAC9BP,eAAiD,EAC5B;MACrB,OAAOA,eAAe,CAACS,GAAG,CAAEzB,UAAU,IAAK;QACzC,IAAIA,UAAU,YAAYU,KAAK,EAAE;UAC/B,OAAO,IAAI,CAACa,wBAAwB,CAACvB,UAAU,CAAC;QAClD;QACA,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;UACpC,OAAO,CAAC0B,GAAY,EAAEC,GAAa,EAAEC,IAAkB,KAAK;YAC1D,CAAC,YAA2B;cAC1B,IAAI;gBACF,MAAM5B,UAAU,CAAC0B,GAAG,EAA4BC,GAAG,EAAEC,IAAI,CAAC;cAC5D,CAAC,CAAC,OAAOC,GAAG,EAAE;gBACZD,IAAI,CAACC,GAAG,CAAC;cACX;YACF,CAAC,EAAE,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;cACpB,IAAAC,mBAAW,EAACD,KAAK,CAAC;YACpB,CAAC,CAAC;UACJ,CAAC;QACH;QACA,MAAM,IAAIzB,wBAAW,CAAC;UACpBH,OAAO,EAAE,2CAA2C;UACpDC,IAAI,EAAE;YAAE6B,IAAI,EAAE,OAAOjC;UAAW;QAClC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAAY,GAAA;IAAAC,KAAA,EAGA,SAAQM,iBAAiBA,CAACxB,QAA0B,EAAyB;MAC3E,MAAMqB,eAAsC,GAAG,EAAE;MAEjD,MAAMpB,OAAO,GAAGsC,+BAAoB,CAACvC,QAAQ,CAA2B;MACxE,IAAI,CAACC,OAAO,EAAE;QACZ,IAAAuC,kBAAU,EAAC;UACTC,QAAQ,EAAEC,kBAAW,CAACC,OAAO;UAC7BnC,OAAO,EAAE,aAAa,IAAI,CAACT,MAAM,MAAM,IAAI,CAACD,IAAI;QAClD,CAAC,CAAC;QACF,OAAO,EAAE;MACX;MAEA,MAAMO,UAAU,GAAGJ,OAAO,CAAC,IAAI,CAACE,UAAU,CAAC;MAE3CkB,eAAe,CAACE,IAAI,CAClB,OAAOqB,OAAgB,EAAEC,QAAkB,EAAEZ,IAAkB,KAAK;QAClE,IAAI;UACF,MAAM5B,UAAU,CAACuC,OAAO,EAAEC,QAAQ,EAAEZ,IAAI,CAAC;QAC3C,CAAC,CAAC,OAAOG,KAAK,EAAE;UACd,IAAI,CAAC,IAAI,CAACjC,UAAU,EAAE2C,aAAa,EAAE,MAAMV,KAAK;UAChD,IAAAC,mBAAW,EAACD,KAAK,CAAC;UAClBH,IAAI,CAAC,CAAC;QACR;MACF,CACF,CAAC;MAED,OAAOZ,eAAe;IACxB;EAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,133 @@
1
+ import { ErrorRequestHandler, Request, Response, NextFunction, RequestHandler } from 'express';
2
+ import { ParamsDictionary } from 'express-serve-static-core';
3
+ import { Schema } from 'express-validator';
4
+ import { ParsedQs } from 'qs';
5
+ import { authJwt, authHmac, authTls, authStatic, authAdmin, RequestUser, FileUploaderConfig, RequestAdminProps } from '../../middleware';
6
+ export declare enum EndpointMethod {
7
+ GET = "get",
8
+ POST = "post",
9
+ PUT = "put",
10
+ PATCH = "patch",
11
+ DELETE = "delete",
12
+ HEAD = "head",
13
+ ALL = "all"
14
+ }
15
+ export declare const EndpointMethods: EndpointMethod[];
16
+ export declare enum EndpointAuthType {
17
+ NONE = "none",
18
+ JWT = "jwt",
19
+ TLS = "tls",
20
+ HMAC = "hmac",
21
+ STATIC = "static",
22
+ ADMIN = "admin"
23
+ }
24
+ export declare const EndpointAuthTypes: EndpointAuthType[];
25
+ export type Middleware<T extends EndpointAuthType> = (request: EndpointRequestType[T], response: Response, next: NextFunction) => unknown | Promise<unknown>;
26
+ export type MiddlewareChainElement<T extends EndpointAuthType> = Array<Middleware<T>> | Middleware<T>;
27
+ /** Auth related parameters used with Admin authentication */
28
+ interface EndpointAuthAdminParams {
29
+ /** [Admin] User permission required to use this endpoint */
30
+ permission: string;
31
+ }
32
+ /** Auth related parameters used with HMAC authentication */
33
+ interface EndpointAuthHmacParams {
34
+ /** [HMAC] Secret used for signature */
35
+ secret?: string;
36
+ /** [HMAC] For Github webhook, the standard differs slightly, so this option must be selected */
37
+ isGithub?: boolean;
38
+ }
39
+ /** Auth related parameters used with mTLS authentication */
40
+ interface EndpointAuthTlsParams {
41
+ /** [TLS] List oh hosts that are allowed to use the endpoint, this is compared to the claims in the certificate */
42
+ whitelist?: Array<string>;
43
+ }
44
+ /** Mapping used to get auth specific parameters depending on the auth type used */
45
+ interface EndpointAuthSpecificParams {
46
+ /** Auth parameters for no authentication */
47
+ [EndpointAuthType.NONE]: any;
48
+ /** Auth parameters for JWT authentication */
49
+ [EndpointAuthType.JWT]: any;
50
+ /** Auth parameters for mTLS authentication */
51
+ [EndpointAuthType.TLS]: EndpointAuthTlsParams;
52
+ /** Auth parameters for HMAC authentication */
53
+ [EndpointAuthType.HMAC]: EndpointAuthHmacParams;
54
+ /** Auth parameters for static authentication */
55
+ [EndpointAuthType.STATIC]: any;
56
+ /** Auth parameters for admin token authentication */
57
+ [EndpointAuthType.ADMIN]: EndpointAuthAdminParams;
58
+ }
59
+ export type EndpointAuthParams<T extends EndpointAuthType> = EndpointAuthSpecificParams[T] & {
60
+ /** This will allow the business logic to run event if the authentication fails */
61
+ acceptInvalid?: boolean;
62
+ };
63
+ export type EndpointAuthHandler<T extends EndpointAuthType> = (options?: EndpointAuthParams<T>) => (request: Request, response: Response, next: NextFunction) => void | Promise<void>;
64
+ export declare const EndpointAuthHandlers: {
65
+ /** Auth handler for no authentication */
66
+ none: undefined;
67
+ /** Auth handler for JWT authentication */
68
+ jwt: typeof authJwt;
69
+ /** Auth handler for mTLS authentication */
70
+ tls: typeof authTls;
71
+ /** Auth handler for HMAC authentication */
72
+ hmac: typeof authHmac;
73
+ /** Auth handler for static authentication */
74
+ static: typeof authStatic;
75
+ /** Auth handler for admin token authentication */
76
+ admin: typeof authAdmin;
77
+ };
78
+ export type EndpointHandler<T extends EndpointAuthType> = (request: EndpointRequestType[T], response: Response) => void | Promise<void>;
79
+ /** Endpoint initialization options */
80
+ export interface EndpointOptions<T extends EndpointAuthType> {
81
+ /** Path at which the endpoint is reachable */
82
+ path: string;
83
+ /** HTTP method of the endpoint */
84
+ method: EndpointMethod;
85
+ /** Function handling the endpoint's business logic */
86
+ handler: EndpointHandler<T>;
87
+ /** Validation schema that the request must pass before reaching the handler */
88
+ validator: Schema;
89
+ /** Authentication system required by this endpoint */
90
+ authType: T;
91
+ /** Authentication related options for this endpoint */
92
+ authParams?: EndpointAuthParams<T>;
93
+ /** @deprecated Setting to upload a file through this endpoint */
94
+ file?: FileUploaderConfig;
95
+ /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */
96
+ files?: Array<FileUploaderConfig>;
97
+ /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */
98
+ middleware?: MiddlewareChainElement<T>;
99
+ /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */
100
+ errorMiddleware?: ErrorRequestHandler | Array<ErrorRequestHandler>;
101
+ }
102
+ /** Request type when using JWT authentication */
103
+ export interface JwtRequest<P = ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = ParsedQs, Locals extends Record<string, any> = Record<string, any>> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
104
+ /** User that identified using a JWT */
105
+ user: RequestUser;
106
+ }
107
+ /** Request type when using mTLS authentication */
108
+ export interface TlsRequest<P = ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = ParsedQs, Locals extends Record<string, any> = Record<string, any>> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
109
+ /** Host names provided by the mTLS authenticated client */
110
+ hosts: Array<string>;
111
+ }
112
+ /** Request type when using HMAC authentication */
113
+ export interface AdminRequest<P = ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = ParsedQs, Locals extends Record<string, any> = Record<string, any>> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
114
+ /** User that identified using a JWT */
115
+ admin: RequestAdminProps;
116
+ }
117
+ /** Mapping of request types in endpoints based on auth type used */
118
+ export interface EndpointRequestType {
119
+ /** Request type for no authentication */
120
+ [EndpointAuthType.NONE]: Request;
121
+ /** Request type when using JWT authentication */
122
+ [EndpointAuthType.JWT]: JwtRequest;
123
+ /** Request type when using mTLS authentication */
124
+ [EndpointAuthType.TLS]: TlsRequest;
125
+ /** Request type when using HMAC authentication */
126
+ [EndpointAuthType.HMAC]: Request;
127
+ /** Auth handler for static authentication */
128
+ [EndpointAuthType.STATIC]: Request;
129
+ /** Auth handler for admin token authentication */
130
+ [EndpointAuthType.ADMIN]: AdminRequest;
131
+ }
132
+ export type SafeMiddleWareChain = Array<RequestHandler | ErrorRequestHandler | SafeMiddleWareChain>;
133
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EndpointMethods = exports.EndpointMethod = exports.EndpointAuthTypes = exports.EndpointAuthType = exports.EndpointAuthHandlers = void 0;
7
+ var _middleware = require("../../middleware");
8
+ /* eslint-disable @typescript-eslint/no-explicit-any */
9
+ let EndpointMethod = exports.EndpointMethod = /*#__PURE__*/function (EndpointMethod) {
10
+ EndpointMethod["GET"] = "get";
11
+ EndpointMethod["POST"] = "post";
12
+ EndpointMethod["PUT"] = "put";
13
+ EndpointMethod["PATCH"] = "patch";
14
+ EndpointMethod["DELETE"] = "delete";
15
+ EndpointMethod["HEAD"] = "head";
16
+ EndpointMethod["ALL"] = "all";
17
+ return EndpointMethod;
18
+ }({});
19
+ const EndpointMethods = exports.EndpointMethods = Object.values(EndpointMethod);
20
+ let EndpointAuthType = exports.EndpointAuthType = /*#__PURE__*/function (EndpointAuthType) {
21
+ EndpointAuthType["NONE"] = "none";
22
+ EndpointAuthType["JWT"] = "jwt";
23
+ EndpointAuthType["TLS"] = "tls";
24
+ EndpointAuthType["HMAC"] = "hmac";
25
+ EndpointAuthType["STATIC"] = "static";
26
+ EndpointAuthType["ADMIN"] = "admin";
27
+ return EndpointAuthType;
28
+ }({});
29
+ const EndpointAuthTypes = exports.EndpointAuthTypes = Object.values(EndpointAuthType);
30
+
31
+ /** Auth related parameters used with Admin authentication */
32
+
33
+ /** Auth related parameters used with HMAC authentication */
34
+
35
+ /** Auth related parameters used with mTLS authentication */
36
+
37
+ /** Mapping used to get auth specific parameters depending on the auth type used */
38
+
39
+ const EndpointAuthHandlers = exports.EndpointAuthHandlers = {
40
+ /** Auth handler for no authentication */
41
+ [EndpointAuthType.NONE]: undefined,
42
+ /** Auth handler for JWT authentication */
43
+ [EndpointAuthType.JWT]: _middleware.authJwt,
44
+ /** Auth handler for mTLS authentication */
45
+ [EndpointAuthType.TLS]: _middleware.authTls,
46
+ /** Auth handler for HMAC authentication */
47
+ [EndpointAuthType.HMAC]: _middleware.authHmac,
48
+ /** Auth handler for static authentication */
49
+ [EndpointAuthType.STATIC]: _middleware.authStatic,
50
+ /** Auth handler for admin token authentication */
51
+ [EndpointAuthType.ADMIN]: _middleware.authAdmin
52
+ };
53
+
54
+ /** Endpoint initialization options */
55
+
56
+ /** Request type when using JWT authentication */
57
+
58
+ /** Request type when using mTLS authentication */
59
+
60
+ /** Request type when using HMAC authentication */
61
+
62
+ /** Mapping of request types in endpoints based on auth type used */
63
+ //# sourceMappingURL=Endpoint.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Endpoint.types.js","names":["_middleware","require","EndpointMethod","exports","EndpointMethods","Object","values","EndpointAuthType","EndpointAuthTypes","EndpointAuthHandlers","NONE","undefined","JWT","authJwt","TLS","authTls","HMAC","authHmac","STATIC","authStatic","ADMIN","authAdmin"],"sources":["../../../src/entities/Endpoint/Endpoint.types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ErrorRequestHandler,\n Request,\n Response,\n NextFunction,\n RequestHandler\n} from 'express';\nimport { ParamsDictionary } from 'express-serve-static-core';\nimport { Schema } from 'express-validator';\nimport { ParsedQs } from 'qs';\n\nimport {\n authJwt,\n authHmac,\n authTls,\n authStatic,\n authAdmin,\n RequestUser,\n FileUploaderConfig,\n RequestAdminProps\n} from 'middleware';\n\nexport enum EndpointMethod {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n PATCH = 'patch',\n DELETE = 'delete',\n HEAD = 'head',\n ALL = 'all'\n}\n\nexport const EndpointMethods = Object.values(EndpointMethod);\n\nexport enum EndpointAuthType {\n NONE = 'none',\n JWT = 'jwt',\n TLS = 'tls',\n HMAC = 'hmac',\n STATIC = 'static',\n ADMIN = 'admin'\n}\n\nexport const EndpointAuthTypes = Object.values(EndpointAuthType);\n\nexport type Middleware<T extends EndpointAuthType> = (\n request: EndpointRequestType[T],\n response: Response,\n next: NextFunction\n) => unknown | Promise<unknown>;\n\nexport type MiddlewareChainElement<T extends EndpointAuthType> =\n | Array<Middleware<T>>\n | Middleware<T>;\n\n/** Auth related parameters used with Admin authentication */\ninterface EndpointAuthAdminParams {\n /** [Admin] User permission required to use this endpoint */\n permission: string;\n}\n\n/** Auth related parameters used with HMAC authentication */\ninterface EndpointAuthHmacParams {\n /** [HMAC] Secret used for signature */\n secret?: string;\n /** [HMAC] For Github webhook, the standard differs slightly, so this option must be selected */\n isGithub?: boolean;\n}\n\n/** Auth related parameters used with mTLS authentication */\ninterface EndpointAuthTlsParams {\n /** [TLS] List oh hosts that are allowed to use the endpoint, this is compared to the claims in the certificate */\n whitelist?: Array<string>;\n}\n\n/** Mapping used to get auth specific parameters depending on the auth type used */\ninterface EndpointAuthSpecificParams {\n /** Auth parameters for no authentication */\n [EndpointAuthType.NONE]: any;\n /** Auth parameters for JWT authentication */\n [EndpointAuthType.JWT]: any;\n /** Auth parameters for mTLS authentication */\n [EndpointAuthType.TLS]: EndpointAuthTlsParams;\n /** Auth parameters for HMAC authentication */\n [EndpointAuthType.HMAC]: EndpointAuthHmacParams;\n /** Auth parameters for static authentication */\n [EndpointAuthType.STATIC]: any;\n /** Auth parameters for admin token authentication */\n [EndpointAuthType.ADMIN]: EndpointAuthAdminParams;\n}\n\nexport type EndpointAuthParams<T extends EndpointAuthType> =\n EndpointAuthSpecificParams[T] & {\n /** This will allow the business logic to run event if the authentication fails */\n acceptInvalid?: boolean;\n };\n\nexport type EndpointAuthHandler<T extends EndpointAuthType> = (\n options?: EndpointAuthParams<T>\n) => (\n request: Request,\n response: Response,\n next: NextFunction\n) => void | Promise<void>;\n\nexport const EndpointAuthHandlers = {\n /** Auth handler for no authentication */\n [EndpointAuthType.NONE]: undefined,\n /** Auth handler for JWT authentication */\n [EndpointAuthType.JWT]: authJwt,\n /** Auth handler for mTLS authentication */\n [EndpointAuthType.TLS]: authTls,\n /** Auth handler for HMAC authentication */\n [EndpointAuthType.HMAC]: authHmac,\n /** Auth handler for static authentication */\n [EndpointAuthType.STATIC]: authStatic,\n /** Auth handler for admin token authentication */\n [EndpointAuthType.ADMIN]: authAdmin\n};\n\nexport type EndpointHandler<T extends EndpointAuthType> = (\n request: EndpointRequestType[T],\n response: Response\n) => void | Promise<void>;\n\n/** Endpoint initialization options */\nexport interface EndpointOptions<T extends EndpointAuthType> {\n /** Path at which the endpoint is reachable */\n path: string;\n /** HTTP method of the endpoint */\n method: EndpointMethod;\n /** Function handling the endpoint's business logic */\n handler: EndpointHandler<T>;\n /** Validation schema that the request must pass before reaching the handler */\n validator: Schema;\n /** Authentication system required by this endpoint */\n authType: T;\n /** Authentication related options for this endpoint */\n authParams?: EndpointAuthParams<T>;\n /** @deprecated Setting to upload a file through this endpoint */\n file?: FileUploaderConfig;\n /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */\n files?: Array<FileUploaderConfig>;\n /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */\n middleware?: MiddlewareChainElement<T>;\n /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */\n errorMiddleware?: ErrorRequestHandler | Array<ErrorRequestHandler>;\n}\n\n/** Request type when using JWT authentication */\nexport interface JwtRequest<\n P = ParamsDictionary,\n ResBody = any,\n ReqBody = any,\n ReqQuery = ParsedQs,\n Locals extends Record<string, any> = Record<string, any>\n> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {\n /** User that identified using a JWT */\n user: RequestUser;\n}\n\n/** Request type when using mTLS authentication */\nexport interface TlsRequest<\n P = ParamsDictionary,\n ResBody = any,\n ReqBody = any,\n ReqQuery = ParsedQs,\n Locals extends Record<string, any> = Record<string, any>\n> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {\n /** Host names provided by the mTLS authenticated client */\n hosts: Array<string>;\n}\n\n/** Request type when using HMAC authentication */\nexport interface AdminRequest<\n P = ParamsDictionary,\n ResBody = any,\n ReqBody = any,\n ReqQuery = ParsedQs,\n Locals extends Record<string, any> = Record<string, any>\n> extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {\n /** User that identified using a JWT */\n admin: RequestAdminProps;\n}\n\n/** Mapping of request types in endpoints based on auth type used */\nexport interface EndpointRequestType {\n /** Request type for no authentication */\n [EndpointAuthType.NONE]: Request;\n /** Request type when using JWT authentication */\n [EndpointAuthType.JWT]: JwtRequest;\n /** Request type when using mTLS authentication */\n [EndpointAuthType.TLS]: TlsRequest;\n /** Request type when using HMAC authentication */\n [EndpointAuthType.HMAC]: Request;\n /** Auth handler for static authentication */\n [EndpointAuthType.STATIC]: Request;\n /** Auth handler for admin token authentication */\n [EndpointAuthType.ADMIN]: AdminRequest;\n}\n\nexport type SafeMiddleWareChain = Array<\n RequestHandler | ErrorRequestHandler | SafeMiddleWareChain\n>;\n"],"mappings":";;;;;;AAYA,IAAAA,WAAA,GAAAC,OAAA;AAZA;AAAA,IAuBYC,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAUnB,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAGC,MAAM,CAACC,MAAM,CAACJ,cAAc,CAAC;AAAC,IAEjDK,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AASrB,MAAMC,iBAAiB,GAAAL,OAAA,CAAAK,iBAAA,GAAGH,MAAM,CAACC,MAAM,CAACC,gBAAgB,CAAC;;AAYhE;;AAMA;;AAQA;;AAMA;;AA8BO,MAAME,oBAAoB,GAAAN,OAAA,CAAAM,oBAAA,GAAG;EAClC;EACA,CAACF,gBAAgB,CAACG,IAAI,GAAGC,SAAS;EAClC;EACA,CAACJ,gBAAgB,CAACK,GAAG,GAAGC,mBAAO;EAC/B;EACA,CAACN,gBAAgB,CAACO,GAAG,GAAGC,mBAAO;EAC/B;EACA,CAACR,gBAAgB,CAACS,IAAI,GAAGC,oBAAQ;EACjC;EACA,CAACV,gBAAgB,CAACW,MAAM,GAAGC,sBAAU;EACrC;EACA,CAACZ,gBAAgB,CAACa,KAAK,GAAGC;AAC5B,CAAC;;AAOD;;AAwBA;;AAYA;;AAYA;;AAYA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './Endpoint';
2
+ export * from './Endpoint.types';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Endpoint = require("./Endpoint");
7
+ Object.keys(_Endpoint).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Endpoint[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Endpoint[key];
14
+ }
15
+ });
16
+ });
17
+ var _Endpoint2 = require("./Endpoint.types");
18
+ Object.keys(_Endpoint2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _Endpoint2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _Endpoint2[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Endpoint","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Endpoint2"],"sources":["../../../src/entities/Endpoint/index.ts"],"sourcesContent":["export * from './Endpoint';\nexport * from './Endpoint.types';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { EngineErrorOptions } from './EngineError.types';
2
+ import { LogSeverity } from '../../const';
3
+ /**
4
+ * Base error type for engine related errors
5
+ */
6
+ export declare class EngineError extends Error {
7
+ /** Severity of the log entry */
8
+ severity: LogSeverity;
9
+ /** If this error is wrapping another one, this will contain the original error */
10
+ error?: Error;
11
+ /** Additional contextual data for debugging */
12
+ data?: unknown;
13
+ /** Human readable error message sent to the client */
14
+ hint?: unknown;
15
+ /** Create an EngineError, these errors represent errors in the engine itself */
16
+ constructor(config: EngineErrorOptions | string);
17
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EngineError = void 0;
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
14
+ var _const = require("../../const");
15
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
16
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
17
+ /**
18
+ * Base error type for engine related errors
19
+ */
20
+ let EngineError = exports.EngineError = /*#__PURE__*/function (_Error) {
21
+ /** Create an EngineError, these errors represent errors in the engine itself */
22
+ function EngineError(config) {
23
+ var _this;
24
+ (0, _classCallCheck2.default)(this, EngineError);
25
+ const options = typeof config === 'string' ? {
26
+ message: config
27
+ } : config;
28
+ _this = _callSuper(this, EngineError, [options.message]);
29
+ /** Severity of the log entry */
30
+ _this.severity = void 0;
31
+ /** If this error is wrapping another one, this will contain the original error */
32
+ _this.error = void 0;
33
+ /** Additional contextual data for debugging */
34
+ _this.data = void 0;
35
+ /** Human readable error message sent to the client */
36
+ _this.hint = void 0;
37
+ _this.severity = options.severity ?? _const.LogSeverity.CRITICAL;
38
+ _this.data = options.data;
39
+ _this.error = options.error;
40
+ _this.hint = options.hint;
41
+ return _this;
42
+ }
43
+ (0, _inherits2.default)(EngineError, _Error);
44
+ return (0, _createClass2.default)(EngineError);
45
+ }(/*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
46
+ //# sourceMappingURL=EngineError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineError.js","names":["_const","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","EngineError","exports","_Error","config","_this","_classCallCheck2","options","message","severity","error","data","hint","LogSeverity","CRITICAL","_inherits2","_createClass2","_wrapNativeSuper2","Error"],"sources":["../../../src/entities/EngineError/EngineError.ts"],"sourcesContent":["import { EngineErrorOptions } from './EngineError.types';\nimport { LogSeverity } from 'const';\n\n/**\n * Base error type for engine related errors\n */\nexport class EngineError extends Error {\n /** Severity of the log entry */\n public severity: LogSeverity;\n /** If this error is wrapping another one, this will contain the original error */\n public error?: Error;\n /** Additional contextual data for debugging */\n public data?: unknown;\n /** Human readable error message sent to the client */\n public hint?: unknown;\n\n /** Create an EngineError, these errors represent errors in the engine itself */\n public constructor(config: EngineErrorOptions | string) {\n const options: EngineErrorOptions =\n typeof config === 'string' ? { message: config } : config;\n super(options.message);\n\n this.severity = options.severity ?? LogSeverity.CRITICAL;\n this.data = options.data;\n this.error = options.error;\n this.hint = options.hint;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAAoC,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAP,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAS,WAAA,IAAAR,CAAA,CAAAS,KAAA,CAAAV,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAW,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAX,CAAA,aAAAM,yBAAA,YAAAA,CAAA,aAAAN,CAAA;AAEpC;AACA;AACA;AAFA,IAGae,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,MAAA;EAUtB;EACA,SAAAF,YAAmBG,MAAmC,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAhB,OAAA,QAAAW,WAAA;IACtD,MAAMM,OAA2B,GAC/B,OAAOH,MAAM,KAAK,QAAQ,GAAG;MAAEI,OAAO,EAAEJ;IAAO,CAAC,GAAGA,MAAM;IAC3DC,KAAA,GAAApB,UAAA,OAAAgB,WAAA,GAAMM,OAAO,CAACC,OAAO;IAbvB;IAAAH,KAAA,CACOI,QAAQ;IACf;IAAAJ,KAAA,CACOK,KAAK;IACZ;IAAAL,KAAA,CACOM,IAAI;IACX;IAAAN,KAAA,CACOO,IAAI;IAQTP,KAAA,CAAKI,QAAQ,GAAGF,OAAO,CAACE,QAAQ,IAAII,kBAAW,CAACC,QAAQ;IACxDT,KAAA,CAAKM,IAAI,GAAGJ,OAAO,CAACI,IAAI;IACxBN,KAAA,CAAKK,KAAK,GAAGH,OAAO,CAACG,KAAK;IAC1BL,KAAA,CAAKO,IAAI,GAAGL,OAAO,CAACK,IAAI;IAAC,OAAAP,KAAA;EAC3B;EAAC,IAAAU,UAAA,CAAAzB,OAAA,EAAAW,WAAA,EAAAE,MAAA;EAAA,WAAAa,aAAA,CAAA1B,OAAA,EAAAW,WAAA;AAAA,mBAAAgB,iBAAA,CAAA3B,OAAA,EApB8B4B,KAAK","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { LogSeverity } from '../../const';
2
+ /** EngineError initialization options */
3
+ export interface EngineErrorOptions {
4
+ /** Main logged message */
5
+ message: string;
6
+ /** Severity of the log entry */
7
+ severity?: LogSeverity;
8
+ /** If this error is wrapping another one, this will contain the original error */
9
+ error?: Error;
10
+ /** Additional contextual data for debugging */
11
+ data?: unknown;
12
+ /** Human readable error message sent to the client */
13
+ hint?: unknown;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=EngineError.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineError.types.js","names":[],"sources":["../../../src/entities/EngineError/EngineError.types.ts"],"sourcesContent":["import { LogSeverity } from 'const';\n\n/** EngineError initialization options */\nexport interface EngineErrorOptions {\n /** Main logged message */\n message: string;\n /** Severity of the log entry */\n severity?: LogSeverity;\n /** If this error is wrapping another one, this will contain the original error */\n error?: Error;\n /** Additional contextual data for debugging */\n data?: unknown;\n /** Human readable error message sent to the client */\n hint?: unknown;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './EngineError';
2
+ export * from './EngineError.types';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _EngineError = require("./EngineError");
7
+ Object.keys(_EngineError).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _EngineError[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _EngineError[key];
14
+ }
15
+ });
16
+ });
17
+ var _EngineError2 = require("./EngineError.types");
18
+ Object.keys(_EngineError2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _EngineError2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _EngineError2[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_EngineError","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_EngineError2"],"sources":["../../../src/entities/EngineError/index.ts"],"sourcesContent":["export * from './EngineError';\nexport * from './EngineError.types';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}