@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
@@ -1,5 +1,5 @@
1
- import { ServiceParameters } from "../services/service.js";
2
- import { CancelablePromise, WaitDelayer, WaitDelayerDefinition } from "../utils/waiter.js";
1
+ import { ServiceParameters } from "../services/serviceparameters.js";
2
+ import { CancelablePromise, WaitDelayer, WaitDelayerDefinition } from "@webda/utils";
3
3
  import { PubSubService } from "./pubsubservice.js";
4
4
  /**
5
5
  * Raw message from queue
@@ -26,7 +26,7 @@ export declare class QueueParameters extends ServiceParameters {
26
26
  * Define if worker should process multi message received in //
27
27
  * @default true
28
28
  */
29
- workerParallelism?: boolean;
29
+ workerParallelism: boolean;
30
30
  /**
31
31
  * Max number of queue consumers
32
32
  * Queue will auto increase to this max number if queue is loaded
@@ -35,10 +35,6 @@ export declare class QueueParameters extends ServiceParameters {
35
35
  * @default 10
36
36
  */
37
37
  maxConsumers: number;
38
- /**
39
- * @inheritdoc
40
- */
41
- constructor(params: any);
42
38
  }
43
39
  /**
44
40
  * AbstractQueue implements the worker system
@@ -79,12 +75,13 @@ declare abstract class Queue<T = any, K extends QueueParameters = QueueParameter
79
75
  abstract deleteMessage(id: string): Promise<void>;
80
76
  /**
81
77
  * Create the delayer
78
+ * @returns this for chaining
82
79
  */
83
80
  resolve(): this;
84
81
  /**
85
82
  * Receive and process message from the queue
86
83
  *
87
- * @returns
84
+ * @returns the result
88
85
  */
