node-server-engine 1.1.2 → 1.1.3

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 (469) hide show
  1. package/.env.example +193 -193
  2. package/.mocharc.js +13 -13
  3. package/.nycrc +18 -18
  4. package/.prettierrc +7 -7
  5. package/Dockerfile +30 -30
  6. package/README.md +991 -1025
  7. package/babel.config.json +35 -35
  8. package/dist/const/DebeziumEvent.js.map +1 -1
  9. package/dist/const/LogSeverity.js.map +1 -1
  10. package/dist/const/index.js.map +1 -1
  11. package/dist/const/metrics.js.map +1 -1
  12. package/dist/const/mime.js.map +1 -1
  13. package/dist/const/tokenIssuer.js.map +1 -1
  14. package/dist/db/migrations/20241030121500-create-sequelize-meta-table.js.map +1 -1
  15. package/dist/db/models/SequelizeMeta.js.map +1 -1
  16. package/dist/db/models/index.js.map +1 -1
  17. package/dist/entities/ElasticSearch/ElasticSearch.js +7 -7
  18. package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -1
  19. package/dist/entities/ElasticSearch/ElasticSearch.types.js.map +1 -1
  20. package/dist/entities/ElasticSearch/index.js.map +1 -1
  21. package/dist/entities/Endpoint/Endpoint.js +8 -8
  22. package/dist/entities/Endpoint/Endpoint.js.map +1 -1
  23. package/dist/entities/Endpoint/Endpoint.types.js.map +1 -1
  24. package/dist/entities/Endpoint/index.js.map +1 -1
  25. package/dist/entities/EngineError/EngineError.js +2 -2
  26. package/dist/entities/EngineError/EngineError.js.map +1 -1
  27. package/dist/entities/EngineError/EngineError.types.js.map +1 -1
  28. package/dist/entities/EngineError/index.js.map +1 -1
  29. package/dist/entities/KeySet/KeySet.js +3 -3
  30. package/dist/entities/KeySet/KeySet.js.map +1 -1
  31. package/dist/entities/KeySet/KeySet.types.js.map +1 -1
  32. package/dist/entities/KeySet/index.js.map +1 -1
  33. package/dist/entities/LifecycleController/LifecycleController.js.map +1 -1
  34. package/dist/entities/LifecycleController/LifecycleController.types.js.map +1 -1
  35. package/dist/entities/LifecycleController/index.js.map +1 -1
  36. package/dist/entities/Localizator/Localizator.js +7 -7
  37. package/dist/entities/Localizator/Localizator.js.map +1 -1
  38. package/dist/entities/Localizator/Localizator.types.js.map +1 -1
  39. package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js.map +1 -1
  40. package/dist/entities/Localizator/guessNamingConvention/index.js.map +1 -1
  41. package/dist/entities/Localizator/index.js.map +1 -1
  42. package/dist/entities/MessageHandler/MessageHandler.js +2 -2
  43. package/dist/entities/MessageHandler/MessageHandler.js.map +1 -1
  44. package/dist/entities/MessageHandler/MessageHandler.types.js.map +1 -1
  45. package/dist/entities/MessageHandler/index.js.map +1 -1
  46. package/dist/entities/PubSub/PubSub.js +25 -25
  47. package/dist/entities/PubSub/PubSub.js.map +1 -1
  48. package/dist/entities/PubSub/PubSub.types.js.map +1 -1
  49. package/dist/entities/PubSub/handleMessage/handleMessage.js +6 -6
  50. package/dist/entities/PubSub/handleMessage/handleMessage.js.map +1 -1
  51. package/dist/entities/PubSub/handleMessage/index.js.map +1 -1
  52. package/dist/entities/PubSub/index.js.map +1 -1
  53. package/dist/entities/PushNotification/PushNotification.js +4 -4
  54. package/dist/entities/PushNotification/PushNotification.js.map +1 -1
  55. package/dist/entities/PushNotification/PushNotification.types.js.map +1 -1
  56. package/dist/entities/PushNotification/index.js.map +1 -1
  57. package/dist/entities/Redis/Redis.js +8 -8
  58. package/dist/entities/Redis/Redis.js.map +1 -1
  59. package/dist/entities/Redis/Redis.types.js.map +1 -1
  60. package/dist/entities/Redis/Redis.validate.js +2 -2
  61. package/dist/entities/Redis/Redis.validate.js.map +1 -1
  62. package/dist/entities/Redis/index.js.map +1 -1
  63. package/dist/entities/Sequelize/Sequelize.config.js +42 -2
  64. package/dist/entities/Sequelize/Sequelize.config.js.map +1 -1
  65. package/dist/entities/Sequelize/Sequelize.js +3 -3
  66. package/dist/entities/Sequelize/Sequelize.js.map +1 -1
  67. package/dist/entities/Sequelize/Sequelize.types.js.map +1 -1
  68. package/dist/entities/Sequelize/Sequelize.validate.js +2 -2
  69. package/dist/entities/Sequelize/Sequelize.validate.js.map +1 -1
  70. package/dist/entities/Sequelize/index.js.map +1 -1
  71. package/dist/entities/Server/Server.const.js.map +1 -1
  72. package/dist/entities/Server/Server.js +2 -2
  73. package/dist/entities/Server/Server.js.map +1 -1
  74. package/dist/entities/Server/Server.types.js.map +1 -1
  75. package/dist/entities/Server/index.js.map +1 -1
  76. package/dist/entities/SocketClient/SocketClient.js +15 -15
  77. package/dist/entities/SocketClient/SocketClient.js.map +1 -1
  78. package/dist/entities/SocketClient/SocketClient.types.js.map +1 -1
  79. package/dist/entities/SocketClient/index.js.map +1 -1
  80. package/dist/entities/SocketClient/parseMessage/index.js.map +1 -1
  81. package/dist/entities/SocketClient/parseMessage/parseMessage.js +2 -2
  82. package/dist/entities/SocketClient/parseMessage/parseMessage.js.map +1 -1
  83. package/dist/entities/Storage/Storage.js +20 -20
  84. package/dist/entities/Storage/Storage.js.map +1 -1
  85. package/dist/entities/Storage/Storage.types.js.map +1 -1
  86. package/dist/entities/Storage/index.js.map +1 -1
  87. package/dist/entities/ValidationError/ValidationError.js.map +1 -1
  88. package/dist/entities/ValidationError/index.js.map +1 -1
  89. package/dist/entities/WebError/WebError.js +4 -4
  90. package/dist/entities/WebError/WebError.js.map +1 -1
  91. package/dist/entities/WebError/WebError.types.js.map +1 -1
  92. package/dist/entities/WebError/index.js.map +1 -1
  93. package/dist/entities/index.js.map +1 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/metrics/debug.js.map +1 -1
  96. package/dist/metrics/index.js.map +1 -1
  97. package/dist/metrics/request.js.map +1 -1
  98. package/dist/middleware/authAdmin/authAdmin.js.map +1 -1
  99. package/dist/middleware/authAdmin/authAdmin.types.js.map +1 -1
  100. package/dist/middleware/authAdmin/index.js.map +1 -1
  101. package/dist/middleware/authHmac/authHmac.js.map +1 -1
  102. package/dist/middleware/authHmac/authHmac.types.js.map +1 -1
  103. package/dist/middleware/authHmac/index.js.map +1 -1
  104. package/dist/middleware/authJwt/authJwt.js.map +1 -1
  105. package/dist/middleware/authJwt/authJwt.types.js.map +1 -1
  106. package/dist/middleware/authJwt/index.js.map +1 -1
  107. package/dist/middleware/authStatic/authStatic.js +3 -3
  108. package/dist/middleware/authStatic/authStatic.js.map +1 -1
  109. package/dist/middleware/authStatic/index.js.map +1 -1
  110. package/dist/middleware/authTls/authTls.js +8 -8
  111. package/dist/middleware/authTls/authTls.js.map +1 -1
  112. package/dist/middleware/authTls/authTls.types.js.map +1 -1
  113. package/dist/middleware/authTls/index.js.map +1 -1
  114. package/dist/middleware/checkPermission/checkPermission.js.map +1 -1
  115. package/dist/middleware/error/error.js.map +1 -1
  116. package/dist/middleware/error/index.js.map +1 -1
  117. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js +2 -2
  118. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.js.map +1 -1
  119. package/dist/middleware/fileUploader/compressAvatar/compressAvatar.types.js.map +1 -1
  120. package/dist/middleware/fileUploader/compressAvatar/index.js.map +1 -1
  121. package/dist/middleware/fileUploader/fileUploader.js +12 -12
  122. package/dist/middleware/fileUploader/fileUploader.js.map +1 -1
  123. package/dist/middleware/fileUploader/fileUploader.types.js.map +1 -1
  124. package/dist/middleware/fileUploader/index.js.map +1 -1
  125. package/dist/middleware/fileUploader/isMultiPart/index.js.map +1 -1
  126. package/dist/middleware/fileUploader/isMultiPart/isMultipart.js.map +1 -1
  127. package/dist/middleware/fileUploader/validate/index.js.map +1 -1
  128. package/dist/middleware/fileUploader/validate/validate.js.map +1 -1
  129. package/dist/middleware/fourOhFour/fourOhFour.js.map +1 -1
  130. package/dist/middleware/fourOhFour/index.js.map +1 -1
  131. package/dist/middleware/geminiFileUploader/geminiFileUploader.js.map +1 -1
  132. package/dist/middleware/geminiFileUploader/index.js.map +1 -1
  133. package/dist/middleware/healthCheck/healthCheck.js +2 -2
  134. package/dist/middleware/healthCheck/healthCheck.js.map +1 -1
  135. package/dist/middleware/healthCheck/index.js.map +1 -1
  136. package/dist/middleware/index.js.map +1 -1
  137. package/dist/middleware/metrics/index.js.map +1 -1
  138. package/dist/middleware/metrics/metrics.js.map +1 -1
  139. package/dist/middleware/requestMetrics/index.js.map +1 -1
  140. package/dist/middleware/requestMetrics/requestMetrics.js.map +1 -1
  141. package/dist/middleware/swaggerDocs/index.js.map +1 -1
  142. package/dist/middleware/swaggerDocs/swaggerDocs.js +7 -7
  143. package/dist/middleware/swaggerDocs/swaggerDocs.js.map +1 -1
  144. package/dist/middleware/swaggerDocs/swaggerDocs.types.js.map +1 -1
  145. package/dist/middleware/userResolver/index.js.map +1 -1
  146. package/dist/middleware/userResolver/userResolver.js.map +1 -1
  147. package/dist/middleware/validate/index.js.map +1 -1
  148. package/dist/middleware/validate/validate.js.map +1 -1
  149. package/dist/middleware/version/index.js.map +1 -1
  150. package/dist/middleware/version/version.js +3 -3
  151. package/dist/middleware/version/version.js.map +1 -1
  152. package/dist/utils/checkEnvironment/index.js +13 -13
  153. package/dist/utils/checkEnvironment/index.js.map +1 -1
  154. package/dist/utils/createHttpServer/createHttpServer.js.map +1 -1
  155. package/dist/utils/createHttpServer/createHttpServer.validate.js +2 -2
  156. package/dist/utils/createHttpServer/createHttpServer.validate.js.map +1 -1
  157. package/dist/utils/createHttpServer/index.js.map +1 -1
  158. package/dist/utils/createSortedObject/createSortedObject.js.map +1 -1
  159. package/dist/utils/createSortedObject/index.js.map +1 -1
  160. package/dist/utils/dbMigration/dbMigration.js +8 -8
  161. package/dist/utils/dbMigration/dbMigration.js.map +1 -1
  162. package/dist/utils/dbMigration/dbMigration.types.js.map +1 -1
  163. package/dist/utils/dbMigration/index.js.map +1 -1
  164. package/dist/utils/dbMigration/migrateMetadataTable/index.js.map +1 -1
  165. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.d.ts +2 -2
  166. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js +47 -15
  167. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js.map +1 -1
  168. package/dist/utils/envAssert/envAssert.js +6 -6
  169. package/dist/utils/envAssert/envAssert.js.map +1 -1
  170. package/dist/utils/envAssert/index.js.map +1 -1
  171. package/dist/utils/envAssert/validators/hostList.js +2 -2
  172. package/dist/utils/envAssert/validators/hostList.js.map +1 -1
  173. package/dist/utils/envAssert/validators/index.js.map +1 -1
  174. package/dist/utils/envAssert/validators/ipList.js +2 -2
  175. package/dist/utils/envAssert/validators/ipList.js.map +1 -1
  176. package/dist/utils/envAssert/validators/path.js +2 -2
  177. package/dist/utils/envAssert/validators/path.js.map +1 -1
  178. package/dist/utils/envAssert/validators/string.js +2 -2
  179. package/dist/utils/envAssert/validators/string.js.map +1 -1
  180. package/dist/utils/envAssert/validators/stringList.js +3 -3
  181. package/dist/utils/envAssert/validators/stringList.js.map +1 -1
  182. package/dist/utils/filter/filter.js +4 -4
  183. package/dist/utils/filter/filter.js.map +1 -1
  184. package/dist/utils/filter/index.js.map +1 -1
  185. package/dist/utils/getDynamicLink/getDynamicLink.js.map +1 -1
  186. package/dist/utils/getDynamicLink/getDynamicLink.types.js.map +1 -1
  187. package/dist/utils/getDynamicLink/getDynamicLink.validate.js.map +1 -1
  188. package/dist/utils/getDynamicLink/index.js.map +1 -1
  189. package/dist/utils/hmac/checkEnv/checkEnv.js +2 -2
  190. package/dist/utils/hmac/checkEnv/checkEnv.js.map +1 -1
  191. package/dist/utils/hmac/checkEnv/index.js.map +1 -1
  192. package/dist/utils/hmac/createHmac/createHmac.js.map +1 -1
  193. package/dist/utils/hmac/createHmac/index.js.map +1 -1
  194. package/dist/utils/hmac/index.js.map +1 -1
  195. package/dist/utils/hmac/index.types.js.map +1 -1
  196. package/dist/utils/hmac/signPayload/index.js.map +1 -1
  197. package/dist/utils/hmac/signPayload/signPayload.js.map +1 -1
  198. package/dist/utils/hmac/verifySignature/index.js.map +1 -1
  199. package/dist/utils/hmac/verifySignature/verifySignature.js.map +1 -1
  200. package/dist/utils/index.js.map +1 -1
  201. package/dist/utils/jwt/index.js.map +1 -1
  202. package/dist/utils/jwt/jwt.js.map +1 -1
  203. package/dist/utils/jwt/jwt.types.js.map +1 -1
  204. package/dist/utils/report/index.js.map +1 -1
  205. package/dist/utils/report/output.js.map +1 -1
  206. package/dist/utils/report/output.types.js.map +1 -1
  207. package/dist/utils/report/report.js.map +1 -1
  208. package/dist/utils/report/report.types.js.map +1 -1
  209. package/dist/utils/request/index.js.map +1 -1
  210. package/dist/utils/request/request.js.map +1 -1
  211. package/dist/utils/semverCompare/index.js.map +1 -1
  212. package/dist/utils/semverCompare/semverCompare.js +5 -5
  213. package/dist/utils/semverCompare/semverCompare.js.map +1 -1
  214. package/dist/utils/sendEmail/index.js.map +1 -1
  215. package/dist/utils/sendEmail/sendEmail.js +8 -8
  216. package/dist/utils/sendEmail/sendEmail.js.map +1 -1
  217. package/dist/utils/sendEmail/sendEmail.types.js.map +1 -1
  218. package/dist/utils/sendPush/index.js.map +1 -1
  219. package/dist/utils/sendPush/sendPush.js +5 -5
  220. package/dist/utils/sendPush/sendPush.js.map +1 -1
  221. package/dist/utils/sendPush/sendPush.types.js.map +1 -1
  222. package/dist/utils/tlsConfig/index.js.map +1 -1
  223. package/dist/utils/tlsConfig/tlsConfig.js +2 -2
  224. package/dist/utils/tlsConfig/tlsConfig.js.map +1 -1
  225. package/dist/utils/tlsConfig/tlsConfig.types.js.map +1 -1
  226. package/dist/utils/tlsConfig/tlsConfig.validate.js +2 -2
  227. package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -1
  228. package/dist/utils/tlsRequest/index.js.map +1 -1
  229. package/dist/utils/tlsRequest/tlsRequest.js.map +1 -1
  230. package/dist/utils/trimPathSlash/index.js.map +1 -1
  231. package/dist/utils/trimPathSlash/trimPathSlash.js +4 -4
  232. package/dist/utils/trimPathSlash/trimPathSlash.js.map +1 -1
  233. package/eslint.config.mjs +11 -11
  234. package/package.json +164 -161
  235. package/src/const/DebeziumEvent.ts +6 -6
  236. package/src/const/LogSeverity.ts +7 -7
  237. package/src/const/index.ts +5 -5
  238. package/src/const/metrics.ts +6 -6
  239. package/src/const/mime.ts +37 -37
  240. package/src/const/tokenIssuer.ts +9 -9
  241. package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +29 -29
  242. package/src/db/models/SequelizeMeta.ts +16 -16
  243. package/src/db/models/index.ts +2 -2
  244. package/src/entities/ElasticSearch/ElasticSearch.ts +103 -103
  245. package/src/entities/ElasticSearch/ElasticSearch.types.ts +7 -7
  246. package/src/entities/ElasticSearch/index.ts +2 -2
  247. package/src/entities/Endpoint/Endpoint.test.ts +337 -337
  248. package/src/entities/Endpoint/Endpoint.ts +202 -202
  249. package/src/entities/Endpoint/Endpoint.types.ts +205 -205
  250. package/src/entities/Endpoint/index.ts +2 -2
  251. package/src/entities/EngineError/EngineError.ts +28 -28
  252. package/src/entities/EngineError/EngineError.types.ts +15 -15
  253. package/src/entities/EngineError/index.ts +2 -2
  254. package/src/entities/KeySet/KeySet.test.ts +126 -126
  255. package/src/entities/KeySet/KeySet.ts +172 -172
  256. package/src/entities/KeySet/KeySet.types.ts +28 -28
  257. package/src/entities/KeySet/index.ts +2 -2
  258. package/src/entities/LifecycleController/LifecycleController.test.ts +48 -48
  259. package/src/entities/LifecycleController/LifecycleController.ts +24 -24
  260. package/src/entities/LifecycleController/LifecycleController.types.ts +5 -5
  261. package/src/entities/LifecycleController/index.ts +2 -2
  262. package/src/entities/Localizator/Localizator.ts +139 -139
  263. package/src/entities/Localizator/Localizator.types.ts +52 -52
  264. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +165 -165
  265. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +58 -58
  266. package/src/entities/Localizator/guessNamingConvention/index.ts +1 -1
  267. package/src/entities/Localizator/index.ts +2 -2
  268. package/src/entities/MessageHandler/MessageHandler.test.ts +130 -130
  269. package/src/entities/MessageHandler/MessageHandler.ts +72 -72
  270. package/src/entities/MessageHandler/MessageHandler.types.ts +15 -15
  271. package/src/entities/MessageHandler/index.ts +2 -2
  272. package/src/entities/PubSub/PubSub.test.ts +297 -297
  273. package/src/entities/PubSub/PubSub.ts +202 -202
  274. package/src/entities/PubSub/PubSub.types.ts +76 -76
  275. package/src/entities/PubSub/handleMessage/handleMessage.test.ts +102 -102
  276. package/src/entities/PubSub/handleMessage/handleMessage.ts +65 -65
  277. package/src/entities/PubSub/handleMessage/index.ts +1 -1
  278. package/src/entities/PubSub/index.ts +2 -2
  279. package/src/entities/PushNotification/PushNotification.test.ts +35 -35
  280. package/src/entities/PushNotification/PushNotification.ts +44 -44
  281. package/src/entities/PushNotification/PushNotification.types.ts +25 -25
  282. package/src/entities/PushNotification/index.ts +2 -2
  283. package/src/entities/Redis/Redis.ts +71 -71
  284. package/src/entities/Redis/Redis.types.ts +19 -19
  285. package/src/entities/Redis/Redis.validate.ts +17 -17
  286. package/src/entities/Redis/index.ts +2 -2
  287. package/src/entities/Sequelize/Sequelize.config.ts +59 -29
  288. package/src/entities/Sequelize/Sequelize.test.ts +21 -21
  289. package/src/entities/Sequelize/Sequelize.ts +75 -75
  290. package/src/entities/Sequelize/Sequelize.types.ts +10 -10
  291. package/src/entities/Sequelize/Sequelize.validate.ts +15 -15
  292. package/src/entities/Sequelize/index.ts +2 -2
  293. package/src/entities/Server/Server.const.ts +56 -56
  294. package/src/entities/Server/Server.test.ts +272 -272
  295. package/src/entities/Server/Server.ts +445 -445
  296. package/src/entities/Server/Server.types.ts +88 -88
  297. package/src/entities/Server/index.ts +2 -2
  298. package/src/entities/SocketClient/SocketClient.test.ts +392 -392
  299. package/src/entities/SocketClient/SocketClient.ts +401 -401
  300. package/src/entities/SocketClient/SocketClient.types.ts +62 -62
  301. package/src/entities/SocketClient/index.ts +2 -2
  302. package/src/entities/SocketClient/parseMessage/index.ts +1 -1
  303. package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +20 -20
  304. package/src/entities/SocketClient/parseMessage/parseMessage.ts +26 -26
  305. package/src/entities/Storage/Storage.test.ts +58 -58
  306. package/src/entities/Storage/Storage.ts +219 -219
  307. package/src/entities/Storage/Storage.types.ts +57 -57
  308. package/src/entities/Storage/index.ts +2 -2
  309. package/src/entities/ValidationError/ValidationError.ts +34 -34
  310. package/src/entities/ValidationError/index.ts +1 -1
  311. package/src/entities/WebError/WebError.test.ts +18 -18
  312. package/src/entities/WebError/WebError.ts +23 -23
  313. package/src/entities/WebError/WebError.types.ts +9 -9
  314. package/src/entities/WebError/index.ts +2 -2
  315. package/src/entities/index.ts +16 -16
  316. package/src/index.ts +4 -4
  317. package/src/metrics/debug.ts +10 -10
  318. package/src/metrics/index.ts +2 -2
  319. package/src/metrics/request.ts +17 -17
  320. package/src/middleware/authAdmin/authAdmin.test.ts +199 -199
  321. package/src/middleware/authAdmin/authAdmin.ts +114 -114
  322. package/src/middleware/authAdmin/authAdmin.types.ts +19 -19
  323. package/src/middleware/authAdmin/index.ts +2 -2
  324. package/src/middleware/authHmac/authHmac.test.ts +86 -86
  325. package/src/middleware/authHmac/authHmac.ts +56 -56
  326. package/src/middleware/authHmac/authHmac.types.ts +7 -7
  327. package/src/middleware/authHmac/index.ts +2 -2
  328. package/src/middleware/authJwt/authJwt.test.ts +54 -54
  329. package/src/middleware/authJwt/authJwt.ts +55 -55
  330. package/src/middleware/authJwt/authJwt.types.ts +14 -14
  331. package/src/middleware/authJwt/index.ts +2 -2
  332. package/src/middleware/authStatic/authStatic.test.ts +36 -36
  333. package/src/middleware/authStatic/authStatic.ts +45 -45
  334. package/src/middleware/authStatic/index.ts +1 -1
  335. package/src/middleware/authTls/authTls.test.ts +138 -138
  336. package/src/middleware/authTls/authTls.ts +106 -106
  337. package/src/middleware/authTls/authTls.types.ts +13 -13
  338. package/src/middleware/authTls/index.ts +2 -2
  339. package/src/middleware/checkPermission/checkPermission.ts +32 -32
  340. package/src/middleware/error/error.test.ts +60 -60
  341. package/src/middleware/error/error.ts +25 -25
  342. package/src/middleware/error/index.ts +1 -1
  343. package/src/middleware/fileUploader/compressAvatar/compressAvatar.ts +25 -25
  344. package/src/middleware/fileUploader/compressAvatar/compressAvatar.types.ts +12 -12
  345. package/src/middleware/fileUploader/compressAvatar/index.ts +2 -2
  346. package/src/middleware/fileUploader/fileUploader.test.ts +310 -310
  347. package/src/middleware/fileUploader/fileUploader.ts +303 -303
  348. package/src/middleware/fileUploader/fileUploader.types.ts +52 -52
  349. package/src/middleware/fileUploader/index.ts +2 -2
  350. package/src/middleware/fileUploader/isMultiPart/index.ts +1 -1
  351. package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +9 -9
  352. package/src/middleware/fileUploader/validate/index.ts +1 -1
  353. package/src/middleware/fileUploader/validate/validate.ts +27 -27
  354. package/src/middleware/fourOhFour/fourOhFour.test.ts +14 -14
  355. package/src/middleware/fourOhFour/fourOhFour.ts +13 -13
  356. package/src/middleware/fourOhFour/index.ts +1 -1
  357. package/src/middleware/geminiFileUploader/geminiFileUploader.ts +117 -117
  358. package/src/middleware/geminiFileUploader/index.ts +1 -1
  359. package/src/middleware/healthCheck/healthCheck.test.ts +12 -12
  360. package/src/middleware/healthCheck/healthCheck.ts +14 -14
  361. package/src/middleware/healthCheck/index.ts +1 -1
  362. package/src/middleware/index.ts +17 -17
  363. package/src/middleware/metrics/index.ts +1 -1
  364. package/src/middleware/metrics/metrics.test.ts +46 -46
  365. package/src/middleware/metrics/metrics.ts +24 -24
  366. package/src/middleware/requestMetrics/index.ts +1 -1
  367. package/src/middleware/requestMetrics/requestMetrics.test.ts +77 -77
  368. package/src/middleware/requestMetrics/requestMetrics.ts +20 -20
  369. package/src/middleware/swaggerDocs/index.ts +2 -2
  370. package/src/middleware/swaggerDocs/swaggerDocs.ts +114 -114
  371. package/src/middleware/swaggerDocs/swaggerDocs.types.ts +41 -41
  372. package/src/middleware/userResolver/index.ts +1 -1
  373. package/src/middleware/userResolver/userResolver.test.ts +35 -35
  374. package/src/middleware/userResolver/userResolver.ts +35 -35
  375. package/src/middleware/validate/index.ts +1 -1
  376. package/src/middleware/validate/validate.test.ts +43 -43
  377. package/src/middleware/validate/validate.ts +25 -25
  378. package/src/middleware/version/index.ts +1 -1
  379. package/src/middleware/version/version.test.ts +23 -23
  380. package/src/middleware/version/version.ts +12 -12
  381. package/src/utils/checkEnvironment/index.ts +49 -49
  382. package/src/utils/createHttpServer/createHttpServer.test.ts +24 -24
  383. package/src/utils/createHttpServer/createHttpServer.ts +34 -34
  384. package/src/utils/createHttpServer/createHttpServer.validate.ts +17 -17
  385. package/src/utils/createHttpServer/index.ts +1 -1
  386. package/src/utils/createSortedObject/createSortedObject.ts +20 -20
  387. package/src/utils/createSortedObject/createSortedObjet.test.ts +47 -47
  388. package/src/utils/createSortedObject/index.ts +1 -1
  389. package/src/utils/dbMigration/dbMigration.test.ts +209 -209
  390. package/src/utils/dbMigration/dbMigration.ts +199 -199
  391. package/src/utils/dbMigration/dbMigration.types.ts +11 -11
  392. package/src/utils/dbMigration/index.ts +2 -2
  393. package/src/utils/dbMigration/migrateMetadataTable/index.ts +1 -1
  394. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +59 -59
  395. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +102 -70
  396. package/src/utils/envAssert/envAssert.ts +31 -31
  397. package/src/utils/envAssert/index.ts +1 -1
  398. package/src/utils/envAssert/validators/hostList.ts +17 -17
  399. package/src/utils/envAssert/validators/index.ts +5 -5
  400. package/src/utils/envAssert/validators/ipList.ts +13 -13
  401. package/src/utils/envAssert/validators/path.ts +13 -13
  402. package/src/utils/envAssert/validators/string.ts +9 -9
  403. package/src/utils/envAssert/validators/stringList.ts +13 -13
  404. package/src/utils/filter/filter.ts +17 -17
  405. package/src/utils/filter/index.ts +1 -1
  406. package/src/utils/getDynamicLink/getDynamicLink.test.ts +51 -51
  407. package/src/utils/getDynamicLink/getDynamicLink.ts +28 -28
  408. package/src/utils/getDynamicLink/getDynamicLink.types.ts +11 -11
  409. package/src/utils/getDynamicLink/getDynamicLink.validate.ts +6 -6
  410. package/src/utils/getDynamicLink/index.ts +2 -2
  411. package/src/utils/hmac/checkEnv/checkEnv.test.ts +18 -18
  412. package/src/utils/hmac/checkEnv/checkEnv.ts +9 -9
  413. package/src/utils/hmac/checkEnv/index.ts +1 -1
  414. package/src/utils/hmac/createHmac/createHmac.ts +33 -33
  415. package/src/utils/hmac/createHmac/index.ts +1 -1
  416. package/src/utils/hmac/index.ts +4 -4
  417. package/src/utils/hmac/index.types.ts +13 -13
  418. package/src/utils/hmac/signPayload/index.ts +1 -1
  419. package/src/utils/hmac/signPayload/signPayload.ts +16 -16
  420. package/src/utils/hmac/verifySignature/index.ts +1 -1
  421. package/src/utils/hmac/verifySignature/verifySignature.ts +24 -24
  422. package/src/utils/index.ts +26 -26
  423. package/src/utils/jwt/index.ts +2 -2
  424. package/src/utils/jwt/jwt.test.ts +41 -41
  425. package/src/utils/jwt/jwt.ts +204 -204
  426. package/src/utils/jwt/jwt.types.ts +21 -21
  427. package/src/utils/report/index.ts +3 -3
  428. package/src/utils/report/output.ts +45 -45
  429. package/src/utils/report/output.types.ts +70 -70
  430. package/src/utils/report/report.test.ts +133 -133
  431. package/src/utils/report/report.ts +134 -134
  432. package/src/utils/report/report.types.ts +13 -13
  433. package/src/utils/request/index.ts +1 -1
  434. package/src/utils/request/request.test.ts +26 -26
  435. package/src/utils/request/request.ts +48 -48
  436. package/src/utils/semverCompare/index.ts +1 -1
  437. package/src/utils/semverCompare/semverCompare.test.ts +49 -49
  438. package/src/utils/semverCompare/semverCompare.ts +60 -60
  439. package/src/utils/sendEmail/index.ts +1 -1
  440. package/src/utils/sendEmail/sendEmail.ts +27 -27
  441. package/src/utils/sendEmail/sendEmail.types.ts +7 -7
  442. package/src/utils/sendPush/index.ts +2 -2
  443. package/src/utils/sendPush/sendPush.ts +20 -20
  444. package/src/utils/sendPush/sendPush.types.ts +25 -25
  445. package/src/utils/tlsConfig/index.ts +2 -2
  446. package/src/utils/tlsConfig/tlsConfig.test.ts +32 -32
  447. package/src/utils/tlsConfig/tlsConfig.ts +47 -47
  448. package/src/utils/tlsConfig/tlsConfig.types.ts +11 -11
  449. package/src/utils/tlsConfig/tlsConfig.validate.ts +25 -25
  450. package/src/utils/tlsRequest/index.ts +1 -1
  451. package/src/utils/tlsRequest/tlsRequest.test.ts +63 -63
  452. package/src/utils/tlsRequest/tlsRequest.ts +12 -12
  453. package/src/utils/trimPathSlash/index.ts +1 -1
  454. package/src/utils/trimPathSlash/trimPathSlash.test.ts +26 -26
  455. package/src/utils/trimPathSlash/trimPathSlash.ts +8 -8
  456. package/test/env.ts +56 -56
  457. package/test/factory/index.ts +8 -8
  458. package/test/factory/sequelizeMeta.ts +12 -12
  459. package/test/hooks.ts +37 -37
  460. package/test/index.ts +3 -3
  461. package/test/stub/index.ts +3 -3
  462. package/test/stub/stubLocales.ts +68 -68
  463. package/test/stub/stubPubSub.ts +7 -7
  464. package/test/stub/stubStorage.ts +77 -77
  465. package/test/stub/stubStorage.types.ts +11 -11
  466. package/test/utils/app.ts +31 -31
  467. package/test/utils/index.ts +1 -1
  468. package/tsconfig.build.json +5 -5
  469. package/tsconfig.json +32 -32
