@webda/core 4.0.0-beta.1 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +437 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +792 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/hooks.d.ts +34 -0
  7. package/lib/application/hooks.d.ts.map +1 -0
  8. package/lib/application/hooks.js +57 -0
  9. package/lib/application/hooks.js.map +1 -0
  10. package/lib/application/iapplication.d.ts +43 -0
  11. package/lib/application/iapplication.d.ts.map +1 -0
  12. package/lib/application/iapplication.js +2 -0
  13. package/lib/application/iapplication.js.map +1 -0
  14. package/lib/application/iconfiguration.d.ts +176 -0
  15. package/lib/application/iconfiguration.d.ts.map +1 -0
  16. package/lib/application/iconfiguration.js +8 -0
  17. package/lib/application/iconfiguration.js.map +1 -0
  18. package/lib/application/runner.d.ts +8 -0
  19. package/lib/application/runner.d.ts.map +1 -0
  20. package/lib/application/runner.js +26 -0
  21. package/lib/application/runner.js.map +1 -0
  22. package/lib/application/unpackedapplication.d.ts +104 -0
  23. package/lib/application/unpackedapplication.d.ts.map +1 -0
  24. package/lib/application/unpackedapplication.js +492 -0
  25. package/lib/application/unpackedapplication.js.map +1 -0
  26. package/lib/bin/cli-phase.d.ts +28 -0
  27. package/lib/bin/cli-phase.d.ts.map +1 -0
  28. package/lib/bin/cli-phase.js +44 -0
  29. package/lib/bin/cli-phase.js.map +1 -0
  30. package/lib/bin/cli.d.ts +161 -0
  31. package/lib/bin/cli.d.ts.map +1 -0
  32. package/lib/bin/cli.js +828 -0
  33. package/lib/bin/cli.js.map +1 -0
  34. package/lib/bin/launcher.d.ts +3 -0
  35. package/lib/bin/launcher.d.ts.map +1 -0
  36. package/lib/bin/launcher.js +50 -0
  37. package/lib/bin/launcher.js.map +1 -0
  38. package/lib/cache/cache.d.ts +33 -0
  39. package/lib/cache/cache.d.ts.map +1 -0
  40. package/lib/cache/cache.js +8 -0
  41. package/lib/cache/cache.js.map +1 -0
  42. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -49
  43. package/lib/configurations/configuration.service.d.ts.map +1 -0
  44. package/lib/configurations/configuration.service.js +248 -0
  45. package/lib/configurations/configuration.service.js.map +1 -0
  46. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  47. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  48. package/lib/configurations/fileconfiguration.service.js +65 -0
  49. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  50. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  51. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  53. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  54. package/lib/contexts/execution.d.ts +33 -0
  55. package/lib/contexts/execution.d.ts.map +1 -0
  56. package/lib/contexts/execution.js +73 -0
  57. package/lib/contexts/execution.js.map +1 -0
  58. package/lib/contexts/globalcontext.d.ts +29 -0
  59. package/lib/contexts/globalcontext.d.ts.map +1 -0
  60. package/lib/contexts/globalcontext.js +38 -0
  61. package/lib/contexts/globalcontext.js.map +1 -0
  62. package/lib/{utils → contexts}/httpcontext.d.ts +45 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +102 -34
  65. package/lib/contexts/httpcontext.js.map +1 -0
  66. package/lib/contexts/icontext.d.ts +236 -0
  67. package/lib/contexts/icontext.d.ts.map +1 -0
  68. package/lib/contexts/icontext.js +230 -0
  69. package/lib/contexts/icontext.js.map +1 -0
  70. package/lib/contexts/operationcontext.d.ts +179 -0
  71. package/lib/contexts/operationcontext.d.ts.map +1 -0
  72. package/lib/contexts/operationcontext.js +358 -0
  73. package/lib/contexts/operationcontext.js.map +1 -0
  74. package/lib/contexts/simplecontext.d.ts +31 -0
  75. package/lib/contexts/simplecontext.d.ts.map +1 -0
  76. package/lib/contexts/simplecontext.js +45 -0
  77. package/lib/contexts/simplecontext.js.map +1 -0
  78. package/lib/contexts/webcontext.d.ts +218 -0
  79. package/lib/contexts/webcontext.d.ts.map +1 -0
  80. package/lib/contexts/webcontext.js +389 -0
  81. package/lib/contexts/webcontext.js.map +1 -0
  82. package/lib/core/authorizer.d.ts +23 -0
  83. package/lib/core/authorizer.d.ts.map +1 -0
  84. package/lib/core/authorizer.js +17 -0
  85. package/lib/core/authorizer.js.map +1 -0
  86. package/lib/core/core.d.ts +225 -0
  87. package/lib/core/core.d.ts.map +1 -0
  88. package/lib/core/core.js +576 -0
  89. package/lib/core/core.js.map +1 -0
  90. package/lib/core/hooks.d.ts +72 -0
  91. package/lib/core/hooks.d.ts.map +1 -0
  92. package/lib/core/hooks.js +73 -0
  93. package/lib/core/hooks.js.map +1 -0
  94. package/lib/core/icore.d.ts +249 -0
  95. package/lib/core/icore.d.ts.map +1 -0
  96. package/lib/core/icore.js +15 -0
  97. package/lib/core/icore.js.map +1 -0
  98. package/lib/core/instancestorage.d.ts +61 -0
  99. package/lib/core/instancestorage.d.ts.map +1 -0
  100. package/lib/core/instancestorage.js +75 -0
  101. package/lib/core/instancestorage.js.map +1 -0
  102. package/lib/core/operations.d.ts +181 -0
  103. package/lib/core/operations.d.ts.map +1 -0
  104. package/lib/core/operations.js +559 -0
  105. package/lib/core/operations.js.map +1 -0
  106. package/lib/errors/errors.d.ts +126 -0
  107. package/lib/errors/errors.d.ts.map +1 -0
  108. package/lib/errors/errors.js +165 -0
  109. package/lib/errors/errors.js.map +1 -0
  110. package/lib/events/asynceventemitter.d.ts +159 -0
  111. package/lib/events/asynceventemitter.d.ts.map +1 -0
  112. package/lib/events/asynceventemitter.js +152 -0
  113. package/lib/events/asynceventemitter.js.map +1 -0
  114. package/lib/events/events.d.ts +112 -0
  115. package/lib/events/events.d.ts.map +1 -0
  116. package/lib/events/events.js +45 -0
  117. package/lib/events/events.js.map +1 -0
  118. package/lib/index.d.ts +84 -51
  119. package/lib/index.d.ts.map +1 -0
  120. package/lib/index.js +82 -59
  121. package/lib/index.js.map +1 -1
  122. package/lib/loggers/console.service.d.ts +24 -0
  123. package/lib/loggers/console.service.d.ts.map +1 -0
  124. package/lib/loggers/console.service.js +30 -0
  125. package/lib/loggers/console.service.js.map +1 -0
  126. package/lib/loggers/file.service.d.ts +25 -0
  127. package/lib/loggers/file.service.d.ts.map +1 -0
  128. package/lib/loggers/file.service.js +33 -0
  129. package/lib/loggers/file.service.js.map +1 -0
  130. package/lib/loggers/hooks.d.ts +20 -0
  131. package/lib/loggers/hooks.d.ts.map +1 -0
  132. package/lib/loggers/hooks.js +40 -0
  133. package/lib/loggers/hooks.js.map +1 -0
  134. package/lib/loggers/ilogger.d.ts +76 -0
  135. package/lib/loggers/ilogger.d.ts.map +1 -0
  136. package/lib/loggers/ilogger.js +108 -0
  137. package/lib/loggers/ilogger.js.map +1 -0
  138. package/lib/loggers/logger.d.ts +13 -0
  139. package/lib/loggers/logger.d.ts.map +1 -0
  140. package/lib/loggers/logger.js +18 -0
  141. package/lib/loggers/logger.js.map +1 -0
  142. package/lib/loggers/memory.service.d.ts +18 -0
  143. package/lib/loggers/memory.service.d.ts.map +1 -0
  144. package/lib/loggers/memory.service.js +21 -0
  145. package/lib/loggers/memory.service.js.map +1 -0
  146. package/lib/loggers/params.d.ts +47 -0
  147. package/lib/loggers/params.d.ts.map +1 -0
  148. package/lib/loggers/params.js +56 -0
  149. package/lib/loggers/params.js.map +1 -0
  150. package/lib/metrics/metrics.d.ts +25 -0
  151. package/lib/metrics/metrics.d.ts.map +1 -0
  152. package/lib/metrics/metrics.js +51 -0
  153. package/lib/metrics/metrics.js.map +1 -0
  154. package/lib/models/aclmodel.d.ts +21 -77
  155. package/lib/models/aclmodel.d.ts.map +1 -0
  156. package/lib/models/aclmodel.js +27 -204
  157. package/lib/models/aclmodel.js.map +1 -1
  158. package/lib/models/coremodel.model.d.ts +5 -0
  159. package/lib/models/coremodel.model.d.ts.map +1 -0
  160. package/lib/models/coremodel.model.js +5 -0
  161. package/lib/models/coremodel.model.js.map +1 -0
  162. package/lib/models/decorator.d.ts +63 -0
  163. package/lib/models/decorator.d.ts.map +1 -0
  164. package/lib/models/decorator.js +63 -0
  165. package/lib/models/decorator.js.map +1 -0
  166. package/lib/models/deployment.d.ts +2 -1
  167. package/lib/models/deployment.d.ts.map +1 -0
  168. package/lib/models/ident.model.d.ts +89 -0
  169. package/lib/models/ident.model.d.ts.map +1 -0
  170. package/lib/models/ident.model.js +115 -0
  171. package/lib/models/ident.model.js.map +1 -0
  172. package/lib/models/ownermodel.model.d.ts +68 -0
  173. package/lib/models/ownermodel.model.d.ts.map +1 -0
  174. package/lib/models/ownermodel.model.js +112 -0
  175. package/lib/models/ownermodel.model.js.map +1 -0
  176. package/lib/models/registry.model.d.ts +76 -0
  177. package/lib/models/registry.model.d.ts.map +1 -0
  178. package/lib/models/registry.model.js +104 -0
  179. package/lib/models/registry.model.js.map +1 -0
  180. package/lib/models/rolemodel.model.d.ts +28 -0
  181. package/lib/models/rolemodel.model.d.ts.map +1 -0
  182. package/lib/models/rolemodel.model.js +53 -0
  183. package/lib/models/rolemodel.model.js.map +1 -0
  184. package/lib/models/simpleuser.model.d.ts +78 -0
  185. package/lib/models/simpleuser.model.d.ts.map +1 -0
  186. package/lib/models/simpleuser.model.js +123 -0
  187. package/lib/models/simpleuser.model.js.map +1 -0
  188. package/lib/models/types.d.ts +113 -0
  189. package/lib/models/types.d.ts.map +1 -0
  190. package/lib/models/types.js +2 -0
  191. package/lib/models/types.js.map +1 -0
  192. package/lib/models/user.model.d.ts +103 -0
  193. package/lib/models/user.model.d.ts.map +1 -0
  194. package/lib/models/user.model.js +125 -0
  195. package/lib/models/user.model.js.map +1 -0
  196. package/lib/queues/memoryqueue.service.d.ts +72 -0
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/memoryqueue.service.js +136 -0
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +9 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -0
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +10 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -0
  206. package/lib/queues/queueservice.js +48 -20
  207. package/lib/queues/queueservice.js.map +1 -1
  208. package/lib/rest/hooks.d.ts +8 -0
  209. package/lib/rest/hooks.d.ts.map +1 -0
  210. package/lib/rest/hooks.js +10 -0
  211. package/lib/rest/hooks.js.map +1 -0
  212. package/lib/rest/irest.d.ts +212 -0
  213. package/lib/rest/irest.d.ts.map +1 -0
  214. package/lib/rest/irest.js +39 -0
  215. package/lib/rest/irest.js.map +1 -0
  216. package/lib/rest/originfilter.d.ts +38 -0
  217. package/lib/rest/originfilter.d.ts.map +1 -0
  218. package/lib/rest/originfilter.js +61 -0
  219. package/lib/rest/originfilter.js.map +1 -0
  220. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  221. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  222. package/lib/rest/restoperationstransport.service.js +780 -0
  223. package/lib/rest/restoperationstransport.service.js.map +1 -0
  224. package/lib/rest/router.service.d.ts +244 -0
  225. package/lib/rest/router.service.d.ts.map +1 -0
  226. package/lib/rest/router.service.js +843 -0
  227. package/lib/rest/router.service.js.map +1 -0
  228. package/lib/schemas/hooks.d.ts +48 -0
  229. package/lib/schemas/hooks.d.ts.map +1 -0
  230. package/lib/schemas/hooks.js +152 -0
  231. package/lib/schemas/hooks.js.map +1 -0
  232. package/lib/services/audit.model.d.ts +208 -0
  233. package/lib/services/audit.model.d.ts.map +1 -0
  234. package/lib/services/audit.model.js +431 -0
  235. package/lib/services/audit.model.js.map +1 -0
  236. package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -58
  237. package/lib/services/authentication.service.d.ts.map +1 -0
  238. package/lib/services/authentication.service.js +932 -0
  239. package/lib/services/authentication.service.js.map +1 -0
  240. package/lib/services/binary.service.d.ts +808 -0
  241. package/lib/services/binary.service.d.ts.map +1 -0
  242. package/lib/services/binary.service.js +1365 -0
  243. package/lib/services/binary.service.js.map +1 -0
  244. package/lib/services/cloudbinary.d.ts +19 -13
  245. package/lib/services/cloudbinary.d.ts.map +1 -0
  246. package/lib/services/cloudbinary.js +24 -18
  247. package/lib/services/cloudbinary.js.map +1 -1
  248. package/lib/services/command.d.ts +118 -0
  249. package/lib/services/command.d.ts.map +1 -0
  250. package/lib/services/command.js +97 -0
  251. package/lib/services/command.js.map +1 -0
  252. package/lib/services/cron.service.d.ts +142 -0
  253. package/lib/services/cron.service.d.ts.map +1 -0
  254. package/lib/services/cron.service.js +291 -0
  255. package/lib/services/cron.service.js.map +1 -0
  256. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +77 -142
  257. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  258. package/lib/services/cryptoservice.service.js +527 -0
  259. package/lib/services/cryptoservice.service.js.map +1 -0
  260. package/lib/services/debugmailer.service.d.ts +49 -0
  261. package/lib/services/debugmailer.service.d.ts.map +1 -0
  262. package/lib/services/debugmailer.service.js +66 -0
  263. package/lib/services/debugmailer.service.js.map +1 -0
  264. package/lib/services/domainservice.service.d.ts +203 -0
  265. package/lib/services/domainservice.service.d.ts.map +1 -0
  266. package/lib/services/domainservice.service.js +600 -0
  267. package/lib/services/domainservice.service.js.map +1 -0
  268. package/lib/services/httpserver.service.d.ts +248 -0
  269. package/lib/services/httpserver.service.d.ts.map +1 -0
  270. package/lib/services/httpserver.service.js +673 -0
  271. package/lib/services/httpserver.service.js.map +1 -0
  272. package/lib/services/iauthentication.d.ts +9 -0
  273. package/lib/services/iauthentication.d.ts.map +1 -0
  274. package/lib/services/iauthentication.js +2 -0
  275. package/lib/services/iauthentication.js.map +1 -0
  276. package/lib/services/icryptoservice.d.ts +127 -0
  277. package/lib/services/icryptoservice.d.ts.map +1 -0
  278. package/lib/services/icryptoservice.js +68 -0
  279. package/lib/services/icryptoservice.js.map +1 -0
  280. package/lib/services/imailer.d.ts +17 -0
  281. package/lib/services/imailer.d.ts.map +1 -0
  282. package/lib/services/imailer.js +2 -0
  283. package/lib/services/imailer.js.map +1 -0
  284. package/lib/services/iservice.d.ts +104 -0
  285. package/lib/services/iservice.d.ts.map +1 -0
  286. package/lib/services/iservice.js +63 -0
  287. package/lib/services/iservice.js.map +1 -0
  288. package/lib/services/mailer.service.d.ts +220 -0
  289. package/lib/services/mailer.service.d.ts.map +1 -0
  290. package/lib/services/mailer.service.js +251 -0
  291. package/lib/services/mailer.service.js.map +1 -0
  292. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -10
  293. package/lib/services/notificationservice.service.d.ts.map +1 -0
  294. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  295. package/lib/services/notificationservice.service.js.map +1 -0
  296. package/lib/services/oauth.d.ts +58 -31
  297. package/lib/services/oauth.d.ts.map +1 -0
  298. package/lib/services/oauth.js +365 -251
  299. package/lib/services/oauth.js.map +1 -1
  300. package/lib/services/operationstransport.d.ts +65 -0
  301. package/lib/services/operationstransport.d.ts.map +1 -0
  302. package/lib/services/operationstransport.js +103 -0
  303. package/lib/services/operationstransport.js.map +1 -0
  304. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -11
  305. package/lib/services/prometheus.service.d.ts.map +1 -0
  306. package/lib/services/prometheus.service.js +203 -0
  307. package/lib/services/prometheus.service.js.map +1 -0
  308. package/lib/services/resource.service.d.ts +121 -0
  309. package/lib/services/resource.service.d.ts.map +1 -0
  310. package/lib/services/resource.service.js +301 -0
  311. package/lib/services/resource.service.js.map +1 -0
  312. package/lib/services/service.d.ts +88 -189
  313. package/lib/services/service.d.ts.map +1 -0
  314. package/lib/services/service.js +407 -432
  315. package/lib/services/service.js.map +1 -1
  316. package/lib/services/servicecommands.d.ts +99 -0
  317. package/lib/services/servicecommands.d.ts.map +1 -0
  318. package/lib/services/servicecommands.js +165 -0
  319. package/lib/services/servicecommands.js.map +1 -0
  320. package/lib/services/serviceparameters.d.ts +33 -0
  321. package/lib/services/serviceparameters.d.ts.map +1 -0
  322. package/lib/services/serviceparameters.js +79 -0
  323. package/lib/services/serviceparameters.js.map +1 -0
  324. package/lib/{utils → session}/cookie.d.ts +32 -18
  325. package/lib/session/cookie.d.ts.map +1 -0
  326. package/lib/{utils → session}/cookie.js +76 -23
  327. package/lib/session/cookie.js.map +1 -0
  328. package/lib/session/manager.model.d.ts +71 -0
  329. package/lib/session/manager.model.d.ts.map +1 -0
  330. package/lib/session/manager.model.js +155 -0
  331. package/lib/session/manager.model.js.map +1 -0
  332. package/lib/session/session.d.ts +57 -0
  333. package/lib/session/session.d.ts.map +1 -0
  334. package/lib/session/session.js +126 -0
  335. package/lib/session/session.js.map +1 -0
  336. package/lib/stores/istore.d.ts +99 -0
  337. package/lib/stores/istore.d.ts.map +1 -0
  338. package/lib/stores/istore.js +26 -0
  339. package/lib/stores/istore.js.map +1 -0
  340. package/lib/stores/memory.service.d.ts +114 -0
  341. package/lib/stores/memory.service.d.ts.map +1 -0
  342. package/lib/stores/memory.service.js +343 -0
  343. package/lib/stores/memory.service.js.map +1 -0
  344. package/lib/stores/store.d.ts +127 -768
  345. package/lib/stores/store.d.ts.map +1 -0
  346. package/lib/stores/store.js +258 -1718
  347. package/lib/stores/store.js.map +1 -1
  348. package/lib/templates/templates.d.ts +39 -0
  349. package/lib/templates/templates.d.ts.map +1 -0
  350. package/lib/templates/templates.js +92 -0
  351. package/lib/templates/templates.js.map +1 -0
  352. package/lib/test/application.d.ts +174 -0
  353. package/lib/test/application.d.ts.map +1 -0
  354. package/lib/test/application.js +288 -0
  355. package/lib/test/application.js.map +1 -0
  356. package/lib/test/asyncstorage.d.ts +16 -0
  357. package/lib/test/asyncstorage.d.ts.map +1 -0
  358. package/lib/test/asyncstorage.js +32 -0
  359. package/lib/test/asyncstorage.js.map +1 -0
  360. package/lib/test/core.d.ts +63 -0
  361. package/lib/test/core.d.ts.map +1 -0
  362. package/lib/test/core.js +190 -0
  363. package/lib/test/core.js.map +1 -0
  364. package/lib/test/index.d.ts +7 -0
  365. package/lib/test/index.d.ts.map +1 -0
  366. package/lib/test/index.js +8 -0
  367. package/lib/test/index.js.map +1 -0
  368. package/lib/test/internal.d.ts +34 -0
  369. package/lib/test/internal.d.ts.map +1 -0
  370. package/lib/test/internal.js +156 -0
  371. package/lib/test/internal.js.map +1 -0
  372. package/lib/test/objects.d.ts +318 -0
  373. package/lib/test/objects.d.ts.map +1 -0
  374. package/lib/test/objects.js +443 -0
  375. package/lib/test/objects.js.map +1 -0
  376. package/lib/utils/abstractdeployer.d.ts +5 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -0
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -56
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +6 -99
  384. package/test/data/.env +1 -0
  385. package/test/my-cnf.json +9 -0
  386. package/webda.module.json +3462 -2231
  387. package/lib/application.d.ts +0 -876
  388. package/lib/application.js +0 -741
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -1
  391. package/lib/application.spec.js +0 -234
  392. package/lib/application.spec.js.map +0 -1
  393. package/lib/core.d.ts +0 -740
  394. package/lib/core.js +0 -1310
  395. package/lib/core.js.map +0 -1
  396. package/lib/core.spec.d.ts +0 -1
  397. package/lib/core.spec.js +0 -761
  398. package/lib/core.spec.js.map +0 -1
  399. package/lib/errors.d.ts +0 -65
  400. package/lib/errors.js +0 -113
  401. package/lib/errors.js.map +0 -1
  402. package/lib/errors.spec.d.ts +0 -1
  403. package/lib/errors.spec.js +0 -33
  404. package/lib/errors.spec.js.map +0 -1
  405. package/lib/models/aclmodel.spec.d.ts +0 -1
  406. package/lib/models/aclmodel.spec.js +0 -187
  407. package/lib/models/aclmodel.spec.js.map +0 -1
  408. package/lib/models/coremodel.d.ts +0 -887
  409. package/lib/models/coremodel.js +0 -1208
  410. package/lib/models/coremodel.js.map +0 -1
  411. package/lib/models/coremodel.spec.d.ts +0 -1
  412. package/lib/models/coremodel.spec.js +0 -462
  413. package/lib/models/coremodel.spec.js.map +0 -1
  414. package/lib/models/ident.d.ts +0 -53
  415. package/lib/models/ident.js +0 -40
  416. package/lib/models/ident.js.map +0 -1
  417. package/lib/models/ident.spec.d.ts +0 -1
  418. package/lib/models/ident.spec.js +0 -43
  419. package/lib/models/ident.spec.js.map +0 -1
  420. package/lib/models/ownermodel.d.ts +0 -50
  421. package/lib/models/ownermodel.js +0 -65
  422. package/lib/models/ownermodel.js.map +0 -1
  423. package/lib/models/ownermodel.spec.d.ts +0 -1
  424. package/lib/models/ownermodel.spec.js +0 -191
  425. package/lib/models/ownermodel.spec.js.map +0 -1
  426. package/lib/models/relations.d.ts +0 -181
  427. package/lib/models/relations.js +0 -157
  428. package/lib/models/relations.js.map +0 -1
  429. package/lib/models/relations.spec.d.ts +0 -12
  430. package/lib/models/relations.spec.js +0 -224
  431. package/lib/models/relations.spec.js.map +0 -1
  432. package/lib/models/rolemodel.d.ts +0 -10
  433. package/lib/models/rolemodel.js +0 -35
  434. package/lib/models/rolemodel.js.map +0 -1
  435. package/lib/models/rolemodel.spec.d.ts +0 -1
  436. package/lib/models/rolemodel.spec.js +0 -86
  437. package/lib/models/rolemodel.spec.js.map +0 -1
  438. package/lib/models/user.d.ts +0 -100
  439. package/lib/models/user.js +0 -157
  440. package/lib/models/user.js.map +0 -1
  441. package/lib/models/user.spec.d.ts +0 -1
  442. package/lib/models/user.spec.js +0 -88
  443. package/lib/models/user.spec.js.map +0 -1
  444. package/lib/queues/filequeue.d.ts +0 -58
  445. package/lib/queues/filequeue.js +0 -131
  446. package/lib/queues/filequeue.js.map +0 -1
  447. package/lib/queues/filequeue.spec.d.ts +0 -1
  448. package/lib/queues/filequeue.spec.js +0 -78
  449. package/lib/queues/filequeue.spec.js.map +0 -1
  450. package/lib/queues/memoryqueue.d.ts +0 -45
  451. package/lib/queues/memoryqueue.js +0 -81
  452. package/lib/queues/memoryqueue.js.map +0 -1
  453. package/lib/queues/memoryqueue.spec.d.ts +0 -1
  454. package/lib/queues/memoryqueue.spec.js +0 -192
  455. package/lib/queues/memoryqueue.spec.js.map +0 -1
  456. package/lib/queues/queue.spec.d.ts +0 -5
  457. package/lib/queues/queue.spec.js +0 -55
  458. package/lib/queues/queue.spec.js.map +0 -1
  459. package/lib/router.d.ts +0 -172
  460. package/lib/router.js +0 -419
  461. package/lib/router.js.map +0 -1
  462. package/lib/router.spec.d.ts +0 -1
  463. package/lib/router.spec.js +0 -229
  464. package/lib/router.spec.js.map +0 -1
  465. package/lib/services/asyncevents.d.ts +0 -151
  466. package/lib/services/asyncevents.js +0 -217
  467. package/lib/services/asyncevents.js.map +0 -1
  468. package/lib/services/asyncevents.spec.d.ts +0 -1
  469. package/lib/services/asyncevents.spec.js +0 -118
  470. package/lib/services/asyncevents.spec.js.map +0 -1
  471. package/lib/services/authentication.js +0 -772
  472. package/lib/services/authentication.js.map +0 -1
  473. package/lib/services/authentication.spec.d.ts +0 -1
  474. package/lib/services/authentication.spec.js +0 -458
  475. package/lib/services/authentication.spec.js.map +0 -1
  476. package/lib/services/binary.d.ts +0 -549
  477. package/lib/services/binary.js +0 -986
  478. package/lib/services/binary.js.map +0 -1
  479. package/lib/services/binary.spec.d.ts +0 -44
  480. package/lib/services/binary.spec.js +0 -438
  481. package/lib/services/binary.spec.js.map +0 -1
  482. package/lib/services/cloudbinary.spec.d.ts +0 -13
  483. package/lib/services/cloudbinary.spec.js +0 -192
  484. package/lib/services/cloudbinary.spec.js.map +0 -1
  485. package/lib/services/configuration.js +0 -178
  486. package/lib/services/configuration.js.map +0 -1
  487. package/lib/services/configuration.spec.d.ts +0 -1
  488. package/lib/services/configuration.spec.js +0 -87
  489. package/lib/services/configuration.spec.js.map +0 -1
  490. package/lib/services/cron.d.ts +0 -73
  491. package/lib/services/cron.js +0 -141
  492. package/lib/services/cron.js.map +0 -1
  493. package/lib/services/cron.spec.d.ts +0 -1
  494. package/lib/services/cron.spec.js +0 -76
  495. package/lib/services/cron.spec.js.map +0 -1
  496. package/lib/services/cryptoservice.js +0 -434
  497. package/lib/services/cryptoservice.js.map +0 -1
  498. package/lib/services/cryptoservice.spec.d.ts +0 -1
  499. package/lib/services/cryptoservice.spec.js +0 -177
  500. package/lib/services/cryptoservice.spec.js.map +0 -1
  501. package/lib/services/debugmailer.d.ts +0 -36
  502. package/lib/services/debugmailer.js +0 -52
  503. package/lib/services/debugmailer.js.map +0 -1
  504. package/lib/services/debugmailer.spec.d.ts +0 -1
  505. package/lib/services/debugmailer.spec.js +0 -29
  506. package/lib/services/debugmailer.spec.js.map +0 -1
  507. package/lib/services/domainservice.d.ts +0 -152
  508. package/lib/services/domainservice.js +0 -881
  509. package/lib/services/domainservice.js.map +0 -1
  510. package/lib/services/domainservice.spec.d.ts +0 -1
  511. package/lib/services/domainservice.spec.js +0 -401
  512. package/lib/services/domainservice.spec.js.map +0 -1
  513. package/lib/services/filebinary.d.ts +0 -133
  514. package/lib/services/filebinary.js +0 -371
  515. package/lib/services/filebinary.js.map +0 -1
  516. package/lib/services/filebinary.spec.d.ts +0 -21
  517. package/lib/services/filebinary.spec.js +0 -415
  518. package/lib/services/filebinary.spec.js.map +0 -1
  519. package/lib/services/fileconfiguration.d.ts +0 -22
  520. package/lib/services/fileconfiguration.js +0 -48
  521. package/lib/services/fileconfiguration.js.map +0 -1
  522. package/lib/services/fileconfiguration.spec.d.ts +0 -1
  523. package/lib/services/fileconfiguration.spec.js +0 -177
  524. package/lib/services/fileconfiguration.spec.js.map +0 -1
  525. package/lib/services/invitationservice.d.ts +0 -222
  526. package/lib/services/invitationservice.js +0 -526
  527. package/lib/services/invitationservice.js.map +0 -1
  528. package/lib/services/invitationservice.spec.d.ts +0 -1
  529. package/lib/services/invitationservice.spec.js +0 -516
  530. package/lib/services/invitationservice.spec.js.map +0 -1
  531. package/lib/services/kubernetesconfiguration.d.ts +0 -26
  532. package/lib/services/kubernetesconfiguration.js +0 -54
  533. package/lib/services/kubernetesconfiguration.js.map +0 -1
  534. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -1
  535. package/lib/services/kubernetesconfiguration.spec.js +0 -147
  536. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  537. package/lib/services/mailer.d.ts +0 -165
  538. package/lib/services/mailer.js +0 -176
  539. package/lib/services/mailer.js.map +0 -1
  540. package/lib/services/mailer.spec.d.ts +0 -1
  541. package/lib/services/mailer.spec.js +0 -144
  542. package/lib/services/mailer.spec.js.map +0 -1
  543. package/lib/services/notificationservice.js.map +0 -1
  544. package/lib/services/notificationservice.spec.d.ts +0 -1
  545. package/lib/services/notificationservice.spec.js +0 -78
  546. package/lib/services/notificationservice.spec.js.map +0 -1
  547. package/lib/services/oauth.spec.d.ts +0 -1
  548. package/lib/services/oauth.spec.js +0 -184
  549. package/lib/services/oauth.spec.js.map +0 -1
  550. package/lib/services/prometheus.js +0 -160
  551. package/lib/services/prometheus.js.map +0 -1
  552. package/lib/services/prometheus.spec.d.ts +0 -1
  553. package/lib/services/prometheus.spec.js +0 -57
  554. package/lib/services/prometheus.spec.js.map +0 -1
  555. package/lib/services/resource.d.ts +0 -87
  556. package/lib/services/resource.js +0 -156
  557. package/lib/services/resource.js.map +0 -1
  558. package/lib/services/resource.spec.d.ts +0 -1
  559. package/lib/services/resource.spec.js +0 -122
  560. package/lib/services/resource.spec.js.map +0 -1
  561. package/lib/services/service.spec.d.ts +0 -1
  562. package/lib/services/service.spec.js +0 -268
  563. package/lib/services/service.spec.js.map +0 -1
  564. package/lib/stores/aggregator.d.ts +0 -41
  565. package/lib/stores/aggregator.js +0 -80
  566. package/lib/stores/aggregator.js.map +0 -1
  567. package/lib/stores/aliasstore.d.ts +0 -108
  568. package/lib/stores/aliasstore.js +0 -168
  569. package/lib/stores/aliasstore.js.map +0 -1
  570. package/lib/stores/aliasstore.spec.d.ts +0 -11
  571. package/lib/stores/aliasstore.spec.js +0 -89
  572. package/lib/stores/aliasstore.spec.js.map +0 -1
  573. package/lib/stores/file.d.ts +0 -107
  574. package/lib/stores/file.js +0 -188
  575. package/lib/stores/file.js.map +0 -1
  576. package/lib/stores/file.spec.d.ts +0 -19
  577. package/lib/stores/file.spec.js +0 -232
  578. package/lib/stores/file.spec.js.map +0 -1
  579. package/lib/stores/mapper.d.ts +0 -149
  580. package/lib/stores/mapper.js +0 -293
  581. package/lib/stores/mapper.js.map +0 -1
  582. package/lib/stores/mapper.spec.d.ts +0 -1
  583. package/lib/stores/mapper.spec.js +0 -160
  584. package/lib/stores/mapper.spec.js.map +0 -1
  585. package/lib/stores/memory.d.ts +0 -151
  586. package/lib/stores/memory.js +0 -371
  587. package/lib/stores/memory.js.map +0 -1
  588. package/lib/stores/memory.spec.d.ts +0 -20
  589. package/lib/stores/memory.spec.js +0 -328
  590. package/lib/stores/memory.spec.js.map +0 -1
  591. package/lib/stores/modelmapper.d.ts +0 -61
  592. package/lib/stores/modelmapper.js +0 -199
  593. package/lib/stores/modelmapper.js.map +0 -1
  594. package/lib/stores/store.spec.d.ts +0 -65
  595. package/lib/stores/store.spec.js +0 -906
  596. package/lib/stores/store.spec.js.map +0 -1
  597. package/lib/test.d.ts +0 -162
  598. package/lib/test.js +0 -399
  599. package/lib/test.js.map +0 -1
  600. package/lib/unpackedapplication.d.ts +0 -76
  601. package/lib/unpackedapplication.js +0 -299
  602. package/lib/unpackedapplication.js.map +0 -1
  603. package/lib/utils/abstractdeployer.spec.d.ts +0 -1
  604. package/lib/utils/abstractdeployer.spec.js +0 -21
  605. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  606. package/lib/utils/case.d.ts +0 -7
  607. package/lib/utils/case.js +0 -43
  608. package/lib/utils/case.js.map +0 -1
  609. package/lib/utils/case.spec.d.ts +0 -1
  610. package/lib/utils/case.spec.js +0 -50
  611. package/lib/utils/case.spec.js.map +0 -1
  612. package/lib/utils/context.d.ts +0 -462
  613. package/lib/utils/context.js +0 -732
  614. package/lib/utils/context.js.map +0 -1
  615. package/lib/utils/context.spec.d.ts +0 -9
  616. package/lib/utils/context.spec.js +0 -372
  617. package/lib/utils/context.spec.js.map +0 -1
  618. package/lib/utils/cookie.js.map +0 -1
  619. package/lib/utils/cookie.spec.d.ts +0 -1
  620. package/lib/utils/cookie.spec.js +0 -78
  621. package/lib/utils/cookie.spec.js.map +0 -1
  622. package/lib/utils/esm.d.ts +0 -13
  623. package/lib/utils/esm.js +0 -19
  624. package/lib/utils/esm.js.map +0 -1
  625. package/lib/utils/httpcontext.js.map +0 -1
  626. package/lib/utils/httpcontext.spec.d.ts +0 -4
  627. package/lib/utils/httpcontext.spec.js +0 -77
  628. package/lib/utils/httpcontext.spec.js.map +0 -1
  629. package/lib/utils/logger.d.ts +0 -91
  630. package/lib/utils/logger.js +0 -121
  631. package/lib/utils/logger.js.map +0 -1
  632. package/lib/utils/logger.spec.d.ts +0 -1
  633. package/lib/utils/logger.spec.js +0 -48
  634. package/lib/utils/logger.spec.js.map +0 -1
  635. package/lib/utils/serializers.d.ts +0 -161
  636. package/lib/utils/serializers.js +0 -420
  637. package/lib/utils/serializers.js.map +0 -1
  638. package/lib/utils/serializers.spec.d.ts +0 -1
  639. package/lib/utils/serializers.spec.js +0 -313
  640. package/lib/utils/serializers.spec.js.map +0 -1
  641. package/lib/utils/session.d.ts +0 -126
  642. package/lib/utils/session.js +0 -166
  643. package/lib/utils/session.js.map +0 -1
  644. package/lib/utils/session.spec.d.ts +0 -1
  645. package/lib/utils/session.spec.js +0 -71
  646. package/lib/utils/session.spec.js.map +0 -1
  647. package/lib/utils/throttler.d.ts +0 -102
  648. package/lib/utils/throttler.js +0 -168
  649. package/lib/utils/throttler.js.map +0 -1
  650. package/lib/utils/throttler.spec.d.ts +0 -1
  651. package/lib/utils/throttler.spec.js +0 -55
  652. package/lib/utils/throttler.spec.js.map +0 -1
  653. package/lib/utils/waiter.d.ts +0 -93
  654. package/lib/utils/waiter.js +0 -148
  655. package/lib/utils/waiter.js.map +0 -1
  656. package/lib/utils/waiter.spec.d.ts +0 -1
  657. package/lib/utils/waiter.spec.js +0 -98
  658. package/lib/utils/waiter.spec.js.map +0 -1
  659. package/test/config-file-missing-file-no-default.json +0 -44
  660. package/test/config-file-missing-file.json +0 -55
  661. package/test/config-file-no-reload.json +0 -69
  662. package/test/config-file-reload.json +0 -68
  663. package/test/config-invitation.json +0 -63
  664. package/test/config-kube-reload.json +0 -68
  665. package/test/config-reload.json +0 -66
  666. package/test/config.old.json +0 -152
  667. package/test/jsonutils/mdocs.yaml +0 -56
  668. package/test/jsonutils/test.json +0 -3
  669. package/test/jsonutils/test.yml +0 -5
  670. package/test/moddas/annotatedservice.js +0 -23
  671. package/test/moddas/debugmailer.js +0 -13
  672. package/test/moddas/fakeservice.js +0 -4
  673. package/test/moddas/voidstore.js +0 -66
  674. package/test/models/ident.js +0 -36
  675. package/test/models/task.js +0 -42