89
86
  protected consumerReceiveMessage(): Promise<{
90
87
  speed: number;
@@ -98,14 +95,15 @@ declare abstract class Queue<T = any, K extends QueueParameters = QueueParameter
98
95
  *
99
96
  * SQS for example will return this.parameters.maxConsumers / 10
100
97
  *
101
- * @returns
98
+ * @returns the result number
102
99
  */
103
100
  getMaxConsumers(): number;
104
101
  /**
105
102
  * Work a queue calling the callback with every Event received
106
103
  * If the callback is called without exception the `deleteMessage` is called
107
- * @param callback
108
- * @param eventPrototype
104
+ * @param callback - the callback function
105
+ * @param eventPrototype - the event prototype
106
+ * @returns the result
109
107
  */
110
108
  consume(callback: (event: T) => Promise<void>, eventPrototype?: {
111
109
  new (): T;
@@ -1 +1 @@
1
- {"version":3,"file":"queueservice.d.ts","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;gBACS,MAAM,EAAE,GAAG;CAKxB;AAED;;;;;;;GAOG;AACH,uBAAe,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAA8B;IAC9C;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,cAAc,EAAE,UAAU,CAAC,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjD;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;;;OAIG;cACa,sBAAsB,IAAI,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAwCF;;;;;;;;;OASG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,iBAAiB;CA6BlG;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"queueservice.d.ts","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAQ;IAClC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAM;CAC3B;AAED;;;;;;;GAOG;AACH,uBAAe,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAA8B;IAC9C;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,cAAc,EAAE,UAAU,CAAC,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhF;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACI,OAAO,IAAI,IAAI,CAIrB;IAED;;;;OAIG;IACH,UAAgB,sBAAsB,IAAI,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAsCD;IAED;;;;;;;;;OASG;IACH,eAAe,IAAI,MAAM,CAExB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,iBAAiB,CA4BhG;CACF;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,18 +1,27 @@
1
- import { ServiceParameters } from "../services/service.js";
2
- import { CancelableLoopPromise, WaitDelayerFactories } from "../utils/waiter.js";
1
+ import { ServiceParameters } from "../services/serviceparameters.js";
2
+ import { CancelableLoopPromise, WaitDelayerFactories } from "@webda/utils";
3
3
  import { PubSubService } from "./pubsubservice.js";
4
4
  /**
5
5
  * @inheritdoc
6
6
  */
7
7
  export class QueueParameters extends ServiceParameters {
8
8
  /**
9
- * @inheritdoc
9
+ * Delayer between two failed attempts to process messages
10
10
  */
11
- constructor(params) {
12
- super(params);
13
- this.workerParallelism ?? (this.workerParallelism = true);
14
- this.maxConsumers ?? (this.maxConsumers = 10);
15
- }
11
+ workerDelayer;
12
+ /**
13
+ * Define if worker should process multi message received in //
14
+ * @default true
15
+ */
16
+ workerParallelism = true;
17
+ /**
18
+ * Max number of queue consumers
19
+ * Queue will auto increase to this max number if queue is loaded
20
+ * and it will decrease to just one consumer if no messages are available
21
+ *
22
+ * @default 10
23
+ */
24
+ maxConsumers = 10;
16
25
  }
17
26
  /**
18
27
  * AbstractQueue implements the worker system
@@ -23,8 +32,26 @@ export class QueueParameters extends ServiceParameters {
23
32
  * @category CoreServices
24
33
  */
25
34
  class Queue extends PubSubService {
35
+ /**
36
+ * Current timeout handler
37
+ */
38
+ _timeout;
39
+ /**
40
+ * Callback function to call for each message
41
+ */
42
+ callback;
43
+ /**
44
+ * Current pause instance
45
+ */
46
+ failedIterations;
47
+ /**
48
+ * Delayer
49
+ */
50
+ delayer;
51
+ eventPrototype;
26
52
  /**
27
53
  * Create the delayer
54
+ * @returns this for chaining
28
55
  */
29
56
  resolve() {
30
57
  super.resolve();
@@ -34,7 +61,7 @@ class Queue extends PubSubService {
34
61
  /**
35
62
  * Receive and process message from the queue
36
63
  *
37
- * @returns
64
+ * @returns the result
38
65
  */
39
66
  async consumerReceiveMessage() {
40
67
  try {
@@ -54,7 +81,7 @@ class Queue extends PubSubService {
54
81
  }
55
82
  catch (err) {
56
83
  this.metrics.errors.inc();
57
- this.getWebda().log("ERROR", `Message ${msg.ReceiptHandle}`, err);
84
+ this.log("ERROR", `Message ${msg.ReceiptHandle}`, err);
58
85
  }
59
86
  finally {
60
87
  end();
@@ -87,7 +114,7 @@ class Queue extends PubSubService {
87
114
  *
88
115
  * SQS for example will return this.parameters.maxConsumers / 10
89
116
  *
90
- * @returns
117
+ * @returns the result number
91
118
  */
92
119
  getMaxConsumers() {
93
120
  return this.parameters.maxConsumers;
@@ -95,8 +122,9 @@ class Queue extends PubSubService {
95
122
  /**
96
123
  * Work a queue calling the callback with every Event received
97
124
  * If the callback is called without exception the `deleteMessage` is called
98
- * @param callback
99
- * @param eventPrototype
125
+ * @param callback - the callback function
126
+ * @param eventPrototype - the event prototype
127
+ * @returns the result
100
128
  */
101
129
  consume(callback, eventPrototype) {
102
130
  this.failedIterations = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Router } from "./router.service.js";
2
+ /**
3
+ * Return the Router service
4
+ *
5
+ * @returns the result
6
+ */
7
+ export declare function useRouter(): Router;
8
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/rest/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -0,0 +1,10 @@
1
+ import { useDynamicService } from "../core/hooks.js";
2
+ /**
3
+ * Return the Router service
4
+ *
5
+ * @returns the result
6
+ */
7
+ export function useRouter() {
8
+ return useDynamicService("Router");
9
+ }
10
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/rest/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,iBAAiB,CAAS,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,212 @@
1
+ import type { JSONSchema7 } from "json-schema";
2
+ import type { OpenAPIV3 } from "openapi-types";
3
+ import { HttpMethodType } from "../contexts/httpcontext.js";
4
+ import { DeepPartial } from "@webda/tsc-esm";
5
+ import { IWebContext } from "../contexts/icontext.js";
6
+ import type { Repository } from "@webda/models";
7
+ /**
8
+ * Define overridable OpenAPI description
9
+ */
10
+ export interface OpenAPIWebdaDefinition extends DeepPartial<OpenAPIV3.PathItemObject> {
11
+ /**
12
+ * Do not output for this specific Route
13
+ *
14
+ * It can still be output with --include-hidden, as it is needed to declare
15
+ * the route in API Gateway or any other internal documentation
16
+ */
17
+ hidden?: boolean;
18
+ /**
19
+ * If defined will link to the model schema instead of a generic Object
20
+ */
21
+ model?: string;
22
+ /**
23
+ * Tags defined for all methods
24
+ */
25
+ tags?: string[];
26
+ post?: OpenApiWebdaOperation;
27
+ put?: OpenApiWebdaOperation;
28
+ patch?: OpenApiWebdaOperation;
29
+ get?: OpenApiWebdaOperation;
30
+ }
31
+ /**
32
+ * Bind a class method to an HTTP route at the service's base URL.
33
+ *
34
+ * **Prefer `@Operation`.** Operations plug into REST, GraphQL, and gRPC with
35
+ * a single declaration and give you request/response schema generation for
36
+ * free. `@Route` is the escape hatch for endpoints that don't fit the
37
+ * operation model (static assets, JWKS, Accept-based content negotiation,
38
+ * server-sent events, manual streaming, etc.) — anything where you need raw
39
+ * access to `WebContext` and the operation abstraction would get in the way.
40
+ *
41
+ * Routes are read by `Router.discoverRoutes()` after service init and
42
+ * registered on the router with the same semantics as a manual
43
+ * `this.addRoute(...)` call. `route` is resolved relative to the service's
44
+ * `url` parameter when it starts with `.` (`".", "./me", "./email/{email}"`).
45
+ *
46
+ * @param route - URL pattern, e.g. `"."`, `"./me"`, `"./{id}/children"`
47
+ * @param methods - HTTP verb or list; defaults to `["GET"]`
48
+ * @param openapi - OpenAPI `PathItemObject` fragment for this method
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * class JwksService extends Service {
53
+ * // Raw route — JWKS content-type isn't a natural fit for @Operation
54
+ * ⁣@Route(".", ["GET"], { get: { operationId: "getJWKS" } })
55
+ * async serveJWKS(ctx: OperationContext) { … }
56
+ * }
57
+ * ```
58
+ */
59
+ export declare const Route: {
60
+ (value: any, context: ClassMethodDecoratorContext<any, any>): any;
61
+ (route: string, methods?: HttpMethodType[] | HttpMethodType, openapi?: OpenAPIWebdaDefinition): (value: any, context: ClassMethodDecoratorContext<any, any>) => any;
62
+ };
63
+ /**
64
+ * Operation object with optional schemas
65
+ */
66
+ export interface OpenApiWebdaOperation extends DeepPartial<OpenAPIV3.OperationObject> {
67
+ schemas?: {
68
+ input?: JSONSchema7 | string;
69
+ output?: JSONSchema7 | string;
70
+ };
71
+ }
72
+ /**
73
+ * Route Information default information
74
+ */
75
+ export interface RouteInfo {
76
+ model?: Repository;
77
+ /**
78
+ * HTTP Method to expose
79
+ */
80
+ methods: HttpMethodType[];
81
+ /**
82
+ * Executor name
83
+ */
84
+ executor: string;
85
+ /**
86
+ * Method name on the executor
87
+ */
88
+ _method?: string | Function;
89
+ /**
90
+ * OpenAPI definition
91
+ */
92
+ openapi?: OpenAPIWebdaDefinition;
93
+ /**
94
+ * URI Template parser
95
+ */
96
+ _uriTemplateParse?: {
97
+ fromUri: (uri: string, options?: {
98
+ strict: boolean;
99
+ }) => any;
100
+ varNames: any;
101
+ };
102
+ /**
103
+ * Query parameters to extract
104
+ */
105
+ _queryParams?: {
106
+ name: string;
107
+ required: boolean;
108
+ }[];
109
+ /**
110
+ * Catch all parameter
111
+ */
112
+ _queryCatchAll?: string;
113
+ /**
114
+ * Hash
115
+ */
116
+ hash?: string;
117
+ /**
118
+ * Intend to override existing
119
+ */
120
+ override?: boolean;
121
+ }
122
+ /**
123
+ * RequestFilter allows a service to control incoming requests.
124
+ *
125
+ * Services implementing this interface can accept or reject HTTP requests
126
+ * based on authentication, authorization, or other criteria. If at least one
127
+ * registered filter returns `true`, the request proceeds.
128
+ *
129
+ * The compiler detects this interface via the `@WebdaCapability` tag and
130
+ * automatically registers implementing services with the Router during
131
+ * framework initialization.
132
+ *
133
+ * @WebdaCapability request-filter
134
+ *
135
+ * @typeParam T - The context type, defaults to {@link IWebContext}
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * class ApiKeyFilter extends Service implements RequestFilter {
140
+ * async checkRequest(context: IWebContext, type: "AUTH"): Promise<boolean> {
141
+ * return context.getHttpContext().getHeader("x-api-key") === this.parameters.apiKey;
142
+ * }
143
+ * }
144
+ * ```
145
+ */
146
+ export interface RequestFilter<T extends IWebContext = IWebContext> {
147
+ /**
148
+ * Check whether a request should be allowed through.
149
+ *
150
+ * Called for authentication/authorization checks on every incoming request.
151
+ *
152
+ * @param context - The current request context
153
+ * @param type - Always `"AUTH"` for request filters
154
+ * @returns `true` to allow the request, `false` to reject it
155
+ */
156
+ checkRequest(context: T, type: "AUTH"): Promise<boolean>;
157
+ }
158
+ /**
159
+ * CORSFilter allows a service to control Cross-Origin Resource Sharing requests.
160
+ *
161
+ * Similar to {@link RequestFilter} but specifically for CORS validation.
162
+ * CORS filters are **not applied in devMode**, allowing unrestricted
163
+ * cross-origin requests during development.
164
+ *
165
+ * @WebdaCapability cors-filter
166
+ *
167
+ * @typeParam T - The context type, defaults to {@link IWebContext}
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * class OriginFilter extends Service implements CORSFilter {
172
+ * async checkRequest(context: IWebContext, type: "CORS"): Promise<boolean> {
173
+ * const origin = context.getHttpContext().getHeader("origin");
174
+ * return this.parameters.allowedOrigins.includes(origin);
175
+ * }
176
+ * }
177
+ * ```
178
+ */
179
+ export interface CORSFilter<T extends IWebContext = IWebContext> {
180
+ /**
181
+ * Check whether a CORS request should be allowed.
182
+ *
183
+ * Called for cross-origin validation. CORS filters are **not applied
184
+ * in devMode**, allowing unrestricted cross-origin requests during development.
185
+ *
186
+ * @param context - The current request context
187
+ * @param type - Always `"CORS"` for CORS filters
188
+ * @returns `true` to allow the request, `false` to reject it
189
+ */
190
+ checkRequest(context: T, type: "CORS"): Promise<boolean>;
191
+ }
192
+ export interface IRouter {
193
+ /**
194
+ * Add to context information and executor based on the http context
195
+ */
196
+ exportOpenAPI(arg0: boolean): any;
197
+ registerModelUrl(arg0: any, prefix: string): unknown;
198
+ registerRequestFilter(filter: RequestFilter): any;
199
+ registerCORSFilter(filter: CORSFilter): any;
200
+ execute(context: IWebContext): Promise<void>;
201
+ /**
202
+ * Auto-discover services with request-filter and cors-filter capabilities
203
+ */
204
+ discoverFilters(services: Iterable<{
205
+ getCapabilities(): Record<string, any>;
206
+ }>): void;
207
+ /**
208
+ * Auto-discover routes declared via `@Route` on each service and register them
209
+ */
210
+ discoverRoutes(services: Iterable<any>): void;
211
+ }
212
+ //# sourceMappingURL=irest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irest.d.ts","sourceRoot":"","sources":["../../src/rest/irest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { createMethodDecorator } from "@webda/tsc-esm";
2
+ /**
3
+ * Bind a class method to an HTTP route at the service's base URL.
4
+ *
5
+ * **Prefer `@Operation`.** Operations plug into REST, GraphQL, and gRPC with
6
+ * a single declaration and give you request/response schema generation for
7
+ * free. `@Route` is the escape hatch for endpoints that don't fit the
8
+ * operation model (static assets, JWKS, Accept-based content negotiation,
9
+ * server-sent events, manual streaming, etc.) — anything where you need raw
10
+ * access to `WebContext` and the operation abstraction would get in the way.
11
+ *
12
+ * Routes are read by `Router.discoverRoutes()` after service init and
13
+ * registered on the router with the same semantics as a manual
14
+ * `this.addRoute(...)` call. `route` is resolved relative to the service's
15
+ * `url` parameter when it starts with `.` (`".", "./me", "./email/{email}"`).
16
+ *
17
+ * @param route - URL pattern, e.g. `"."`, `"./me"`, `"./{id}/children"`
18
+ * @param methods - HTTP verb or list; defaults to `["GET"]`
19
+ * @param openapi - OpenAPI `PathItemObject` fragment for this method
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * class JwksService extends Service {
24
+ * // Raw route — JWKS content-type isn't a natural fit for @Operation
25
+ * ⁣@Route(".", ["GET"], { get: { operationId: "getJWKS" } })
26
+ * async serveJWKS(ctx: OperationContext) { … }
27
+ * }
28
+ * ```
29
+ */
30
+ export const Route = createMethodDecorator((_value, context, route, methods = ["GET"], openapi = {}) => {
31
+ context.metadata["webda.route"] ??= {};
32
+ context.metadata["webda.route"][route] ??= [];
33
+ context.metadata["webda.route"][route].push({
34
+ methods: Array.isArray(methods) ? methods : [methods],
35
+ executor: context.name,
36
+ openapi
37
+ });
38
+ });
39
+ //# sourceMappingURL=irest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irest.js","sourceRoot":"","sources":["../../src/rest/irest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAe,MAAM,gBAAgB,CAAC;AA6BpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAqB,CACxC,CACE,MAAW,EACX,OAAoC,EACpC,KAAa,EACb,OAAO,GAAsC,CAAC,KAAK,CAAC,EACpD,OAAO,GAA2B,EAAE,EACpC,EAAE;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { IWebContext } from "../contexts/icontext.js";
2
+ import { RegExpValidator } from "@webda/utils";
3
+ import { RequestFilter } from "./irest.js";
4
+ /**
5
+ * Filter request based on their origin
6
+ *
7
+ * @category CoreFeatures
8
+ */
9
+ export declare class OriginFilter implements RequestFilter<IWebContext> {
10
+ regexs: RegExpValidator;
11
+ /** Create a new OriginFilter
12
+ * @param origins - allowed origin patterns
13
+ */
14
+ constructor(origins: string[]);
15
+ /**
16
+ *
17
+ * @param context - the execution context
18
+ * @returns true if the condition is met
19
+ */
20
+ checkRequest(context: IWebContext): Promise<boolean>;
21
+ }
22
+ /**
23
+ * Authorize requests based on the website
24
+ */
25
+ export declare class WebsiteOriginFilter implements RequestFilter<IWebContext> {
26
+ websites: string[];
27
+ /** Create a new WebsiteOriginFilter
28
+ * @param website - allowed website URL or array of URLs
29
+ */
30
+ constructor(website: any);
31
+ /**
32
+ * Verify that the request origin or host is in the allowed websites list
33
+ * @param context - the execution context
34
+ * @returns true if the condition is met
35
+ */
36
+ checkRequest(context: IWebContext): Promise<boolean>;
37
+ }
38
+ //# sourceMappingURL=originfilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"originfilter.d.ts","sourceRoot":"","sources":["../../src/rest/originfilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,YAAa,YAAW,aAAa,CAAC,WAAW,CAAC;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAAE,EAE5B;IACD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzD;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,aAAa,CAAC,WAAW,CAAC;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB;;OAEG;IACH,YAAY,OAAO,EAAE,GAAG,EAUvB;IAED;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzD;CACF"}
@@ -0,0 +1,61 @@
1
+ import { RegExpValidator } from "@webda/utils";
2
+ /**
3
+ * Filter request based on their origin
4
+ *
5
+ * @category CoreFeatures
6
+ */
7
+ export class OriginFilter {
8
+ regexs;
9
+ /** Create a new OriginFilter
10
+ * @param origins - allowed origin patterns
11
+ */
12
+ constructor(origins) {
13
+ this.regexs = new RegExpValidator(origins);
14
+ }
15
+ /**
16
+ *
17
+ * @param context - the execution context
18
+ * @returns true if the condition is met
19
+ */
20
+ async checkRequest(context) {
21
+ const httpContext = context.getHttpContext();
22
+ return this.regexs.validate(httpContext.hostname) || this.regexs.validate(httpContext.origin);
23
+ }
24
+ }
25
+ /**
26
+ * Authorize requests based on the website
27
+ */
28
+ export class WebsiteOriginFilter {
29
+ websites = [];
30
+ /** Create a new WebsiteOriginFilter
31
+ * @param website - allowed website URL or array of URLs
32
+ */
33
+ constructor(website) {
34
+ if (!Array.isArray(website)) {
35
+ if (typeof website === "object") {
36
+ this.websites.push(website.url);
37
+ }
38
+ else {
39
+ this.websites.push(website);
40
+ }
41
+ }
42
+ else {
43
+ this.websites = [...website];
44
+ }
45
+ }
46
+ /**
47
+ * Verify that the request origin or host is in the allowed websites list
48
+ * @param context - the execution context
49
+ * @returns true if the condition is met
50
+ */
51
+ async checkRequest(context) {
52
+ const httpContext = context.getHttpContext();
53
+ if (this.websites.indexOf(httpContext.origin) >= 0 ||
54
+ this.websites.indexOf(httpContext.host) >= 0 ||
55
+ this.websites.indexOf("*") >= 0) {
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+ }
61
+ //# sourceMappingURL=originfilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"originfilter.js","sourceRoot":"","sources":["../../src/rest/originfilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACvB,MAAM,CAAkB;IACxB;;OAEG;IACH,YAAY,OAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChG,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,QAAQ,GAAa,EAAE,CAAC;IACxB;;OAEG;IACH,YAAY,OAAY;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}