@webda/core 4.0.0-beta.2 → 4.0.0-beta.4

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 (793) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +468 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +845 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/deployment.d.ts +93 -0
  7. package/lib/application/deployment.d.ts.map +1 -0
  8. package/lib/application/deployment.js +99 -0
  9. package/lib/application/deployment.js.map +1 -0
  10. package/lib/application/hooks.d.ts +34 -0
  11. package/lib/application/hooks.d.ts.map +1 -0
  12. package/lib/application/hooks.js +57 -0
  13. package/lib/application/hooks.js.map +1 -0
  14. package/lib/application/iapplication.d.ts +43 -0
  15. package/lib/application/iapplication.d.ts.map +1 -0
  16. package/lib/application/iapplication.js +2 -0
  17. package/lib/application/iapplication.js.map +1 -0
  18. package/lib/application/iconfiguration.d.ts +176 -0
  19. package/lib/application/iconfiguration.d.ts.map +1 -0
  20. package/lib/application/iconfiguration.js +8 -0
  21. package/lib/application/iconfiguration.js.map +1 -0
  22. package/lib/application/runner.d.ts +8 -0
  23. package/lib/application/runner.d.ts.map +1 -0
  24. package/lib/application/runner.js +26 -0
  25. package/lib/application/runner.js.map +1 -0
  26. package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  27. package/lib/application/unpackedapplication.d.ts.map +1 -0
  28. package/lib/application/unpackedapplication.js +500 -0
  29. package/lib/application/unpackedapplication.js.map +1 -0
  30. package/lib/bin/cli-phase.d.ts +28 -0
  31. package/lib/bin/cli-phase.d.ts.map +1 -0
  32. package/lib/bin/cli-phase.js +44 -0
  33. package/lib/bin/cli-phase.js.map +1 -0
  34. package/lib/bin/cli.d.ts +196 -0
  35. package/lib/bin/cli.d.ts.map +1 -0
  36. package/lib/bin/cli.js +934 -0
  37. package/lib/bin/cli.js.map +1 -0
  38. package/lib/bin/launcher.d.ts +3 -0
  39. package/lib/bin/launcher.d.ts.map +1 -0
  40. package/lib/bin/launcher.js +50 -0
  41. package/lib/bin/launcher.js.map +1 -0
  42. package/lib/cache/cache.d.ts +33 -0
  43. package/lib/cache/cache.d.ts.map +1 -0
  44. package/lib/cache/cache.js +8 -0
  45. package/lib/cache/cache.js.map +1 -0
  46. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
  47. package/lib/configurations/configuration.service.d.ts.map +1 -0
  48. package/lib/configurations/configuration.service.js +248 -0
  49. package/lib/configurations/configuration.service.js.map +1 -0
  50. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  51. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/fileconfiguration.service.js +65 -0
  53. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  54. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  55. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  56. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  57. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  58. package/lib/contexts/execution.d.ts +33 -0
  59. package/lib/contexts/execution.d.ts.map +1 -0
  60. package/lib/contexts/execution.js +73 -0
  61. package/lib/contexts/execution.js.map +1 -0
  62. package/lib/contexts/globalcontext.d.ts +29 -0
  63. package/lib/contexts/globalcontext.d.ts.map +1 -0
  64. package/lib/contexts/globalcontext.js +38 -0
  65. package/lib/contexts/globalcontext.js.map +1 -0
  66. package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
  67. package/lib/contexts/httpcontext.d.ts.map +1 -0
  68. package/lib/{utils → contexts}/httpcontext.js +95 -27
  69. package/lib/contexts/httpcontext.js.map +1 -0
  70. package/lib/contexts/icontext.d.ts +236 -0
  71. package/lib/contexts/icontext.d.ts.map +1 -0
  72. package/lib/contexts/icontext.js +230 -0
  73. package/lib/contexts/icontext.js.map +1 -0
  74. package/lib/contexts/operationcontext.d.ts +182 -0
  75. package/lib/contexts/operationcontext.d.ts.map +1 -0
  76. package/lib/contexts/operationcontext.js +361 -0
  77. package/lib/contexts/operationcontext.js.map +1 -0
  78. package/lib/contexts/simplecontext.d.ts +31 -0
  79. package/lib/contexts/simplecontext.d.ts.map +1 -0
  80. package/lib/contexts/simplecontext.js +45 -0
  81. package/lib/contexts/simplecontext.js.map +1 -0
  82. package/lib/contexts/webcontext.d.ts +218 -0
  83. package/lib/contexts/webcontext.d.ts.map +1 -0
  84. package/lib/contexts/webcontext.js +389 -0
  85. package/lib/contexts/webcontext.js.map +1 -0
  86. package/lib/core/authorizer.d.ts +23 -0
  87. package/lib/core/authorizer.d.ts.map +1 -0
  88. package/lib/core/authorizer.js +17 -0
  89. package/lib/core/authorizer.js.map +1 -0
  90. package/lib/core/core.d.ts +225 -0
  91. package/lib/core/core.d.ts.map +1 -0
  92. package/lib/core/core.js +576 -0
  93. package/lib/core/core.js.map +1 -0
  94. package/lib/core/hooks.d.ts +94 -0
  95. package/lib/core/hooks.d.ts.map +1 -0
  96. package/lib/core/hooks.js +97 -0
  97. package/lib/core/hooks.js.map +1 -0
  98. package/lib/core/icore.d.ts +249 -0
  99. package/lib/core/icore.d.ts.map +1 -0
  100. package/lib/core/icore.js +15 -0
  101. package/lib/core/icore.js.map +1 -0
  102. package/lib/core/instancestorage.d.ts +61 -0
  103. package/lib/core/instancestorage.d.ts.map +1 -0
  104. package/lib/core/instancestorage.js +75 -0
  105. package/lib/core/instancestorage.js.map +1 -0
  106. package/lib/core/operations.d.ts +181 -0
  107. package/lib/core/operations.d.ts.map +1 -0
  108. package/lib/core/operations.js +559 -0
  109. package/lib/core/operations.js.map +1 -0
  110. package/lib/deployers/deployer.d.ts +157 -0
  111. package/lib/deployers/deployer.d.ts.map +1 -0
  112. package/lib/deployers/deployer.js +81 -0
  113. package/lib/deployers/deployer.js.map +1 -0
  114. package/lib/deployers/git.d.ts +27 -0
  115. package/lib/deployers/git.d.ts.map +1 -0
  116. package/lib/deployers/git.js +66 -0
  117. package/lib/deployers/git.js.map +1 -0
  118. package/lib/deployers/packager.d.ts +85 -0
  119. package/lib/deployers/packager.d.ts.map +1 -0
  120. package/lib/deployers/packager.js +259 -0
  121. package/lib/deployers/packager.js.map +1 -0
  122. package/lib/errors/errors.d.ts +126 -0
  123. package/lib/errors/errors.d.ts.map +1 -0
  124. package/lib/errors/errors.js +165 -0
  125. package/lib/errors/errors.js.map +1 -0
  126. package/lib/events/asynceventemitter.d.ts +159 -0
  127. package/lib/events/asynceventemitter.d.ts.map +1 -0
  128. package/lib/events/asynceventemitter.js +152 -0
  129. package/lib/events/asynceventemitter.js.map +1 -0
  130. package/lib/events/events.d.ts +112 -0
  131. package/lib/events/events.d.ts.map +1 -0
  132. package/lib/events/events.js +45 -0
  133. package/lib/events/events.js.map +1 -0
  134. package/lib/index.d.ts +88 -54
  135. package/lib/index.d.ts.map +1 -1
  136. package/lib/index.js +88 -64
  137. package/lib/index.js.map +1 -1
  138. package/lib/loggers/console.service.d.ts +24 -0
  139. package/lib/loggers/console.service.d.ts.map +1 -0
  140. package/lib/loggers/console.service.js +30 -0
  141. package/lib/loggers/console.service.js.map +1 -0
  142. package/lib/loggers/file.service.d.ts +25 -0
  143. package/lib/loggers/file.service.d.ts.map +1 -0
  144. package/lib/loggers/file.service.js +33 -0
  145. package/lib/loggers/file.service.js.map +1 -0
  146. package/lib/loggers/hooks.d.ts +20 -0
  147. package/lib/loggers/hooks.d.ts.map +1 -0
  148. package/lib/loggers/hooks.js +40 -0
  149. package/lib/loggers/hooks.js.map +1 -0
  150. package/lib/loggers/ilogger.d.ts +76 -0
  151. package/lib/loggers/ilogger.d.ts.map +1 -0
  152. package/lib/loggers/ilogger.js +108 -0
  153. package/lib/loggers/ilogger.js.map +1 -0
  154. package/lib/loggers/logger.d.ts +13 -0
  155. package/lib/loggers/logger.d.ts.map +1 -0
  156. package/lib/loggers/logger.js +18 -0
  157. package/lib/loggers/logger.js.map +1 -0
  158. package/lib/loggers/memory.service.d.ts +18 -0
  159. package/lib/loggers/memory.service.d.ts.map +1 -0
  160. package/lib/loggers/memory.service.js +21 -0
  161. package/lib/loggers/memory.service.js.map +1 -0
  162. package/lib/loggers/params.d.ts +47 -0
  163. package/lib/loggers/params.d.ts.map +1 -0
  164. package/lib/loggers/params.js +56 -0
  165. package/lib/loggers/params.js.map +1 -0
  166. package/lib/metrics/metrics.d.ts +25 -0
  167. package/lib/metrics/metrics.d.ts.map +1 -0
  168. package/lib/metrics/metrics.js +51 -0
  169. package/lib/metrics/metrics.js.map +1 -0
  170. package/lib/models/aclmodel.d.ts +20 -76
  171. package/lib/models/aclmodel.d.ts.map +1 -1
  172. package/lib/models/aclmodel.js +27 -203
  173. package/lib/models/aclmodel.js.map +1 -1
  174. package/lib/models/coremodel.model.d.ts +5 -0
  175. package/lib/models/coremodel.model.d.ts.map +1 -0
  176. package/lib/models/coremodel.model.js +5 -0
  177. package/lib/models/coremodel.model.js.map +1 -0
  178. package/lib/models/decorator.d.ts +67 -0
  179. package/lib/models/decorator.d.ts.map +1 -0
  180. package/lib/models/decorator.js +67 -0
  181. package/lib/models/decorator.js.map +1 -0
  182. package/lib/models/deployment.d.ts +2 -21
  183. package/lib/models/deployment.d.ts.map +1 -1
  184. package/lib/models/encrypted.model.d.ts +46 -0
  185. package/lib/models/encrypted.model.d.ts.map +1 -0
  186. package/lib/models/encrypted.model.js +87 -0
  187. package/lib/models/encrypted.model.js.map +1 -0
  188. package/lib/models/ident.model.d.ts +128 -0
  189. package/lib/models/ident.model.d.ts.map +1 -0
  190. package/lib/models/ident.model.js +207 -0
  191. package/lib/models/ident.model.js.map +1 -0
  192. package/lib/models/ownermodel.model.d.ts +68 -0
  193. package/lib/models/ownermodel.model.d.ts.map +1 -0
  194. package/lib/models/ownermodel.model.js +113 -0
  195. package/lib/models/ownermodel.model.js.map +1 -0
  196. package/lib/models/password.model.d.ts +78 -0
  197. package/lib/models/password.model.d.ts.map +1 -0
  198. package/lib/models/password.model.js +171 -0
  199. package/lib/models/password.model.js.map +1 -0
  200. package/lib/models/refreshtoken.model.d.ts +30 -0
  201. package/lib/models/refreshtoken.model.d.ts.map +1 -0
  202. package/lib/models/refreshtoken.model.js +29 -0
  203. package/lib/models/refreshtoken.model.js.map +1 -0
  204. package/lib/models/registry.model.d.ts +76 -0
  205. package/lib/models/registry.model.d.ts.map +1 -0
  206. package/lib/models/registry.model.js +104 -0
  207. package/lib/models/registry.model.js.map +1 -0
  208. package/lib/models/rolemodel.model.d.ts +28 -0
  209. package/lib/models/rolemodel.model.d.ts.map +1 -0
  210. package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
  211. package/lib/models/rolemodel.model.js.map +1 -0
  212. package/lib/models/simpleuser.model.d.ts +78 -0
  213. package/lib/models/simpleuser.model.d.ts.map +1 -0
  214. package/lib/models/simpleuser.model.js +124 -0
  215. package/lib/models/simpleuser.model.js.map +1 -0
  216. package/lib/models/types.d.ts +113 -0
  217. package/lib/models/types.d.ts.map +1 -0
  218. package/lib/models/types.js +2 -0
  219. package/lib/models/types.js.map +1 -0
  220. package/lib/models/user.model.d.ts +103 -0
  221. package/lib/models/user.model.d.ts.map +1 -0
  222. package/lib/models/user.model.js +164 -0
  223. package/lib/models/user.model.js.map +1 -0
  224. package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
  225. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  226. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  227. package/lib/queues/memoryqueue.service.js.map +1 -0
  228. package/lib/queues/pubsubservice.d.ts +8 -6
  229. package/lib/queues/pubsubservice.d.ts.map +1 -1
  230. package/lib/queues/pubsubservice.js +5 -4
  231. package/lib/queues/pubsubservice.js.map +1 -1
  232. package/lib/queues/queueservice.d.ts +9 -11
  233. package/lib/queues/queueservice.d.ts.map +1 -1
  234. package/lib/queues/queueservice.js +41 -13
  235. package/lib/queues/queueservice.js.map +1 -1
  236. package/lib/rest/hooks.d.ts +8 -0
  237. package/lib/rest/hooks.d.ts.map +1 -0
  238. package/lib/rest/hooks.js +10 -0
  239. package/lib/rest/hooks.js.map +1 -0
  240. package/lib/rest/irest.d.ts +212 -0
  241. package/lib/rest/irest.d.ts.map +1 -0
  242. package/lib/rest/irest.js +39 -0
  243. package/lib/rest/irest.js.map +1 -0
  244. package/lib/rest/originfilter.d.ts +38 -0
  245. package/lib/rest/originfilter.d.ts.map +1 -0
  246. package/lib/rest/originfilter.js +61 -0
  247. package/lib/rest/originfilter.js.map +1 -0
  248. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  249. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  250. package/lib/rest/restoperationstransport.service.js +780 -0
  251. package/lib/rest/restoperationstransport.service.js.map +1 -0
  252. package/lib/rest/router.service.d.ts +244 -0
  253. package/lib/rest/router.service.d.ts.map +1 -0
  254. package/lib/rest/router.service.js +843 -0
  255. package/lib/rest/router.service.js.map +1 -0
  256. package/lib/schemas/hooks.d.ts +48 -0
  257. package/lib/schemas/hooks.d.ts.map +1 -0
  258. package/lib/schemas/hooks.js +152 -0
  259. package/lib/schemas/hooks.js.map +1 -0
  260. package/lib/services/audit.model.d.ts +208 -0
  261. package/lib/services/audit.model.d.ts.map +1 -0
  262. package/lib/services/audit.model.js +432 -0
  263. package/lib/services/audit.model.js.map +1 -0
  264. package/lib/services/binary.service.d.ts +808 -0
  265. package/lib/services/binary.service.d.ts.map +1 -0
  266. package/lib/services/binary.service.js +1365 -0
  267. package/lib/services/binary.service.js.map +1 -0
  268. package/lib/services/cloudbinary.d.ts +17 -12
  269. package/lib/services/cloudbinary.d.ts.map +1 -1
  270. package/lib/services/cloudbinary.js +23 -17
  271. package/lib/services/cloudbinary.js.map +1 -1
  272. package/lib/services/command.d.ts +118 -0
  273. package/lib/services/command.d.ts.map +1 -0
  274. package/lib/services/command.js +97 -0
  275. package/lib/services/command.js.map +1 -0
  276. package/lib/services/cron.service.d.ts +142 -0
  277. package/lib/services/cron.service.d.ts.map +1 -0
  278. package/lib/services/cron.service.js +291 -0
  279. package/lib/services/cron.service.js.map +1 -0
  280. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
  281. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  282. package/lib/services/cryptoservice.service.js +527 -0
  283. package/lib/services/cryptoservice.service.js.map +1 -0
  284. package/lib/services/debugmailer.service.d.ts +49 -0
  285. package/lib/services/debugmailer.service.d.ts.map +1 -0
  286. package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
  287. package/lib/services/debugmailer.service.js.map +1 -0
  288. package/lib/services/domainservice.service.d.ts +242 -0
  289. package/lib/services/domainservice.service.d.ts.map +1 -0
  290. package/lib/services/domainservice.service.js +676 -0
  291. package/lib/services/domainservice.service.js.map +1 -0
  292. package/lib/services/httpserver.service.d.ts +248 -0
  293. package/lib/services/httpserver.service.d.ts.map +1 -0
  294. package/lib/services/httpserver.service.js +673 -0
  295. package/lib/services/httpserver.service.js.map +1 -0
  296. package/lib/services/iauthentication.d.ts +202 -0
  297. package/lib/services/iauthentication.d.ts.map +1 -0
  298. package/lib/services/iauthentication.js +2 -0
  299. package/lib/services/iauthentication.js.map +1 -0
  300. package/lib/services/icryptoservice.d.ts +127 -0
  301. package/lib/services/icryptoservice.d.ts.map +1 -0
  302. package/lib/services/icryptoservice.js +68 -0
  303. package/lib/services/icryptoservice.js.map +1 -0
  304. package/lib/services/imailer.d.ts +17 -0
  305. package/lib/services/imailer.d.ts.map +1 -0
  306. package/lib/services/imailer.js +2 -0
  307. package/lib/services/imailer.js.map +1 -0
  308. package/lib/services/iservice.d.ts +104 -0
  309. package/lib/services/iservice.d.ts.map +1 -0
  310. package/lib/services/iservice.js +63 -0
  311. package/lib/services/iservice.js.map +1 -0
  312. package/lib/services/mailer.service.d.ts +220 -0
  313. package/lib/services/mailer.service.d.ts.map +1 -0
  314. package/lib/services/mailer.service.js +251 -0
  315. package/lib/services/mailer.service.js.map +1 -0
  316. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
  317. package/lib/services/notificationservice.service.d.ts.map +1 -0
  318. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  319. package/lib/services/notificationservice.service.js.map +1 -0
  320. package/lib/services/operationstransport.d.ts +65 -0
  321. package/lib/services/operationstransport.d.ts.map +1 -0
  322. package/lib/services/operationstransport.js +103 -0
  323. package/lib/services/operationstransport.js.map +1 -0
  324. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
  325. package/lib/services/prometheus.service.d.ts.map +1 -0
  326. package/lib/services/prometheus.service.js +203 -0
  327. package/lib/services/prometheus.service.js.map +1 -0
  328. package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
  329. package/lib/services/resource.service.d.ts.map +1 -0
  330. package/lib/services/resource.service.js +301 -0
  331. package/lib/services/resource.service.js.map +1 -0
  332. package/lib/services/service.d.ts +87 -188
  333. package/lib/services/service.d.ts.map +1 -1
  334. package/lib/services/service.js +407 -422
  335. package/lib/services/service.js.map +1 -1
  336. package/lib/services/servicecommands.d.ts +99 -0
  337. package/lib/services/servicecommands.d.ts.map +1 -0
  338. package/lib/services/servicecommands.js +171 -0
  339. package/lib/services/servicecommands.js.map +1 -0
  340. package/lib/services/serviceparameters.d.ts +33 -0
  341. package/lib/services/serviceparameters.d.ts.map +1 -0
  342. package/lib/services/serviceparameters.js +79 -0
  343. package/lib/services/serviceparameters.js.map +1 -0
  344. package/lib/services/token.service.d.ts +95 -0
  345. package/lib/services/token.service.d.ts.map +1 -0
  346. package/lib/services/token.service.js +182 -0
  347. package/lib/services/token.service.js.map +1 -0
  348. package/lib/{utils → session}/cookie.d.ts +32 -19
  349. package/lib/session/cookie.d.ts.map +1 -0
  350. package/lib/{utils → session}/cookie.js +76 -23
  351. package/lib/session/cookie.js.map +1 -0
  352. package/lib/session/manager.model.d.ts +87 -0
  353. package/lib/session/manager.model.d.ts.map +1 -0
  354. package/lib/session/manager.model.js +212 -0
  355. package/lib/session/manager.model.js.map +1 -0
  356. package/lib/session/session.d.ts +100 -0
  357. package/lib/session/session.d.ts.map +1 -0
  358. package/lib/session/session.js +175 -0
  359. package/lib/session/session.js.map +1 -0
  360. package/lib/stores/istore.d.ts +99 -0
  361. package/lib/stores/istore.d.ts.map +1 -0
  362. package/lib/stores/istore.js +26 -0
  363. package/lib/stores/istore.js.map +1 -0
  364. package/lib/stores/memory.service.d.ts +114 -0
  365. package/lib/stores/memory.service.d.ts.map +1 -0
  366. package/lib/stores/memory.service.js +344 -0
  367. package/lib/stores/memory.service.js.map +1 -0
  368. package/lib/stores/store.d.ts +126 -626
  369. package/lib/stores/store.d.ts.map +1 -1
  370. package/lib/stores/store.js +257 -1117
  371. package/lib/stores/store.js.map +1 -1
  372. package/lib/templates/templates.d.ts +47 -0
  373. package/lib/templates/templates.d.ts.map +1 -0
  374. package/lib/templates/templates.js +101 -0
  375. package/lib/templates/templates.js.map +1 -0
  376. package/lib/test/application.d.ts +174 -0
  377. package/lib/test/application.d.ts.map +1 -0
  378. package/lib/test/application.js +288 -0
  379. package/lib/test/application.js.map +1 -0
  380. package/lib/test/asyncstorage.d.ts +16 -0
  381. package/lib/test/asyncstorage.d.ts.map +1 -0
  382. package/lib/test/asyncstorage.js +32 -0
  383. package/lib/test/asyncstorage.js.map +1 -0
  384. package/lib/test/behavior-fixture.model.d.ts +30 -0
  385. package/lib/test/behavior-fixture.model.d.ts.map +1 -0
  386. package/lib/test/behavior-fixture.model.js +63 -0
  387. package/lib/test/behavior-fixture.model.js.map +1 -0
  388. package/lib/test/core.d.ts +63 -0
  389. package/lib/test/core.d.ts.map +1 -0
  390. package/lib/test/core.js +190 -0
  391. package/lib/test/core.js.map +1 -0
  392. package/lib/test/index.d.ts +7 -0
  393. package/lib/test/index.d.ts.map +1 -0
  394. package/lib/test/index.js +8 -0
  395. package/lib/test/index.js.map +1 -0
  396. package/lib/test/internal.d.ts +34 -0
  397. package/lib/test/internal.d.ts.map +1 -0
  398. package/lib/test/internal.js +156 -0
  399. package/lib/test/internal.js.map +1 -0
  400. package/lib/test/legacyident.fixture.model.d.ts +98 -0
  401. package/lib/test/legacyident.fixture.model.d.ts.map +1 -0
  402. package/lib/test/legacyident.fixture.model.js +125 -0
  403. package/lib/test/legacyident.fixture.model.js.map +1 -0
  404. package/lib/test/objects.d.ts +318 -0
  405. package/lib/test/objects.d.ts.map +1 -0
  406. package/lib/test/objects.js +443 -0
  407. package/lib/test/objects.js.map +1 -0
  408. package/lib/utils/abstractdeployer.d.ts +4 -2
  409. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  410. package/lib/utils/abstractdeployer.js +3 -0
  411. package/lib/utils/abstractdeployer.js.map +1 -1
  412. package/package.json +102 -60
  413. package/test/cachedapp/webda.config.json +1 -5
  414. package/test/config-cached.json +3 -6
  415. package/test/config.json +3 -10
  416. package/test/my-cnf.json +9 -0
  417. package/webda.module.json +3755 -2496
  418. package/lib/application.d.ts +0 -888
  419. package/lib/application.d.ts.map +0 -1
  420. package/lib/application.js +0 -768
  421. package/lib/application.js.map +0 -1
  422. package/lib/application.spec.d.ts +0 -2
  423. package/lib/application.spec.d.ts.map +0 -1
  424. package/lib/application.spec.js +0 -248
  425. package/lib/application.spec.js.map +0 -1
  426. package/lib/core.d.ts +0 -743
  427. package/lib/core.d.ts.map +0 -1
  428. package/lib/core.js +0 -1334
  429. package/lib/core.js.map +0 -1
  430. package/lib/core.spec.d.ts +0 -2
  431. package/lib/core.spec.d.ts.map +0 -1
  432. package/lib/core.spec.js +0 -790
  433. package/lib/core.spec.js.map +0 -1
  434. package/lib/errors.d.ts +0 -64
  435. package/lib/errors.d.ts.map +0 -1
  436. package/lib/errors.js +0 -97
  437. package/lib/errors.js.map +0 -1
  438. package/lib/errors.spec.d.ts +0 -2
  439. package/lib/errors.spec.d.ts.map +0 -1
  440. package/lib/errors.spec.js +0 -33
  441. package/lib/errors.spec.js.map +0 -1
  442. package/lib/models/aclmodel.spec.d.ts +0 -2
  443. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  444. package/lib/models/aclmodel.spec.js +0 -187
  445. package/lib/models/aclmodel.spec.js.map +0 -1
  446. package/lib/models/coremodel.d.ts +0 -896
  447. package/lib/models/coremodel.d.ts.map +0 -1
  448. package/lib/models/coremodel.js +0 -1214
  449. package/lib/models/coremodel.js.map +0 -1
  450. package/lib/models/coremodel.spec.d.ts +0 -2
  451. package/lib/models/coremodel.spec.d.ts.map +0 -1
  452. package/lib/models/coremodel.spec.js +0 -464
  453. package/lib/models/coremodel.spec.js.map +0 -1
  454. package/lib/models/ident.d.ts +0 -68
  455. package/lib/models/ident.d.ts.map +0 -1
  456. package/lib/models/ident.js +0 -26
  457. package/lib/models/ident.js.map +0 -1
  458. package/lib/models/ident.spec.d.ts +0 -2
  459. package/lib/models/ident.spec.d.ts.map +0 -1
  460. package/lib/models/ident.spec.js +0 -24
  461. package/lib/models/ident.spec.js.map +0 -1
  462. package/lib/models/ownermodel.d.ts +0 -51
  463. package/lib/models/ownermodel.d.ts.map +0 -1
  464. package/lib/models/ownermodel.js +0 -65
  465. package/lib/models/ownermodel.js.map +0 -1
  466. package/lib/models/ownermodel.spec.d.ts +0 -2
  467. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  468. package/lib/models/ownermodel.spec.js +0 -215
  469. package/lib/models/ownermodel.spec.js.map +0 -1
  470. package/lib/models/relations.d.ts +0 -182
  471. package/lib/models/relations.d.ts.map +0 -1
  472. package/lib/models/relations.js +0 -157
  473. package/lib/models/relations.js.map +0 -1
  474. package/lib/models/relations.spec.d.ts +0 -14
  475. package/lib/models/relations.spec.d.ts.map +0 -1
  476. package/lib/models/relations.spec.js +0 -217
  477. package/lib/models/relations.spec.js.map +0 -1
  478. package/lib/models/rolemodel.d.ts +0 -11
  479. package/lib/models/rolemodel.d.ts.map +0 -1
  480. package/lib/models/rolemodel.js.map +0 -1
  481. package/lib/models/rolemodel.spec.d.ts +0 -2
  482. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  483. package/lib/models/rolemodel.spec.js +0 -90
  484. package/lib/models/rolemodel.spec.js.map +0 -1
  485. package/lib/models/simpleuser.d.ts +0 -47
  486. package/lib/models/simpleuser.d.ts.map +0 -1
  487. package/lib/models/simpleuser.js +0 -84
  488. package/lib/models/simpleuser.js.map +0 -1
  489. package/lib/models/test.d.ts +0 -11
  490. package/lib/models/test.d.ts.map +0 -1
  491. package/lib/models/test.js +0 -7
  492. package/lib/models/test.js.map +0 -1
  493. package/lib/models/user.d.ts +0 -67
  494. package/lib/models/user.d.ts.map +0 -1
  495. package/lib/models/user.js +0 -86
  496. package/lib/models/user.js.map +0 -1
  497. package/lib/models/user.spec.d.ts +0 -2
  498. package/lib/models/user.spec.d.ts.map +0 -1
  499. package/lib/models/user.spec.js +0 -89
  500. package/lib/models/user.spec.js.map +0 -1
  501. package/lib/queues/filequeue.d.ts +0 -59
  502. package/lib/queues/filequeue.d.ts.map +0 -1
  503. package/lib/queues/filequeue.js +0 -131
  504. package/lib/queues/filequeue.js.map +0 -1
  505. package/lib/queues/filequeue.spec.d.ts +0 -2
  506. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  507. package/lib/queues/filequeue.spec.js +0 -84
  508. package/lib/queues/filequeue.spec.js.map +0 -1
  509. package/lib/queues/memoryqueue.d.ts.map +0 -1
  510. package/lib/queues/memoryqueue.js.map +0 -1
  511. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  512. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  513. package/lib/queues/memoryqueue.spec.js +0 -203
  514. package/lib/queues/memoryqueue.spec.js.map +0 -1
  515. package/lib/queues/queue.spec.d.ts +0 -6
  516. package/lib/queues/queue.spec.d.ts.map +0 -1
  517. package/lib/queues/queue.spec.js +0 -55
  518. package/lib/queues/queue.spec.js.map +0 -1
  519. package/lib/rest/restdomainservice.d.ts +0 -63
  520. package/lib/rest/restdomainservice.d.ts.map +0 -1
  521. package/lib/rest/restdomainservice.js +0 -687
  522. package/lib/rest/restdomainservice.js.map +0 -1
  523. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  524. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  525. package/lib/rest/restdomainservice.spec.js +0 -124
  526. package/lib/rest/restdomainservice.spec.js.map +0 -1
  527. package/lib/rest/router.d.ts +0 -174
  528. package/lib/rest/router.d.ts.map +0 -1
  529. package/lib/rest/router.js +0 -429
  530. package/lib/rest/router.js.map +0 -1
  531. package/lib/rest/router.spec.d.ts +0 -2
  532. package/lib/rest/router.spec.d.ts.map +0 -1
  533. package/lib/rest/router.spec.js +0 -255
  534. package/lib/rest/router.spec.js.map +0 -1
  535. package/lib/services/asyncevents.d.ts +0 -152
  536. package/lib/services/asyncevents.d.ts.map +0 -1
  537. package/lib/services/asyncevents.js +0 -217
  538. package/lib/services/asyncevents.js.map +0 -1
  539. package/lib/services/asyncevents.spec.d.ts +0 -2
  540. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  541. package/lib/services/asyncevents.spec.js +0 -118
  542. package/lib/services/asyncevents.spec.js.map +0 -1
  543. package/lib/services/authentication.d.ts +0 -361
  544. package/lib/services/authentication.d.ts.map +0 -1
  545. package/lib/services/authentication.js +0 -773
  546. package/lib/services/authentication.js.map +0 -1
  547. package/lib/services/authentication.spec.d.ts +0 -2
  548. package/lib/services/authentication.spec.d.ts.map +0 -1
  549. package/lib/services/authentication.spec.js +0 -458
  550. package/lib/services/authentication.spec.js.map +0 -1
  551. package/lib/services/binary.d.ts +0 -477
  552. package/lib/services/binary.d.ts.map +0 -1
  553. package/lib/services/binary.js +0 -617
  554. package/lib/services/binary.js.map +0 -1
  555. package/lib/services/binary.spec.d.ts +0 -41
  556. package/lib/services/binary.spec.d.ts.map +0 -1
  557. package/lib/services/binary.spec.js +0 -151
  558. package/lib/services/binary.spec.js.map +0 -1
  559. package/lib/services/cloudbinary.spec.d.ts +0 -6
  560. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  561. package/lib/services/cloudbinary.spec.js +0 -66
  562. package/lib/services/cloudbinary.spec.js.map +0 -1
  563. package/lib/services/configuration.d.ts.map +0 -1
  564. package/lib/services/configuration.js +0 -193
  565. package/lib/services/configuration.js.map +0 -1
  566. package/lib/services/configuration.spec.d.ts +0 -2
  567. package/lib/services/configuration.spec.d.ts.map +0 -1
  568. package/lib/services/configuration.spec.js +0 -130
  569. package/lib/services/configuration.spec.js.map +0 -1
  570. package/lib/services/cron.d.ts +0 -74
  571. package/lib/services/cron.d.ts.map +0 -1
  572. package/lib/services/cron.js +0 -141
  573. package/lib/services/cron.js.map +0 -1
  574. package/lib/services/cron.spec.d.ts +0 -2
  575. package/lib/services/cron.spec.d.ts.map +0 -1
  576. package/lib/services/cron.spec.js +0 -76
  577. package/lib/services/cron.spec.js.map +0 -1
  578. package/lib/services/cryptoservice.d.ts.map +0 -1
  579. package/lib/services/cryptoservice.js +0 -433
  580. package/lib/services/cryptoservice.js.map +0 -1
  581. package/lib/services/cryptoservice.spec.d.ts +0 -2
  582. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  583. package/lib/services/cryptoservice.spec.js +0 -177
  584. package/lib/services/cryptoservice.spec.js.map +0 -1
  585. package/lib/services/debugmailer.d.ts +0 -36
  586. package/lib/services/debugmailer.d.ts.map +0 -1
  587. package/lib/services/debugmailer.js.map +0 -1
  588. package/lib/services/debugmailer.spec.d.ts +0 -2
  589. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  590. package/lib/services/debugmailer.spec.js +0 -32
  591. package/lib/services/debugmailer.spec.js.map +0 -1
  592. package/lib/services/domainservice.d.ts +0 -272
  593. package/lib/services/domainservice.d.ts.map +0 -1
  594. package/lib/services/domainservice.js +0 -651
  595. package/lib/services/domainservice.js.map +0 -1
  596. package/lib/services/domainservice.spec.d.ts +0 -2
  597. package/lib/services/domainservice.spec.d.ts.map +0 -1
  598. package/lib/services/domainservice.spec.js +0 -592
  599. package/lib/services/domainservice.spec.js.map +0 -1
  600. package/lib/services/filebinary.d.ts +0 -136
  601. package/lib/services/filebinary.d.ts.map +0 -1
  602. package/lib/services/filebinary.js +0 -373
  603. package/lib/services/filebinary.js.map +0 -1
  604. package/lib/services/filebinary.spec.d.ts +0 -25
  605. package/lib/services/filebinary.spec.d.ts.map +0 -1
  606. package/lib/services/filebinary.spec.js +0 -428
  607. package/lib/services/filebinary.spec.js.map +0 -1
  608. package/lib/services/fileconfiguration.d.ts +0 -23
  609. package/lib/services/fileconfiguration.d.ts.map +0 -1
  610. package/lib/services/fileconfiguration.js +0 -48
  611. package/lib/services/fileconfiguration.js.map +0 -1
  612. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  613. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  614. package/lib/services/fileconfiguration.spec.js +0 -215
  615. package/lib/services/fileconfiguration.spec.js.map +0 -1
  616. package/lib/services/invitationservice.d.ts +0 -223
  617. package/lib/services/invitationservice.d.ts.map +0 -1
  618. package/lib/services/invitationservice.js +0 -529
  619. package/lib/services/invitationservice.js.map +0 -1
  620. package/lib/services/invitationservice.spec.d.ts +0 -2
  621. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  622. package/lib/services/invitationservice.spec.js +0 -567
  623. package/lib/services/invitationservice.spec.js.map +0 -1
  624. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  625. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  626. package/lib/services/kubernetesconfiguration.js +0 -52
  627. package/lib/services/kubernetesconfiguration.js.map +0 -1
  628. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  629. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  630. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  631. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  632. package/lib/services/mailer.d.ts +0 -166
  633. package/lib/services/mailer.d.ts.map +0 -1
  634. package/lib/services/mailer.js +0 -176
  635. package/lib/services/mailer.js.map +0 -1
  636. package/lib/services/mailer.spec.d.ts +0 -2
  637. package/lib/services/mailer.spec.d.ts.map +0 -1
  638. package/lib/services/mailer.spec.js +0 -158
  639. package/lib/services/mailer.spec.js.map +0 -1
  640. package/lib/services/notificationservice.d.ts.map +0 -1
  641. package/lib/services/notificationservice.js.map +0 -1
  642. package/lib/services/notificationservice.spec.d.ts +0 -2
  643. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  644. package/lib/services/notificationservice.spec.js +0 -83
  645. package/lib/services/notificationservice.spec.js.map +0 -1
  646. package/lib/services/oauth.d.ts +0 -226
  647. package/lib/services/oauth.d.ts.map +0 -1
  648. package/lib/services/oauth.js +0 -294
  649. package/lib/services/oauth.js.map +0 -1
  650. package/lib/services/oauth.spec.d.ts +0 -2
  651. package/lib/services/oauth.spec.d.ts.map +0 -1
  652. package/lib/services/oauth.spec.js +0 -208
  653. package/lib/services/oauth.spec.js.map +0 -1
  654. package/lib/services/prometheus.d.ts.map +0 -1
  655. package/lib/services/prometheus.js +0 -160
  656. package/lib/services/prometheus.js.map +0 -1
  657. package/lib/services/prometheus.spec.d.ts +0 -2
  658. package/lib/services/prometheus.spec.d.ts.map +0 -1
  659. package/lib/services/prometheus.spec.js +0 -76
  660. package/lib/services/prometheus.spec.js.map +0 -1
  661. package/lib/services/resource.d.ts.map +0 -1
  662. package/lib/services/resource.js +0 -170
  663. package/lib/services/resource.js.map +0 -1
  664. package/lib/services/resource.spec.d.ts +0 -2
  665. package/lib/services/resource.spec.d.ts.map +0 -1
  666. package/lib/services/resource.spec.js +0 -140
  667. package/lib/services/resource.spec.js.map +0 -1
  668. package/lib/services/service.spec.d.ts +0 -2
  669. package/lib/services/service.spec.d.ts.map +0 -1
  670. package/lib/services/service.spec.js +0 -286
  671. package/lib/services/service.spec.js.map +0 -1
  672. package/lib/stores/aggregator.d.ts +0 -48
  673. package/lib/stores/aggregator.d.ts.map +0 -1
  674. package/lib/stores/aggregator.js +0 -80
  675. package/lib/stores/aggregator.js.map +0 -1
  676. package/lib/stores/file.d.ts +0 -108
  677. package/lib/stores/file.d.ts.map +0 -1
  678. package/lib/stores/file.js +0 -188
  679. package/lib/stores/file.js.map +0 -1
  680. package/lib/stores/file.spec.d.ts +0 -13
  681. package/lib/stores/file.spec.d.ts.map +0 -1
  682. package/lib/stores/file.spec.js +0 -138
  683. package/lib/stores/file.spec.js.map +0 -1
  684. package/lib/stores/mapper.d.ts +0 -150
  685. package/lib/stores/mapper.d.ts.map +0 -1
  686. package/lib/stores/mapper.js +0 -293
  687. package/lib/stores/mapper.js.map +0 -1
  688. package/lib/stores/mapper.spec.d.ts +0 -2
  689. package/lib/stores/mapper.spec.d.ts.map +0 -1
  690. package/lib/stores/mapper.spec.js +0 -167
  691. package/lib/stores/mapper.spec.js.map +0 -1
  692. package/lib/stores/memory.d.ts +0 -152
  693. package/lib/stores/memory.d.ts.map +0 -1
  694. package/lib/stores/memory.js +0 -371
  695. package/lib/stores/memory.js.map +0 -1
  696. package/lib/stores/memory.spec.d.ts +0 -14
  697. package/lib/stores/memory.spec.d.ts.map +0 -1
  698. package/lib/stores/memory.spec.js +0 -263
  699. package/lib/stores/memory.spec.js.map +0 -1
  700. package/lib/stores/modelmapper.d.ts +0 -62
  701. package/lib/stores/modelmapper.d.ts.map +0 -1
  702. package/lib/stores/modelmapper.js +0 -197
  703. package/lib/stores/modelmapper.js.map +0 -1
  704. package/lib/stores/store.spec.d.ts +0 -57
  705. package/lib/stores/store.spec.d.ts.map +0 -1
  706. package/lib/stores/store.spec.js +0 -737
  707. package/lib/stores/store.spec.js.map +0 -1
  708. package/lib/test.d.ts +0 -265
  709. package/lib/test.d.ts.map +0 -1
  710. package/lib/test.js +0 -622
  711. package/lib/test.js.map +0 -1
  712. package/lib/unpackedapplication.d.ts.map +0 -1
  713. package/lib/unpackedapplication.js +0 -350
  714. package/lib/unpackedapplication.js.map +0 -1
  715. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  716. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  717. package/lib/utils/abstractdeployer.spec.js +0 -21
  718. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  719. package/lib/utils/case.d.ts +0 -8
  720. package/lib/utils/case.d.ts.map +0 -1
  721. package/lib/utils/case.js +0 -43
  722. package/lib/utils/case.js.map +0 -1
  723. package/lib/utils/case.spec.d.ts +0 -2
  724. package/lib/utils/case.spec.d.ts.map +0 -1
  725. package/lib/utils/case.spec.js +0 -50
  726. package/lib/utils/case.spec.js.map +0 -1
  727. package/lib/utils/context.d.ts +0 -482
  728. package/lib/utils/context.d.ts.map +0 -1
  729. package/lib/utils/context.js +0 -739
  730. package/lib/utils/context.js.map +0 -1
  731. package/lib/utils/context.spec.d.ts +0 -10
  732. package/lib/utils/context.spec.d.ts.map +0 -1
  733. package/lib/utils/context.spec.js +0 -383
  734. package/lib/utils/context.spec.js.map +0 -1
  735. package/lib/utils/cookie.d.ts.map +0 -1
  736. package/lib/utils/cookie.js.map +0 -1
  737. package/lib/utils/cookie.spec.d.ts +0 -2
  738. package/lib/utils/cookie.spec.d.ts.map +0 -1
  739. package/lib/utils/cookie.spec.js +0 -88
  740. package/lib/utils/cookie.spec.js.map +0 -1
  741. package/lib/utils/esm.d.ts +0 -14
  742. package/lib/utils/esm.d.ts.map +0 -1
  743. package/lib/utils/esm.js +0 -19
  744. package/lib/utils/esm.js.map +0 -1
  745. package/lib/utils/httpcontext.d.ts.map +0 -1
  746. package/lib/utils/httpcontext.js.map +0 -1
  747. package/lib/utils/httpcontext.spec.d.ts +0 -5
  748. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  749. package/lib/utils/httpcontext.spec.js +0 -77
  750. package/lib/utils/httpcontext.spec.js.map +0 -1
  751. package/lib/utils/logger.d.ts +0 -92
  752. package/lib/utils/logger.d.ts.map +0 -1
  753. package/lib/utils/logger.js +0 -121
  754. package/lib/utils/logger.js.map +0 -1
  755. package/lib/utils/logger.spec.d.ts +0 -2
  756. package/lib/utils/logger.spec.d.ts.map +0 -1
  757. package/lib/utils/logger.spec.js +0 -48
  758. package/lib/utils/logger.spec.js.map +0 -1
  759. package/lib/utils/serializers.d.ts +0 -162
  760. package/lib/utils/serializers.d.ts.map +0 -1
  761. package/lib/utils/serializers.js +0 -420
  762. package/lib/utils/serializers.js.map +0 -1
  763. package/lib/utils/serializers.spec.d.ts +0 -2
  764. package/lib/utils/serializers.spec.d.ts.map +0 -1
  765. package/lib/utils/serializers.spec.js +0 -311
  766. package/lib/utils/serializers.spec.js.map +0 -1
  767. package/lib/utils/session.d.ts +0 -123
  768. package/lib/utils/session.d.ts.map +0 -1
  769. package/lib/utils/session.js +0 -156
  770. package/lib/utils/session.js.map +0 -1
  771. package/lib/utils/session.spec.d.ts +0 -2
  772. package/lib/utils/session.spec.d.ts.map +0 -1
  773. package/lib/utils/session.spec.js +0 -81
  774. package/lib/utils/session.spec.js.map +0 -1
  775. package/lib/utils/throttler.d.ts +0 -99
  776. package/lib/utils/throttler.d.ts.map +0 -1
  777. package/lib/utils/throttler.js +0 -160
  778. package/lib/utils/throttler.js.map +0 -1
  779. package/lib/utils/throttler.spec.d.ts +0 -2
  780. package/lib/utils/throttler.spec.d.ts.map +0 -1
  781. package/lib/utils/throttler.spec.js +0 -53
  782. package/lib/utils/throttler.spec.js.map +0 -1
  783. package/lib/utils/waiter.d.ts +0 -94
  784. package/lib/utils/waiter.d.ts.map +0 -1
  785. package/lib/utils/waiter.js +0 -148
  786. package/lib/utils/waiter.js.map +0 -1
  787. package/lib/utils/waiter.spec.d.ts +0 -2
  788. package/lib/utils/waiter.spec.d.ts.map +0 -1
  789. package/lib/utils/waiter.spec.js +0 -98
  790. package/lib/utils/waiter.spec.js.map +0 -1
  791. package/test/jsonutils/mdocs.yaml +0 -56
  792. package/test/jsonutils/test.json +0 -3
  793. package/test/jsonutils/test.yml +0 -5