@@ -0,0 +1,291 @@
1
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
+ var useValue = arguments.length > 2;
3
+ for (var i = 0; i < initializers.length; i++) {
4
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
+ }
6
+ return useValue ? value : void 0;
7
+ };
8
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
+ var _, done = false;
14
+ for (var i = decorators.length - 1; i >= 0; i--) {
15
+ var context = {};
16
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
+ if (kind === "accessor") {
21
+ if (result === void 0) continue;
22
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
+ if (_ = accept(result.get)) descriptor.get = _;
24
+ if (_ = accept(result.set)) descriptor.set = _;
25
+ if (_ = accept(result.init)) initializers.unshift(_);
26
+ }
27
+ else if (_ = accept(result)) {
28
+ if (kind === "field") initializers.unshift(_);
29
+ else descriptor[key] = _;
30
+ }
31
+ }
32
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
+ done = true;
34
+ };
35
+ import { createHash } from "crypto";
36
+ import { schedule } from "node-cron";
37
+ import { Service } from "./service.js";
38
+ import { CancelablePromise } from "@webda/utils";
39
+ import { useCore, useService } from "../core/hooks.js";
40
+ import { Command } from "./command.js";
41
+ export const CronSymbol = Symbol("WebdaCron");
42
+ /**
43
+ * Cron item
44
+ */
45
+ export class CronDefinition {
46
+ /**
47
+ * Cron definition
48
+ * * * * 0 3
49
+ * @pattern ^(\*|([0-5]?\d)) (\*|([01]?\d|2[0-3])) (\*|([01]?\d|2[0-3])) (\*|([0-6])) (\*|([0-6]))$
50
+ */
51
+ cron;
52
+ /**
53
+ * Description of the task
54
+ */
55
+ description;
56
+ /**
57
+ * Argument to be passed to the function
58
+ */
59
+ args;
60
+ /**
61
+ * Method to call
62
+ */
63
+ method;
64
+ /**
65
+ * Webda service name
66
+ */
67
+ serviceName;
68
+ /**
69
+ *
70
+ * @param cron - the cron expression
71
+ * @param args - additional arguments
72
+ * @param serviceName - the service name
73
+ * @param method - the HTTP method
74
+ * @param description - the description
75
+ */
76
+ constructor(cron, args = [], serviceName = "", method = "", description = "") {
77
+ this.cron = cron;
78
+ this.serviceName = serviceName;
79
+ this.method = method;
80
+ this.description = description;
81
+ this.args = args;
82
+ }
83
+ /**
84
+ * Format the cron definition as a human-readable string
85
+ * @returns the result
86
+ */
87
+ toString() {
88
+ return `${this.cron}: ${this.serviceName}.${this.method}(${this.args.map(a => a.toString()).join(",")})${this.description !== "" ? ` # ${this.description}` : ""}`;
89
+ }
90
+ }
91
+ /**
92
+ * @WebdaModda
93
+ */
94
+ let CronService = (() => {
95
+ let _classSuper = Service;
96
+ let _instanceExtraInitializers = [];
97
+ let _runCron_decorators;
98
+ return class CronService extends _classSuper {
99
+ static {
100
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
101
+ _runCron_decorators = [Command("cron run", { description: "Run once the declared cron matching the id" })];
102
+ __esDecorate(this, null, _runCron_decorators, { kind: "method", name: "runCron", static: false, private: false, access: { has: obj => "runCron" in obj, get: obj => obj.runCron }, metadata: _metadata }, null, _instanceExtraInitializers);
103
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
104
+ }
105
+ enable = __runInitializers(this, _instanceExtraInitializers);
106
+ crons = [];
107
+ crontabSchedule = schedule;
108
+ _scanned = false;
109
+ /**
110
+ * Legacy decorator factory for annotating a method with a cron schedule
111
+ * @param cron - the cron expression
112
+ * @param description - the description
113
+ * @param args - additional arguments
114
+ * @returns the result
115
+ */
116
+ static Annotation(cron, description = "", ...args) {
117
+ return (_target, property, descriptor) => {
118
+ descriptor.value.cron = descriptor.value.cron || [];
119
+ descriptor.value.cron.push(new CronDefinition(cron, args, "", property, description));
120
+ };
121
+ }
122
+ /**
123
+ * Generate a short hash-based identifier for a cron definition
124
+ * @param cron - the cron expression
125
+ * @param name - the name to use
126
+ * @returns the result
127
+ */
128
+ static getCronId(cron, name = "") {
129
+ const hash = createHash("sha256");
130
+ return hash
131
+ .update(JSON.stringify(cron) + name)
132
+ .digest("hex")
133
+ .substring(0, 8);
134
+ }
135
+ /**
136
+ * Stable identifier of a cron for exported jobs (e.g. Kubernetes CronJob)
137
+ *
138
+ * `webda cron run --id <id>` resolves the cron back from this identifier
139
+ * @param cron - the cron definition
140
+ * @returns the 8 hex characters identifier
141
+ */
142
+ static getExportId(cron) {
143
+ return CronService.getCronId(cron, "export");
144
+ }
145
+ /**
146
+ * Collect all @Cron-annotated methods from the provided services
147
+ * @param services - the services
148
+ * @returns the list of results
149
+ */
150
+ static loadAnnotations(services) {
151
+ const cronsResult = [];
152
+ for (const i in services) {
153
+ if (services[i]?.[CronSymbol]) {
154
+ services[i]?.[CronSymbol].forEach((cron) => {
155
+ cron.serviceName = i;
156
+ cronsResult.push(cron);
157
+ });
158
+ }
159
+ }
160
+ return cronsResult;
161
+ }
162
+ /** Scan all services for cron annotations and add them to the schedule (once) */
163
+ addAnnotations() {
164
+ if (this._scanned) {
165
+ return;
166
+ }
167
+ this._scanned = true;
168
+ this.crons.push(...CronService.loadAnnotations(useCore().getServices()));
169
+ }
170
+ /**
171
+ * Get all registered cron entries including annotations
172
+ * @returns the result
173
+ */
174
+ getCrontab() {
175
+ // Load all annotations
176
+ this.addAnnotations();
177
+ return this.crons;
178
+ }
179
+ /**
180
+ * Start the cron worker, optionally including annotated crons
181
+ * @param annotations - the annotations
182
+ * @returns the result
183
+ */
184
+ work(annotations = "true") {
185
+ return this.run(annotations === "true");
186
+ }
187
+ /**
188
+ * Run once the @Cron-annotated method matching an exported cron id
189
+ *
190
+ * Only methods declared with `@Cron` can be run, with their declared arguments
191
+ * @param id - the cron id, as computed by {@link CronService.getExportId}
192
+ */
193
+ async runCron(id) {
194
+ if (!id) {
195
+ throw new Error("A cron id is required");
196
+ }
197
+ const crons = CronService.loadAnnotations(useCore().getServices()).filter(c => CronService.getExportId(c) === id);
198
+ if (crons.length === 0) {
199
+ throw new Error(`No cron with id '${id}'`);
200
+ }
201
+ for (const cron of crons) {
202
+ this.log("INFO", `Running cron ${cron.toString()}`);
203
+ await useService(cron.serviceName)[cron.method](...cron.args);
204
+ }
205
+ }
206
+ /**
207
+ * Schedule and start all registered cron jobs
208
+ * @param annotations - the annotations
209
+ * @returns the result
210
+ */
211
+ run(annotations = true) {
212
+ this.log("INFO", "Running crontab with" + (annotations ? "" : "out"), "annotations");
213
+ // Load all annotations
214
+ if (annotations) {
215
+ this.addAnnotations();
216
+ }
217
+ this.enable = true;
218
+ // Run schedule
219
+ this.crons.forEach(i => {
220
+ if (i.cb) {
221
+ this.schedule(i.cron, i.cb);
222
+ }
223
+ else {
224
+ this.schedule(i.cron, () => {
225
+ useService(i.serviceName)[i.method](...i.args);
226
+ });
227
+ }
228
+ });
229
+ const msgs = [];
230
+ // Display before
231
+ this.crons.forEach(c => {
232
+ if (c.cb) {
233
+ msgs.push(`[NativeCode:${c.context || ""}]`);
234
+ }
235
+ else {
236
+ msgs.push(`${c.serviceName}.${c.method}(${c.args.length ? "..." + c.args : ""})`);
237
+ }
238
+ });
239
+ const cronPad = Math.max(...this.crons.map(c => c.cron.length));
240
+ const servicePad = Math.max(...msgs.map(c => c.length));
241
+ this.crons.forEach((c, i) => {
242
+ this.log("INFO", `${c.cron.padEnd(cronPad)} : ${msgs[i].padEnd(servicePad)}${c.description ? " # " + c.description : ""}`);
243
+ });
244
+ // Remove from memory
245
+ this.crons = [];
246
+ return new CancelablePromise();
247
+ }
248
+ /**
249
+ * Register a cron expression to execute a callback, buffering if not yet enabled
250
+ * @param cron - the cron expression
251
+ * @param cb - the callback function
252
+ * @param description - the description
253
+ */
254
+ schedule(cron, cb, description = "") {
255
+ if (this.enable) {
256
+ this.crontabSchedule(cron, cb);
257
+ }
258
+ else {
259
+ let context;
260
+ try {
261
+ throw new Error();
262
+ }
263
+ catch (err) {
264
+ // Based on stack trace (not super clean)
265
+ const info = err.stack.split("\n")[2].match(/\((.*)\)/);
266
+ context = info[1].replace(process.cwd() + "/", "");
267
+ }
268
+ this.crons.push({ cron, cb, description, context });
269
+ }
270
+ }
271
+ };
272
+ })();
273
+ /**
274
+ * Decorator to schedule a service method with a cron expression
275
+ * @param cron - the cron expression
276
+ * @param description - the description
277
+ * @param args - additional arguments
278
+ * @returns the result
279
+ */
280
+ export function Cron(cron, description = "", ...args) {
281
+ return function cronDecorator(value, context) {
282
+ // Store metadata on each instance when it's constructed
283
+ context.addInitializer(function cronInitializer() {
284
+ (this[CronSymbol] ??= []).push(new CronDefinition(cron, args, this.name, context.name, description));
285
+ });
286
+ // You can return the same method, or wrap it if you need
287
+ return value;
288
+ };
289
+ }
290
+ export { CronService };
291
+ //# sourceMappingURL=cron.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.service.js","sourceRoot":"","sources":["../../src/services/cron.service.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,43 @@
1
1
  import * as util from "util";
