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 @@
1
+ {"version":3,"file":"dbMigration.js","names":["_fs","require","_path","_umzug","_migrateMetadataTable","_models","_EngineError","_Sequelize","_report","_semverCompare","namespace","getMigrationPaths","prodDefaultPath","join","process","cwd","devDefaultPath","path","env","DB_MIGRATIONS_DIR","NODE_ENV","filter","existsSync","lstatSync","isDirectory","reportDebug","message","data","prodPath","devPath","customPath","map","p","runPendingMigrations","sequelize","EngineError","migrateMetadataTable","migrationPaths","length","forEach","migrator","Umzug","migrations","glob","resolve","name","context","migration","up","down","getQueryInterface","storage","SequelizeStorage","logger","console","log","rollbackMigrations","BUILD_ID","SequelizeMeta","findAll","order","rollbackUntil","find","version","semverCompare","buildId","to","testRecreateDB","options","query","SQL_TYPE","clean","testClearDB","transaction","clearDbTransaction","t","model","Object","keys","models","includeMetadata","table","tableName","raw"],"sources":["../../../src/utils/dbMigration/dbMigration.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-require-imports */\n// Register ts-node at the top of runMigrations.ts\nrequire('ts-node/register');\n\nimport { existsSync, lstatSync } from 'fs';\nimport { join } from 'path';\nimport { Sequelize, Transaction } from 'sequelize';\nimport { Umzug, SequelizeStorage } from 'umzug';\nimport { ClearDbOptions, RecreateDbOptions } from './dbMigration.types';\nimport { migrateMetadataTable } from './migrateMetadataTable';\nimport { SequelizeMeta } from 'db/models';\nimport { EngineError } from 'entities/EngineError';\nimport { sequelize } from 'entities/Sequelize';\nimport { reportDebug } from 'utils/report';\nimport { semverCompare } from 'utils/semverCompare';\n\nconst namespace = 'engine:utils:dbMigration';\n\nfunction getMigrationPaths(): Array<string> | undefined {\n // We look between possibilities for the first directory that exists and matches our expectations\n // First a user specified one, then the production default, then the development default\n const prodDefaultPath = join(process.cwd(), './dist/db/migrations');\n const devDefaultPath = join(process.cwd(), './src/db/migrations');\n const path = [\n process.env.DB_MIGRATIONS_DIR,\n process.env.NODE_ENV === 'prod' ? prodDefaultPath : devDefaultPath\n ].filter((path) => path && existsSync(path) && lstatSync(path).isDirectory());\n reportDebug({\n namespace,\n message: 'Obtaining Umzug migration options',\n data: {\n path,\n prodPath: prodDefaultPath,\n devPath: devDefaultPath,\n customPath: process.env.DB_MIGRATIONS_DIR\n }\n });\n return path.map((p) =>\n process.env.NODE_ENV === 'prod' ? `${p}/*.js` : `${p}/*.ts`\n );\n}\n\n/** Run all the non-executed migrations one by one */\nexport async function runPendingMigrations(): Promise<void> {\n if (!sequelize)\n throw new EngineError({ message: 'Sequelize is not initialized' });\n // First make sure that the metadata table is up to date\n await migrateMetadataTable(sequelize);\n const migrationPaths = getMigrationPaths();\n\n if (!migrationPaths || migrationPaths.length <= 0) {\n reportDebug({\n namespace,\n message: 'No valid migration paths found.',\n data: { migrationPaths }\n });\n return;\n }\n\n migrationPaths?.forEach(async (path) => {\n const migrator = new Umzug({\n migrations: {\n glob: path,\n resolve: ({ name, path, context }) => {\n // Use require to import the migration file\n const migration = require(path || '');\n return {\n name,\n up: async () => migration.up(context),\n down: async () => migration.down(context)\n };\n }\n },\n context: sequelize.getQueryInterface(),\n storage: new SequelizeStorage({ sequelize }),\n logger: console\n });\n\n reportDebug({\n namespace,\n message: 'Starting pending database migrations',\n data: { path }\n });\n await migrator.up();\n console.log('Db Migration Completed')\n });\n}\n\n/** Rollback all migrations up to a specified target version */\nexport async function rollbackMigrations(): Promise<void> {\n if (!sequelize)\n throw new EngineError({ message: 'Sequelize is not initialized' });\n if (!process.env.BUILD_ID)\n throw new EngineError({ message: 'BUILD_ID is not defined' });\n\n // Fetch executed migrations in ascending order\n const migrations = await SequelizeMeta.findAll({ order: [['name', 'ASC']] });\n const rollbackUntil = migrations.find(\n (migration) =>\n migration.version &&\n semverCompare(migration.version, process.env.BUILD_ID as string) === 1\n );\n\n if (!rollbackUntil) {\n reportDebug({\n namespace,\n message: 'No rollback target found for the current BUILD_ID.',\n data: { buildId: process.env.BUILD_ID }\n });\n return;\n }\n\n const migrationPaths = getMigrationPaths();\n\n if (!migrationPaths || migrationPaths.length <= 0) {\n reportDebug({\n namespace,\n message: 'No valid migration paths found for rollback.',\n data: { migrationPaths }\n });\n return;\n }\n\n migrationPaths.forEach(async (path) => {\n const migrator = new Umzug({\n migrations: {\n glob: path,\n resolve: ({ name, path, context }) => {\n const migration = require(path || '');\n return {\n name,\n up: async () => migration.up(context),\n down: async () => migration.down(context)\n };\n }\n },\n context: sequelize.getQueryInterface(),\n storage: new SequelizeStorage({ sequelize }),\n logger: console\n });\n\n reportDebug({\n namespace,\n message: `Rolling back migrations up to: ${rollbackUntil.name}`,\n data: { path }\n });\n\n await migrator.down({ to: rollbackUntil.name });\n });\n}\n\n/**\n * Recreate the whole database\n * Quick way to make sure that we are working on a clean database\n * /!\\ Should only be used when running tests\n */\nexport async function testRecreateDB(\n options: RecreateDbOptions = {}\n): Promise<void> {\n if (!sequelize)\n throw new EngineError({ message: 'Sequelize is not initialized' });\n await sequelize.query(\n `DROP SCHEMA public${process.env.SQL_TYPE === 'postgres' ? ' CASCADE' : ''}`\n );\n await sequelize.query(`CREATE SCHEMA public`);\n if (!options.clean) await runPendingMigrations();\n}\n\n/**\n * Empty all the schemas in the database\n * Quick way to flush the database data while keep the structure\n * /!\\ Should only be used when running tests\n */\nexport async function testClearDB(options: ClearDbOptions = {}): Promise<void> {\n if (!sequelize)\n throw new EngineError({ message: 'Sequelize is not initialized' });\n await sequelize.transaction(clearDbTransaction(sequelize, options));\n}\n\n/** DB clearing transaction */\nfunction clearDbTransaction(sequelize: Sequelize, options: ClearDbOptions) {\n return async (t: Transaction): Promise<void> => {\n for (const model of Object.keys(sequelize.models)) {\n // We ignore the migration metadata schema\n if (!options.includeMetadata && model === 'sequelizeMeta') continue;\n const table = sequelize.models[model].tableName;\n await sequelize.query(\n `TRUNCATE ${table}${process.env.SQL_TYPE === 'postgres' ? ' CASCADE' : ''};`,\n {\n raw: true,\n transaction: t\n }\n );\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ /** Options to recreate the database */
2
+ export interface RecreateDbOptions {
3
+ /** Do not run the migrations, leave the DB empty */
4
+ clean?: boolean;
5
+ }
6
+ /** Options to clear the database */
7
+ export interface ClearDbOptions {
8
+ /** Also truncate the migration metadata table. This should only be used when testing on the metadata table itself */
9
+ includeMetadata?: boolean;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=dbMigration.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbMigration.types.js","names":[],"sources":["../../../src/utils/dbMigration/dbMigration.types.ts"],"sourcesContent":["/** Options to recreate the database */\nexport interface RecreateDbOptions {\n /** Do not run the migrations, leave the DB empty */\n clean?: boolean;\n}\n\n/** Options to clear the database */\nexport interface ClearDbOptions {\n /** Also truncate the migration metadata table. This should only be used when testing on the metadata table itself */\n includeMetadata?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './dbMigration';
2
+ export * from './dbMigration.types';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _dbMigration = require("./dbMigration");
7
+ Object.keys(_dbMigration).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _dbMigration[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _dbMigration[key];
14
+ }
15
+ });
16
+ });
17
+ var _dbMigration2 = require("./dbMigration.types");
18
+ Object.keys(_dbMigration2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _dbMigration2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _dbMigration2[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_dbMigration","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_dbMigration2"],"sources":["../../../src/utils/dbMigration/index.ts"],"sourcesContent":["export * from './dbMigration';\nexport * from './dbMigration.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":[]}
@@ -0,0 +1 @@
1
+ export * from './migrateMetadataTable';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _migrateMetadataTable = require("./migrateMetadataTable");
7
+ Object.keys(_migrateMetadataTable).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _migrateMetadataTable[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _migrateMetadataTable[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_migrateMetadataTable","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/dbMigration/migrateMetadataTable/index.ts"],"sourcesContent":["export * from './migrateMetadataTable';\n"],"mappings":";;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,qBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { Sequelize } from 'sequelize';
2
+ /**
3
+ * Run migrations on the metadata table
4
+ * The table containing the migrations metadata can not be handled through migrations
5
+ * Therefore we use a more classic approach with this function and pure SQL queries
6
+ */
7
+ export declare function migrateMetadataTable(sequelize: Sequelize): Promise<void>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.migrateMetadataTable = migrateMetadataTable;
7
+ var _sequelize = require("sequelize");
8
+ var _report = require("../../report");
9
+ const namespace = 'engine:utils:dbMigration';
10
+
11
+ /**
12
+ * Run migrations on the metadata table
13
+ * The table containing the migrations metadata can not be handled through migrations
14
+ * Therefore we use a more classic approach with this function and pure SQL queries
15
+ */
16
+ async function migrateMetadataTable(sequelize) {
17
+ (0, _report.reportDebug)({
18
+ namespace,
19
+ message: 'Executing metadata migration routine'
20
+ });
21
+ const query = `SELECT table_name FROM information_schema.tables WHERE table_schema = '${process.env.SQL_DB}'`;
22
+ // We check if we have a custom sequelize_meta table yet
23
+ const tables = await sequelize.query(query, {
24
+ type: _sequelize.QueryTypes.SELECT
25
+ });
26
+ const hasCustomSequelizeMeta = process.env.SQL_TYPE === 'mysql' ? tables.some(table => Object.values(table)[0] === 'sequelize_meta') : tables.some(table => table[0] === 'sequelize_meta');
27
+ const hasLegacySequelizeMeta = process.env.SQL_TYPE === 'mysql' ? tables.some(table => Object.values(table)[0] === 'SequelizeMeta') : tables.some(table => table[0] === 'SequelizeMeta');
28
+ if (!hasCustomSequelizeMeta) {
29
+ (0, _report.reportDebug)({
30
+ namespace,
31
+ message: 'No metadata table found, creating new one'
32
+ });
33
+ // Create the new sequelize_meta table if it does not exist
34
+ await sequelize.query(`
35
+ CREATE TABLE sequelize_meta (
36
+ name varchar(100) PRIMARY KEY,
37
+ version varchar(25),
38
+ createdAt timestamp NOT NULL,
39
+ updatedAt timestamp NOT NULL
40
+ )`, {
41
+ type: _sequelize.QueryTypes.RAW
42
+ });
43
+
44
+ // Migrate the data from the old table to the new one if needed
45
+ if (hasLegacySequelizeMeta) {
46
+ (0, _report.reportDebug)({
47
+ namespace,
48
+ message: 'Legacy metadata table found, migrating data'
49
+ });
50
+ const migrations = await sequelize.query('SELECT name FROM SequelizeMeta ORDER BY name', {
51
+ type: _sequelize.QueryTypes.SELECT
52
+ });
53
+ const insertQuery = `
54
+ INSERT INTO sequelize_meta (name, version, createdAt, updatedAt) VALUES
55
+ ${migrations.map(migration => `('${migration.name}', NULL, NOW(), NOW())`).join(',')}
56
+ `;
57
+ await sequelize.query(insertQuery, {
58
+ type: _sequelize.QueryTypes.INSERT
59
+ });
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=migrateMetadataTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateMetadataTable.js","names":["_sequelize","require","_report","namespace","migrateMetadataTable","sequelize","reportDebug","message","query","process","env","SQL_DB","tables","type","QueryTypes","SELECT","hasCustomSequelizeMeta","SQL_TYPE","some","table","Object","values","hasLegacySequelizeMeta","RAW","migrations","insertQuery","map","migration","name","join","INSERT"],"sources":["../../../../src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts"],"sourcesContent":["import { Sequelize, QueryTypes } from 'sequelize';\nimport { SequelizeMeta } from 'db/models';\nimport { reportDebug } from 'utils/report';\n\nconst namespace = 'engine:utils:dbMigration';\n\n/**\n * Run migrations on the metadata table\n * The table containing the migrations metadata can not be handled through migrations\n * Therefore we use a more classic approach with this function and pure SQL queries\n */\nexport async function migrateMetadataTable(\n sequelize: Sequelize\n): Promise<void> {\n reportDebug({ namespace, message: 'Executing metadata migration routine' });\n\n const query = `SELECT table_name FROM information_schema.tables WHERE table_schema = '${process.env.SQL_DB}'`;\n // We check if we have a custom sequelize_meta table yet\n const tables = await sequelize.query<Array<string>>(query, {\n type: QueryTypes.SELECT\n });\n\n const hasCustomSequelizeMeta =\n process.env.SQL_TYPE === 'mysql'\n ? tables.some((table) => Object.values(table)[0] === 'sequelize_meta')\n : tables.some((table) => table[0] === 'sequelize_meta');\n const hasLegacySequelizeMeta =\n process.env.SQL_TYPE === 'mysql'\n ? tables.some((table) => Object.values(table)[0] === 'SequelizeMeta')\n : tables.some((table) => table[0] === 'SequelizeMeta');\n\n if (!hasCustomSequelizeMeta) {\n reportDebug({\n namespace,\n message: 'No metadata table found, creating new one'\n });\n // Create the new sequelize_meta table if it does not exist\n await sequelize.query(\n `\n CREATE TABLE sequelize_meta (\n name varchar(100) PRIMARY KEY,\n version varchar(25),\n createdAt timestamp NOT NULL,\n updatedAt timestamp NOT NULL\n )`,\n { type: QueryTypes.RAW }\n );\n\n // Migrate the data from the old table to the new one if needed\n if (hasLegacySequelizeMeta) {\n reportDebug({\n namespace,\n message: 'Legacy metadata table found, migrating data'\n });\n\n const migrations = await sequelize.query<SequelizeMeta>(\n 'SELECT name FROM SequelizeMeta ORDER BY name',\n {\n type: QueryTypes.SELECT\n }\n );\n const insertQuery = `\n INSERT INTO sequelize_meta (name, version, createdAt, updatedAt) VALUES\n ${migrations.map((migration) => `('${migration.name}', NULL, NOW(), NOW())`).join(',')}\n `;\n\n await sequelize.query(insertQuery, { type: QueryTypes.INSERT });\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,MAAME,SAAS,GAAG,0BAA0B;;AAE5C;AACA;AACA;AACA;AACA;AACO,eAAeC,oBAAoBA,CACxCC,SAAoB,EACL;EACf,IAAAC,mBAAW,EAAC;IAAEH,SAAS;IAAEI,OAAO,EAAE;EAAuC,CAAC,CAAC;EAE3E,MAAMC,KAAK,GAAG,0EAA0EC,OAAO,CAACC,GAAG,CAACC,MAAM,GAAG;EAC7G;EACA,MAAMC,MAAM,GAAG,MAAMP,SAAS,CAACG,KAAK,CAAgBA,KAAK,EAAE;IACzDK,IAAI,EAAEC,qBAAU,CAACC;EACnB,CAAC,CAAC;EAEF,MAAMC,sBAAsB,GAC1BP,OAAO,CAACC,GAAG,CAACO,QAAQ,KAAK,OAAO,GAC5BL,MAAM,CAACM,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,GACpEP,MAAM,CAACM,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC;EAC3D,MAAMG,sBAAsB,GAC1Bb,OAAO,CAACC,GAAG,CAACO,QAAQ,KAAK,OAAO,GAC5BL,MAAM,CAACM,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,GACnEP,MAAM,CAACM,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;EAE1D,IAAI,CAACH,sBAAsB,EAAE;IAC3B,IAAAV,mBAAW,EAAC;MACVH,SAAS;MACTI,OAAO,EAAE;IACX,CAAC,CAAC;IACF;IACA,MAAMF,SAAS,CAACG,KAAK,CACnB;AACN;AACA;AACA;AACA;AACA;AACA,QAAQ,EACF;MAAEK,IAAI,EAAEC,qBAAU,CAACS;IAAI,CACzB,CAAC;;IAED;IACA,IAAID,sBAAsB,EAAE;MAC1B,IAAAhB,mBAAW,EAAC;QACVH,SAAS;QACTI,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,MAAMiB,UAAU,GAAG,MAAMnB,SAAS,CAACG,KAAK,CACtC,8CAA8C,EAC9C;QACEK,IAAI,EAAEC,qBAAU,CAACC;MACnB,CACF,CAAC;MACD,MAAMU,WAAW,GAAG;AAC1B;AACA,UAAUD,UAAU,CAACE,GAAG,CAAEC,SAAS,IAAK,KAAKA,SAAS,CAACC,IAAI,wBAAwB,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAC9F,OAAO;MAED,MAAMxB,SAAS,CAACG,KAAK,CAACiB,WAAW,EAAE;QAAEZ,IAAI,EAAEC,qBAAU,CAACgB;MAAO,CAAC,CAAC;IACjE;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * envalid validators to use with checkEnvironment made with evalid.makeValidator and validator.js
3
+ * is* functions. + Also Added isString, isHost, and isIPList.
4
+ *
5
+ *
6
+ * envalid docs: https://github.com/af/envalid
7
+ */
8
+ export declare const envAssert: {
9
+ isString: import("envalid").BaseValidator<boolean>;
10
+ isBoolean: import("envalid").ExactValidator<boolean>;
11
+ isNumber: import("envalid").BaseValidator<number>;
12
+ isEmail: import("envalid").BaseValidator<string>;
13
+ isHost: import("envalid").BaseValidator<string>;
14
+ isPort: import("envalid").BaseValidator<number>;
15
+ isURL: import("envalid").BaseValidator<string>;
16
+ isJSON: import("envalid").StructuredValidator;
17
+ isIPList: import("envalid").BaseValidator<boolean>;
18
+ isPath: import("envalid").BaseValidator<boolean>;
19
+ isHostList: import("envalid").BaseValidator<boolean>;
20
+ isStringList: import("envalid").BaseValidator<boolean>;
21
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.envAssert = void 0;
7
+ var _envalid = require("envalid");
8
+ var _validators = require("./validators");
9
+ /**
10
+ * envalid validators to use with checkEnvironment made with evalid.makeValidator and validator.js
11
+ * is* functions. + Also Added isString, isHost, and isIPList.
12
+ *
13
+ *
14
+ * envalid docs: https://github.com/af/envalid
15
+ */
16
+ const envAssert = exports.envAssert = {
17
+ isString: _validators.envIsString,
18
+ isBoolean: _envalid.bool,
19
+ isNumber: _envalid.num,
20
+ isEmail: _envalid.email,
21
+ isHost: _envalid.host,
22
+ isPort: _envalid.port,
23
+ isURL: _envalid.url,
24
+ isJSON: _envalid.json,
25
+ isIPList: _validators.envIsIpList,
26
+ isPath: _validators.envIsPath,
27
+ isHostList: _validators.envIsHostList,
28
+ isStringList: _validators.envIsStringList
29
+ };
30
+ //# sourceMappingURL=envAssert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envAssert.js","names":["_envalid","require","_validators","envAssert","exports","isString","envIsString","isBoolean","bool","isNumber","num","isEmail","email","isHost","host","isPort","port","isURL","url","isJSON","json","isIPList","envIsIpList","isPath","envIsPath","isHostList","envIsHostList","isStringList","envIsStringList"],"sources":["../../../src/utils/envAssert/envAssert.ts"],"sourcesContent":["import { bool, num, host, email, port, url, json } from 'envalid';\n\nimport {\n envIsIpList,\n envIsPath,\n envIsHostList,\n envIsStringList,\n envIsString\n} from './validators';\n\n/**\n * envalid validators to use with checkEnvironment made with evalid.makeValidator and validator.js\n * is* functions. + Also Added isString, isHost, and isIPList.\n *\n *\n * envalid docs: https://github.com/af/envalid\n */\nexport const envAssert = {\n isString: envIsString,\n isBoolean: bool,\n isNumber: num,\n isEmail: email,\n isHost: host,\n isPort: port,\n isURL: url,\n isJSON: json,\n isIPList: envIsIpList,\n isPath: envIsPath,\n isHostList: envIsHostList,\n isStringList: envIsStringList\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,QAAQ,EAAEC,uBAAW;EACrBC,SAAS,EAAEC,aAAI;EACfC,QAAQ,EAAEC,YAAG;EACbC,OAAO,EAAEC,cAAK;EACdC,MAAM,EAAEC,aAAI;EACZC,MAAM,EAAEC,aAAI;EACZC,KAAK,EAAEC,YAAG;EACVC,MAAM,EAAEC,aAAI;EACZC,QAAQ,EAAEC,uBAAW;EACrBC,MAAM,EAAEC,qBAAS;EACjBC,UAAU,EAAEC,yBAAa;EACzBC,YAAY,EAAEC;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from './envAssert';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _envAssert = require("./envAssert");
7
+ Object.keys(_envAssert).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _envAssert[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _envAssert[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_envAssert","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/envAssert/index.ts"],"sourcesContent":["export * from './envAssert';\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Validate that a string is a list of comma separated host names
3
+ */
4
+ export declare const envIsHostList: import("envalid").BaseValidator<boolean>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.envIsHostList = void 0;
8
+ var _envalid = require("envalid");
9
+ var _validator = _interopRequireDefault(require("validator"));
10
+ /**
11
+ * Validate that a string is a list of comma separated host names
12
+ */
13
+ const envIsHostList = exports.envIsHostList = (0, _envalid.makeValidator)(value => {
14
+ if (!value) throw new Error('expected a host name');
15
+ const hosts = value.split(',');
16
+ const valid = hosts.every(host => _validator.default.isIP(host.trim()) || _validator.default.isFQDN(host.trim(), {
17
+ require_tld: false
18
+ }));
19
+ if (!valid) throw new Error('expected a host name');
20
+ return valid;
21
+ });
22
+ //# sourceMappingURL=hostList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostList.js","names":["_envalid","require","_validator","_interopRequireDefault","envIsHostList","exports","makeValidator","value","Error","hosts","split","valid","every","host","validator","isIP","trim","isFQDN","require_tld"],"sources":["../../../../src/utils/envAssert/validators/hostList.ts"],"sourcesContent":["import { makeValidator } from 'envalid';\nimport validator from 'validator';\n\n/**\n * Validate that a string is a list of comma separated host names\n */\nexport const envIsHostList = makeValidator((value): boolean => {\n if (!value) throw new Error('expected a host name');\n const hosts = value.split(',');\n const valid = hosts.every(\n (host) =>\n validator.isIP(host.trim()) ||\n validator.isFQDN(host.trim(), { require_tld: false })\n );\n if (!valid) throw new Error('expected a host name');\n return valid;\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,sBAAa,EAAEC,KAAK,IAAc;EAC7D,IAAI,CAACA,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;EACnD,MAAMC,KAAK,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;EAC9B,MAAMC,KAAK,GAAGF,KAAK,CAACG,KAAK,CACtBC,IAAI,IACHC,kBAAS,CAACC,IAAI,CAACF,IAAI,CAACG,IAAI,CAAC,CAAC,CAAC,IAC3BF,kBAAS,CAACG,MAAM,CAACJ,IAAI,CAACG,IAAI,CAAC,CAAC,EAAE;IAAEE,WAAW,EAAE;EAAM,CAAC,CACxD,CAAC;EACD,IAAI,CAACP,KAAK,EAAE,MAAM,IAAIH,KAAK,CAAC,sBAAsB,CAAC;EACnD,OAAOG,KAAK;AACd,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export * from './ipList';
2
+ export * from './path';
3
+ export * from './hostList';
4
+ export * from './stringList';
5
+ export * from './string';
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _ipList = require("./ipList");
7
+ Object.keys(_ipList).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ipList[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ipList[key];
14
+ }
15
+ });
16
+ });
17
+ var _path = require("./path");
18
+ Object.keys(_path).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _path[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _path[key];
25
+ }
26
+ });
27
+ });
28
+ var _hostList = require("./hostList");
29
+ Object.keys(_hostList).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _hostList[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _hostList[key];
36
+ }
37
+ });
38
+ });
39
+ var _stringList = require("./stringList");
40
+ Object.keys(_stringList).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _stringList[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _stringList[key];
47
+ }
48
+ });
49
+ });
50
+ var _string = require("./string");
51
+ Object.keys(_string).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _string[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _string[key];
58
+ }
59
+ });
60
+ });
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_ipList","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_path","_hostList","_stringList","_string"],"sources":["../../../../src/utils/envAssert/validators/index.ts"],"sourcesContent":["export * from './ipList';\nexport * from './path';\nexport * from './hostList';\nexport * from './stringList';\nexport * from './string';\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,KAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,KAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,KAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,KAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,SAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,SAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,SAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,SAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,WAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,WAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,WAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,WAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,OAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,OAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,OAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Validate that a string is a list of comma separated ip (V4/V6) addresses
3
+ */
4
+ export declare const envIsIpList: import("envalid").BaseValidator<boolean>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.envIsIpList = void 0;
8
+ var _envalid = require("envalid");
9
+ var _validator = _interopRequireDefault(require("validator"));
10
+ /**
11
+ * Validate that a string is a list of comma separated ip (V4/V6) addresses
12
+ */
13
+ const envIsIpList = exports.envIsIpList = (0, _envalid.makeValidator)(value => {
14
+ if (!value) throw new Error('expected an ip address');
15
+ const ips = value.split(',');
16
+ const valid = ips.every(v => _validator.default.isIP(v));
17
+ if (!valid) throw new Error('expected an ip address');
18
+ return valid;
19
+ });
20
+ //# sourceMappingURL=ipList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipList.js","names":["_envalid","require","_validator","_interopRequireDefault","envIsIpList","exports","makeValidator","value","Error","ips","split","valid","every","v","validator","isIP"],"sources":["../../../../src/utils/envAssert/validators/ipList.ts"],"sourcesContent":["import { makeValidator } from 'envalid';\nimport validator from 'validator';\n\n/**\n * Validate that a string is a list of comma separated ip (V4/V6) addresses\n */\nexport const envIsIpList = makeValidator((value): boolean => {\n if (!value) throw new Error('expected an ip address');\n const ips = value.split(',');\n const valid = ips.every((v) => validator.isIP(v));\n if (!valid) throw new Error('expected an ip address');\n return valid;\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,sBAAa,EAAEC,KAAK,IAAc;EAC3D,IAAI,CAACA,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;EACrD,MAAMC,GAAG,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;EAC5B,MAAMC,KAAK,GAAGF,GAAG,CAACG,KAAK,CAAEC,CAAC,IAAKC,kBAAS,CAACC,IAAI,CAACF,CAAC,CAAC,CAAC;EACjD,IAAI,CAACF,KAAK,EAAE,MAAM,IAAIH,KAAK,CAAC,wBAAwB,CAAC;EACrD,OAAOG,KAAK;AACd,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Validate that a string is a system path (linux only)
3
+ */
4
+ export declare const envIsPath: import("envalid").BaseValidator<boolean>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.envIsPath = void 0;
7
+ var _envalid = require("envalid");
8
+ const pathRegex = /^(\.\.\/(?:\.\.\/)*)?(?!.*?\/\/)(?!(?:.*\/)?\.+(?:\/|$)).+$/;
9
+
10
+ /**
11
+ * Validate that a string is a system path (linux only)
12
+ */
13
+ const envIsPath = exports.envIsPath = (0, _envalid.makeValidator)(value => {
14
+ if (!value) throw new Error('expected a path');
15
+ const valid = pathRegex.test(value);
16
+ if (!valid) throw new Error('expected a path');
17
+ return valid;
18
+ });
19
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","names":["_envalid","require","pathRegex","envIsPath","exports","makeValidator","value","Error","valid","test"],"sources":["../../../../src/utils/envAssert/validators/path.ts"],"sourcesContent":["import { makeValidator } from 'envalid';\n\nconst pathRegex = /^(\\.\\.\\/(?:\\.\\.\\/)*)?(?!.*?\\/\\/)(?!(?:.*\\/)?\\.+(?:\\/|$)).+$/;\n\n/**\n * Validate that a string is a system path (linux only)\n */\nexport const envIsPath = makeValidator((value): boolean => {\n if (!value) throw new Error('expected a path');\n const valid = pathRegex.test(value);\n if (!valid) throw new Error('expected a path');\n return valid;\n});\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,SAAS,GAAG,6DAA6D;;AAE/E;AACA;AACA;AACO,MAAMC,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,sBAAa,EAAEC,KAAK,IAAc;EACzD,IAAI,CAACA,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;EAC9C,MAAMC,KAAK,GAAGN,SAAS,CAACO,IAAI,CAACH,KAAK,CAAC;EACnC,IAAI,CAACE,KAAK,EAAE,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;EAC9C,OAAOC,KAAK;AACd,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Validate that aa value is a string
3
+ */
4
+ export declare const envIsString: import("envalid").BaseValidator<boolean>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.envIsString = void 0;
7
+ var _envalid = require("envalid");
8
+ /**
9
+ * Validate that aa value is a string
10
+ */
11
+ const envIsString = exports.envIsString = (0, _envalid.makeValidator)(value => {
12
+ if (!value || typeof value !== 'string') throw new Error('expected a string');
13
+ return value.length > 0;
14
+ });
15
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","names":["_envalid","require","envIsString","exports","makeValidator","value","Error","length"],"sources":["../../../../src/utils/envAssert/validators/string.ts"],"sourcesContent":["import { makeValidator } from 'envalid';\n\n/**\n * Validate that aa value is a string\n */\nexport const envIsString = makeValidator((value): boolean => {\n if (!value || typeof value !== 'string') throw new Error('expected a string');\n return value.length > 0;\n});\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,sBAAa,EAAEC,KAAK,IAAc;EAC3D,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;EAC7E,OAAOD,KAAK,CAACE,MAAM,GAAG,CAAC;AACzB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Validate that a string is a list of comma separated strings
3
+
4
+ */
5
+ export declare const envIsStringList: import("envalid").BaseValidator<boolean>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.envIsStringList = void 0;
7
+ var _envalid = require("envalid");
8
+ /**
9
+ * Validate that a string is a list of comma separated strings
10
+
11
+ */
12
+ const envIsStringList = exports.envIsStringList = (0, _envalid.makeValidator)(value => {
13
+ if (!value) throw new Error('expected a string');
14
+ const strings = value.split(',');
15
+ const valid = strings.every(v => typeof v === 'string');
16
+ if (!valid) throw new Error('expected a string');
17
+ return valid;
18
+ });
19
+ //# sourceMappingURL=stringList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringList.js","names":["_envalid","require","envIsStringList","exports","makeValidator","value","Error","strings","split","valid","every","v"],"sources":["../../../../src/utils/envAssert/validators/stringList.ts"],"sourcesContent":["import { makeValidator } from 'envalid';\n\n/**\n * Validate that a string is a list of comma separated strings\n\n */\nexport const envIsStringList = makeValidator((value): boolean => {\n if (!value) throw new Error('expected a string');\n const strings = value.split(',');\n const valid = strings.every((v) => typeof v === 'string');\n if (!valid) throw new Error('expected a string');\n return valid;\n});\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,sBAAa,EAAEC,KAAK,IAAc;EAC/D,IAAI,CAACA,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;EAChD,MAAMC,OAAO,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;EAChC,MAAMC,KAAK,GAAGF,OAAO,CAACG,KAAK,CAAEC,CAAC,IAAK,OAAOA,CAAC,KAAK,QAAQ,CAAC;EACzD,IAAI,CAACF,KAAK,EAAE,MAAM,IAAIH,KAAK,CAAC,mBAAmB,CAAC;EAChD,OAAOG,KAAK;AACd,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Filters an object, returns a copy of that object with only the keys specified in the whitelist
3
+ * @param object - The object to filter
4
+ * @param whitelist - A list of keys to keep
5
+ */
6
+ export declare function filter<T extends Record<string, unknown>>(object: T, whitelist: Array<string>): T;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.filter = filter;
7
+ /**
8
+ * Filters an object, returns a copy of that object with only the keys specified in the whitelist
9
+ * @param object - The object to filter
10
+ * @param whitelist - A list of keys to keep
11
+ */
12
+ function filter(object, whitelist) {
13
+ const copy = {};
14
+ for (const key of Object.keys(object)) {
15
+ if (whitelist.includes(key)) {
16
+ copy[key] = object[key];
17
+ }
18
+ }
19
+ return copy;
20
+ }
21
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","names":["filter","object","whitelist","copy","key","Object","keys","includes"],"sources":["../../../src/utils/filter/filter.ts"],"sourcesContent":["/**\n * Filters an object, returns a copy of that object with only the keys specified in the whitelist\n * @param object - The object to filter\n * @param whitelist - A list of keys to keep\n */\nexport function filter<T extends Record<string, unknown>>(\n object: T,\n whitelist: Array<string>\n): T {\n const copy: Record<string, unknown> = {};\n for (const key of Object.keys(object)) {\n if (whitelist.includes(key)) {\n copy[key] = object[key];\n }\n }\n return copy as T;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,MAAMA,CACpBC,MAAS,EACTC,SAAwB,EACrB;EACH,MAAMC,IAA6B,GAAG,CAAC,CAAC;EACxC,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC,EAAE;IACrC,IAAIC,SAAS,CAACK,QAAQ,CAACH,GAAG,CAAC,EAAE;MAC3BD,IAAI,CAACC,GAAG,CAAC,GAAGH,MAAM,CAACG,GAAG,CAAC;IACzB;EACF;EACA,OAAOD,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from './filter';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _filter = require("./filter");
7
+ Object.keys(_filter).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _filter[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _filter[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_filter","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/filter/index.ts"],"sourcesContent":["export * from './filter';\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { getDynamicLinksOptions } from './getDynamicLink.types';
2
+ /** Fetch a dynamic link from the links service */
3
+ export declare function getDynamicLink(path: string, options?: getDynamicLinksOptions): Promise<string>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDynamicLink = getDynamicLink;
7
+ var _getDynamicLink = require("./getDynamicLink.validate");
8
+ var _tlsRequest = require("../tlsRequest");
9
+ /** Fetch a dynamic link from the links service */
10
+ async function getDynamicLink(path, options = {}) {
11
+ (0, _getDynamicLink.validateDynamicLinkEnvironment)();
12
+ const option = {
13
+ method: 'get',
14
+ url: '/link',
15
+ baseURL: process.env.LINKS_SERVICE_URL,
16
+ params: {
17
+ path,
18
+ short: options.short ?? true
19
+ }
20
+ };
21
+ const {
22
+ data: {
23
+ link
24
+ }
25
+ } = await (0, _tlsRequest.tlsRequest)(option);
26
+ return link;
27
+ }
28
+ //# sourceMappingURL=getDynamicLink.js.map