@@ -0,0 +1,389 @@
1
+ import { OperationContext } from "./operationcontext.js";
2
+ import acceptLanguage from "accept-language";
3
+ import { Readable } from "node:stream";
4
+ import { WritableStreamBuffer } from "stream-buffers";
5
+ import { useCore, useDynamicService, useService } from "../core/hooks.js";
6
+ /**
7
+ * @category CoreFeatures
8
+ */
9
+ class Cookie {
10
+ name;
11
+ value;
12
+ options;
13
+ }
14
+ /**
15
+ * This represent in fact a WebContext
16
+ * In 3.0 an abstract version of Context will replace this (closer to OperationContext)
17
+ * @category CoreFeatures
18
+ *
19
+ */
20
+ export class WebContext extends OperationContext {
21
+ /**
22
+ * Contains the response headers
23
+ */
24
+ _outputHeaders;
25
+ /**
26
+ * Current status code
27
+ */
28
+ statusCode;
29
+ /**
30
+ * Cookies to send back
31
+ */
32
+ _cookie;
33
+ /**
34
+ *
35
+ */
36
+ headers;
37
+ _route;
38
+ _ended = undefined;
39
+ /**
40
+ * If headers were flushed
41
+ */
42
+ headersFlushed;
43
+ _init;
44
+ /**
45
+ * Set current http context
46
+ * @param httpContext current http context
47
+ */
48
+ setHttpContext(httpContext) {
49
+ this.setExtension("http", httpContext);
50
+ this.reinit();
51
+ }
52
+ /**
53
+ * Get current http context
54
+ * @returns the result
55
+ */
56
+ getHttpContext() {
57
+ return this.getExtension("http");
58
+ }
59
+ /**
60
+ * @override
61
+ */
62
+ async getRawInputAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
63
+ return this.getHttpContext().getRawBodyAsString(limit, timeout, encoding);
64
+ }
65
+ /**
66
+ * A multipart body (file upload) is never JSON: return the default value
67
+ * instead of letting the parent try to `JSON.parse` it and log an error.
68
+ * The raw body stays available to `getRawInput()`/`getRawStream()`.
69
+ * @override
70
+ */
71
+ async getInput(sanitizedOptions) {
72
+ if (this.getHttpContext()?.getUniqueHeader("content-type", "").toLowerCase().startsWith("multipart/")) {
73
+ return sanitizedOptions?.defaultValue;
74
+ }
75
+ return super.getInput(sanitizedOptions);
76
+ }
77
+ /**
78
+ * @override
79
+ */
80
+ async getRawInput(limit = 1024 * 1024 * 10, timeout = 60000) {
81
+ return (await this.getHttpContext().getRawBody(limit, timeout)) || Buffer.from("");
82
+ }
83
+ /**
84
+ * @override
85
+ */
86
+ getRawStream() {
87
+ return this.getHttpContext().getRawStream();
88
+ }
89
+ /**
90
+ * Remove everything that was about to be sent
91
+ */
92
+ resetResponse() {
93
+ this._outputHeaders = {};
94
+ super.resetResponse();
95
+ }
96
+ /**
97
+ * Write data to the client
98
+ *
99
+ * @param output If it is an object it will be serializeb with toPublicJSON, if it is a String it will be appended to the result, if it is a buffer it will replace the result
100
+ * @param ...args any arguments to pass to the toPublicJSON method
101
+ * @param encoding - the encoding to use
102
+ * @param cb - the callback function
103
+ * @returns true if the condition is met
104
+ */
105
+ // @ts-ignore
106
+ write(output, encoding, cb) {
107
+ if (this.statusCode === 204) {
108
+ this.statusCode = 200;
109
+ }
110
+ if (typeof output === "object" && !(output instanceof Buffer) && !this.hasFlushedHeaders()) {
111
+ this.setHeader("Content-type", "application/json");
112
+ }
113
+ return super.write(output, encoding, cb);
114
+ }
115
+ /**
116
+ * Write the http return code and some headers
117
+ * Those headers are not flushed yet so can still be overwritten
118
+ *
119
+ * @param {Number} statusCode to return to the client
120
+ * @param {Object} headers to add to the response
121
+ * @returns this for chaining
122
+ */
123
+ writeHead(statusCode, headers = undefined) {
124
+ Object.entries(headers || {}).forEach(([key, value]) => {
125
+ this.setHeader(key, value);
126
+ });
127
+ if (statusCode !== undefined) {
128
+ this.statusCode = statusCode;
129
+ }
130
+ return this;
131
+ }
132
+ /**
133
+ *
134
+ * @returns the result
135
+ */
136
+ getResponseCode() {
137
+ return this.statusCode || 200;
138
+ }
139
+ /**
140
+ * Redirect to another url
141
+ * @param url - the URL
142
+ */
143
+ redirect(url) {
144
+ this.writeHead(302, { Location: url });
145
+ }
146
+ /**
147
+ * For compatibility reason
148
+ * @param param - the parameter name
149
+ * @param value - the value to set
150
+ * @param options - the options
151
+ */
152
+ cookie(param, value, options = undefined) {
153
+ /** @ignore */
154
+ if (this._cookie === undefined) {
155
+ this._cookie = new Map();
156
+ }
157
+ this._cookie[param] = { name: param, value, options };
158
+ }
159
+ /**
160
+ * Get all cookies set on the response
161
+ * @returns the result map
162
+ */
163
+ getResponseCookies() {
164
+ return this._cookie;
165
+ }
166
+ /**
167
+ * Whether the response has been ended
168
+ * @returns the result
169
+ */
170
+ isEnded() {
171
+ return this._ended;
172
+ }
173
+ /******************************
174
+ *
175
+ * Express Compatibiliy method
176
+ *
177
+ ******************************/
178
+ /**
179
+ * Express response allow statusCode to be defined this way
180
+ * @param code to return
181
+ * @returns this for chaining
182
+ */
183
+ status(code) {
184
+ this.statusCode = code;
185
+ return this;
186
+ }
187
+ /**
188
+ * Express response allow answer to be sent this way
189
+ * @param code to return
190
+ * @param obj - the target object
191
+ * @returns this for chaining
192
+ */
193
+ json(obj) {
194
+ this.write(obj);
195
+ return this;
196
+ }
197
+ /**
198
+ * Return the response size
199
+ * @returns the result
200
+ */
201
+ getResponseSize() {
202
+ return this._body ? Buffer.byteLength(this._body, "utf8") : undefined;
203
+ }
204
+ /**
205
+ * Flush the request
206
+ *
207
+ * @emits 'finish' event
208
+ * @throws Error if the request was already ended
209
+ * @returns the result
210
+ */
211
+ async end() {
212
+ /** @ignore */
213
+ if (this._ended) {
214
+ return this._ended;
215
+ }
216
+ this._ended = (async () => {
217
+ if (this.getExtension("http") && this.session) {
218
+ try {
219
+ const sm = useDynamicService("SessionManager");
220
+ if (sm)
221
+ await sm.save(this, this.session);
222
+ }
223
+ catch {
224
+ // SessionManager may not be available
225
+ }
226
+ }
227
+ await super.end();
228
+ if (this._stream instanceof WritableStreamBuffer && this._stream.size()) {
229
+ this._body = this._stream.getContents().toString();
230
+ this.statusCode = this.statusCode < 300 ? 200 : this.statusCode;
231
+ }
232
+ // Flush headers and body to the HTTP response stream
233
+ await this.flushHeaders();
234
+ if (this._stream && !(this._stream instanceof WritableStreamBuffer) && !this._stream.writableEnded) {
235
+ if (this._body) {
236
+ this._stream.end(this._body);
237
+ }
238
+ else {
239
+ this._stream.end();
240
+ }
241
+ }
242
+ })();
243
+ return this._ended;
244
+ }
245
+ /**
246
+ * Alias to keep compatibility with WebContext
247
+ * @param sanitizedOptions - the sanitized options
248
+ * @returns the result
249
+ */
250
+ async getRequestBody(sanitizedOptions = {
251
+ allowedTags: [],
252
+ allowedAttributes: {}
253
+ }) {
254
+ return this.getInput(sanitizedOptions);
255
+ }
256
+ /**
257
+ * Get request body
258
+ * @returns the result
259
+ */
260
+ getResponseBody() {
261
+ if (!this._body && this._stream instanceof WritableStreamBuffer) {
262
+ return this._stream.getContents();
263
+ }
264
+ return this._body;
265
+ }
266
+ /**
267
+ * Retrieve a http.IncomingMessage valid from Context
268
+ *
269
+ * Need more testing
270
+ * @returns the result
271
+ */
272
+ getRequest() {
273
+ const stream = Readable.from([JSON.stringify(this.getRequestBody())]);
274
+ return {
275
+ httpVersionMajor: 1,
276
+ httpVersionMinor: 0,
277
+ headers: this.headers,
278
+ httpVersion: "1.0",
279
+ method: this.getHttpContext().getMethod(),
280
+ rawHeaders: [], // TODO Regenerate headers based on the map
281
+ rawTrailers: [],
282
+ setTimeout: (msec, callback) => {
283
+ setTimeout(callback, msec);
284
+ },
285
+ socket: undefined,
286
+ statusCode: 200,
287
+ trailers: {},
288
+ url: this.getHttpContext().getUrl(),
289
+ connection: undefined,
290
+ ...stream
291
+ };
292
+ }
293
+ /**
294
+ * Get the request locale if found
295
+ * @returns the result
296
+ */
297
+ getLocale() {
298
+ const locales = useCore().getLocales();
299
+ acceptLanguage.languages(locales);
300
+ const header = this.getHttpContext().getUniqueHeader("accept-language");
301
+ if (header) {
302
+ return acceptLanguage.get(header);
303
+ }
304
+ return locales[0];
305
+ }
306
+ /**
307
+ * Return true if Headers got flushed already
308
+ * @returns the result
309
+ */
310
+ hasFlushedHeaders() {
311
+ return this.headersFlushed;
312
+ }
313
+ /**
314
+ * Set flushed header status
315
+ * @param status - the HTTP status code
316
+ */
317
+ setFlushedHeaders(status = true) {
318
+ this.headersFlushed = status;
319
+ }
320
+ /**
321
+ * Flush stored headers and status code to the underlying stream.
322
+ * For HTTP ServerResponse, writes via res.writeHead().
323
+ * Called automatically by getOutputStream() before pipeline() and by end().
324
+ */
325
+ /**
326
+ * Return the merged response headers — defaults set by the constructor
327
+ * (`_outputHeaders`) overlaid with any headers added via `setHeader()` /
328
+ * `writeHead()`. Same merge order as `flushHeaders` writes to the wire,
329
+ * so callers (logging, capture, transports) see exactly what the client
330
+ * will receive.
331
+ *
332
+ * @returns the merged response headers
333
+ */
334
+ getResponseHeaders() {
335
+ return { ...this._outputHeaders, ...super.getResponseHeaders() };
336
+ }
337
+ /**
338
+ *
339
+ */
340
+ async flushHeaders() {
341
+ if (this.flushed)
342
+ return;
343
+ const headers = this.getResponseHeaders();
344
+ await super.flushHeaders();
345
+ // Write to ServerResponse if the stream supports writeHead (not a WritableStreamBuffer)
346
+ if (this._stream && !(this._stream instanceof WritableStreamBuffer) && typeof this._stream.writeHead === "function") {
347
+ this.headersFlushed = true;
348
+ this._stream.writeHead(this.statusCode || 200, headers);
349
+ }
350
+ this._outputHeaders = {};
351
+ }
352
+ /**
353
+ * @ignore
354
+ * Used by Webda framework to set the body, session and output stream if known
355
+ */
356
+ constructor(httpContext, stream = undefined, defaultHeaders = undefined) {
357
+ super(stream);
358
+ this.setHttpContext(httpContext);
359
+ this._outputHeaders = defaultHeaders || {
360
+ // Gotta Cache ‘em all: bending the rules of web cache exploitation
361
+ // https://defcon.org/html/defcon-32/dc-32-speakers.html
362
+ "Cache-Control": "private"
363
+ };
364
+ this.headersFlushed = false;
365
+ this.statusCode = 204;
366
+ this.headers = new Map();
367
+ }
368
+ /**
369
+ * Initialize the web context, loading session and setting up stream listeners
370
+ * @param force - whether to force the operation
371
+ * @returns this for chaining
372
+ */
373
+ async init(force = false) {
374
+ if (this._init && !force) {
375
+ return this._init;
376
+ }
377
+ this._stream.on("pipe", () => {
378
+ // TODO Check for flush
379
+ // this._webda.flushHeaders(this);
380
+ this.headersFlushed = true;
381
+ });
382
+ if (this.getExtension("http")) {
383
+ this.session = (await useService("SessionManager").load(this)).getProxy();
384
+ }
385
+ this._init = super.init();
386
+ return this._init;
387
+ }
388
+ }
389
+ //# sourceMappingURL=webcontext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webcontext.js","sourceRoot":"","sources":["../../src/contexts/webcontext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Give your opinion about an action
3
+ *
4
+ * You have 3 choices:
5
+ * - yes: the action is allowed
6
+ * - no: the action is denied
7
+ * - hard no: the action is denied no matter what (even if another authorizer say yes)
8
+ */
9
+ export type AuthorizerFunction = (...args: any[]) => boolean | Promise<boolean>;
10
+ /**
11
+ * Check authorizer functions
12
+ *
13
+ * Return true if one of the authorizer allow the action
14
+ * Return false if all authorizer deny the action
15
+ * Throw exeption if one of the authorizer return a hard no
16
+ *
17
+ * @param authorizer - the authorizer function
18
+ * @param args - additional arguments
19
+ * @returns true if the condition is met
20
+ * @see AuthorizerFunction
21
+ */
22
+ export declare function checkAuthorizer(authorizer: AuthorizerFunction[], ...args: any[]): Promise<boolean>;
23
+ //# sourceMappingURL=authorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizer.d.ts","sourceRoot":"","sources":["../../src/core/authorizer.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Check authorizer functions
3
+ *
4
+ * Return true if one of the authorizer allow the action
5
+ * Return false if all authorizer deny the action
6
+ * Throw exeption if one of the authorizer return a hard no
7
+ *
8
+ * @param authorizer - the authorizer function
9
+ * @param args - additional arguments
10
+ * @returns true if the condition is met
11
+ * @see AuthorizerFunction
12
+ */
13
+ export async function checkAuthorizer(authorizer, ...args) {
14
+ // Run all authorizer in parallel and return true if one of them authorize the action
15
+ return await Promise.all(authorizer.map(fn => fn(...args))).then(results => results.find(r => r));
16
+ }
17
+ //# sourceMappingURL=authorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../src/core/authorizer.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAgC,EAAE,GAAG,IAAW;IACpF,qFAAqF;IACrF,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
@@ -0,0 +1,225 @@
1
+ import { WorkerLogLevel } from "@webda/workout";
2
+ import type { Application } from "../application/application.js";
3
+ import { Configuration } from "../application/iconfiguration.js";
4
+ import { BinaryService } from "../services/binary.service.js";
5
+ import { Model, type ModelClass } from "@webda/models";
6
+ import { Store } from "../stores/store.js";
7
+ import { Logger } from "../loggers/ilogger.js";
8
+ import { ICore, AbstractService, OperationDefinitionInfo } from "./icore.js";
9
+ import { Modda } from "../services/iservice.js";
10
+ import { CustomConstructor } from "@webda/tsc-esm";
11
+ export type CoreStates = "initial" | "loading" | "resolving" | "resolved" | "initializing" | "reinitializing" | "ready" | "stopping" | "stopped";
12
+ /**
13
+ * This is the main class of the framework, it handles the routing, the services initialization and resolution
14
+ *
15
+ * @class Core
16
+ * @category CoreFeatures
17
+ */
18
+ export declare class Core implements ICore {
19
+ /**
20
+ * Webda Services
21
+ * @hidden
22
+ */
23
+ protected services: Record<string, AbstractService>;
24
+ /**
25
+ * Modda for services
26
+ * @hidden
27
+ */
28
+ protected moddas: Record<string, Modda>;
29
+ /**
30
+ * Application that generates this Core
31
+ */
32
+ protected application: Application;
33
+ /**
34
+ * Configuration loaded from webda.config.json
35
+ * @hidden
36
+ */
37
+ protected configuration: Record<string, any>;
38
+ /**
39
+ * Console logger
40
+ * @hidden
41
+ */
42
+ protected logger: Logger;
43
+ /**
44
+ * Store the instance id
45
+ */
46
+ private instanceId;
47
+ /**
48
+ * Contains all operations defined by services
49
+ */
50
+ protected operations: {
51
+ [key: string]: OperationDefinitionInfo;
52
+ };
53
+ /**
54
+ * Order of services initialization
55
+ */
56
+ initOrders: string[];
57
+ /**
58
+ * Dependencies for each service
59
+ */
60
+ dependencies: Record<string, Set<string>>;
61
+ /**
62
+ * Configuration service name
63
+ */
64
+ configurationService?: string;
65
+ applicationConfiguration: Configuration;
66
+ /**
67
+ * Create a new Core
68
+ * @param application - the application instance
69
+ */
70
+ constructor(application?: Application);
71
+ /**
72
+ * Get the configuration object
73
+ * @returns {Configuration} the result
74
+ */
75
+ getConfiguration(): Record<string, any>;
76
+ /**
77
+ * Get the store assigned to this model
78
+ * @param model - the model to use
79
+ * @param modelOrConstructor - the model or its constructor
80
+ * @returns the result
81
+ */
82
+ getModelStore<T extends Model>(modelOrConstructor: CustomConstructor<T> | T | string): Store;
83
+ /**
84
+ * Get the model store for a specific model
85
+ * Leverage the Process cache
86
+ *
87
+ * @param model - the model to use
88
+ * @returns the result
89
+ */
90
+ private getModelStoreCached;
91
+ /**
92
+ * Get the service that manage a model
93
+ * @param modelOrConstructor - the model or its constructor
94
+ * @param attribute - the attribute name
95
+ * @returns the result
96
+ */
97
+ getBinaryStore<T extends Model>(modelOrConstructor: ModelClass<T> | T | string, attribute: string): AbstractService;
98
+ /**
99
+ * Find the best matching BinaryService for a given model and attribute, with caching
100
+ * @param model - the model to use
101
+ * @param attribute - the attribute name
102
+ * @returns the result
103
+ */
104
+ protected getBinaryStoreCached<T extends Model>(model: string, attribute: string): BinaryService;
105
+ /**
106
+ * Return Core instance id
107
+ *
108
+ * It is a random generated string
109
+ * @returns the result string
110
+ */
111
+ getInstanceId(): string;
112
+ /**
113
+ * Get absolute url with subpath
114
+ * @param subpath - the subpath to append
115
+ * @returns the result string
116
+ */
117
+ getApiUrl(subpath?: string): string;
118
+ /**
119
+ * Init one service
120
+ * @param service - the service instance
121
+ */
122
+ protected initService(service: string): Promise<void>;
123
+ /**
124
+ * Resolve services and their dependencies WITHOUT calling service.init().
125
+ *
126
+ * After this completes:
127
+ * - All services declared in configuration are constructed.
128
+ * - Each service's `resolve()` has been called (via createService / bean registration).
129
+ * - `this.initOrders` is finalized (Store services first).
130
+ * - The configuration service (if any) has been fully initialized — it must run
131
+ * early so other services can read config during construction.
132
+ *
133
+ * No non-configuration service.init() calls — no DB/network I/O is performed.
134
+ * Build-time hooks (`@BuildCommand`) run after this phase.
135
+ */
136
+ resolve(): Promise<void>;
137
+ /**
138
+ * Init Webda
139
+ *
140
+ * It will resolve Services init method and autolink.
141
+ *
142
+ * Delegates to {@link resolve} for service creation + resolve, then calls
143
+ * `init()` on every remaining non-configuration service.
144
+ */
145
+ init(): Promise<void>;
146
+ /**
147
+ * Return webda current version
148
+ *
149
+ * @returns package version
150
+ * @since 0.4.0
151
+ */
152
+ getVersion(): string;
153
+ /**
154
+ * To define the locales just add a locales: ['en-GB', 'fr-FR'] in your host global configuration
155
+ *
156
+ * @return The configured locales or "en-GB" if none are defined
157
+ * @returns the list of results
158
+ */
159
+ getLocales(): string[];
160
+ /**
161
+ * Check for a service name and return the wanted singleton or undefined if none found
162
+ *
163
+ * @param {String} name The service name to retrieve
164
+ * @returns the result
165
+ */
166
+ getService<T = AbstractService>(name?: string): T;
167
+ /**
168
+ * Return a map of defined services
169
+ * @returns {{}} the map of services
170
+ */
171
+ getServices(): {
172
+ [key: string]: AbstractService;
173
+ };
174
+ /**
175
+ * Return if Webda is in debug mode
176
+ * @returns true if the condition is met
177
+ */
178
+ isDebug(): boolean;
179
+ /**
180
+ * Log a message
181
+ * @param level - the log level
182
+ * @param args - additional arguments
183
+ */
184
+ log(level: WorkerLogLevel, ...args: any[]): void;
185
+ /**
186
+ * Update the configuration with new values
187
+ * @param updates - the updates to apply
188
+ */
189
+ updateConfiguration(updates: any): void;
190
+ /**
191
+ * Create a specific service
192
+ * @param service - the service instance
193
+ * @returns the result
194
+ */
195
+ protected createService(service: string): AbstractService<import("../index.js").ServiceParameters, {}>;
196
+ /**
197
+ * Auto-register application beans as services if not already configured.
198
+ * Tests can disable by overriding getBeans() to return empty/undefined.
199
+ */
200
+ registerBeans(): void;
201
+ /**
202
+ * Get application beans
203
+ * @returns the result
204
+ */
205
+ getBeans(): any;
206
+ /**
207
+ * Stop all services
208
+ */
209
+ stop(): Promise<void>;
210
+ /**
211
+ * Allow serialization
212
+ * @returns the result
213
+ */
214
+ toJSON(): {
215
+ configuration: Record<string, any>;
216
+ application: Application;
217
+ };
218
+ /**
219
+ * Deserialize a Core instance from a plain JSON object
220
+ * @param json - the JSON data
221
+ * @returns the result
222
+ */
223
+ static deserialize(json: any): Core;
224
+ }
225
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"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"}