@webda/core 4.0.0-beta.2 → 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 (756) 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/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  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 -58
  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 +44 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +95 -27
  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 +82 -53
  119. package/lib/index.d.ts.map +1 -1
  120. package/lib/index.js +81 -62
  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 +20 -76
  155. package/lib/models/aclmodel.d.ts.map +1 -1
  156. package/lib/models/aclmodel.js +27 -203
  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 +1 -1
  167. package/lib/models/deployment.d.ts.map +1 -1
  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.js → rolemodel.model.js} +23 -5
  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.d.ts → memoryqueue.service.d.ts} +26 -13
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +8 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -1
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +9 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -1
  206. package/lib/queues/queueservice.js +41 -13
  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 -59
  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 +17 -12
  245. package/lib/services/cloudbinary.d.ts.map +1 -1
  246. package/lib/services/cloudbinary.js +23 -17
  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} +75 -141
  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.js → debugmailer.service.js} +25 -10
  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 -11
  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 +52 -28
  297. package/lib/services/oauth.d.ts.map +1 -1
  298. package/lib/services/oauth.js +365 -254
  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 -12
  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.d.ts → resource.service.d.ts} +34 -15
  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 +87 -188
  313. package/lib/services/service.d.ts.map +1 -1
  314. package/lib/services/service.js +407 -422
  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 -19
  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 +126 -626
  345. package/lib/stores/store.d.ts.map +1 -1
  346. package/lib/stores/store.js +257 -1117
  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 +4 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -60
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +0 -9
  384. package/test/my-cnf.json +9 -0
  385. package/webda.module.json +3463 -2482
  386. package/lib/application.d.ts +0 -888
  387. package/lib/application.d.ts.map +0 -1
  388. package/lib/application.js +0 -768
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -2
  391. package/lib/application.spec.d.ts.map +0 -1
  392. package/lib/application.spec.js +0 -248
  393. package/lib/application.spec.js.map +0 -1
  394. package/lib/core.d.ts +0 -743
  395. package/lib/core.d.ts.map +0 -1
  396. package/lib/core.js +0 -1334
  397. package/lib/core.js.map +0 -1
  398. package/lib/core.spec.d.ts +0 -2
  399. package/lib/core.spec.d.ts.map +0 -1
  400. package/lib/core.spec.js +0 -790
  401. package/lib/core.spec.js.map +0 -1
  402. package/lib/errors.d.ts +0 -64
  403. package/lib/errors.d.ts.map +0 -1
  404. package/lib/errors.js +0 -97
  405. package/lib/errors.js.map +0 -1
  406. package/lib/errors.spec.d.ts +0 -2
  407. package/lib/errors.spec.d.ts.map +0 -1
  408. package/lib/errors.spec.js +0 -33
  409. package/lib/errors.spec.js.map +0 -1
  410. package/lib/models/aclmodel.spec.d.ts +0 -2
  411. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  412. package/lib/models/aclmodel.spec.js +0 -187
  413. package/lib/models/aclmodel.spec.js.map +0 -1
  414. package/lib/models/coremodel.d.ts +0 -896
  415. package/lib/models/coremodel.d.ts.map +0 -1
  416. package/lib/models/coremodel.js +0 -1214
  417. package/lib/models/coremodel.js.map +0 -1
  418. package/lib/models/coremodel.spec.d.ts +0 -2
  419. package/lib/models/coremodel.spec.d.ts.map +0 -1
  420. package/lib/models/coremodel.spec.js +0 -464
  421. package/lib/models/coremodel.spec.js.map +0 -1
  422. package/lib/models/ident.d.ts +0 -68
  423. package/lib/models/ident.d.ts.map +0 -1
  424. package/lib/models/ident.js +0 -26
  425. package/lib/models/ident.js.map +0 -1
  426. package/lib/models/ident.spec.d.ts +0 -2
  427. package/lib/models/ident.spec.d.ts.map +0 -1
  428. package/lib/models/ident.spec.js +0 -24
  429. package/lib/models/ident.spec.js.map +0 -1
  430. package/lib/models/ownermodel.d.ts +0 -51
  431. package/lib/models/ownermodel.d.ts.map +0 -1
  432. package/lib/models/ownermodel.js +0 -65
  433. package/lib/models/ownermodel.js.map +0 -1
  434. package/lib/models/ownermodel.spec.d.ts +0 -2
  435. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  436. package/lib/models/ownermodel.spec.js +0 -215
  437. package/lib/models/ownermodel.spec.js.map +0 -1
  438. package/lib/models/relations.d.ts +0 -182
  439. package/lib/models/relations.d.ts.map +0 -1
  440. package/lib/models/relations.js +0 -157
  441. package/lib/models/relations.js.map +0 -1
  442. package/lib/models/relations.spec.d.ts +0 -14
  443. package/lib/models/relations.spec.d.ts.map +0 -1
  444. package/lib/models/relations.spec.js +0 -217
  445. package/lib/models/relations.spec.js.map +0 -1
  446. package/lib/models/rolemodel.d.ts +0 -11
  447. package/lib/models/rolemodel.d.ts.map +0 -1
  448. package/lib/models/rolemodel.js.map +0 -1
  449. package/lib/models/rolemodel.spec.d.ts +0 -2
  450. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  451. package/lib/models/rolemodel.spec.js +0 -90
  452. package/lib/models/rolemodel.spec.js.map +0 -1
  453. package/lib/models/simpleuser.d.ts +0 -47
  454. package/lib/models/simpleuser.d.ts.map +0 -1
  455. package/lib/models/simpleuser.js +0 -84
  456. package/lib/models/simpleuser.js.map +0 -1
  457. package/lib/models/test.d.ts +0 -11
  458. package/lib/models/test.d.ts.map +0 -1
  459. package/lib/models/test.js +0 -7
  460. package/lib/models/test.js.map +0 -1
  461. package/lib/models/user.d.ts +0 -67
  462. package/lib/models/user.d.ts.map +0 -1
  463. package/lib/models/user.js +0 -86
  464. package/lib/models/user.js.map +0 -1
  465. package/lib/models/user.spec.d.ts +0 -2
  466. package/lib/models/user.spec.d.ts.map +0 -1
  467. package/lib/models/user.spec.js +0 -89
  468. package/lib/models/user.spec.js.map +0 -1
  469. package/lib/queues/filequeue.d.ts +0 -59
  470. package/lib/queues/filequeue.d.ts.map +0 -1
  471. package/lib/queues/filequeue.js +0 -131
  472. package/lib/queues/filequeue.js.map +0 -1
  473. package/lib/queues/filequeue.spec.d.ts +0 -2
  474. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  475. package/lib/queues/filequeue.spec.js +0 -84
  476. package/lib/queues/filequeue.spec.js.map +0 -1
  477. package/lib/queues/memoryqueue.d.ts.map +0 -1
  478. package/lib/queues/memoryqueue.js.map +0 -1
  479. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  480. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  481. package/lib/queues/memoryqueue.spec.js +0 -203
  482. package/lib/queues/memoryqueue.spec.js.map +0 -1
  483. package/lib/queues/queue.spec.d.ts +0 -6
  484. package/lib/queues/queue.spec.d.ts.map +0 -1
  485. package/lib/queues/queue.spec.js +0 -55
  486. package/lib/queues/queue.spec.js.map +0 -1
  487. package/lib/rest/restdomainservice.d.ts +0 -63
  488. package/lib/rest/restdomainservice.d.ts.map +0 -1
  489. package/lib/rest/restdomainservice.js +0 -687
  490. package/lib/rest/restdomainservice.js.map +0 -1
  491. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  492. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  493. package/lib/rest/restdomainservice.spec.js +0 -124
  494. package/lib/rest/restdomainservice.spec.js.map +0 -1
  495. package/lib/rest/router.d.ts +0 -174
  496. package/lib/rest/router.d.ts.map +0 -1
  497. package/lib/rest/router.js +0 -429
  498. package/lib/rest/router.js.map +0 -1
  499. package/lib/rest/router.spec.d.ts +0 -2
  500. package/lib/rest/router.spec.d.ts.map +0 -1
  501. package/lib/rest/router.spec.js +0 -255
  502. package/lib/rest/router.spec.js.map +0 -1
  503. package/lib/services/asyncevents.d.ts +0 -152
  504. package/lib/services/asyncevents.d.ts.map +0 -1
  505. package/lib/services/asyncevents.js +0 -217
  506. package/lib/services/asyncevents.js.map +0 -1
  507. package/lib/services/asyncevents.spec.d.ts +0 -2
  508. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  509. package/lib/services/asyncevents.spec.js +0 -118
  510. package/lib/services/asyncevents.spec.js.map +0 -1
  511. package/lib/services/authentication.d.ts.map +0 -1
  512. package/lib/services/authentication.js +0 -773
  513. package/lib/services/authentication.js.map +0 -1
  514. package/lib/services/authentication.spec.d.ts +0 -2
  515. package/lib/services/authentication.spec.d.ts.map +0 -1
  516. package/lib/services/authentication.spec.js +0 -458
  517. package/lib/services/authentication.spec.js.map +0 -1
  518. package/lib/services/binary.d.ts +0 -477
  519. package/lib/services/binary.d.ts.map +0 -1
  520. package/lib/services/binary.js +0 -617
  521. package/lib/services/binary.js.map +0 -1
  522. package/lib/services/binary.spec.d.ts +0 -41
  523. package/lib/services/binary.spec.d.ts.map +0 -1
  524. package/lib/services/binary.spec.js +0 -151
  525. package/lib/services/binary.spec.js.map +0 -1
  526. package/lib/services/cloudbinary.spec.d.ts +0 -6
  527. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  528. package/lib/services/cloudbinary.spec.js +0 -66
  529. package/lib/services/cloudbinary.spec.js.map +0 -1
  530. package/lib/services/configuration.d.ts.map +0 -1
  531. package/lib/services/configuration.js +0 -193
  532. package/lib/services/configuration.js.map +0 -1
  533. package/lib/services/configuration.spec.d.ts +0 -2
  534. package/lib/services/configuration.spec.d.ts.map +0 -1
  535. package/lib/services/configuration.spec.js +0 -130
  536. package/lib/services/configuration.spec.js.map +0 -1
  537. package/lib/services/cron.d.ts +0 -74
  538. package/lib/services/cron.d.ts.map +0 -1
  539. package/lib/services/cron.js +0 -141
  540. package/lib/services/cron.js.map +0 -1
  541. package/lib/services/cron.spec.d.ts +0 -2
  542. package/lib/services/cron.spec.d.ts.map +0 -1
  543. package/lib/services/cron.spec.js +0 -76
  544. package/lib/services/cron.spec.js.map +0 -1
  545. package/lib/services/cryptoservice.d.ts.map +0 -1
  546. package/lib/services/cryptoservice.js +0 -433
  547. package/lib/services/cryptoservice.js.map +0 -1
  548. package/lib/services/cryptoservice.spec.d.ts +0 -2
  549. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  550. package/lib/services/cryptoservice.spec.js +0 -177
  551. package/lib/services/cryptoservice.spec.js.map +0 -1
  552. package/lib/services/debugmailer.d.ts +0 -36
  553. package/lib/services/debugmailer.d.ts.map +0 -1
  554. package/lib/services/debugmailer.js.map +0 -1
  555. package/lib/services/debugmailer.spec.d.ts +0 -2
  556. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  557. package/lib/services/debugmailer.spec.js +0 -32
  558. package/lib/services/debugmailer.spec.js.map +0 -1
  559. package/lib/services/domainservice.d.ts +0 -272
  560. package/lib/services/domainservice.d.ts.map +0 -1
  561. package/lib/services/domainservice.js +0 -651
  562. package/lib/services/domainservice.js.map +0 -1
  563. package/lib/services/domainservice.spec.d.ts +0 -2
  564. package/lib/services/domainservice.spec.d.ts.map +0 -1
  565. package/lib/services/domainservice.spec.js +0 -592
  566. package/lib/services/domainservice.spec.js.map +0 -1
  567. package/lib/services/filebinary.d.ts +0 -136
  568. package/lib/services/filebinary.d.ts.map +0 -1
  569. package/lib/services/filebinary.js +0 -373
  570. package/lib/services/filebinary.js.map +0 -1
  571. package/lib/services/filebinary.spec.d.ts +0 -25
  572. package/lib/services/filebinary.spec.d.ts.map +0 -1
  573. package/lib/services/filebinary.spec.js +0 -428
  574. package/lib/services/filebinary.spec.js.map +0 -1
  575. package/lib/services/fileconfiguration.d.ts +0 -23
  576. package/lib/services/fileconfiguration.d.ts.map +0 -1
  577. package/lib/services/fileconfiguration.js +0 -48
  578. package/lib/services/fileconfiguration.js.map +0 -1
  579. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  580. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  581. package/lib/services/fileconfiguration.spec.js +0 -215
  582. package/lib/services/fileconfiguration.spec.js.map +0 -1
  583. package/lib/services/invitationservice.d.ts +0 -223
  584. package/lib/services/invitationservice.d.ts.map +0 -1
  585. package/lib/services/invitationservice.js +0 -529
  586. package/lib/services/invitationservice.js.map +0 -1
  587. package/lib/services/invitationservice.spec.d.ts +0 -2
  588. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  589. package/lib/services/invitationservice.spec.js +0 -567
  590. package/lib/services/invitationservice.spec.js.map +0 -1
  591. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  592. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  593. package/lib/services/kubernetesconfiguration.js +0 -52
  594. package/lib/services/kubernetesconfiguration.js.map +0 -1
  595. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  596. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  597. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  598. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  599. package/lib/services/mailer.d.ts +0 -166
  600. package/lib/services/mailer.d.ts.map +0 -1
  601. package/lib/services/mailer.js +0 -176
  602. package/lib/services/mailer.js.map +0 -1
  603. package/lib/services/mailer.spec.d.ts +0 -2
  604. package/lib/services/mailer.spec.d.ts.map +0 -1
  605. package/lib/services/mailer.spec.js +0 -158
  606. package/lib/services/mailer.spec.js.map +0 -1
  607. package/lib/services/notificationservice.d.ts.map +0 -1
  608. package/lib/services/notificationservice.js.map +0 -1
  609. package/lib/services/notificationservice.spec.d.ts +0 -2
  610. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  611. package/lib/services/notificationservice.spec.js +0 -83
  612. package/lib/services/notificationservice.spec.js.map +0 -1
  613. package/lib/services/oauth.spec.d.ts +0 -2
  614. package/lib/services/oauth.spec.d.ts.map +0 -1
  615. package/lib/services/oauth.spec.js +0 -208
  616. package/lib/services/oauth.spec.js.map +0 -1
  617. package/lib/services/prometheus.d.ts.map +0 -1
  618. package/lib/services/prometheus.js +0 -160
  619. package/lib/services/prometheus.js.map +0 -1
  620. package/lib/services/prometheus.spec.d.ts +0 -2
  621. package/lib/services/prometheus.spec.d.ts.map +0 -1
  622. package/lib/services/prometheus.spec.js +0 -76
  623. package/lib/services/prometheus.spec.js.map +0 -1
  624. package/lib/services/resource.d.ts.map +0 -1
  625. package/lib/services/resource.js +0 -170
  626. package/lib/services/resource.js.map +0 -1
  627. package/lib/services/resource.spec.d.ts +0 -2
  628. package/lib/services/resource.spec.d.ts.map +0 -1
  629. package/lib/services/resource.spec.js +0 -140
  630. package/lib/services/resource.spec.js.map +0 -1
  631. package/lib/services/service.spec.d.ts +0 -2
  632. package/lib/services/service.spec.d.ts.map +0 -1
  633. package/lib/services/service.spec.js +0 -286
  634. package/lib/services/service.spec.js.map +0 -1
  635. package/lib/stores/aggregator.d.ts +0 -48
  636. package/lib/stores/aggregator.d.ts.map +0 -1
  637. package/lib/stores/aggregator.js +0 -80
  638. package/lib/stores/aggregator.js.map +0 -1
  639. package/lib/stores/file.d.ts +0 -108
  640. package/lib/stores/file.d.ts.map +0 -1
  641. package/lib/stores/file.js +0 -188
  642. package/lib/stores/file.js.map +0 -1
  643. package/lib/stores/file.spec.d.ts +0 -13
  644. package/lib/stores/file.spec.d.ts.map +0 -1
  645. package/lib/stores/file.spec.js +0 -138
  646. package/lib/stores/file.spec.js.map +0 -1
  647. package/lib/stores/mapper.d.ts +0 -150
  648. package/lib/stores/mapper.d.ts.map +0 -1
  649. package/lib/stores/mapper.js +0 -293
  650. package/lib/stores/mapper.js.map +0 -1
  651. package/lib/stores/mapper.spec.d.ts +0 -2
  652. package/lib/stores/mapper.spec.d.ts.map +0 -1
  653. package/lib/stores/mapper.spec.js +0 -167
  654. package/lib/stores/mapper.spec.js.map +0 -1
  655. package/lib/stores/memory.d.ts +0 -152
  656. package/lib/stores/memory.d.ts.map +0 -1
  657. package/lib/stores/memory.js +0 -371
  658. package/lib/stores/memory.js.map +0 -1
  659. package/lib/stores/memory.spec.d.ts +0 -14
  660. package/lib/stores/memory.spec.d.ts.map +0 -1
  661. package/lib/stores/memory.spec.js +0 -263
  662. package/lib/stores/memory.spec.js.map +0 -1
  663. package/lib/stores/modelmapper.d.ts +0 -62
  664. package/lib/stores/modelmapper.d.ts.map +0 -1
  665. package/lib/stores/modelmapper.js +0 -197
  666. package/lib/stores/modelmapper.js.map +0 -1
  667. package/lib/stores/store.spec.d.ts +0 -57
  668. package/lib/stores/store.spec.d.ts.map +0 -1
  669. package/lib/stores/store.spec.js +0 -737
  670. package/lib/stores/store.spec.js.map +0 -1
  671. package/lib/test.d.ts +0 -265
  672. package/lib/test.d.ts.map +0 -1
  673. package/lib/test.js +0 -622
  674. package/lib/test.js.map +0 -1
  675. package/lib/unpackedapplication.d.ts.map +0 -1
  676. package/lib/unpackedapplication.js +0 -350
  677. package/lib/unpackedapplication.js.map +0 -1
  678. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  679. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  680. package/lib/utils/abstractdeployer.spec.js +0 -21
  681. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  682. package/lib/utils/case.d.ts +0 -8
  683. package/lib/utils/case.d.ts.map +0 -1
  684. package/lib/utils/case.js +0 -43
  685. package/lib/utils/case.js.map +0 -1
  686. package/lib/utils/case.spec.d.ts +0 -2
  687. package/lib/utils/case.spec.d.ts.map +0 -1
  688. package/lib/utils/case.spec.js +0 -50
  689. package/lib/utils/case.spec.js.map +0 -1
  690. package/lib/utils/context.d.ts +0 -482
  691. package/lib/utils/context.d.ts.map +0 -1
  692. package/lib/utils/context.js +0 -739
  693. package/lib/utils/context.js.map +0 -1
  694. package/lib/utils/context.spec.d.ts +0 -10
  695. package/lib/utils/context.spec.d.ts.map +0 -1
  696. package/lib/utils/context.spec.js +0 -383
  697. package/lib/utils/context.spec.js.map +0 -1
  698. package/lib/utils/cookie.d.ts.map +0 -1
  699. package/lib/utils/cookie.js.map +0 -1
  700. package/lib/utils/cookie.spec.d.ts +0 -2
  701. package/lib/utils/cookie.spec.d.ts.map +0 -1
  702. package/lib/utils/cookie.spec.js +0 -88
  703. package/lib/utils/cookie.spec.js.map +0 -1
  704. package/lib/utils/esm.d.ts +0 -14
  705. package/lib/utils/esm.d.ts.map +0 -1
  706. package/lib/utils/esm.js +0 -19
  707. package/lib/utils/esm.js.map +0 -1
  708. package/lib/utils/httpcontext.d.ts.map +0 -1
  709. package/lib/utils/httpcontext.js.map +0 -1
  710. package/lib/utils/httpcontext.spec.d.ts +0 -5
  711. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  712. package/lib/utils/httpcontext.spec.js +0 -77
  713. package/lib/utils/httpcontext.spec.js.map +0 -1
  714. package/lib/utils/logger.d.ts +0 -92
  715. package/lib/utils/logger.d.ts.map +0 -1
  716. package/lib/utils/logger.js +0 -121
  717. package/lib/utils/logger.js.map +0 -1
  718. package/lib/utils/logger.spec.d.ts +0 -2
  719. package/lib/utils/logger.spec.d.ts.map +0 -1
  720. package/lib/utils/logger.spec.js +0 -48
  721. package/lib/utils/logger.spec.js.map +0 -1
  722. package/lib/utils/serializers.d.ts +0 -162
  723. package/lib/utils/serializers.d.ts.map +0 -1
  724. package/lib/utils/serializers.js +0 -420
  725. package/lib/utils/serializers.js.map +0 -1
  726. package/lib/utils/serializers.spec.d.ts +0 -2
  727. package/lib/utils/serializers.spec.d.ts.map +0 -1
  728. package/lib/utils/serializers.spec.js +0 -311
  729. package/lib/utils/serializers.spec.js.map +0 -1
  730. package/lib/utils/session.d.ts +0 -123
  731. package/lib/utils/session.d.ts.map +0 -1
  732. package/lib/utils/session.js +0 -156
  733. package/lib/utils/session.js.map +0 -1
  734. package/lib/utils/session.spec.d.ts +0 -2
  735. package/lib/utils/session.spec.d.ts.map +0 -1
  736. package/lib/utils/session.spec.js +0 -81
  737. package/lib/utils/session.spec.js.map +0 -1
  738. package/lib/utils/throttler.d.ts +0 -99
  739. package/lib/utils/throttler.d.ts.map +0 -1
  740. package/lib/utils/throttler.js +0 -160
  741. package/lib/utils/throttler.js.map +0 -1
  742. package/lib/utils/throttler.spec.d.ts +0 -2
  743. package/lib/utils/throttler.spec.d.ts.map +0 -1
  744. package/lib/utils/throttler.spec.js +0 -53
  745. package/lib/utils/throttler.spec.js.map +0 -1
  746. package/lib/utils/waiter.d.ts +0 -94
  747. package/lib/utils/waiter.d.ts.map +0 -1
  748. package/lib/utils/waiter.js +0 -148
  749. package/lib/utils/waiter.js.map +0 -1
  750. package/lib/utils/waiter.spec.d.ts +0 -2
  751. package/lib/utils/waiter.spec.d.ts.map +0 -1
  752. package/lib/utils/waiter.spec.js +0 -98
  753. package/lib/utils/waiter.spec.js.map +0 -1
  754. package/test/jsonutils/mdocs.yaml +0 -56
  755. package/test/jsonutils/test.json +0 -3
  756. 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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"}