@@ -1,205 +1,205 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import {
3
- ErrorRequestHandler,
4
- Request,
5
- Response,
6
- NextFunction,
7
- RequestHandler
8
- } from 'express';
9
- import { ParamsDictionary } from 'express-serve-static-core';
10
- import { Schema } from 'express-validator';
11
- import { ParsedQs } from 'qs';
12
-
13
- import {
14
- authJwt,
15
- authHmac,
16
- authTls,
17
- authStatic,
18
- authAdmin,
19
- FileUploaderConfig,
20
- RequestAdminProps
21
- } from 'middleware';
22
-
23
- export enum EndpointMethod {
24
- GET = 'get',
25
- POST = 'post',
26
- PUT = 'put',
27
- PATCH = 'patch',
28
- DELETE = 'delete',
29
- HEAD = 'head',
30
- ALL = 'all'
31
- }
32
-
33
- export const EndpointMethods = Object.values(EndpointMethod);
34
-
35
- export enum EndpointAuthType {
36
- NONE = 'none',
37
- JWT = 'jwt',
38
- TLS = 'tls',
39
- HMAC = 'hmac',
40
- STATIC = 'static',
41
- ADMIN = 'admin'
42
- }
43
-
44
- export const EndpointAuthTypes = Object.values(EndpointAuthType);
45
-
46
- export type Middleware<T extends EndpointAuthType> = (
47
- request: EndpointRequestType[T],
48
- response: Response,
49
- next: NextFunction
50
- ) => unknown | Promise<unknown>;
51
-
52
- export type MiddlewareChainElement<T extends EndpointAuthType> =
53
- | Array<Middleware<T>>
54
- | Middleware<T>
55
- | any;
56
-
57
- /** Auth related parameters used with Admin authentication */
58
- interface EndpointAuthAdminParams {
59
- /** [Admin] User permission required to use this endpoint */
60
- permission: string;
61
- }
62
-
63
- /** Auth related parameters used with HMAC authentication */
64
- interface EndpointAuthHmacParams {
65
- /** [HMAC] Secret used for signature */
66
- secret?: string;
67
- /** [HMAC] For Github webhook, the standard differs slightly, so this option must be selected */
68
- isGithub?: boolean;
69
- }
70
-
71
- /** Auth related parameters used with mTLS authentication */
72
- interface EndpointAuthTlsParams {
73
- /** [TLS] List oh hosts that are allowed to use the endpoint, this is compared to the claims in the certificate */
74
- whitelist?: Array<string>;
75
- }
76
-
77
- /** Mapping used to get auth specific parameters depending on the auth type used */
78
- interface EndpointAuthSpecificParams {
79
- /** Auth parameters for no authentication */
80
- [EndpointAuthType.NONE]: any;
81
- /** Auth parameters for JWT authentication */
82
- [EndpointAuthType.JWT]: any;
83
- /** Auth parameters for mTLS authentication */
84
- [EndpointAuthType.TLS]: EndpointAuthTlsParams;
85
- /** Auth parameters for HMAC authentication */
86
- [EndpointAuthType.HMAC]: EndpointAuthHmacParams;
87
- /** Auth parameters for static authentication */
88
- [EndpointAuthType.STATIC]: any;
89
- /** Auth parameters for admin token authentication */
90
- [EndpointAuthType.ADMIN]: EndpointAuthAdminParams;
91
- }
92
-
93
- export type EndpointAuthParams<T extends EndpointAuthType> =
94
- EndpointAuthSpecificParams[T] & {
95
- /** This will allow the business logic to run event if the authentication fails */
96
- acceptInvalid?: boolean;
97
- };
98
-
99
- export type EndpointAuthHandler<T extends EndpointAuthType> = (
100
- options?: EndpointAuthParams<T>
101
- ) => (
102
- request: Request,
103
- response: Response,
104
- next: NextFunction
105
- ) => void | Promise<void>;
106
-
107
- export const EndpointAuthHandlers = {
108
- /** Auth handler for no authentication */
109
- [EndpointAuthType.NONE]: undefined,
110
- /** Auth handler for JWT authentication */
111
- [EndpointAuthType.JWT]: authJwt,
112
- /** Auth handler for mTLS authentication */
113
- [EndpointAuthType.TLS]: authTls,
114
- /** Auth handler for HMAC authentication */
115
- [EndpointAuthType.HMAC]: authHmac,
116
- /** Auth handler for static authentication */
117
- [EndpointAuthType.STATIC]: authStatic,
118
- /** Auth handler for admin token authentication */
119
- [EndpointAuthType.ADMIN]: authAdmin
120
- };
121
-
122
- export type EndpointHandler<T extends EndpointAuthType> = (
123
- request: EndpointRequestType[T],
124
- response: Response
125
- ) => void | Promise<void>;
126
-
127
- /** Endpoint initialization options */
128
- export interface EndpointOptions<T extends EndpointAuthType> {
129
- /** Path at which the endpoint is reachable */
130
- path: string;
131
- /** HTTP method of the endpoint */
132
- method: EndpointMethod;
133
- /** Function handling the endpoint's business logic */
134
- handler: EndpointHandler<T>;
135
- /** Validation schema that the request must pass before reaching the handler */
136
- validator: Schema;
137
- /** Authentication system required by this endpoint */
138
- authType: T;
139
- /** Authentication related options for this endpoint */
140
- authParams?: EndpointAuthParams<T>;
141
- /** @deprecated Setting to upload a file through this endpoint */
142
- file?: FileUploaderConfig;
143
- /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */
144
- files?: Array<FileUploaderConfig>;
145
- /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */
146
- middleware?: MiddlewareChainElement<T>;
147
- /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */
148
- errorMiddleware?: ErrorRequestHandler | Array<ErrorRequestHandler>;
149
- }
150
-
151
- /** Request type when using JWT authentication */
152
- export interface JwtRequest<
153
- P = ParamsDictionary,
154
- ResBody = any,
155
- ReqBody = any,
156
- ReqQuery = ParsedQs,
157
- Locals extends Record<string, any> = Record<string, any>
158
- > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
159
- /** User that identified using a JWT */
160
- user: Record<string, any> | any;
161
- }
162
-
163
- /** Request type when using mTLS authentication */
164
- export interface TlsRequest<
165
- P = ParamsDictionary,
166
- ResBody = any,
167
- ReqBody = any,
168
- ReqQuery = ParsedQs,
169
- Locals extends Record<string, any> = Record<string, any>
170
- > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
171
- /** Host names provided by the mTLS authenticated client */
172
- hosts: Array<string>;
173
- }
174
-
175
- /** Request type when using HMAC authentication */
176
- export interface AdminRequest<
177
- P = ParamsDictionary,
178
- ResBody = any,
179
- ReqBody = any,
180
- ReqQuery = ParsedQs,
181
- Locals extends Record<string, any> = Record<string, any>
182
- > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
183
- /** User that identified using a JWT */
184
- admin: RequestAdminProps;
185
- }
186
-
187
- /** Mapping of request types in endpoints based on auth type used */
188
- export interface EndpointRequestType {
189
- /** Request type for no authentication */
190
- [EndpointAuthType.NONE]: Request;
191
- /** Request type when using JWT authentication */
192
- [EndpointAuthType.JWT]: JwtRequest;
193
- /** Request type when using mTLS authentication */
194
- [EndpointAuthType.TLS]: TlsRequest;
195
- /** Request type when using HMAC authentication */
196
- [EndpointAuthType.HMAC]: Request;
197
- /** Auth handler for static authentication */
198
- [EndpointAuthType.STATIC]: Request;
199
- /** Auth handler for admin token authentication */
200
- [EndpointAuthType.ADMIN]: AdminRequest;
201
- }
202
-
203
- export type SafeMiddleWareChain = Array<
204
- RequestHandler | ErrorRequestHandler | SafeMiddleWareChain
205
- >;
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import {
3
+ ErrorRequestHandler,
4
+ Request,
5
+ Response,
6
+ NextFunction,
7
+ RequestHandler
8
+ } from 'express';
9
+ import { ParamsDictionary } from 'express-serve-static-core';
10
+ import { Schema } from 'express-validator';
11
+ import { ParsedQs } from 'qs';
12
+
13
+ import {
14
+ authJwt,
15
+ authHmac,
16
+ authTls,
17
+ authStatic,
18
+ authAdmin,
19
+ FileUploaderConfig,
20
+ RequestAdminProps
21
+ } from 'middleware';
22
+
23
+ export enum EndpointMethod {
24
+ GET = 'get',
25
+ POST = 'post',
26
+ PUT = 'put',
27
+ PATCH = 'patch',
28
+ DELETE = 'delete',
29
+ HEAD = 'head',
30
+ ALL = 'all'
31
+ }
32
+
33
+ export const EndpointMethods = Object.values(EndpointMethod);
34
+
35
+ export enum EndpointAuthType {
36
+ NONE = 'none',
37
+ JWT = 'jwt',
38
+ TLS = 'tls',
39
+ HMAC = 'hmac',
40
+ STATIC = 'static',
41
+ ADMIN = 'admin'
42
+ }
43
+
44
+ export const EndpointAuthTypes = Object.values(EndpointAuthType);
45
+
46
+ export type Middleware<T extends EndpointAuthType> = (
47
+ request: EndpointRequestType[T],
48
+ response: Response,
49
+ next: NextFunction
50
+ ) => unknown | Promise<unknown>;
51
+
52
+ export type MiddlewareChainElement<T extends EndpointAuthType> =
53
+ | Array<Middleware<T>>
54
+ | Middleware<T>
55
+ | any;
56
+
57
+ /** Auth related parameters used with Admin authentication */
58
+ interface EndpointAuthAdminParams {
59
+ /** [Admin] User permission required to use this endpoint */
60
+ permission: string;
61
+ }
62
+
63
+ /** Auth related parameters used with HMAC authentication */
64
+ interface EndpointAuthHmacParams {
65
+ /** [HMAC] Secret used for signature */
66
+ secret?: string;
67
+ /** [HMAC] For Github webhook, the standard differs slightly, so this option must be selected */
68
+ isGithub?: boolean;
69
+ }
70
+
71
+ /** Auth related parameters used with mTLS authentication */
72
+ interface EndpointAuthTlsParams {
73
+ /** [TLS] List oh hosts that are allowed to use the endpoint, this is compared to the claims in the certificate */
74
+ whitelist?: Array<string>;
75
+ }
76
+
77
+ /** Mapping used to get auth specific parameters depending on the auth type used */
78
+ interface EndpointAuthSpecificParams {
79
+ /** Auth parameters for no authentication */
80
+ [EndpointAuthType.NONE]: any;
81
+ /** Auth parameters for JWT authentication */
82
+ [EndpointAuthType.JWT]: any;
83
+ /** Auth parameters for mTLS authentication */
84
+ [EndpointAuthType.TLS]: EndpointAuthTlsParams;
85
+ /** Auth parameters for HMAC authentication */
86
+ [EndpointAuthType.HMAC]: EndpointAuthHmacParams;
87
+ /** Auth parameters for static authentication */
88
+ [EndpointAuthType.STATIC]: any;
89
+ /** Auth parameters for admin token authentication */
90
+ [EndpointAuthType.ADMIN]: EndpointAuthAdminParams;
91
+ }
92
+
93
+ export type EndpointAuthParams<T extends EndpointAuthType> =
94
+ EndpointAuthSpecificParams[T] & {
95
+ /** This will allow the business logic to run event if the authentication fails */
96
+ acceptInvalid?: boolean;
97
+ };
98
+
99
+ export type EndpointAuthHandler<T extends EndpointAuthType> = (
100
+ options?: EndpointAuthParams<T>
101
+ ) => (
102
+ request: Request,
103
+ response: Response,
104
+ next: NextFunction
105
+ ) => void | Promise<void>;
106
+
107
+ export const EndpointAuthHandlers = {
108
+ /** Auth handler for no authentication */
109
+ [EndpointAuthType.NONE]: undefined,
110
+ /** Auth handler for JWT authentication */
111
+ [EndpointAuthType.JWT]: authJwt,
112
+ /** Auth handler for mTLS authentication */
113
+ [EndpointAuthType.TLS]: authTls,
114
+ /** Auth handler for HMAC authentication */
115
+ [EndpointAuthType.HMAC]: authHmac,
116
+ /** Auth handler for static authentication */
117
+ [EndpointAuthType.STATIC]: authStatic,
118
+ /** Auth handler for admin token authentication */
119
+ [EndpointAuthType.ADMIN]: authAdmin
120
+ };
121
+
122
+ export type EndpointHandler<T extends EndpointAuthType> = (
123
+ request: EndpointRequestType[T],
124
+ response: Response
125
+ ) => void | Promise<void>;
126
+
127
+ /** Endpoint initialization options */
128
+ export interface EndpointOptions<T extends EndpointAuthType> {
129
+ /** Path at which the endpoint is reachable */
130
+ path: string;
131
+ /** HTTP method of the endpoint */
132
+ method: EndpointMethod;
133
+ /** Function handling the endpoint's business logic */
134
+ handler: EndpointHandler<T>;
135
+ /** Validation schema that the request must pass before reaching the handler */
136
+ validator: Schema;
137
+ /** Authentication system required by this endpoint */
138
+ authType: T;
139
+ /** Authentication related options for this endpoint */
140
+ authParams?: EndpointAuthParams<T>;
141
+ /** @deprecated Setting to upload a file through this endpoint */
142
+ file?: FileUploaderConfig;
143
+ /** Settings to upload files through this endpoint (this will automatically switch the expected request to be a multipart) */
144
+ files?: Array<FileUploaderConfig>;
145
+ /** Express request handlers that should run on this endpoint before the business logic, they will run after the global middleware */
146
+ middleware?: MiddlewareChainElement<T>;
147
+ /** Express error handlers that should be registered for this endpoint. they will run before the global error handler */
148
+ errorMiddleware?: ErrorRequestHandler | Array<ErrorRequestHandler>;
149
+ }
150
+
151
+ /** Request type when using JWT authentication */
152
+ export interface JwtRequest<
153
+ P = ParamsDictionary,
154
+ ResBody = any,
155
+ ReqBody = any,
156
+ ReqQuery = ParsedQs,
157
+ Locals extends Record<string, any> = Record<string, any>
158
+ > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
159
+ /** User that identified using a JWT */
160
+ user: Record<string, any> | any;
161
+ }
162
+
163
+ /** Request type when using mTLS authentication */
164
+ export interface TlsRequest<
165
+ P = ParamsDictionary,
166
+ ResBody = any,
167
+ ReqBody = any,
168
+ ReqQuery = ParsedQs,
169
+ Locals extends Record<string, any> = Record<string, any>
170
+ > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
171
+ /** Host names provided by the mTLS authenticated client */
172
+ hosts: Array<string>;
173
+ }
174
+
175
+ /** Request type when using HMAC authentication */
176
+ export interface AdminRequest<
177
+ P = ParamsDictionary,
178
+ ResBody = any,
179
+ ReqBody = any,
180
+ ReqQuery = ParsedQs,
181
+ Locals extends Record<string, any> = Record<string, any>
182
+ > extends Request<P, ResBody, ReqBody, ReqQuery, Locals> {
183
+ /** User that identified using a JWT */
184
+ admin: RequestAdminProps;
185
+ }
186
+
187
+ /** Mapping of request types in endpoints based on auth type used */
188
+ export interface EndpointRequestType {
189
+ /** Request type for no authentication */
190
+ [EndpointAuthType.NONE]: Request;
191
+ /** Request type when using JWT authentication */
192
+ [EndpointAuthType.JWT]: JwtRequest;
193
+ /** Request type when using mTLS authentication */
194
+ [EndpointAuthType.TLS]: TlsRequest;
195
+ /** Request type when using HMAC authentication */
196
+ [EndpointAuthType.HMAC]: Request;
197
+ /** Auth handler for static authentication */
198
+ [EndpointAuthType.STATIC]: Request;
199
+ /** Auth handler for admin token authentication */
200
+ [EndpointAuthType.ADMIN]: AdminRequest;
201
+ }
202
+
203
+ export type SafeMiddleWareChain = Array<
204
+ RequestHandler | ErrorRequestHandler | SafeMiddleWareChain
205
+ >;
@@ -1,2 +1,2 @@
1
- export * from './Endpoint';
2
- export * from './Endpoint.types';
1
+ export * from './Endpoint';
2
+ export * from './Endpoint.types';
@@ -1,28 +1,28 @@
1
- import { EngineErrorOptions } from './EngineError.types';
2
- import { LogSeverity } from 'const';
3
-
4
- /**
5
- * Base error type for engine related errors
6
- */
7
- export class EngineError extends Error {
8
- /** Severity of the log entry */
9
- public severity: LogSeverity;
10
- /** If this error is wrapping another one, this will contain the original error */
11
- public error?: Error;
12
- /** Additional contextual data for debugging */
13
- public data?: unknown;
14
- /** Human readable error message sent to the client */
15
- public hint?: unknown;
16
-
17
- /** Create an EngineError, these errors represent errors in the engine itself */
18
- public constructor(config: EngineErrorOptions | string) {
19
- const options: EngineErrorOptions =
20
- typeof config === 'string' ? { message: config } : config;
21
- super(options.message);
22
-
23
- this.severity = options.severity ?? LogSeverity.CRITICAL;
24
- this.data = options.data;
25
- this.error = options.error;
26
- this.hint = options.hint;
27
- }
28
- }
1
+ import { EngineErrorOptions } from './EngineError.types';
2
+ import { LogSeverity } from 'const';
3
+
4
+ /**
5
+ * Base error type for engine related errors
6
+ */
7
+ export class EngineError extends Error {
8
+ /** Severity of the log entry */
9
+ public severity: LogSeverity;
10
+ /** If this error is wrapping another one, this will contain the original error */
11
+ public error?: Error;
12
+ /** Additional contextual data for debugging */
13
+ public data?: unknown;
14
+ /** Human readable error message sent to the client */
15
+ public hint?: unknown;
16
+
17
+ /** Create an EngineError, these errors represent errors in the engine itself */
18
+ public constructor(config: EngineErrorOptions | string) {
19
+ const options: EngineErrorOptions =
20
+ typeof config === 'string' ? { message: config } : config;
21
+ super(options.message);
22
+
23
+ this.severity = options.severity ?? LogSeverity.CRITICAL;
24
+ this.data = options.data;
25
+ this.error = options.error;
26
+ this.hint = options.hint;
27
+ }
28
+ }
@@ -1,15 +1,15 @@
1
- import { LogSeverity } from 'const';
2
-
3
- /** EngineError initialization options */
4
- export interface EngineErrorOptions {
5
- /** Main logged message */
6
- message: string;
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
- }
1
+ import { LogSeverity } from 'const';
2
+
3
+ /** EngineError initialization options */
4
+ export interface EngineErrorOptions {
5
+ /** Main logged message */
6
+ message: string;
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
+ }
@@ -1,2 +1,2 @@
1
- export * from './EngineError';
2
- export * from './EngineError.types';
1
+ export * from './EngineError';
2
+ export * from './EngineError.types';