2
- import { OperationContext, RegistryEntry, Store } from "../index.js";
3
- import { DeepPartial, Service, ServiceParameters } from "./service.js";
2
+ import { CryptoServiceParameters, JWTOptions, KeysDefinition } from "./icryptoservice.js";
3
+ import { Service } from "./service.js";
4
+ import { OperationContext } from "../contexts/operationcontext.js";
5
+ /** Wraps a secret string value, masking it in logs and inspect output */
4
6
  export declare class SecretString {
5
7
  protected str: string;
6
8
  protected encrypter: string;
9
+ /** Create a new SecretString
10
+ * @param str - the secret value
11
+ * @param encrypter - the encrypter service name
12
+ */
7
13
  constructor(str: string, encrypter: string);
14
+ /**
15
+ * Extract the plain string value, warning if the string is not encrypted
16
+ * @param value - the value to set
17
+ * @param path - the path
18
+ * @returns the result string
19
+ */
8
20
  static from(value: string | SecretString, path?: string): string;
21
+ /**
22
+ * Get the underlying secret value
23
+ * @returns the result string
24
+ */
9
25
  getValue(): string;
26
+ /**
27
+ * Return a masked representation to prevent secret leakage
28
+ * @returns the result string
29
+ */
10
30
  toString(): string;
31
+ /**
32
+ * Custom inspect handler to mask the secret in Node.js util.inspect
33
+ * @param depth - the depth level
34
+ * @param options - the options
35
+ * @param inspect - the inspect function
36
+ * @returns the result
37
+ */
11
38
  [util.inspect.custom](depth: any, options: any, inspect: any): string;
12
39
  }
