node-server-engine 1.1.4 → 1.1.6

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 (468) 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 -991
  7. package/babel.config.json +34 -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 +1 -0
  16. package/dist/db/models/SequelizeMeta.js.map +1 -1
  17. package/dist/db/models/index.js.map +1 -1
  18. package/dist/entities/ElasticSearch/ElasticSearch.js +7 -7
  19. package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -1
  20. package/dist/entities/ElasticSearch/ElasticSearch.types.js.map +1 -1
  21. package/dist/entities/ElasticSearch/index.js.map +1 -1
  22. package/dist/entities/Endpoint/Endpoint.js +18 -17
  23. package/dist/entities/Endpoint/Endpoint.js.map +1 -1
  24. package/dist/entities/Endpoint/Endpoint.types.js.map +1 -1
  25. package/dist/entities/Endpoint/index.js.map +1 -1
  26. package/dist/entities/EngineError/EngineError.js +7 -6
  27. package/dist/entities/EngineError/EngineError.js.map +1 -1
  28. package/dist/entities/EngineError/EngineError.types.js.map +1 -1
  29. package/dist/entities/EngineError/index.js.map +1 -1
  30. package/dist/entities/KeySet/KeySet.js +10 -9
  31. package/dist/entities/KeySet/KeySet.js.map +1 -1
  32. package/dist/entities/KeySet/KeySet.types.js.map +1 -1
  33. package/dist/entities/KeySet/index.js.map +1 -1
  34. package/dist/entities/LifecycleController/LifecycleController.js.map +1 -1
  35. package/dist/entities/LifecycleController/LifecycleController.types.js.map +1 -1
  36. package/dist/entities/LifecycleController/index.js.map +1 -1
  37. package/dist/entities/Localizator/Localizator.js +7 -7
  38. package/dist/entities/Localizator/Localizator.js.map +1 -1
  39. package/dist/entities/Localizator/Localizator.types.js.map +1 -1
  40. package/dist/entities/Localizator/guessNamingConvention/guessNamingConvention.js.map +1 -1
  41. package/dist/entities/Localizator/guessNamingConvention/index.js.map +1 -1
  42. package/dist/entities/Localizator/index.js.map +1 -1
  43. package/dist/entities/MessageHandler/MessageHandler.js +7 -6
  44. package/dist/entities/MessageHandler/MessageHandler.js.map +1 -1
  45. package/dist/entities/MessageHandler/MessageHandler.types.js.map +1 -1
  46. package/dist/entities/MessageHandler/index.js.map +1 -1
  47. package/dist/entities/PubSub/PubSub.js +25 -25
  48. package/dist/entities/PubSub/PubSub.js.map +1 -1
  49. package/dist/entities/PubSub/PubSub.types.js.map +1 -1
  50. package/dist/entities/PubSub/handleMessage/handleMessage.js +6 -6
  51. package/dist/entities/PubSub/handleMessage/handleMessage.js.map +1 -1
  52. package/dist/entities/PubSub/handleMessage/index.js.map +1 -1
  53. package/dist/entities/PubSub/index.js.map +1 -1
  54. package/dist/entities/PushNotification/PushNotification.js +4 -4
  55. package/dist/entities/PushNotification/PushNotification.js.map +1 -1
  56. package/dist/entities/PushNotification/PushNotification.types.js.map +1 -1
  57. package/dist/entities/PushNotification/index.js.map +1 -1
  58. package/dist/entities/Redis/Redis.js +8 -8
  59. package/dist/entities/Redis/Redis.js.map +1 -1
  60. package/dist/entities/Redis/Redis.types.js.map +1 -1
  61. package/dist/entities/Redis/Redis.validate.js +2 -2
  62. package/dist/entities/Redis/Redis.validate.js.map +1 -1
  63. package/dist/entities/Redis/index.js.map +1 -1
  64. package/dist/entities/Sequelize/Sequelize.config.js.map +1 -1
  65. package/dist/entities/Sequelize/Sequelize.js +2 -2
  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 +18 -17
  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 +33 -32
  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 +7 -6
  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.js +4 -4
  166. package/dist/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.js.map +1 -1
  167. package/dist/utils/envAssert/envAssert.js +6 -6
  168. package/dist/utils/envAssert/envAssert.js.map +1 -1
  169. package/dist/utils/envAssert/index.js.map +1 -1
  170. package/dist/utils/envAssert/validators/hostList.js +2 -2
  171. package/dist/utils/envAssert/validators/hostList.js.map +1 -1
  172. package/dist/utils/envAssert/validators/index.js.map +1 -1
  173. package/dist/utils/envAssert/validators/ipList.js +2 -2
  174. package/dist/utils/envAssert/validators/ipList.js.map +1 -1
  175. package/dist/utils/envAssert/validators/path.js +2 -2
  176. package/dist/utils/envAssert/validators/path.js.map +1 -1
  177. package/dist/utils/envAssert/validators/string.js +2 -2
  178. package/dist/utils/envAssert/validators/string.js.map +1 -1
  179. package/dist/utils/envAssert/validators/stringList.js +3 -3
  180. package/dist/utils/envAssert/validators/stringList.js.map +1 -1
  181. package/dist/utils/filter/filter.js +4 -4
  182. package/dist/utils/filter/filter.js.map +1 -1
  183. package/dist/utils/filter/index.js.map +1 -1
  184. package/dist/utils/getDynamicLink/getDynamicLink.js.map +1 -1
  185. package/dist/utils/getDynamicLink/getDynamicLink.types.js.map +1 -1
  186. package/dist/utils/getDynamicLink/getDynamicLink.validate.js.map +1 -1
  187. package/dist/utils/getDynamicLink/index.js.map +1 -1
  188. package/dist/utils/hmac/checkEnv/checkEnv.js +2 -2
  189. package/dist/utils/hmac/checkEnv/checkEnv.js.map +1 -1
  190. package/dist/utils/hmac/checkEnv/index.js.map +1 -1
  191. package/dist/utils/hmac/createHmac/createHmac.js.map +1 -1
  192. package/dist/utils/hmac/createHmac/index.js.map +1 -1
  193. package/dist/utils/hmac/index.js.map +1 -1
  194. package/dist/utils/hmac/index.types.js.map +1 -1
  195. package/dist/utils/hmac/signPayload/index.js.map +1 -1
  196. package/dist/utils/hmac/signPayload/signPayload.js.map +1 -1
  197. package/dist/utils/hmac/verifySignature/index.js.map +1 -1
  198. package/dist/utils/hmac/verifySignature/verifySignature.js.map +1 -1
  199. package/dist/utils/index.js.map +1 -1
  200. package/dist/utils/jwt/index.js.map +1 -1
  201. package/dist/utils/jwt/jwt.js.map +1 -1
  202. package/dist/utils/jwt/jwt.types.js.map +1 -1
  203. package/dist/utils/report/index.js.map +1 -1
  204. package/dist/utils/report/output.js.map +1 -1
  205. package/dist/utils/report/output.types.js.map +1 -1
  206. package/dist/utils/report/report.js.map +1 -1
  207. package/dist/utils/report/report.types.js.map +1 -1
  208. package/dist/utils/request/index.js.map +1 -1
  209. package/dist/utils/request/request.js.map +1 -1
  210. package/dist/utils/semverCompare/index.js.map +1 -1
  211. package/dist/utils/semverCompare/semverCompare.js +5 -5
  212. package/dist/utils/semverCompare/semverCompare.js.map +1 -1
  213. package/dist/utils/sendEmail/index.js.map +1 -1
  214. package/dist/utils/sendEmail/sendEmail.js +8 -8
  215. package/dist/utils/sendEmail/sendEmail.js.map +1 -1
  216. package/dist/utils/sendEmail/sendEmail.types.js.map +1 -1
  217. package/dist/utils/sendPush/index.js.map +1 -1
  218. package/dist/utils/sendPush/sendPush.js +5 -5
  219. package/dist/utils/sendPush/sendPush.js.map +1 -1
  220. package/dist/utils/sendPush/sendPush.types.js.map +1 -1
  221. package/dist/utils/tlsConfig/index.js.map +1 -1
  222. package/dist/utils/tlsConfig/tlsConfig.js +2 -2
  223. package/dist/utils/tlsConfig/tlsConfig.js.map +1 -1
  224. package/dist/utils/tlsConfig/tlsConfig.types.js.map +1 -1
  225. package/dist/utils/tlsConfig/tlsConfig.validate.js +2 -2
  226. package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -1
  227. package/dist/utils/tlsRequest/index.js.map +1 -1
  228. package/dist/utils/tlsRequest/tlsRequest.js.map +1 -1
  229. package/dist/utils/trimPathSlash/index.js.map +1 -1
  230. package/dist/utils/trimPathSlash/trimPathSlash.js +4 -4
  231. package/dist/utils/trimPathSlash/trimPathSlash.js.map +1 -1
  232. package/eslint.config.mjs +11 -11
  233. package/package.json +159 -164
  234. package/src/const/DebeziumEvent.ts +6 -6
  235. package/src/const/LogSeverity.ts +7 -7
  236. package/src/const/index.ts +5 -5
  237. package/src/const/metrics.ts +6 -6
  238. package/src/const/mime.ts +37 -37
  239. package/src/const/tokenIssuer.ts +9 -9
  240. package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +29 -29
  241. package/src/db/models/SequelizeMeta.ts +16 -16
  242. package/src/db/models/index.ts +2 -2
  243. package/src/entities/ElasticSearch/ElasticSearch.ts +103 -103
  244. package/src/entities/ElasticSearch/ElasticSearch.types.ts +7 -7
  245. package/src/entities/ElasticSearch/index.ts +2 -2
  246. package/src/entities/Endpoint/Endpoint.test.ts +337 -337
  247. package/src/entities/Endpoint/Endpoint.ts +202 -202
  248. package/src/entities/Endpoint/Endpoint.types.ts +205 -205
  249. package/src/entities/Endpoint/index.ts +2 -2
  250. package/src/entities/EngineError/EngineError.ts +28 -28
  251. package/src/entities/EngineError/EngineError.types.ts +15 -15
  252. package/src/entities/EngineError/index.ts +2 -2
  253. package/src/entities/KeySet/KeySet.test.ts +126 -126
  254. package/src/entities/KeySet/KeySet.ts +172 -172
  255. package/src/entities/KeySet/KeySet.types.ts +28 -28
  256. package/src/entities/KeySet/index.ts +2 -2
  257. package/src/entities/LifecycleController/LifecycleController.test.ts +48 -48
  258. package/src/entities/LifecycleController/LifecycleController.ts +24 -24
  259. package/src/entities/LifecycleController/LifecycleController.types.ts +5 -5
  260. package/src/entities/LifecycleController/index.ts +2 -2
  261. package/src/entities/Localizator/Localizator.ts +139 -139
  262. package/src/entities/Localizator/Localizator.types.ts +52 -52
  263. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +165 -165
  264. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +58 -58
  265. package/src/entities/Localizator/guessNamingConvention/index.ts +1 -1
  266. package/src/entities/Localizator/index.ts +2 -2
  267. package/src/entities/MessageHandler/MessageHandler.test.ts +130 -130
  268. package/src/entities/MessageHandler/MessageHandler.ts +72 -72
  269. package/src/entities/MessageHandler/MessageHandler.types.ts +15 -15
  270. package/src/entities/MessageHandler/index.ts +2 -2
  271. package/src/entities/PubSub/PubSub.test.ts +297 -297
  272. package/src/entities/PubSub/PubSub.ts +202 -202
  273. package/src/entities/PubSub/PubSub.types.ts +76 -76
  274. package/src/entities/PubSub/handleMessage/handleMessage.test.ts +102 -102
  275. package/src/entities/PubSub/handleMessage/handleMessage.ts +65 -65
  276. package/src/entities/PubSub/handleMessage/index.ts +1 -1
  277. package/src/entities/PubSub/index.ts +2 -2
  278. package/src/entities/PushNotification/PushNotification.test.ts +35 -35
  279. package/src/entities/PushNotification/PushNotification.ts +44 -44
  280. package/src/entities/PushNotification/PushNotification.types.ts +25 -25
  281. package/src/entities/PushNotification/index.ts +2 -2
  282. package/src/entities/Redis/Redis.ts +71 -71
  283. package/src/entities/Redis/Redis.types.ts +19 -19
  284. package/src/entities/Redis/Redis.validate.ts +17 -17
  285. package/src/entities/Redis/index.ts +2 -2
  286. package/src/entities/Sequelize/Sequelize.config.ts +59 -59
  287. package/src/entities/Sequelize/Sequelize.test.ts +21 -21
  288. package/src/entities/Sequelize/Sequelize.ts +75 -75
  289. package/src/entities/Sequelize/Sequelize.types.ts +10 -10
  290. package/src/entities/Sequelize/Sequelize.validate.ts +15 -15
  291. package/src/entities/Sequelize/index.ts +2 -2
  292. package/src/entities/Server/Server.const.ts +56 -56
  293. package/src/entities/Server/Server.test.ts +272 -272
  294. package/src/entities/Server/Server.ts +445 -445
  295. package/src/entities/Server/Server.types.ts +88 -88
  296. package/src/entities/Server/index.ts +2 -2
  297. package/src/entities/SocketClient/SocketClient.test.ts +392 -392
  298. package/src/entities/SocketClient/SocketClient.ts +401 -401
  299. package/src/entities/SocketClient/SocketClient.types.ts +62 -62
  300. package/src/entities/SocketClient/index.ts +2 -2
  301. package/src/entities/SocketClient/parseMessage/index.ts +1 -1
  302. package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +20 -20
  303. package/src/entities/SocketClient/parseMessage/parseMessage.ts +26 -26
  304. package/src/entities/Storage/Storage.test.ts +58 -58
  305. package/src/entities/Storage/Storage.ts +219 -219
  306. package/src/entities/Storage/Storage.types.ts +57 -57
  307. package/src/entities/Storage/index.ts +2 -2
  308. package/src/entities/ValidationError/ValidationError.ts +34 -34
  309. package/src/entities/ValidationError/index.ts +1 -1
  310. package/src/entities/WebError/WebError.test.ts +18 -18
  311. package/src/entities/WebError/WebError.ts +23 -23
  312. package/src/entities/WebError/WebError.types.ts +9 -9
  313. package/src/entities/WebError/index.ts +2 -2
  314. package/src/entities/index.ts +16 -16
  315. package/src/index.ts +4 -4
  316. package/src/metrics/debug.ts +10 -10
  317. package/src/metrics/index.ts +2 -2
  318. package/src/metrics/request.ts +17 -17
  319. package/src/middleware/authAdmin/authAdmin.test.ts +199 -199
  320. package/src/middleware/authAdmin/authAdmin.ts +114 -114
  321. package/src/middleware/authAdmin/authAdmin.types.ts +19 -19
  322. package/src/middleware/authAdmin/index.ts +2 -2
  323. package/src/middleware/authHmac/authHmac.test.ts +86 -86
  324. package/src/middleware/authHmac/authHmac.ts +56 -56
  325. package/src/middleware/authHmac/authHmac.types.ts +7 -7
  326. package/src/middleware/authHmac/index.ts +2 -2
  327. package/src/middleware/authJwt/authJwt.test.ts +54 -54
  328. package/src/middleware/authJwt/authJwt.ts +55 -55
  329. package/src/middleware/authJwt/authJwt.types.ts +14 -14
  330. package/src/middleware/authJwt/index.ts +2 -2
  331. package/src/middleware/authStatic/authStatic.test.ts +36 -36
  332. package/src/middleware/authStatic/authStatic.ts +45 -45
  333. package/src/middleware/authStatic/index.ts +1 -1
  334. package/src/middleware/authTls/authTls.test.ts +138 -138
  335. package/src/middleware/authTls/authTls.ts +106 -106
  336. package/src/middleware/authTls/authTls.types.ts +13 -13
  337. package/src/middleware/authTls/index.ts +2 -2
  338. package/src/middleware/checkPermission/checkPermission.ts +32 -32
  339. package/src/middleware/error/error.test.ts +60 -60
  340. package/src/middleware/error/error.ts +25 -25
  341. package/src/middleware/error/index.ts +1 -1
  342. package/src/middleware/fileUploader/compressAvatar/compressAvatar.ts +25 -25
  343. package/src/middleware/fileUploader/compressAvatar/compressAvatar.types.ts +12 -12
  344. package/src/middleware/fileUploader/compressAvatar/index.ts +2 -2
  345. package/src/middleware/fileUploader/fileUploader.test.ts +310 -310
  346. package/src/middleware/fileUploader/fileUploader.ts +303 -303
  347. package/src/middleware/fileUploader/fileUploader.types.ts +52 -52
  348. package/src/middleware/fileUploader/index.ts +2 -2
  349. package/src/middleware/fileUploader/isMultiPart/index.ts +1 -1
  350. package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +9 -9
  351. package/src/middleware/fileUploader/validate/index.ts +1 -1
  352. package/src/middleware/fileUploader/validate/validate.ts +27 -27
  353. package/src/middleware/fourOhFour/fourOhFour.test.ts +14 -14
  354. package/src/middleware/fourOhFour/fourOhFour.ts +13 -13
  355. package/src/middleware/fourOhFour/index.ts +1 -1
  356. package/src/middleware/geminiFileUploader/geminiFileUploader.ts +117 -117
  357. package/src/middleware/geminiFileUploader/index.ts +1 -1
  358. package/src/middleware/healthCheck/healthCheck.test.ts +12 -12
  359. package/src/middleware/healthCheck/healthCheck.ts +14 -14
  360. package/src/middleware/healthCheck/index.ts +1 -1
  361. package/src/middleware/index.ts +17 -17
  362. package/src/middleware/metrics/index.ts +1 -1
  363. package/src/middleware/metrics/metrics.test.ts +46 -46
  364. package/src/middleware/metrics/metrics.ts +24 -24
  365. package/src/middleware/requestMetrics/index.ts +1 -1
  366. package/src/middleware/requestMetrics/requestMetrics.test.ts +77 -77
  367. package/src/middleware/requestMetrics/requestMetrics.ts +20 -20
  368. package/src/middleware/swaggerDocs/index.ts +2 -2
  369. package/src/middleware/swaggerDocs/swaggerDocs.ts +114 -114
  370. package/src/middleware/swaggerDocs/swaggerDocs.types.ts +41 -41
  371. package/src/middleware/userResolver/index.ts +1 -1
  372. package/src/middleware/userResolver/userResolver.test.ts +35 -35
  373. package/src/middleware/userResolver/userResolver.ts +35 -35
  374. package/src/middleware/validate/index.ts +1 -1
  375. package/src/middleware/validate/validate.test.ts +43 -43
  376. package/src/middleware/validate/validate.ts +25 -25
  377. package/src/middleware/version/index.ts +1 -1
  378. package/src/middleware/version/version.test.ts +23 -23
  379. package/src/middleware/version/version.ts +12 -12
  380. package/src/utils/checkEnvironment/index.ts +49 -49
  381. package/src/utils/createHttpServer/createHttpServer.test.ts +24 -24
  382. package/src/utils/createHttpServer/createHttpServer.ts +34 -34
  383. package/src/utils/createHttpServer/createHttpServer.validate.ts +17 -17
  384. package/src/utils/createHttpServer/index.ts +1 -1
  385. package/src/utils/createSortedObject/createSortedObject.ts +20 -20
  386. package/src/utils/createSortedObject/createSortedObjet.test.ts +47 -47
  387. package/src/utils/createSortedObject/index.ts +1 -1
  388. package/src/utils/dbMigration/dbMigration.test.ts +209 -209
  389. package/src/utils/dbMigration/dbMigration.ts +199 -199
  390. package/src/utils/dbMigration/dbMigration.types.ts +11 -11
  391. package/src/utils/dbMigration/index.ts +2 -2
  392. package/src/utils/dbMigration/migrateMetadataTable/index.ts +1 -1
  393. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +59 -59
  394. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +102 -102
  395. package/src/utils/envAssert/envAssert.ts +31 -31
  396. package/src/utils/envAssert/index.ts +1 -1
  397. package/src/utils/envAssert/validators/hostList.ts +17 -17
  398. package/src/utils/envAssert/validators/index.ts +5 -5
  399. package/src/utils/envAssert/validators/ipList.ts +13 -13
  400. package/src/utils/envAssert/validators/path.ts +13 -13
  401. package/src/utils/envAssert/validators/string.ts +9 -9
  402. package/src/utils/envAssert/validators/stringList.ts +13 -13
  403. package/src/utils/filter/filter.ts +17 -17
  404. package/src/utils/filter/index.ts +1 -1
  405. package/src/utils/getDynamicLink/getDynamicLink.test.ts +51 -51
  406. package/src/utils/getDynamicLink/getDynamicLink.ts +28 -28
  407. package/src/utils/getDynamicLink/getDynamicLink.types.ts +11 -11
  408. package/src/utils/getDynamicLink/getDynamicLink.validate.ts +6 -6
  409. package/src/utils/getDynamicLink/index.ts +2 -2
  410. package/src/utils/hmac/checkEnv/checkEnv.test.ts +18 -18
  411. package/src/utils/hmac/checkEnv/checkEnv.ts +9 -9
  412. package/src/utils/hmac/checkEnv/index.ts +1 -1
  413. package/src/utils/hmac/createHmac/createHmac.ts +33 -33
  414. package/src/utils/hmac/createHmac/index.ts +1 -1
  415. package/src/utils/hmac/index.ts +4 -4
  416. package/src/utils/hmac/index.types.ts +13 -13
  417. package/src/utils/hmac/signPayload/index.ts +1 -1
  418. package/src/utils/hmac/signPayload/signPayload.ts +16 -16
  419. package/src/utils/hmac/verifySignature/index.ts +1 -1
  420. package/src/utils/hmac/verifySignature/verifySignature.ts +24 -24
  421. package/src/utils/index.ts +26 -26
  422. package/src/utils/jwt/index.ts +2 -2
  423. package/src/utils/jwt/jwt.test.ts +41 -41
  424. package/src/utils/jwt/jwt.ts +204 -204
  425. package/src/utils/jwt/jwt.types.ts +21 -21
  426. package/src/utils/report/index.ts +3 -3
  427. package/src/utils/report/output.ts +45 -45
  428. package/src/utils/report/output.types.ts +70 -70
  429. package/src/utils/report/report.test.ts +133 -133
  430. package/src/utils/report/report.ts +134 -134
  431. package/src/utils/report/report.types.ts +13 -13
  432. package/src/utils/request/index.ts +1 -1
  433. package/src/utils/request/request.test.ts +26 -26
  434. package/src/utils/request/request.ts +48 -48
  435. package/src/utils/semverCompare/index.ts +1 -1
  436. package/src/utils/semverCompare/semverCompare.test.ts +49 -49
  437. package/src/utils/semverCompare/semverCompare.ts +60 -60
  438. package/src/utils/sendEmail/index.ts +1 -1
  439. package/src/utils/sendEmail/sendEmail.ts +27 -27
  440. package/src/utils/sendEmail/sendEmail.types.ts +7 -7
  441. package/src/utils/sendPush/index.ts +2 -2
  442. package/src/utils/sendPush/sendPush.ts +20 -20
  443. package/src/utils/sendPush/sendPush.types.ts +25 -25
  444. package/src/utils/tlsConfig/index.ts +2 -2
  445. package/src/utils/tlsConfig/tlsConfig.test.ts +32 -32
  446. package/src/utils/tlsConfig/tlsConfig.ts +47 -47
  447. package/src/utils/tlsConfig/tlsConfig.types.ts +11 -11
  448. package/src/utils/tlsConfig/tlsConfig.validate.ts +25 -25
  449. package/src/utils/tlsRequest/index.ts +1 -1
  450. package/src/utils/tlsRequest/tlsRequest.test.ts +63 -63
  451. package/src/utils/tlsRequest/tlsRequest.ts +12 -12
  452. package/src/utils/trimPathSlash/index.ts +1 -1
  453. package/src/utils/trimPathSlash/trimPathSlash.test.ts +26 -26
  454. package/src/utils/trimPathSlash/trimPathSlash.ts +8 -8
  455. package/test/env.ts +56 -56
  456. package/test/factory/index.ts +8 -8
  457. package/test/factory/sequelizeMeta.ts +12 -12
  458. package/test/hooks.ts +37 -37
  459. package/test/index.ts +3 -3
  460. package/test/stub/index.ts +3 -3
  461. package/test/stub/stubLocales.ts +68 -68
  462. package/test/stub/stubPubSub.ts +7 -7
  463. package/test/stub/stubStorage.ts +77 -77
  464. package/test/stub/stubStorage.types.ts +11 -11
  465. package/test/utils/app.ts +31 -31
  466. package/test/utils/index.ts +1 -1
  467. package/tsconfig.build.json +5 -5
  468. package/tsconfig.json +32 -32
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.validateHttpEnvironment = validateHttpEnvironment;
7
7
  var _ = require("./..");
8
- /**
9
- * Environment variable validator for the creation of a HTTP(S) server
8
+ /**
9
+ * Environment variable validator for the creation of a HTTP(S) server
10
10
  */
11
11
  function validateHttpEnvironment() {
12
12
  // We only check if there is at least the host specified
@@ -1 +1 @@
1
- {"version":3,"file":"createHttpServer.validate.js","names":["_","require","validateHttpEnvironment","process","env","TLS_SERVER_CERT","assertEnvironment","TLS_SERVER_KEY","envAssert","isPath","TLS_SERVER_KEY_PASSPHRASE","isString","TLS_CA"],"sources":["../../../src/utils/createHttpServer/createHttpServer.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\r\n\r\n/**\r\n * Environment variable validator for the creation of a HTTP(S) server\r\n */\r\nexport function validateHttpEnvironment(): void {\r\n // We only check if there is at least the host specified\r\n if (process.env.TLS_SERVER_CERT && process.env.TLS_SERVER_CERT) {\r\n assertEnvironment({ TLS_SERVER_KEY: envAssert.isPath() });\r\n assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });\r\n // Optional variables\r\n if (process.env.TLS_SERVER_KEY_PASSPHRASE) {\r\n assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isString() });\r\n }\r\n if (process.env.TLS_CA) assertEnvironment({ TLS_CA: envAssert.isPath() });\r\n }\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAS;EAC9C;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAIF,OAAO,CAACC,GAAG,CAACC,eAAe,EAAE;IAC9D,IAAAC,mBAAiB,EAAC;MAAEC,cAAc,EAAEC,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAED,eAAe,EAAEG,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D;IACA,IAAIN,OAAO,CAACC,GAAG,CAACM,yBAAyB,EAAE;MACzC,IAAAJ,mBAAiB,EAAC;QAAEI,yBAAyB,EAAEF,WAAS,CAACG,QAAQ,CAAC;MAAE,CAAC,CAAC;IACxE;IACA,IAAIR,OAAO,CAACC,GAAG,CAACQ,MAAM,EAAE,IAAAN,mBAAiB,EAAC;MAAEM,MAAM,EAAEJ,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;EAC3E;AACF","ignoreList":[]}
1
+ {"version":3,"file":"createHttpServer.validate.js","names":["_","require","validateHttpEnvironment","process","env","TLS_SERVER_CERT","assertEnvironment","TLS_SERVER_KEY","envAssert","isPath","TLS_SERVER_KEY_PASSPHRASE","isString","TLS_CA"],"sources":["../../../src/utils/createHttpServer/createHttpServer.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\n\n/**\n * Environment variable validator for the creation of a HTTP(S) server\n */\nexport function validateHttpEnvironment(): void {\n // We only check if there is at least the host specified\n if (process.env.TLS_SERVER_CERT && process.env.TLS_SERVER_CERT) {\n assertEnvironment({ TLS_SERVER_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_SERVER_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isString() });\n }\n if (process.env.TLS_CA) assertEnvironment({ TLS_CA: envAssert.isPath() });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAS;EAC9C;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAIF,OAAO,CAACC,GAAG,CAACC,eAAe,EAAE;IAC9D,IAAAC,mBAAiB,EAAC;MAAEC,cAAc,EAAEC,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAED,eAAe,EAAEG,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D;IACA,IAAIN,OAAO,CAACC,GAAG,CAACM,yBAAyB,EAAE;MACzC,IAAAJ,mBAAiB,EAAC;QAAEI,yBAAyB,EAAEF,WAAS,CAACG,QAAQ,CAAC;MAAE,CAAC,CAAC;IACxE;IACA,IAAIR,OAAO,CAACC,GAAG,CAACQ,MAAM,EAAE,IAAAN,mBAAiB,EAAC;MAAEM,MAAM,EAAEJ,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;EAC3E;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_createHttpServer","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/createHttpServer/index.ts"],"sourcesContent":["export * from './createHttpServer';\r\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_createHttpServer","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/createHttpServer/index.ts"],"sourcesContent":["export * from './createHttpServer';\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createSortedObject.js","names":["createSortedObject","data","Object","Error","result","keys","sort","forEach","key","value","Array"],"sources":["../../../src/utils/createSortedObject/createSortedObject.ts"],"sourcesContent":["/** Deep sort the objects keys alphabetically */\r\nexport function createSortedObject<T>(data: T): T {\r\n if (!(data instanceof Object)) throw new Error('Non');\r\n const result: Record<string, unknown> = {};\r\n Object.keys(data)\r\n .sort()\r\n .forEach((key: string) => {\r\n const value = (data as Record<string, unknown>)[key];\r\n if (\r\n typeof value !== 'object' ||\r\n value instanceof Array ||\r\n value === null\r\n ) {\r\n result[key] = value;\r\n } else {\r\n result[key] = createSortedObject(value);\r\n }\r\n });\r\n return result as T;\r\n}\r\n"],"mappings":";;;;;;AAAA;AACO,SAASA,kBAAkBA,CAAIC,IAAO,EAAK;EAChD,IAAI,EAAEA,IAAI,YAAYC,MAAM,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAC,KAAK,CAAC;EACrD,MAAMC,MAA+B,GAAG,CAAC,CAAC;EAC1CF,MAAM,CAACG,IAAI,CAACJ,IAAI,CAAC,CACdK,IAAI,CAAC,CAAC,CACNC,OAAO,CAAEC,GAAW,IAAK;IACxB,MAAMC,KAAK,GAAIR,IAAI,CAA6BO,GAAG,CAAC;IACpD,IACE,OAAOC,KAAK,KAAK,QAAQ,IACzBA,KAAK,YAAYC,KAAK,IACtBD,KAAK,KAAK,IAAI,EACd;MACAL,MAAM,CAACI,GAAG,CAAC,GAAGC,KAAK;IACrB,CAAC,MAAM;MACLL,MAAM,CAACI,GAAG,CAAC,GAAGR,kBAAkB,CAACS,KAAK,CAAC;IACzC;EACF,CAAC,CAAC;EACJ,OAAOL,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"file":"createSortedObject.js","names":["createSortedObject","data","Object","Error","result","keys","sort","forEach","key","value","Array"],"sources":["../../../src/utils/createSortedObject/createSortedObject.ts"],"sourcesContent":["/** Deep sort the objects keys alphabetically */\nexport function createSortedObject<T>(data: T): T {\n if (!(data instanceof Object)) throw new Error('Non');\n const result: Record<string, unknown> = {};\n Object.keys(data)\n .sort()\n .forEach((key: string) => {\n const value = (data as Record<string, unknown>)[key];\n if (\n typeof value !== 'object' ||\n value instanceof Array ||\n value === null\n ) {\n result[key] = value;\n } else {\n result[key] = createSortedObject(value);\n }\n });\n return result as T;\n}\n"],"mappings":";;;;;;AAAA;AACO,SAASA,kBAAkBA,CAAIC,IAAO,EAAK;EAChD,IAAI,EAAEA,IAAI,YAAYC,MAAM,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAC,KAAK,CAAC;EACrD,MAAMC,MAA+B,GAAG,CAAC,CAAC;EAC1CF,MAAM,CAACG,IAAI,CAACJ,IAAI,CAAC,CACdK,IAAI,CAAC,CAAC,CACNC,OAAO,CAAEC,GAAW,IAAK;IACxB,MAAMC,KAAK,GAAIR,IAAI,CAA6BO,GAAG,CAAC;IACpD,IACE,OAAOC,KAAK,KAAK,QAAQ,IACzBA,KAAK,YAAYC,KAAK,IACtBD,KAAK,KAAK,IAAI,EACd;MACAL,MAAM,CAACI,GAAG,CAAC,GAAGC,KAAK;IACrB,CAAC,MAAM;MACLL,MAAM,CAACI,GAAG,CAAC,GAAGR,kBAAkB,CAACS,KAAK,CAAC;IACzC;EACF,CAAC,CAAC;EACJ,OAAOL,MAAM;AACf","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_createSortedObject","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/createSortedObject/index.ts"],"sourcesContent":["export * from './createSortedObject';\r\n"],"mappings":";;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,mBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,mBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,mBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_createSortedObject","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/utils/createSortedObject/index.ts"],"sourcesContent":["export * from './createSortedObject';\n"],"mappings":";;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,mBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,mBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,mBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -165,10 +165,10 @@ async function rollbackMigrations() {
165
165
  });
166
166
  }
167
167
 
168
- /**
169
- * Recreate the whole database
170
- * Quick way to make sure that we are working on a clean database
171
- * /!\ Should only be used when running tests
168
+ /**
169
+ * Recreate the whole database
170
+ * Quick way to make sure that we are working on a clean database
171
+ * /!\ Should only be used when running tests
172
172
  */
173
173
  async function testRecreateDB(options = {}) {
174
174
  if (!_Sequelize.sequelize) throw new _EngineError.EngineError({
@@ -179,10 +179,10 @@ async function testRecreateDB(options = {}) {
179
179
  if (!options.clean) await runPendingMigrations();
180
180
  }
181
181
 
182
- /**
183
- * Empty all the schemas in the database
184
- * Quick way to flush the database data while keep the structure
185
- * /!\ Should only be used when running tests
182
+ /**
183
+ * Empty all the schemas in the database
184
+ * Quick way to flush the database data while keep the structure
185
+ * /!\ Should only be used when running tests
186
186
  */
187
187
  async function testClearDB(options = {}) {
188
188
  if (!_Sequelize.sequelize) throw new _EngineError.EngineError({
@@ -1 +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","raw","rollbackUntil","find","version","semverCompare","buildId","to","testRecreateDB","options","query","SQL_TYPE","clean","testClearDB","transaction","clearDbTransaction","t","model","Object","keys","models","includeMetadata","table","tableName"],"sources":["../../../src/utils/dbMigration/dbMigration.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-require-imports */\r\n// Register ts-node at the top of runMigrations.ts\r\nrequire('ts-node/register');\r\n\r\nimport { existsSync, lstatSync } from 'fs';\r\nimport { join } from 'path';\r\nimport { Sequelize, Transaction } from 'sequelize';\r\nimport { Umzug, SequelizeStorage } from 'umzug';\r\nimport { ClearDbOptions, RecreateDbOptions } from './dbMigration.types';\r\nimport { migrateMetadataTable } from './migrateMetadataTable';\r\nimport { SequelizeMeta } from 'db/models';\r\nimport { EngineError } from 'entities/EngineError';\r\nimport { sequelize } from 'entities/Sequelize';\r\nimport { reportDebug } from 'utils/report';\r\nimport { semverCompare } from 'utils/semverCompare';\r\n\r\nconst namespace = 'engine:utils:dbMigration';\r\n\r\nfunction getMigrationPaths(): Array<string> | undefined {\r\n // We look between possibilities for the first directory that exists and matches our expectations\r\n // First a user specified one, then the production default, then the development default\r\n const prodDefaultPath = join(process.cwd(), './dist/db/migrations');\r\n const devDefaultPath = join(process.cwd(), './src/db/migrations');\r\n const path = [\r\n process.env.DB_MIGRATIONS_DIR,\r\n process.env.NODE_ENV === 'prod' ? prodDefaultPath : devDefaultPath\r\n ].filter((path) => path && existsSync(path) && lstatSync(path).isDirectory());\r\n reportDebug({\r\n namespace,\r\n message: 'Obtaining Umzug migration options',\r\n data: {\r\n path,\r\n prodPath: prodDefaultPath,\r\n devPath: devDefaultPath,\r\n customPath: process.env.DB_MIGRATIONS_DIR\r\n }\r\n });\r\n return path.map((p) =>\r\n process.env.NODE_ENV === 'prod' ? `${p}/*.js` : `${p}/*.ts`\r\n );\r\n}\r\n\r\n/** Run all the non-executed migrations one by one */\r\nexport async function runPendingMigrations(): Promise<void> {\r\n if (!sequelize)\r\n throw new EngineError({ message: 'Sequelize is not initialized' });\r\n // First make sure that the metadata table is up to date\r\n await migrateMetadataTable(sequelize);\r\n const migrationPaths = getMigrationPaths();\r\n\r\n if (!migrationPaths || migrationPaths.length <= 0) {\r\n reportDebug({\r\n namespace,\r\n message: 'No valid migration paths found.',\r\n data: { migrationPaths }\r\n });\r\n return;\r\n }\r\n\r\n migrationPaths?.forEach(async (path) => {\r\n const migrator = new Umzug({\r\n migrations: {\r\n glob: path,\r\n resolve: ({ name, path, context }) => {\r\n // Use require to import the migration file\r\n const migration = require(path || '');\r\n return {\r\n name,\r\n up: async () => migration.up(context),\r\n down: async () => migration.down(context)\r\n };\r\n }\r\n },\r\n context: sequelize.getQueryInterface(),\r\n storage: new SequelizeStorage({ sequelize }),\r\n logger: console\r\n });\r\n\r\n reportDebug({\r\n namespace,\r\n message: 'Starting pending database migrations',\r\n data: { path }\r\n });\r\n await migrator.up();\r\n console.log('Db Migration Completed');\r\n });\r\n}\r\n\r\n/** Rollback all migrations up to a specified target version */\r\nexport async function rollbackMigrations(): Promise<void> {\r\n if (!sequelize)\r\n throw new EngineError({ message: 'Sequelize is not initialized' });\r\n if (!process.env.BUILD_ID)\r\n throw new EngineError({ message: 'BUILD_ID is not defined' });\r\n\r\n // Fetch executed migrations in ascending order\r\n const migrations = await SequelizeMeta.findAll({\r\n order: [['name', 'ASC']],\r\n raw: true\r\n });\r\n const rollbackUntil = migrations.find(\r\n (migration) =>\r\n migration.version &&\r\n semverCompare(migration.version, process.env.BUILD_ID as string) === 1\r\n );\r\n\r\n if (!rollbackUntil) {\r\n reportDebug({\r\n namespace,\r\n message: 'No rollback target found for the current BUILD_ID.',\r\n data: { buildId: process.env.BUILD_ID }\r\n });\r\n return;\r\n }\r\n\r\n const migrationPaths = getMigrationPaths();\r\n\r\n if (!migrationPaths || migrationPaths.length <= 0) {\r\n reportDebug({\r\n namespace,\r\n message: 'No valid migration paths found for rollback.',\r\n data: { migrationPaths }\r\n });\r\n return;\r\n }\r\n\r\n migrationPaths.forEach(async (path) => {\r\n const migrator = new Umzug({\r\n migrations: {\r\n glob: path,\r\n resolve: ({ name, path, context }) => {\r\n const migration = require(path || '');\r\n return {\r\n name,\r\n up: async () => migration.up(context),\r\n down: async () => migration.down(context)\r\n };\r\n }\r\n },\r\n context: sequelize.getQueryInterface(),\r\n storage: new SequelizeStorage({ sequelize }),\r\n logger: console\r\n });\r\n\r\n reportDebug({\r\n namespace,\r\n message: `Rolling back migrations up to: ${rollbackUntil.name}`,\r\n data: { path }\r\n });\r\n\r\n await migrator.down({ to: rollbackUntil.name });\r\n });\r\n}\r\n\r\n/**\r\n * Recreate the whole database\r\n * Quick way to make sure that we are working on a clean database\r\n * /!\\ Should only be used when running tests\r\n */\r\nexport async function testRecreateDB(\r\n options: RecreateDbOptions = {}\r\n): Promise<void> {\r\n if (!sequelize)\r\n throw new EngineError({ message: 'Sequelize is not initialized' });\r\n await sequelize.query(\r\n `DROP SCHEMA public${process.env.SQL_TYPE === 'postgres' ? ' CASCADE' : ''}`\r\n );\r\n await sequelize.query(`CREATE SCHEMA public`);\r\n if (!options.clean) await runPendingMigrations();\r\n}\r\n\r\n/**\r\n * Empty all the schemas in the database\r\n * Quick way to flush the database data while keep the structure\r\n * /!\\ Should only be used when running tests\r\n */\r\nexport async function testClearDB(options: ClearDbOptions = {}): Promise<void> {\r\n if (!sequelize)\r\n throw new EngineError({ message: 'Sequelize is not initialized' });\r\n await sequelize.transaction(clearDbTransaction(sequelize, options));\r\n}\r\n\r\n/** DB clearing transaction */\r\nfunction clearDbTransaction(sequelize: Sequelize, options: ClearDbOptions) {\r\n return async (t: Transaction): Promise<void> => {\r\n for (const model of Object.keys(sequelize.models)) {\r\n // We ignore the migration metadata schema\r\n if (!options.includeMetadata && model === 'sequelizeMeta') continue;\r\n const table = sequelize.models[model].tableName;\r\n await sequelize.query(\r\n `TRUNCATE ${table}${process.env.SQL_TYPE === 'postgres' ? ' CASCADE' : ''};`,\r\n {\r\n raw: true,\r\n transaction: t\r\n }\r\n );\r\n }\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
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","raw","rollbackUntil","find","version","semverCompare","buildId","to","testRecreateDB","options","query","SQL_TYPE","clean","testClearDB","transaction","clearDbTransaction","t","model","Object","keys","models","includeMetadata","table","tableName"],"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({\n order: [['name', 'ASC']],\n raw: true\n });\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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"dbMigration.types.js","names":[],"sources":["../../../src/utils/dbMigration/dbMigration.types.ts"],"sourcesContent":["/** Options to recreate the database */\r\nexport interface RecreateDbOptions {\r\n /** Do not run the migrations, leave the DB empty */\r\n clean?: boolean;\r\n}\r\n\r\n/** Options to clear the database */\r\nexport interface ClearDbOptions {\r\n /** Also truncate the migration metadata table. This should only be used when testing on the metadata table itself */\r\n includeMetadata?: boolean;\r\n}\r\n"],"mappings":"","ignoreList":[]}
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":[]}
@@ -1 +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';\r\nexport * from './dbMigration.types';\r\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":[]}
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":[]}
@@ -1 +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';\r\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":[]}
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":[]}
@@ -8,10 +8,10 @@ var _sequelize = require("sequelize");
8
8
  var _report = require("../../report");
9
9
  const namespace = 'engine:utils:dbMigration';
10
10
 
11
- /**
12
- * Run migrations on the metadata table
13
- * The table containing the migrations metadata cannot be handled through migrations
14
- * Therefore, we use a more classic approach with this function and pure SQL queries
11
+ /**
12
+ * Run migrations on the metadata table
13
+ * The table containing the migrations metadata cannot be handled through migrations
14
+ * Therefore, we use a more classic approach with this function and pure SQL queries
15
15
  */
16
16
  async function migrateMetadataTable(sequelize) {
17
17
  (0, _report.reportDebug)({
@@ -1 +1 @@
1
- {"version":3,"file":"migrateMetadataTable.js","names":["_sequelize","require","_report","namespace","migrateMetadataTable","sequelize","reportDebug","message","query","tables","type","QueryTypes","SELECT","hasCustomSequelizeMeta","process","env","SQL_TYPE","some","table","Object","values","hasLegacySequelizeMeta","createTableQuery","Error","RAW","migrations","insertQuery","map","migration","name","join","INSERT"],"sources":["../../../../src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts"],"sourcesContent":["import { Sequelize, QueryTypes } from 'sequelize';\r\nimport { SequelizeMeta } from 'db/models';\r\nimport { reportDebug } from 'utils/report';\r\n\r\nconst namespace = 'engine:utils:dbMigration';\r\n\r\n/**\r\n * Run migrations on the metadata table\r\n * The table containing the migrations metadata cannot be handled through migrations\r\n * Therefore, we use a more classic approach with this function and pure SQL queries\r\n */\r\nexport async function migrateMetadataTable(\r\n sequelize: Sequelize\r\n): Promise<void> {\r\n reportDebug({ namespace, message: 'Executing metadata migration routine' });\r\n\r\n const query = `SELECT table_name FROM information_schema.tables`;\r\n\r\n // We check if we have a custom sequelize_meta table yet\r\n const tables = await sequelize.query<Array<string>>(query, {\r\n type: QueryTypes.SELECT\r\n });\r\n\r\n const hasCustomSequelizeMeta =\r\n process.env.SQL_TYPE === 'postgres'\r\n ? tables.some((table) => table[0] === 'sequelize_meta')\r\n : tables.some((table) => Object.values(table)[0] === 'sequelize_meta');\r\n const hasLegacySequelizeMeta =\r\n process.env.SQL_TYPE === 'postgres'\r\n ? tables.some((table) => table[0] === 'SequelizeMeta')\r\n : tables.some((table) => Object.values(table)[0] === 'SequelizeMeta');\r\n if (!hasCustomSequelizeMeta) {\r\n reportDebug({\r\n namespace,\r\n message: 'No metadata table found, creating new one'\r\n });\r\n\r\n // Define SQL for creating the table based on the database type\r\n let createTableQuery = '';\r\n\r\n switch (process.env.SQL_TYPE) {\r\n case 'mysql':\r\n case 'postgres':\r\n createTableQuery = `\r\n CREATE TABLE sequelize_meta (\r\n name VARCHAR(100) PRIMARY KEY,\r\n version VARCHAR(25),\r\n createdAt TIMESTAMP NOT NULL,\r\n updatedAt TIMESTAMP NOT NULL\r\n )`;\r\n break;\r\n case 'mssql':\r\n createTableQuery = `\r\n CREATE TABLE sequelize_meta (\r\n name VARCHAR(100) PRIMARY KEY,\r\n version VARCHAR(25),\r\n createdAt DATETIME NOT NULL,\r\n updatedAt DATETIME NOT NULL\r\n )`;\r\n break;\r\n default:\r\n throw new Error('Unsupported SQL type');\r\n }\r\n\r\n // Create the new sequelize_meta table if it does not exist\r\n await sequelize.query(createTableQuery, { type: QueryTypes.RAW });\r\n\r\n // Migrate the data from the old table to the new one if needed\r\n if (hasLegacySequelizeMeta) {\r\n reportDebug({\r\n namespace,\r\n message: 'Legacy metadata table found, migrating data'\r\n });\r\n\r\n const migrations = await sequelize.query<SequelizeMeta>(\r\n 'SELECT name FROM SequelizeMeta ORDER BY name',\r\n {\r\n type: QueryTypes.SELECT\r\n }\r\n );\r\n\r\n const insertQuery = `\r\n INSERT INTO sequelize_meta (name, version, createdAt, updatedAt) VALUES\r\n ${migrations\r\n .map((migration) => {\r\n switch (process.env.SQL_TYPE) {\r\n case 'mysql':\r\n case 'postgres':\r\n return `('${migration.name}', NULL, NOW(), NOW())`;\r\n case 'mssql':\r\n return `('${migration.name}', NULL, GETDATE(), GETDATE())`;\r\n default:\r\n throw new Error('Unsupported SQL type');\r\n }\r\n })\r\n .join(',')}\r\n `;\r\n\r\n await sequelize.query(insertQuery, { type: QueryTypes.INSERT });\r\n }\r\n }\r\n}\r\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,kDAAkD;;EAEhE;EACA,MAAMC,MAAM,GAAG,MAAMJ,SAAS,CAACG,KAAK,CAAgBA,KAAK,EAAE;IACzDE,IAAI,EAAEC,qBAAU,CAACC;EACnB,CAAC,CAAC;EAEF,MAAMC,sBAAsB,GAC1BC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,UAAU,GAC/BP,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,GACrDT,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC;EAC1E,MAAMG,sBAAsB,GAC1BP,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,UAAU,GAC/BP,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,GACpDT,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;EACzE,IAAI,CAACL,sBAAsB,EAAE;IAC3B,IAAAP,mBAAW,EAAC;MACVH,SAAS;MACTI,OAAO,EAAE;IACX,CAAC,CAAC;;IAEF;IACA,IAAIe,gBAAgB,GAAG,EAAE;IAEzB,QAAQR,OAAO,CAACC,GAAG,CAACC,QAAQ;MAC1B,KAAK,OAAO;MACZ,KAAK,UAAU;QACbM,gBAAgB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY;QACJ;MACF,KAAK,OAAO;QACVA,gBAAgB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY;QACJ;MACF;QACE,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;;IAEA;IACA,MAAMlB,SAAS,CAACG,KAAK,CAACc,gBAAgB,EAAE;MAAEZ,IAAI,EAAEC,qBAAU,CAACa;IAAI,CAAC,CAAC;;IAEjE;IACA,IAAIH,sBAAsB,EAAE;MAC1B,IAAAf,mBAAW,EAAC;QACVH,SAAS;QACTI,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,MAAMkB,UAAU,GAAG,MAAMpB,SAAS,CAACG,KAAK,CACtC,8CAA8C,EAC9C;QACEE,IAAI,EAAEC,qBAAU,CAACC;MACnB,CACF,CAAC;MAED,MAAMc,WAAW,GAAG;AAC1B;AACA,UAAUD,UAAU,CACTE,GAAG,CAAEC,SAAS,IAAK;QAClB,QAAQd,OAAO,CAACC,GAAG,CAACC,QAAQ;UAC1B,KAAK,OAAO;UACZ,KAAK,UAAU;YACb,OAAO,KAAKY,SAAS,CAACC,IAAI,wBAAwB;UACpD,KAAK,OAAO;YACV,OAAO,KAAKD,SAAS,CAACC,IAAI,gCAAgC;UAC5D;YACE,MAAM,IAAIN,KAAK,CAAC,sBAAsB,CAAC;QAC3C;MACF,CAAC,CAAC,CACDO,IAAI,CAAC,GAAG,CAAC;AACpB,KAAK;MAEC,MAAMzB,SAAS,CAACG,KAAK,CAACkB,WAAW,EAAE;QAAEhB,IAAI,EAAEC,qBAAU,CAACoB;MAAO,CAAC,CAAC;IACjE;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"migrateMetadataTable.js","names":["_sequelize","require","_report","namespace","migrateMetadataTable","sequelize","reportDebug","message","query","tables","type","QueryTypes","SELECT","hasCustomSequelizeMeta","process","env","SQL_TYPE","some","table","Object","values","hasLegacySequelizeMeta","createTableQuery","Error","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 cannot 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`;\n\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 === 'postgres'\n ? tables.some((table) => table[0] === 'sequelize_meta')\n : tables.some((table) => Object.values(table)[0] === 'sequelize_meta');\n const hasLegacySequelizeMeta =\n process.env.SQL_TYPE === 'postgres'\n ? tables.some((table) => table[0] === 'SequelizeMeta')\n : tables.some((table) => Object.values(table)[0] === 'SequelizeMeta');\n if (!hasCustomSequelizeMeta) {\n reportDebug({\n namespace,\n message: 'No metadata table found, creating new one'\n });\n\n // Define SQL for creating the table based on the database type\n let createTableQuery = '';\n\n switch (process.env.SQL_TYPE) {\n case 'mysql':\n case 'postgres':\n createTableQuery = `\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 break;\n case 'mssql':\n createTableQuery = `\n CREATE TABLE sequelize_meta (\n name VARCHAR(100) PRIMARY KEY,\n version VARCHAR(25),\n createdAt DATETIME NOT NULL,\n updatedAt DATETIME NOT NULL\n )`;\n break;\n default:\n throw new Error('Unsupported SQL type');\n }\n\n // Create the new sequelize_meta table if it does not exist\n await sequelize.query(createTableQuery, { type: QueryTypes.RAW });\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\n const insertQuery = `\n INSERT INTO sequelize_meta (name, version, createdAt, updatedAt) VALUES\n ${migrations\n .map((migration) => {\n switch (process.env.SQL_TYPE) {\n case 'mysql':\n case 'postgres':\n return `('${migration.name}', NULL, NOW(), NOW())`;\n case 'mssql':\n return `('${migration.name}', NULL, GETDATE(), GETDATE())`;\n default:\n throw new Error('Unsupported SQL type');\n }\n })\n .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,kDAAkD;;EAEhE;EACA,MAAMC,MAAM,GAAG,MAAMJ,SAAS,CAACG,KAAK,CAAgBA,KAAK,EAAE;IACzDE,IAAI,EAAEC,qBAAU,CAACC;EACnB,CAAC,CAAC;EAEF,MAAMC,sBAAsB,GAC1BC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,UAAU,GAC/BP,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,GACrDT,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC;EAC1E,MAAMG,sBAAsB,GAC1BP,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,UAAU,GAC/BP,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,GACpDT,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;EACzE,IAAI,CAACL,sBAAsB,EAAE;IAC3B,IAAAP,mBAAW,EAAC;MACVH,SAAS;MACTI,OAAO,EAAE;IACX,CAAC,CAAC;;IAEF;IACA,IAAIe,gBAAgB,GAAG,EAAE;IAEzB,QAAQR,OAAO,CAACC,GAAG,CAACC,QAAQ;MAC1B,KAAK,OAAO;MACZ,KAAK,UAAU;QACbM,gBAAgB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY;QACJ;MACF,KAAK,OAAO;QACVA,gBAAgB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY;QACJ;MACF;QACE,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;;IAEA;IACA,MAAMlB,SAAS,CAACG,KAAK,CAACc,gBAAgB,EAAE;MAAEZ,IAAI,EAAEC,qBAAU,CAACa;IAAI,CAAC,CAAC;;IAEjE;IACA,IAAIH,sBAAsB,EAAE;MAC1B,IAAAf,mBAAW,EAAC;QACVH,SAAS;QACTI,OAAO,EAAE;MACX,CAAC,CAAC;MAEF,MAAMkB,UAAU,GAAG,MAAMpB,SAAS,CAACG,KAAK,CACtC,8CAA8C,EAC9C;QACEE,IAAI,EAAEC,qBAAU,CAACC;MACnB,CACF,CAAC;MAED,MAAMc,WAAW,GAAG;AAC1B;AACA,UAAUD,UAAU,CACTE,GAAG,CAAEC,SAAS,IAAK;QAClB,QAAQd,OAAO,CAACC,GAAG,CAACC,QAAQ;UAC1B,KAAK,OAAO;UACZ,KAAK,UAAU;YACb,OAAO,KAAKY,SAAS,CAACC,IAAI,wBAAwB;UACpD,KAAK,OAAO;YACV,OAAO,KAAKD,SAAS,CAACC,IAAI,gCAAgC;UAC5D;YACE,MAAM,IAAIN,KAAK,CAAC,sBAAsB,CAAC;QAC3C;MACF,CAAC,CAAC,CACDO,IAAI,CAAC,GAAG,CAAC;AACpB,KAAK;MAEC,MAAMzB,SAAS,CAACG,KAAK,CAACkB,WAAW,EAAE;QAAEhB,IAAI,EAAEC,qBAAU,CAACoB;MAAO,CAAC,CAAC;IACjE;EACF;AACF","ignoreList":[]}
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.envAssert = void 0;
7
7
  var _envalid = require("envalid");
8
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
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
15
  */
16
16
  const envAssert = exports.envAssert = {
17
17
  isString: _validators.envIsString,
@@ -1 +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';\r\n\r\nimport {\r\n envIsIpList,\r\n envIsPath,\r\n envIsHostList,\r\n envIsStringList,\r\n envIsString\r\n} from './validators';\r\n\r\n/**\r\n * envalid validators to use with checkEnvironment made with evalid.makeValidator and validator.js\r\n * is* functions. + Also Added isString, isHost, and isIPList.\r\n *\r\n *\r\n * envalid docs: https://github.com/af/envalid\r\n */\r\nexport const envAssert = {\r\n isString: envIsString,\r\n isBoolean: bool,\r\n isNumber: num,\r\n isEmail: email,\r\n isHost: host,\r\n isPort: port,\r\n isURL: url,\r\n isJSON: json,\r\n isIPList: envIsIpList,\r\n isPath: envIsPath,\r\n isHostList: envIsHostList,\r\n isStringList: envIsStringList\r\n};\r\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":[]}
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":[]}
@@ -1 +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';\r\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":[]}
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":[]}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.envIsHostList = void 0;
8
8
  var _envalid = require("envalid");
9
9
  var _validator = _interopRequireDefault(require("validator"));
10
- /**
11
- * Validate that a string is a list of comma separated host names
10
+ /**
11
+ * Validate that a string is a list of comma separated host names
12
12
  */
13
13
  const envIsHostList = exports.envIsHostList = (0, _envalid.makeValidator)(value => {
14
14
  if (!value) throw new Error('expected a host name');
@@ -1 +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';\r\nimport validator from 'validator';\r\n\r\n/**\r\n * Validate that a string is a list of comma separated host names\r\n */\r\nexport const envIsHostList = makeValidator((value): boolean => {\r\n if (!value) throw new Error('expected a host name');\r\n const hosts = value.split(',');\r\n const valid = hosts.every(\r\n (host) =>\r\n validator.isIP(host.trim()) ||\r\n validator.isFQDN(host.trim(), { require_tld: false })\r\n );\r\n if (!valid) throw new Error('expected a host name');\r\n return valid;\r\n});\r\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":[]}
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":[]}
@@ -1 +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';\r\nexport * from './path';\r\nexport * from './hostList';\r\nexport * from './stringList';\r\nexport * from './string';\r\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":[]}
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":[]}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.envIsIpList = void 0;
8
8
  var _envalid = require("envalid");
9
9
  var _validator = _interopRequireDefault(require("validator"));
10
- /**
11
- * Validate that a string is a list of comma separated ip (V4/V6) addresses
10
+ /**
11
+ * Validate that a string is a list of comma separated ip (V4/V6) addresses
12
12
  */
13
13
  const envIsIpList = exports.envIsIpList = (0, _envalid.makeValidator)(value => {
14
14
  if (!value) throw new Error('expected an ip address');
@@ -1 +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';\r\nimport validator from 'validator';\r\n\r\n/**\r\n * Validate that a string is a list of comma separated ip (V4/V6) addresses\r\n */\r\nexport const envIsIpList = makeValidator((value): boolean => {\r\n if (!value) throw new Error('expected an ip address');\r\n const ips = value.split(',');\r\n const valid = ips.every((v) => validator.isIP(v));\r\n if (!valid) throw new Error('expected an ip address');\r\n return valid;\r\n});\r\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":[]}
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":[]}
@@ -7,8 +7,8 @@ exports.envIsPath = void 0;
7
7
  var _envalid = require("envalid");
8
8
  const pathRegex = /^(\.\.\/(?:\.\.\/)*)?(?!.*?\/\/)(?!(?:.*\/)?\.+(?:\/|$)).+$/;
9
9
 
10
- /**
11
- * Validate that a string is a system path (linux only)
10
+ /**
11
+ * Validate that a string is a system path (linux only)
12
12
  */
13
13
  const envIsPath = exports.envIsPath = (0, _envalid.makeValidator)(value => {
14
14
  if (!value) throw new Error('expected a path');
@@ -1 +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';\r\n\r\nconst pathRegex = /^(\\.\\.\\/(?:\\.\\.\\/)*)?(?!.*?\\/\\/)(?!(?:.*\\/)?\\.+(?:\\/|$)).+$/;\r\n\r\n/**\r\n * Validate that a string is a system path (linux only)\r\n */\r\nexport const envIsPath = makeValidator((value): boolean => {\r\n if (!value) throw new Error('expected a path');\r\n const valid = pathRegex.test(value);\r\n if (!valid) throw new Error('expected a path');\r\n return valid;\r\n});\r\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":[]}
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":[]}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.envIsString = void 0;
7
7
  var _envalid = require("envalid");
8
- /**
9
- * Validate that aa value is a string
8
+ /**
9
+ * Validate that aa value is a string
10
10
  */
11
11
  const envIsString = exports.envIsString = (0, _envalid.makeValidator)(value => {
12
12
  if (!value || typeof value !== 'string') throw new Error('expected a string');
@@ -1 +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';\r\n\r\n/**\r\n * Validate that aa value is a string\r\n */\r\nexport const envIsString = makeValidator((value): boolean => {\r\n if (!value || typeof value !== 'string') throw new Error('expected a string');\r\n return value.length > 0;\r\n});\r\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":[]}
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":[]}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.envIsStringList = void 0;
7
7
  var _envalid = require("envalid");
8
- /**
9
- * Validate that a string is a list of comma separated strings
10
-
8
+ /**
9
+ * Validate that a string is a list of comma separated strings
10
+
11
11
  */
12
12
  const envIsStringList = exports.envIsStringList = (0, _envalid.makeValidator)(value => {
13
13
  if (!value) throw new Error('expected a string');
@@ -1 +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';\r\n\r\n/**\r\n * Validate that a string is a list of comma separated strings\r\n\r\n */\r\nexport const envIsStringList = makeValidator((value): boolean => {\r\n if (!value) throw new Error('expected a string');\r\n const strings = value.split(',');\r\n const valid = strings.every((v) => typeof v === 'string');\r\n if (!valid) throw new Error('expected a string');\r\n return valid;\r\n});\r\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":[]}
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":[]}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
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
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
11
  */
12
12
  function filter(object, whitelist) {
13
13
  const copy = {};
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","names":["filter","object","whitelist","copy","key","Object","keys","includes"],"sources":["../../../src/utils/filter/filter.ts"],"sourcesContent":["/**\r\n * Filters an object, returns a copy of that object with only the keys specified in the whitelist\r\n * @param object - The object to filter\r\n * @param whitelist - A list of keys to keep\r\n */\r\nexport function filter<T extends Record<string, unknown>>(\r\n object: T,\r\n whitelist: Array<string>\r\n): T {\r\n const copy: Record<string, unknown> = {};\r\n for (const key of Object.keys(object)) {\r\n if (whitelist.includes(key)) {\r\n copy[key] = object[key];\r\n }\r\n }\r\n return copy as T;\r\n}\r\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":[]}
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":[]}
@@ -1 +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';\r\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":[]}
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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicLink.js","names":["_getDynamicLink","require","_tlsRequest","getDynamicLink","path","options","validateDynamicLinkEnvironment","option","method","url","baseURL","process","env","LINKS_SERVICE_URL","params","short","data","link","tlsRequest"],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.ts"],"sourcesContent":["import { AxiosRequestConfig } from 'axios';\r\nimport {\r\n getDynamicLinksOptions,\r\n DynamicLinkResponseBody\r\n} from './getDynamicLink.types';\r\nimport { validateDynamicLinkEnvironment } from './getDynamicLink.validate';\r\nimport { tlsRequest } from 'utils/tlsRequest';\r\n\r\n/** Fetch a dynamic link from the links service */\r\nexport async function getDynamicLink(\r\n path: string,\r\n options: getDynamicLinksOptions = {}\r\n): Promise<string> {\r\n validateDynamicLinkEnvironment();\r\n const option: AxiosRequestConfig = {\r\n method: 'get',\r\n url: '/link',\r\n baseURL: process.env.LINKS_SERVICE_URL,\r\n params: {\r\n path,\r\n short: options.short ?? true\r\n }\r\n };\r\n const {\r\n data: { link }\r\n } = await tlsRequest<DynamicLinkResponseBody>(option);\r\n return link;\r\n}\r\n"],"mappings":";;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA;AACO,eAAeE,cAAcA,CAClCC,IAAY,EACZC,OAA+B,GAAG,CAAC,CAAC,EACnB;EACjB,IAAAC,8CAA8B,EAAC,CAAC;EAChC,MAAMC,MAA0B,GAAG;IACjCC,MAAM,EAAE,KAAK;IACbC,GAAG,EAAE,OAAO;IACZC,OAAO,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB;IACtCC,MAAM,EAAE;MACNV,IAAI;MACJW,KAAK,EAAEV,OAAO,CAACU,KAAK,IAAI;IAC1B;EACF,CAAC;EACD,MAAM;IACJC,IAAI,EAAE;MAAEC;IAAK;EACf,CAAC,GAAG,MAAM,IAAAC,sBAAU,EAA0BX,MAAM,CAAC;EACrD,OAAOU,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"file":"getDynamicLink.js","names":["_getDynamicLink","require","_tlsRequest","getDynamicLink","path","options","validateDynamicLinkEnvironment","option","method","url","baseURL","process","env","LINKS_SERVICE_URL","params","short","data","link","tlsRequest"],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.ts"],"sourcesContent":["import { AxiosRequestConfig } from 'axios';\nimport {\n getDynamicLinksOptions,\n DynamicLinkResponseBody\n} from './getDynamicLink.types';\nimport { validateDynamicLinkEnvironment } from './getDynamicLink.validate';\nimport { tlsRequest } from 'utils/tlsRequest';\n\n/** Fetch a dynamic link from the links service */\nexport async function getDynamicLink(\n path: string,\n options: getDynamicLinksOptions = {}\n): Promise<string> {\n validateDynamicLinkEnvironment();\n const option: AxiosRequestConfig = {\n method: 'get',\n url: '/link',\n baseURL: process.env.LINKS_SERVICE_URL,\n params: {\n path,\n short: options.short ?? true\n }\n };\n const {\n data: { link }\n } = await tlsRequest<DynamicLinkResponseBody>(option);\n return link;\n}\n"],"mappings":";;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA;AACO,eAAeE,cAAcA,CAClCC,IAAY,EACZC,OAA+B,GAAG,CAAC,CAAC,EACnB;EACjB,IAAAC,8CAA8B,EAAC,CAAC;EAChC,MAAMC,MAA0B,GAAG;IACjCC,MAAM,EAAE,KAAK;IACbC,GAAG,EAAE,OAAO;IACZC,OAAO,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB;IACtCC,MAAM,EAAE;MACNV,IAAI;MACJW,KAAK,EAAEV,OAAO,CAACU,KAAK,IAAI;IAC1B;EACF,CAAC;EACD,MAAM;IACJC,IAAI,EAAE;MAAEC;IAAK;EACf,CAAC,GAAG,MAAM,IAAAC,sBAAU,EAA0BX,MAAM,CAAC;EACrD,OAAOU,IAAI;AACb","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicLink.types.js","names":[],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.types.ts"],"sourcesContent":["/** Options to fetch dynamic links */\r\nexport interface getDynamicLinksOptions {\r\n /** Make a shortened link */\r\n short?: boolean;\r\n}\r\n\r\n/** Dynamic link query server response */\r\nexport interface DynamicLinkResponseBody {\r\n /** The generated dynamic link */\r\n link: string;\r\n}\r\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"getDynamicLink.types.js","names":[],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.types.ts"],"sourcesContent":["/** Options to fetch dynamic links */\nexport interface getDynamicLinksOptions {\n /** Make a shortened link */\n short?: boolean;\n}\n\n/** Dynamic link query server response */\nexport interface DynamicLinkResponseBody {\n /** The generated dynamic link */\n link: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicLink.validate.js","names":["_","require","validateDynamicLinkEnvironment","assertEnvironment","LINKS_SERVICE_URL","envAssert","isURL"],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\r\n\r\n/** Environment variable validator for get dynamic link from LinkService */\r\nexport function validateDynamicLinkEnvironment(): void {\r\n assertEnvironment({ LINKS_SERVICE_URL: envAssert.isURL() });\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACO,SAASC,8BAA8BA,CAAA,EAAS;EACrD,IAAAC,mBAAiB,EAAC;IAAEC,iBAAiB,EAAEC,WAAS,CAACC,KAAK,CAAC;EAAE,CAAC,CAAC;AAC7D","ignoreList":[]}
1
+ {"version":3,"file":"getDynamicLink.validate.js","names":["_","require","validateDynamicLinkEnvironment","assertEnvironment","LINKS_SERVICE_URL","envAssert","isURL"],"sources":["../../../src/utils/getDynamicLink/getDynamicLink.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\n\n/** Environment variable validator for get dynamic link from LinkService */\nexport function validateDynamicLinkEnvironment(): void {\n assertEnvironment({ LINKS_SERVICE_URL: envAssert.isURL() });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACO,SAASC,8BAA8BA,CAAA,EAAS;EACrD,IAAAC,mBAAiB,EAAC;IAAEC,iBAAiB,EAAEC,WAAS,CAACC,KAAK,CAAC;EAAE,CAAC,CAAC;AAC7D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getDynamicLink","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getDynamicLink2"],"sources":["../../../src/utils/getDynamicLink/index.ts"],"sourcesContent":["export * from './getDynamicLink';\r\nexport * from './getDynamicLink.types';\r\n"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_getDynamicLink","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getDynamicLink2"],"sources":["../../../src/utils/getDynamicLink/index.ts"],"sourcesContent":["export * from './getDynamicLink';\nexport * from './getDynamicLink.types';\n"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.assertPayloadSignatureSecret = assertPayloadSignatureSecret;
7
7
  var _checkEnvironment = require("../../checkEnvironment");
8
8
  var _envAssert = require("../../envAssert");
9
- /**
10
- * Check that secret used to sign payloads is properly set in the environment
9
+ /**
10
+ * Check that secret used to sign payloads is properly set in the environment
11
11
  */
12
12
  function assertPayloadSignatureSecret() {
13
13
  (0, _checkEnvironment.assertEnvironment)({
@@ -1 +1 @@
1
- {"version":3,"file":"checkEnv.js","names":["_checkEnvironment","require","_envAssert","assertPayloadSignatureSecret","assertEnvironment","PAYLOAD_SIGNATURE_SECRET","envAssert","isString"],"sources":["../../../../src/utils/hmac/checkEnv/checkEnv.ts"],"sourcesContent":["import { assertEnvironment } from 'utils/checkEnvironment';\r\nimport { envAssert } from 'utils/envAssert';\r\n\r\n/**\r\n * Check that secret used to sign payloads is properly set in the environment\r\n */\r\nexport function assertPayloadSignatureSecret(): void {\r\n assertEnvironment({ PAYLOAD_SIGNATURE_SECRET: envAssert.isString() });\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACO,SAASE,4BAA4BA,CAAA,EAAS;EACnD,IAAAC,mCAAiB,EAAC;IAAEC,wBAAwB,EAAEC,oBAAS,CAACC,QAAQ,CAAC;EAAE,CAAC,CAAC;AACvE","ignoreList":[]}
1
+ {"version":3,"file":"checkEnv.js","names":["_checkEnvironment","require","_envAssert","assertPayloadSignatureSecret","assertEnvironment","PAYLOAD_SIGNATURE_SECRET","envAssert","isString"],"sources":["../../../../src/utils/hmac/checkEnv/checkEnv.ts"],"sourcesContent":["import { assertEnvironment } from 'utils/checkEnvironment';\nimport { envAssert } from 'utils/envAssert';\n\n/**\n * Check that secret used to sign payloads is properly set in the environment\n */\nexport function assertPayloadSignatureSecret(): void {\n assertEnvironment({ PAYLOAD_SIGNATURE_SECRET: envAssert.isString() });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACO,SAASE,4BAA4BA,CAAA,EAAS;EACnD,IAAAC,mCAAiB,EAAC;IAAEC,wBAAwB,EAAEC,oBAAS,CAACC,QAAQ,CAAC;EAAE,CAAC,CAAC;AACvE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_checkEnv","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/checkEnv/index.ts"],"sourcesContent":["export * from './checkEnv';\r\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_checkEnv","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/checkEnv/index.ts"],"sourcesContent":["export * from './checkEnv';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createHmac.js","names":["_crypto","_interopRequireDefault","require","_checkEnv","_createSortedObject","createHmac","payload","options","secret","assertPayloadSignatureSecret","settings","algorithm","sort","encode","process","env","PAYLOAD_SIGNATURE_SECRET","sortedPayload","createSortedObject","stringifiedPayload","JSON","stringify","hmac","crypto","update","digest"],"sources":["../../../../src/utils/hmac/createHmac/createHmac.ts"],"sourcesContent":["import crypto from 'crypto';\r\nimport { assertPayloadSignatureSecret } from '../checkEnv';\r\nimport { HmacOptions } from '../index.types';\r\nimport { createSortedObject } from 'utils/createSortedObject';\r\n\r\n/** Calculates the HMAC signature for a given payload */\r\nexport function createHmac(\r\n payload: unknown,\r\n options: HmacOptions = {}\r\n): Buffer | string {\r\n // Check env if no secret is specified\r\n if (!options.secret) {\r\n assertPayloadSignatureSecret();\r\n }\r\n // Set default values\r\n const settings = {\r\n algorithm: options.algorithm ?? 'sha512',\r\n sort: options.sort ?? true,\r\n encode: options.encode,\r\n secret: options.secret ?? (process.env.PAYLOAD_SIGNATURE_SECRET as string)\r\n };\r\n\r\n // Stringify the payload\r\n const sortedPayload = settings.sort ? createSortedObject(payload) : payload;\r\n const stringifiedPayload = JSON.stringify(sortedPayload);\r\n\r\n // Calculate the hash\r\n const hmac = crypto\r\n .createHmac(settings.algorithm, settings.secret)\r\n .update(stringifiedPayload);\r\n\r\n return settings.encode ? hmac.digest(settings.encode) : hmac.digest();\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAEA;AACO,SAASG,UAAUA,CACxBC,OAAgB,EAChBC,OAAoB,GAAG,CAAC,CAAC,EACR;EACjB;EACA,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE;IACnB,IAAAC,sCAA4B,EAAC,CAAC;EAChC;EACA;EACA,MAAMC,QAAQ,GAAG;IACfC,SAAS,EAAEJ,OAAO,CAACI,SAAS,IAAI,QAAQ;IACxCC,IAAI,EAAEL,OAAO,CAACK,IAAI,IAAI,IAAI;IAC1BC,MAAM,EAAEN,OAAO,CAACM,MAAM;IACtBL,MAAM,EAAED,OAAO,CAACC,MAAM,IAAKM,OAAO,CAACC,GAAG,CAACC;EACzC,CAAC;;EAED;EACA,MAAMC,aAAa,GAAGP,QAAQ,CAACE,IAAI,GAAG,IAAAM,sCAAkB,EAACZ,OAAO,CAAC,GAAGA,OAAO;EAC3E,MAAMa,kBAAkB,GAAGC,IAAI,CAACC,SAAS,CAACJ,aAAa,CAAC;;EAExD;EACA,MAAMK,IAAI,GAAGC,eAAM,CAChBlB,UAAU,CAACK,QAAQ,CAACC,SAAS,EAAED,QAAQ,CAACF,MAAM,CAAC,CAC/CgB,MAAM,CAACL,kBAAkB,CAAC;EAE7B,OAAOT,QAAQ,CAACG,MAAM,GAAGS,IAAI,CAACG,MAAM,CAACf,QAAQ,CAACG,MAAM,CAAC,GAAGS,IAAI,CAACG,MAAM,CAAC,CAAC;AACvE","ignoreList":[]}
1
+ {"version":3,"file":"createHmac.js","names":["_crypto","_interopRequireDefault","require","_checkEnv","_createSortedObject","createHmac","payload","options","secret","assertPayloadSignatureSecret","settings","algorithm","sort","encode","process","env","PAYLOAD_SIGNATURE_SECRET","sortedPayload","createSortedObject","stringifiedPayload","JSON","stringify","hmac","crypto","update","digest"],"sources":["../../../../src/utils/hmac/createHmac/createHmac.ts"],"sourcesContent":["import crypto from 'crypto';\nimport { assertPayloadSignatureSecret } from '../checkEnv';\nimport { HmacOptions } from '../index.types';\nimport { createSortedObject } from 'utils/createSortedObject';\n\n/** Calculates the HMAC signature for a given payload */\nexport function createHmac(\n payload: unknown,\n options: HmacOptions = {}\n): Buffer | string {\n // Check env if no secret is specified\n if (!options.secret) {\n assertPayloadSignatureSecret();\n }\n // Set default values\n const settings = {\n algorithm: options.algorithm ?? 'sha512',\n sort: options.sort ?? true,\n encode: options.encode,\n secret: options.secret ?? (process.env.PAYLOAD_SIGNATURE_SECRET as string)\n };\n\n // Stringify the payload\n const sortedPayload = settings.sort ? createSortedObject(payload) : payload;\n const stringifiedPayload = JSON.stringify(sortedPayload);\n\n // Calculate the hash\n const hmac = crypto\n .createHmac(settings.algorithm, settings.secret)\n .update(stringifiedPayload);\n\n return settings.encode ? hmac.digest(settings.encode) : hmac.digest();\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAEA;AACO,SAASG,UAAUA,CACxBC,OAAgB,EAChBC,OAAoB,GAAG,CAAC,CAAC,EACR;EACjB;EACA,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE;IACnB,IAAAC,sCAA4B,EAAC,CAAC;EAChC;EACA;EACA,MAAMC,QAAQ,GAAG;IACfC,SAAS,EAAEJ,OAAO,CAACI,SAAS,IAAI,QAAQ;IACxCC,IAAI,EAAEL,OAAO,CAACK,IAAI,IAAI,IAAI;IAC1BC,MAAM,EAAEN,OAAO,CAACM,MAAM;IACtBL,MAAM,EAAED,OAAO,CAACC,MAAM,IAAKM,OAAO,CAACC,GAAG,CAACC;EACzC,CAAC;;EAED;EACA,MAAMC,aAAa,GAAGP,QAAQ,CAACE,IAAI,GAAG,IAAAM,sCAAkB,EAACZ,OAAO,CAAC,GAAGA,OAAO;EAC3E,MAAMa,kBAAkB,GAAGC,IAAI,CAACC,SAAS,CAACJ,aAAa,CAAC;;EAExD;EACA,MAAMK,IAAI,GAAGC,eAAM,CAChBlB,UAAU,CAACK,QAAQ,CAACC,SAAS,EAAED,QAAQ,CAACF,MAAM,CAAC,CAC/CgB,MAAM,CAACL,kBAAkB,CAAC;EAE7B,OAAOT,QAAQ,CAACG,MAAM,GAAGS,IAAI,CAACG,MAAM,CAACf,QAAQ,CAACG,MAAM,CAAC,GAAGS,IAAI,CAACG,MAAM,CAAC,CAAC;AACvE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_createHmac","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/createHmac/index.ts"],"sourcesContent":["export * from './createHmac';\r\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_createHmac","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/createHmac/index.ts"],"sourcesContent":["export * from './createHmac';\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_signPayload","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_verifySignature","_createHmac","_index"],"sources":["../../../src/utils/hmac/index.ts"],"sourcesContent":["export * from './signPayload';\r\nexport * from './verifySignature';\r\nexport * from './createHmac';\r\nexport * from './index.types';\r\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,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_signPayload","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_verifySignature","_createHmac","_index"],"sources":["../../../src/utils/hmac/index.ts"],"sourcesContent":["export * from './signPayload';\nexport * from './verifySignature';\nexport * from './createHmac';\nexport * from './index.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,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.types.js","names":[],"sources":["../../../src/utils/hmac/index.types.ts"],"sourcesContent":["import { BinaryToTextEncoding } from 'crypto';\r\n\r\n/** HMAC calculation options */\r\nexport interface HmacOptions {\r\n /** Secret used to sign the payload */\r\n secret?: string;\r\n /** Hashing algorithm to use (default: SHA-512) */\r\n algorithm?: string;\r\n /** Should the object keys be sorted alphabetically (default: true) */\r\n sort?: boolean;\r\n /** The encoding of the signature (default: base64) */\r\n encode?: BinaryToTextEncoding;\r\n}\r\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.types.js","names":[],"sources":["../../../src/utils/hmac/index.types.ts"],"sourcesContent":["import { BinaryToTextEncoding } from 'crypto';\n\n/** HMAC calculation options */\nexport interface HmacOptions {\n /** Secret used to sign the payload */\n secret?: string;\n /** Hashing algorithm to use (default: SHA-512) */\n algorithm?: string;\n /** Should the object keys be sorted alphabetically (default: true) */\n sort?: boolean;\n /** The encoding of the signature (default: base64) */\n encode?: BinaryToTextEncoding;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_signPayload","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/signPayload/index.ts"],"sourcesContent":["export * from './signPayload';\r\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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_signPayload","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/signPayload/index.ts"],"sourcesContent":["export * from './signPayload';\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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"signPayload.js","names":["_createHmac","require","signPayload","payload","options","signature","createHmac","encode"],"sources":["../../../../src/utils/hmac/signPayload/signPayload.ts"],"sourcesContent":["import { createHmac } from '../createHmac';\r\nimport { HmacOptions } from '../index.types';\r\n\r\n/** Add signature to a payload */\r\nexport function signPayload<T>(\r\n payload: T,\r\n options: HmacOptions = {}\r\n): T & {\r\n /** HMAC signature of the payload */\r\n signature: string;\r\n} {\r\n return {\r\n ...payload,\r\n signature: createHmac(payload, { ...options, encode: 'base64' }) as string\r\n };\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA;AACO,SAASC,WAAWA,CACzBC,OAAU,EACVC,OAAoB,GAAG,CAAC,CAAC,EAIzB;EACA,OAAO;IACL,GAAGD,OAAO;IACVE,SAAS,EAAE,IAAAC,sBAAU,EAACH,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEG,MAAM,EAAE;IAAS,CAAC;EACjE,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"signPayload.js","names":["_createHmac","require","signPayload","payload","options","signature","createHmac","encode"],"sources":["../../../../src/utils/hmac/signPayload/signPayload.ts"],"sourcesContent":["import { createHmac } from '../createHmac';\nimport { HmacOptions } from '../index.types';\n\n/** Add signature to a payload */\nexport function signPayload<T>(\n payload: T,\n options: HmacOptions = {}\n): T & {\n /** HMAC signature of the payload */\n signature: string;\n} {\n return {\n ...payload,\n signature: createHmac(payload, { ...options, encode: 'base64' }) as string\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA;AACO,SAASC,WAAWA,CACzBC,OAAU,EACVC,OAAoB,GAAG,CAAC,CAAC,EAIzB;EACA,OAAO;IACL,GAAGD,OAAO;IACVE,SAAS,EAAE,IAAAC,sBAAU,EAACH,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEG,MAAM,EAAE;IAAS,CAAC;EACjE,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_verifySignature","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/verifySignature/index.ts"],"sourcesContent":["export * from './verifySignature';\r\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_verifySignature","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/hmac/verifySignature/index.ts"],"sourcesContent":["export * from './verifySignature';\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}