13
- export interface KeysRegistry {
40
+ export type KeysRegistry = {
14
41
  /**
15
42
  * Contains the instanceId of the last
16
43
  * service who rotated
@@ -28,7 +55,7 @@ export interface KeysRegistry {
28
55
  * Current key
29
56
  */
30
57
  current: string;
31
- }
58
+ };
32
59
  /**
33
60
  * Encrypt/Decrypt string
34
61
  */
@@ -46,134 +73,17 @@ export interface StringEncrypter {
46
73
  */
47
74
  decrypt(data: string, options?: any): Promise<string>;
48
75
  }
49
- /**
50
- * JWT Options
51
- */
52
- export interface JWTOptions {
53
- /**
54
- * Secret to use with JWT
55
- */
56
- secretOrPublicKey?: string | Buffer | {
57
- key: string;
58
- passphrase: string;
59
- };
60
- /**
61
- * Algorithm for JWT token
62
- *
63
- * @see https://www.npmjs.com/package/jsonwebtoken
64
- * @default "HS256"
65
- */
66
- algorithm?: "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512" | "ES256" | "ES384" | "ES512";
67
- /**
68
- * expressed in seconds or a string describing a time span zeit/ms.
69
- *
70
- * Eg: 60, "2 days", "10h", "7d". A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), otherwise milliseconds unit is used by default ("120" is equal to "120ms").
71
- */
72
- expiresIn?: number | string;
73
- /**
74
- * Audience for the jwt
75
- */
76
- audience?: string;
77
- /**
78
- * Issuer of the token
79
- */
80
- issuer?: string;
81
- /**
82
- * Subject for JWT
83
- */
84
- subject?: string;
85
- keyid?: any;
86
- }
87
- export declare class CryptoServiceParameters extends ServiceParameters {
88
- /**
89
- * Number of hours a key should be used for encryption
90
- *
91
- * if auto-rotate is not set this
92
- */
93
- keyActiveLifespan: number;
94
- /**
95
- * Number of hours allowed to decrypt data encrypted with this key
96
- */
97
- keyLifespan: number;
98
- /**
99
- * Try to rotate keys when they expire in days
100
- */
101
- autoRotate?: number;
102
- /**
103
- * Create first set of key if does not exist
104
- */
105
- autoCreate?: boolean;
106
- /**
107
- * To expose JWKS
108
- *
109
- * @see https://datatracker.ietf.org/doc/html/rfc7517
110
- */
111
- url?: string;
112
- /**
113
- * Type of asymetric key
114
- *
115
- * https://nodejs.org/api/crypto.html#cryptogeneratekeypairsynctype-options
116
- * https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_crypto_generatekeypairsync_type_options
117
- */
118
- asymetricType: "rsa" | "dsa" | "ec" | "ed25519" | "ed448" | "x25519" | "x448" | "dh";
119
- /**
120
- * Options for asymetric generation
121
- */
122
- asymetricOptions?: {
123
- /**
124
- * @default 2048
125
- */
126
- modulusLength?: number;
127
- /**
128
- * Only if asymetricType "ec"
129
- */
130
- namedCurve?: string;
131
- publicKeyEncoding?: {
132
- /**
133
- * @default spki
134
- */
135
- type?: "spki" | "pkcs1";
136
- format?: "pem";
137
- };
138
- privateKeyEncoding?: {
139
- /**
140
- * https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_keyobject_export_options
141
- * @default pkcs8
142
- */
143
- type?: "pkcs1" | "pkcs8" | "sec1";
144
- format?: "pem";
145
- cipher?: string;
146
- passphrase?: string;
147
- };
148
- };
149
- /**
150
- * @default 256
151
- */
152
- symetricKeyLength?: number;
153
- /**
154
- * @default "aes-256-ctr"
155
- */
156
- symetricCipher?: string;
157
- /**
158
- * Default JWT options
159
- */
160
- jwt?: JWTOptions;
161
- constructor(params: any);
162
- }
163
- interface KeysDefinition {
164
- publicKey: string;
165
- privateKey: string;
166
- symetric: string;
167
- }
168
76
  /**
169
77
  * @WebdaModda
170
78
  */
171
- export default class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> implements StringEncrypter {
79
+ export declare class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> implements StringEncrypter {
172
80
  private static encrypters;
173
81
  /**
174
82
  * Register an encrypter for configuration
175
- * @param name
176
- * @param encrypter
83
+ * @param name - the name to use
84
+ * @param encrypter - the encrypter implementation
85
+ * @param encrypter.encrypt - the encrypter.encrypt
86
+ * @param encrypter.decrypt - the encrypter.decrypt
177
87
  */
178
88
  static registerEncrypter(name: string, encrypter: {
179
89
  encrypt: (data: string) => Promise<string>;
@@ -198,26 +108,23 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
198
108
  e: string;
199
109
  };
200
110
  };
201
- registry: Store<RegistryEntry>;
202
- /**
203
- * @override
204
- */
205
- loadParameters(params: DeepPartial<T>): ServiceParameters;
206
111
  /**
207
112
  * @override
208
113
  */
209
114
  init(): Promise<this>;
210
115
  /**
211
116
  *
117
+ * @param context - the execution context
212
118
  */
213
119
  serveJWKS(context: OperationContext): Promise<void>;
214
120
  /**
215
121
  * Load keys from registry
122
+ * @returns true if the condition is met
216
123
  */
217
124
  load(): Promise<boolean>;
218
125
  /**
219
126
  * Generate asymetric key
220
- * @returns
127
+ * @returns the result
221
128
  */
222
129
  generateAsymetricKeys(): {
223
130
  publicKey: string;
@@ -225,11 +132,12 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
225
132
  };
226
133
  /**
227
134
  * Generate symetric key
228
- * @returns
135
+ * @returns the result string
229
136
  */
230
137
  generateSymetricKey(): string;
231
138
  /**
232
139
  * Return current key set
140
+ * @returns the result
233
141
  */
234
142
  getCurrentKeys(): Promise<{
235
143
  id: string;
@@ -237,59 +145,77 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
237
145
  }>;
238
146
  /**
239
147
  * Retrieve a HMAC for a string
240
- * @param data
148
+ * @param data - the data to process
241
149
  * @param keyId to use
242
- * @returns
150
+ * @returns the result string
243
151
  */
244
152
  hmac(data: string | any, keyId?: string): Promise<string>;
245
153
  /**
246
154
  * Verify a HMAC for a string
247
- * @param data
248
- * @returns
155
+ * @param data - the data to process
156
+ * @param hmac - the HMAC instance
157
+ * @returns true if the condition is met
249
158
  */
250
159
  hmacVerify(data: string | any, hmac: string): Promise<boolean>;
251
160
  /**
252
161
  * JWT token generation
162
+ * @param data - the data to process
163
+ * @param options - the options
164
+ * @returns the result string
253
165
  */
254
166
  jwtSign(data: any, options?: JWTOptions): Promise<string>;
255
167
  /**
256
168
  *
257
- * @param keyId
258
- * @returns
169
+ * @param keyId - the key identifier
170
+ * @returns true if the condition is met
259
171
  */
260
172
  checkKey(keyId: string): Promise<boolean>;
261
173
  /**
262
174
  * Get JWT key based on kid
175
+ * @param header - the JWT header
176
+ * @param callback - the callback function
263
177
  */
264
178
  getJWTKey(header: any, callback: any): Promise<void>;
265
179
  /**
266
180
  * JWT token verification
181
+ * @param token - the token
182
+ * @param options - the options
183
+ * @returns the result
267
184
  */
268
185
  jwtVerify(token: string, options?: JWTOptions): Promise<string | any>;
269
186
  /**
270
187
  * Encrypt data
188
+ * @param data - the data to process
189
+ * @returns the result string
271
190
  */
272
191
  encrypt(data: any): Promise<string>;
273
192
  /**
274
193
  * Parse the JWT header section
194
+ * @param token - the token
195
+ * @returns the result
275
196
  */
276
197
  getJWTHeader(token: string): any;
277
198
  /**
278
199
  * Encrypt configuration
279
- * @param data
200
+ * @param data - the data to process
201
+ * @returns the result
280
202
  */
281
203
  static encryptConfiguration(data: any): Promise<any>;
282
204
  /**
283
205
  *
284
- * @param data
206
+ * @param data - the data to process
207
+ * @returns the result
285
208
  */
286
209
  static decryptConfiguration(data: any): Promise<any>;
287
210
  /**
288
211
  * Decrypt data
212
+ * @param token - the token
213
+ * @returns the result
289
214
  */
290
215
  decrypt(token: string): Promise<any>;
291
216
  /**
292
217
  * Get next id
218
+ * @returns the result
293
219
  */
294
220
  getNextId(): {
295
221
  id: string;
@@ -300,4 +226,13 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
300
226
  */
301
227
  rotate(): Promise<void>;
302
228
  }
303
- export { CryptoService };
229
+ export default CryptoService;
230
+ /**
231
+ * Return the CryptoService
232
+ *
233
+ * As it is a service, it can be used with the useService hook
234
+ *
235
+ * @returns the result
236
+ */
237
+ export declare function useCrypto(): CryptoService<CryptoServiceParameters>;
238
+ //# sourceMappingURL=cryptoservice.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoservice.service.d.ts","sourceRoot":"","sources":["../../src/services/cryptoservice.service.ts"],"names":[],"mappings":"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"}