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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (793) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +468 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +845 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/deployment.d.ts +93 -0
  7. package/lib/application/deployment.d.ts.map +1 -0
  8. package/lib/application/deployment.js +99 -0
  9. package/lib/application/deployment.js.map +1 -0
  10. package/lib/application/hooks.d.ts +34 -0
  11. package/lib/application/hooks.d.ts.map +1 -0
  12. package/lib/application/hooks.js +57 -0
  13. package/lib/application/hooks.js.map +1 -0
  14. package/lib/application/iapplication.d.ts +43 -0
  15. package/lib/application/iapplication.d.ts.map +1 -0
  16. package/lib/application/iapplication.js +2 -0
  17. package/lib/application/iapplication.js.map +1 -0
  18. package/lib/application/iconfiguration.d.ts +176 -0
  19. package/lib/application/iconfiguration.d.ts.map +1 -0
  20. package/lib/application/iconfiguration.js +8 -0
  21. package/lib/application/iconfiguration.js.map +1 -0
  22. package/lib/application/runner.d.ts +8 -0
  23. package/lib/application/runner.d.ts.map +1 -0
  24. package/lib/application/runner.js +26 -0
  25. package/lib/application/runner.js.map +1 -0
  26. package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  27. package/lib/application/unpackedapplication.d.ts.map +1 -0
  28. package/lib/application/unpackedapplication.js +500 -0
  29. package/lib/application/unpackedapplication.js.map +1 -0
  30. package/lib/bin/cli-phase.d.ts +28 -0
  31. package/lib/bin/cli-phase.d.ts.map +1 -0
  32. package/lib/bin/cli-phase.js +44 -0
  33. package/lib/bin/cli-phase.js.map +1 -0
  34. package/lib/bin/cli.d.ts +196 -0
  35. package/lib/bin/cli.d.ts.map +1 -0
  36. package/lib/bin/cli.js +934 -0
  37. package/lib/bin/cli.js.map +1 -0
  38. package/lib/bin/launcher.d.ts +3 -0
  39. package/lib/bin/launcher.d.ts.map +1 -0
  40. package/lib/bin/launcher.js +50 -0
  41. package/lib/bin/launcher.js.map +1 -0
  42. package/lib/cache/cache.d.ts +33 -0
  43. package/lib/cache/cache.d.ts.map +1 -0
  44. package/lib/cache/cache.js +8 -0
  45. package/lib/cache/cache.js.map +1 -0
  46. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
  47. package/lib/configurations/configuration.service.d.ts.map +1 -0
  48. package/lib/configurations/configuration.service.js +248 -0
  49. package/lib/configurations/configuration.service.js.map +1 -0
  50. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  51. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/fileconfiguration.service.js +65 -0
  53. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  54. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  55. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  56. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  57. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  58. package/lib/contexts/execution.d.ts +33 -0
  59. package/lib/contexts/execution.d.ts.map +1 -0
  60. package/lib/contexts/execution.js +73 -0
  61. package/lib/contexts/execution.js.map +1 -0
  62. package/lib/contexts/globalcontext.d.ts +29 -0
  63. package/lib/contexts/globalcontext.d.ts.map +1 -0
  64. package/lib/contexts/globalcontext.js +38 -0
  65. package/lib/contexts/globalcontext.js.map +1 -0
  66. package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
  67. package/lib/contexts/httpcontext.d.ts.map +1 -0
  68. package/lib/{utils → contexts}/httpcontext.js +95 -27
  69. package/lib/contexts/httpcontext.js.map +1 -0
  70. package/lib/contexts/icontext.d.ts +236 -0
  71. package/lib/contexts/icontext.d.ts.map +1 -0
  72. package/lib/contexts/icontext.js +230 -0
  73. package/lib/contexts/icontext.js.map +1 -0
  74. package/lib/contexts/operationcontext.d.ts +182 -0
  75. package/lib/contexts/operationcontext.d.ts.map +1 -0
  76. package/lib/contexts/operationcontext.js +361 -0
  77. package/lib/contexts/operationcontext.js.map +1 -0
  78. package/lib/contexts/simplecontext.d.ts +31 -0
  79. package/lib/contexts/simplecontext.d.ts.map +1 -0
  80. package/lib/contexts/simplecontext.js +45 -0
  81. package/lib/contexts/simplecontext.js.map +1 -0
  82. package/lib/contexts/webcontext.d.ts +218 -0
  83. package/lib/contexts/webcontext.d.ts.map +1 -0
  84. package/lib/contexts/webcontext.js +389 -0
  85. package/lib/contexts/webcontext.js.map +1 -0
  86. package/lib/core/authorizer.d.ts +23 -0
  87. package/lib/core/authorizer.d.ts.map +1 -0
  88. package/lib/core/authorizer.js +17 -0
  89. package/lib/core/authorizer.js.map +1 -0
  90. package/lib/core/core.d.ts +225 -0
  91. package/lib/core/core.d.ts.map +1 -0
  92. package/lib/core/core.js +576 -0
  93. package/lib/core/core.js.map +1 -0
  94. package/lib/core/hooks.d.ts +94 -0
  95. package/lib/core/hooks.d.ts.map +1 -0
  96. package/lib/core/hooks.js +97 -0
  97. package/lib/core/hooks.js.map +1 -0
  98. package/lib/core/icore.d.ts +249 -0
  99. package/lib/core/icore.d.ts.map +1 -0
  100. package/lib/core/icore.js +15 -0
  101. package/lib/core/icore.js.map +1 -0
  102. package/lib/core/instancestorage.d.ts +61 -0
  103. package/lib/core/instancestorage.d.ts.map +1 -0
  104. package/lib/core/instancestorage.js +75 -0
  105. package/lib/core/instancestorage.js.map +1 -0
  106. package/lib/core/operations.d.ts +181 -0
  107. package/lib/core/operations.d.ts.map +1 -0
  108. package/lib/core/operations.js +559 -0
  109. package/lib/core/operations.js.map +1 -0
  110. package/lib/deployers/deployer.d.ts +157 -0
  111. package/lib/deployers/deployer.d.ts.map +1 -0
  112. package/lib/deployers/deployer.js +81 -0
  113. package/lib/deployers/deployer.js.map +1 -0
  114. package/lib/deployers/git.d.ts +27 -0
  115. package/lib/deployers/git.d.ts.map +1 -0
  116. package/lib/deployers/git.js +66 -0
  117. package/lib/deployers/git.js.map +1 -0
  118. package/lib/deployers/packager.d.ts +85 -0
  119. package/lib/deployers/packager.d.ts.map +1 -0
  120. package/lib/deployers/packager.js +259 -0
  121. package/lib/deployers/packager.js.map +1 -0
  122. package/lib/errors/errors.d.ts +126 -0
  123. package/lib/errors/errors.d.ts.map +1 -0
  124. package/lib/errors/errors.js +165 -0
  125. package/lib/errors/errors.js.map +1 -0
  126. package/lib/events/asynceventemitter.d.ts +159 -0
  127. package/lib/events/asynceventemitter.d.ts.map +1 -0
  128. package/lib/events/asynceventemitter.js +152 -0
  129. package/lib/events/asynceventemitter.js.map +1 -0
  130. package/lib/events/events.d.ts +112 -0
  131. package/lib/events/events.d.ts.map +1 -0
  132. package/lib/events/events.js +45 -0
  133. package/lib/events/events.js.map +1 -0
  134. package/lib/index.d.ts +88 -54
  135. package/lib/index.d.ts.map +1 -1
  136. package/lib/index.js +88 -64
  137. package/lib/index.js.map +1 -1
  138. package/lib/loggers/console.service.d.ts +24 -0
  139. package/lib/loggers/console.service.d.ts.map +1 -0
  140. package/lib/loggers/console.service.js +30 -0
  141. package/lib/loggers/console.service.js.map +1 -0
  142. package/lib/loggers/file.service.d.ts +25 -0
  143. package/lib/loggers/file.service.d.ts.map +1 -0
  144. package/lib/loggers/file.service.js +33 -0
  145. package/lib/loggers/file.service.js.map +1 -0
  146. package/lib/loggers/hooks.d.ts +20 -0
  147. package/lib/loggers/hooks.d.ts.map +1 -0
  148. package/lib/loggers/hooks.js +40 -0
  149. package/lib/loggers/hooks.js.map +1 -0
  150. package/lib/loggers/ilogger.d.ts +76 -0
  151. package/lib/loggers/ilogger.d.ts.map +1 -0
  152. package/lib/loggers/ilogger.js +108 -0
  153. package/lib/loggers/ilogger.js.map +1 -0
  154. package/lib/loggers/logger.d.ts +13 -0
  155. package/lib/loggers/logger.d.ts.map +1 -0
  156. package/lib/loggers/logger.js +18 -0
  157. package/lib/loggers/logger.js.map +1 -0
  158. package/lib/loggers/memory.service.d.ts +18 -0
  159. package/lib/loggers/memory.service.d.ts.map +1 -0
  160. package/lib/loggers/memory.service.js +21 -0
  161. package/lib/loggers/memory.service.js.map +1 -0
  162. package/lib/loggers/params.d.ts +47 -0
  163. package/lib/loggers/params.d.ts.map +1 -0
  164. package/lib/loggers/params.js +56 -0
  165. package/lib/loggers/params.js.map +1 -0
  166. package/lib/metrics/metrics.d.ts +25 -0
  167. package/lib/metrics/metrics.d.ts.map +1 -0
  168. package/lib/metrics/metrics.js +51 -0
  169. package/lib/metrics/metrics.js.map +1 -0
  170. package/lib/models/aclmodel.d.ts +20 -76
  171. package/lib/models/aclmodel.d.ts.map +1 -1
  172. package/lib/models/aclmodel.js +27 -203
  173. package/lib/models/aclmodel.js.map +1 -1
  174. package/lib/models/coremodel.model.d.ts +5 -0
  175. package/lib/models/coremodel.model.d.ts.map +1 -0
  176. package/lib/models/coremodel.model.js +5 -0
  177. package/lib/models/coremodel.model.js.map +1 -0
  178. package/lib/models/decorator.d.ts +67 -0
  179. package/lib/models/decorator.d.ts.map +1 -0
  180. package/lib/models/decorator.js +67 -0
  181. package/lib/models/decorator.js.map +1 -0
  182. package/lib/models/deployment.d.ts +2 -21
  183. package/lib/models/deployment.d.ts.map +1 -1
  184. package/lib/models/encrypted.model.d.ts +46 -0
  185. package/lib/models/encrypted.model.d.ts.map +1 -0
  186. package/lib/models/encrypted.model.js +87 -0
  187. package/lib/models/encrypted.model.js.map +1 -0
  188. package/lib/models/ident.model.d.ts +128 -0
  189. package/lib/models/ident.model.d.ts.map +1 -0
  190. package/lib/models/ident.model.js +207 -0
  191. package/lib/models/ident.model.js.map +1 -0
  192. package/lib/models/ownermodel.model.d.ts +68 -0
  193. package/lib/models/ownermodel.model.d.ts.map +1 -0
  194. package/lib/models/ownermodel.model.js +113 -0
  195. package/lib/models/ownermodel.model.js.map +1 -0
  196. package/lib/models/password.model.d.ts +78 -0
  197. package/lib/models/password.model.d.ts.map +1 -0
  198. package/lib/models/password.model.js +171 -0
  199. package/lib/models/password.model.js.map +1 -0
  200. package/lib/models/refreshtoken.model.d.ts +30 -0
  201. package/lib/models/refreshtoken.model.d.ts.map +1 -0
  202. package/lib/models/refreshtoken.model.js +29 -0
  203. package/lib/models/refreshtoken.model.js.map +1 -0
  204. package/lib/models/registry.model.d.ts +76 -0
  205. package/lib/models/registry.model.d.ts.map +1 -0
  206. package/lib/models/registry.model.js +104 -0
  207. package/lib/models/registry.model.js.map +1 -0
  208. package/lib/models/rolemodel.model.d.ts +28 -0
  209. package/lib/models/rolemodel.model.d.ts.map +1 -0
  210. package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
  211. package/lib/models/rolemodel.model.js.map +1 -0
  212. package/lib/models/simpleuser.model.d.ts +78 -0
  213. package/lib/models/simpleuser.model.d.ts.map +1 -0
  214. package/lib/models/simpleuser.model.js +124 -0
  215. package/lib/models/simpleuser.model.js.map +1 -0
  216. package/lib/models/types.d.ts +113 -0
  217. package/lib/models/types.d.ts.map +1 -0
  218. package/lib/models/types.js +2 -0
  219. package/lib/models/types.js.map +1 -0
  220. package/lib/models/user.model.d.ts +103 -0
  221. package/lib/models/user.model.d.ts.map +1 -0
  222. package/lib/models/user.model.js +164 -0
  223. package/lib/models/user.model.js.map +1 -0
  224. package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
  225. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  226. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  227. package/lib/queues/memoryqueue.service.js.map +1 -0
  228. package/lib/queues/pubsubservice.d.ts +8 -6
  229. package/lib/queues/pubsubservice.d.ts.map +1 -1
  230. package/lib/queues/pubsubservice.js +5 -4
  231. package/lib/queues/pubsubservice.js.map +1 -1
  232. package/lib/queues/queueservice.d.ts +9 -11
  233. package/lib/queues/queueservice.d.ts.map +1 -1
  234. package/lib/queues/queueservice.js +41 -13
  235. package/lib/queues/queueservice.js.map +1 -1
  236. package/lib/rest/hooks.d.ts +8 -0
  237. package/lib/rest/hooks.d.ts.map +1 -0
  238. package/lib/rest/hooks.js +10 -0
  239. package/lib/rest/hooks.js.map +1 -0
  240. package/lib/rest/irest.d.ts +212 -0
  241. package/lib/rest/irest.d.ts.map +1 -0
  242. package/lib/rest/irest.js +39 -0
  243. package/lib/rest/irest.js.map +1 -0
  244. package/lib/rest/originfilter.d.ts +38 -0
  245. package/lib/rest/originfilter.d.ts.map +1 -0
  246. package/lib/rest/originfilter.js +61 -0
  247. package/lib/rest/originfilter.js.map +1 -0
  248. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  249. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  250. package/lib/rest/restoperationstransport.service.js +780 -0
  251. package/lib/rest/restoperationstransport.service.js.map +1 -0
  252. package/lib/rest/router.service.d.ts +244 -0
  253. package/lib/rest/router.service.d.ts.map +1 -0
  254. package/lib/rest/router.service.js +843 -0
  255. package/lib/rest/router.service.js.map +1 -0
  256. package/lib/schemas/hooks.d.ts +48 -0
  257. package/lib/schemas/hooks.d.ts.map +1 -0
  258. package/lib/schemas/hooks.js +152 -0
  259. package/lib/schemas/hooks.js.map +1 -0
  260. package/lib/services/audit.model.d.ts +208 -0
  261. package/lib/services/audit.model.d.ts.map +1 -0
  262. package/lib/services/audit.model.js +432 -0
  263. package/lib/services/audit.model.js.map +1 -0
  264. package/lib/services/binary.service.d.ts +808 -0
  265. package/lib/services/binary.service.d.ts.map +1 -0
  266. package/lib/services/binary.service.js +1365 -0
  267. package/lib/services/binary.service.js.map +1 -0
  268. package/lib/services/cloudbinary.d.ts +17 -12
  269. package/lib/services/cloudbinary.d.ts.map +1 -1
  270. package/lib/services/cloudbinary.js +23 -17
  271. package/lib/services/cloudbinary.js.map +1 -1
  272. package/lib/services/command.d.ts +118 -0
  273. package/lib/services/command.d.ts.map +1 -0
  274. package/lib/services/command.js +97 -0
  275. package/lib/services/command.js.map +1 -0
  276. package/lib/services/cron.service.d.ts +142 -0
  277. package/lib/services/cron.service.d.ts.map +1 -0
  278. package/lib/services/cron.service.js +291 -0
  279. package/lib/services/cron.service.js.map +1 -0
  280. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
  281. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  282. package/lib/services/cryptoservice.service.js +527 -0
  283. package/lib/services/cryptoservice.service.js.map +1 -0
  284. package/lib/services/debugmailer.service.d.ts +49 -0
  285. package/lib/services/debugmailer.service.d.ts.map +1 -0
  286. package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
  287. package/lib/services/debugmailer.service.js.map +1 -0
  288. package/lib/services/domainservice.service.d.ts +242 -0
  289. package/lib/services/domainservice.service.d.ts.map +1 -0
  290. package/lib/services/domainservice.service.js +676 -0
  291. package/lib/services/domainservice.service.js.map +1 -0
  292. package/lib/services/httpserver.service.d.ts +248 -0
  293. package/lib/services/httpserver.service.d.ts.map +1 -0
  294. package/lib/services/httpserver.service.js +673 -0
  295. package/lib/services/httpserver.service.js.map +1 -0
  296. package/lib/services/iauthentication.d.ts +202 -0
  297. package/lib/services/iauthentication.d.ts.map +1 -0
  298. package/lib/services/iauthentication.js +2 -0
  299. package/lib/services/iauthentication.js.map +1 -0
  300. package/lib/services/icryptoservice.d.ts +127 -0
  301. package/lib/services/icryptoservice.d.ts.map +1 -0
  302. package/lib/services/icryptoservice.js +68 -0
  303. package/lib/services/icryptoservice.js.map +1 -0
  304. package/lib/services/imailer.d.ts +17 -0
  305. package/lib/services/imailer.d.ts.map +1 -0
  306. package/lib/services/imailer.js +2 -0
  307. package/lib/services/imailer.js.map +1 -0
  308. package/lib/services/iservice.d.ts +104 -0
  309. package/lib/services/iservice.d.ts.map +1 -0
  310. package/lib/services/iservice.js +63 -0
  311. package/lib/services/iservice.js.map +1 -0
  312. package/lib/services/mailer.service.d.ts +220 -0
  313. package/lib/services/mailer.service.d.ts.map +1 -0
  314. package/lib/services/mailer.service.js +251 -0
  315. package/lib/services/mailer.service.js.map +1 -0
  316. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
  317. package/lib/services/notificationservice.service.d.ts.map +1 -0
  318. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  319. package/lib/services/notificationservice.service.js.map +1 -0
  320. package/lib/services/operationstransport.d.ts +65 -0
  321. package/lib/services/operationstransport.d.ts.map +1 -0
  322. package/lib/services/operationstransport.js +103 -0
  323. package/lib/services/operationstransport.js.map +1 -0
  324. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
  325. package/lib/services/prometheus.service.d.ts.map +1 -0
  326. package/lib/services/prometheus.service.js +203 -0
  327. package/lib/services/prometheus.service.js.map +1 -0
  328. package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
  329. package/lib/services/resource.service.d.ts.map +1 -0
  330. package/lib/services/resource.service.js +301 -0
  331. package/lib/services/resource.service.js.map +1 -0
  332. package/lib/services/service.d.ts +87 -188
  333. package/lib/services/service.d.ts.map +1 -1
  334. package/lib/services/service.js +407 -422
  335. package/lib/services/service.js.map +1 -1
  336. package/lib/services/servicecommands.d.ts +99 -0
  337. package/lib/services/servicecommands.d.ts.map +1 -0
  338. package/lib/services/servicecommands.js +171 -0
  339. package/lib/services/servicecommands.js.map +1 -0
  340. package/lib/services/serviceparameters.d.ts +33 -0
  341. package/lib/services/serviceparameters.d.ts.map +1 -0
  342. package/lib/services/serviceparameters.js +79 -0
  343. package/lib/services/serviceparameters.js.map +1 -0
  344. package/lib/services/token.service.d.ts +95 -0
  345. package/lib/services/token.service.d.ts.map +1 -0
  346. package/lib/services/token.service.js +182 -0
  347. package/lib/services/token.service.js.map +1 -0
  348. package/lib/{utils → session}/cookie.d.ts +32 -19
  349. package/lib/session/cookie.d.ts.map +1 -0
  350. package/lib/{utils → session}/cookie.js +76 -23
  351. package/lib/session/cookie.js.map +1 -0
  352. package/lib/session/manager.model.d.ts +87 -0
  353. package/lib/session/manager.model.d.ts.map +1 -0
  354. package/lib/session/manager.model.js +212 -0
  355. package/lib/session/manager.model.js.map +1 -0
  356. package/lib/session/session.d.ts +100 -0
  357. package/lib/session/session.d.ts.map +1 -0
  358. package/lib/session/session.js +175 -0
  359. package/lib/session/session.js.map +1 -0
  360. package/lib/stores/istore.d.ts +99 -0
  361. package/lib/stores/istore.d.ts.map +1 -0
  362. package/lib/stores/istore.js +26 -0
  363. package/lib/stores/istore.js.map +1 -0
  364. package/lib/stores/memory.service.d.ts +114 -0
  365. package/lib/stores/memory.service.d.ts.map +1 -0
  366. package/lib/stores/memory.service.js +344 -0
  367. package/lib/stores/memory.service.js.map +1 -0
  368. package/lib/stores/store.d.ts +126 -626
  369. package/lib/stores/store.d.ts.map +1 -1
  370. package/lib/stores/store.js +257 -1117
  371. package/lib/stores/store.js.map +1 -1
  372. package/lib/templates/templates.d.ts +47 -0
  373. package/lib/templates/templates.d.ts.map +1 -0
  374. package/lib/templates/templates.js +101 -0
  375. package/lib/templates/templates.js.map +1 -0
  376. package/lib/test/application.d.ts +174 -0
  377. package/lib/test/application.d.ts.map +1 -0
  378. package/lib/test/application.js +288 -0
  379. package/lib/test/application.js.map +1 -0
  380. package/lib/test/asyncstorage.d.ts +16 -0
  381. package/lib/test/asyncstorage.d.ts.map +1 -0
  382. package/lib/test/asyncstorage.js +32 -0
  383. package/lib/test/asyncstorage.js.map +1 -0
  384. package/lib/test/behavior-fixture.model.d.ts +30 -0
  385. package/lib/test/behavior-fixture.model.d.ts.map +1 -0
  386. package/lib/test/behavior-fixture.model.js +63 -0
  387. package/lib/test/behavior-fixture.model.js.map +1 -0
  388. package/lib/test/core.d.ts +63 -0
  389. package/lib/test/core.d.ts.map +1 -0
  390. package/lib/test/core.js +190 -0
  391. package/lib/test/core.js.map +1 -0
  392. package/lib/test/index.d.ts +7 -0
  393. package/lib/test/index.d.ts.map +1 -0
  394. package/lib/test/index.js +8 -0
  395. package/lib/test/index.js.map +1 -0
  396. package/lib/test/internal.d.ts +34 -0
  397. package/lib/test/internal.d.ts.map +1 -0
  398. package/lib/test/internal.js +156 -0
  399. package/lib/test/internal.js.map +1 -0
  400. package/lib/test/legacyident.fixture.model.d.ts +98 -0
  401. package/lib/test/legacyident.fixture.model.d.ts.map +1 -0
  402. package/lib/test/legacyident.fixture.model.js +125 -0
  403. package/lib/test/legacyident.fixture.model.js.map +1 -0
  404. package/lib/test/objects.d.ts +318 -0
  405. package/lib/test/objects.d.ts.map +1 -0
  406. package/lib/test/objects.js +443 -0
  407. package/lib/test/objects.js.map +1 -0
  408. package/lib/utils/abstractdeployer.d.ts +4 -2
  409. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  410. package/lib/utils/abstractdeployer.js +3 -0
  411. package/lib/utils/abstractdeployer.js.map +1 -1
  412. package/package.json +102 -60
  413. package/test/cachedapp/webda.config.json +1 -5
  414. package/test/config-cached.json +3 -6
  415. package/test/config.json +3 -10
  416. package/test/my-cnf.json +9 -0
  417. package/webda.module.json +3755 -2496
  418. package/lib/application.d.ts +0 -888
  419. package/lib/application.d.ts.map +0 -1
  420. package/lib/application.js +0 -768
  421. package/lib/application.js.map +0 -1
  422. package/lib/application.spec.d.ts +0 -2
  423. package/lib/application.spec.d.ts.map +0 -1
  424. package/lib/application.spec.js +0 -248
  425. package/lib/application.spec.js.map +0 -1
  426. package/lib/core.d.ts +0 -743
  427. package/lib/core.d.ts.map +0 -1
  428. package/lib/core.js +0 -1334
  429. package/lib/core.js.map +0 -1
  430. package/lib/core.spec.d.ts +0 -2
  431. package/lib/core.spec.d.ts.map +0 -1
  432. package/lib/core.spec.js +0 -790
  433. package/lib/core.spec.js.map +0 -1
  434. package/lib/errors.d.ts +0 -64
  435. package/lib/errors.d.ts.map +0 -1
  436. package/lib/errors.js +0 -97
  437. package/lib/errors.js.map +0 -1
  438. package/lib/errors.spec.d.ts +0 -2
  439. package/lib/errors.spec.d.ts.map +0 -1
  440. package/lib/errors.spec.js +0 -33
  441. package/lib/errors.spec.js.map +0 -1
  442. package/lib/models/aclmodel.spec.d.ts +0 -2
  443. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  444. package/lib/models/aclmodel.spec.js +0 -187
  445. package/lib/models/aclmodel.spec.js.map +0 -1
  446. package/lib/models/coremodel.d.ts +0 -896
  447. package/lib/models/coremodel.d.ts.map +0 -1
  448. package/lib/models/coremodel.js +0 -1214
  449. package/lib/models/coremodel.js.map +0 -1
  450. package/lib/models/coremodel.spec.d.ts +0 -2
  451. package/lib/models/coremodel.spec.d.ts.map +0 -1
  452. package/lib/models/coremodel.spec.js +0 -464
  453. package/lib/models/coremodel.spec.js.map +0 -1
  454. package/lib/models/ident.d.ts +0 -68
  455. package/lib/models/ident.d.ts.map +0 -1
  456. package/lib/models/ident.js +0 -26
  457. package/lib/models/ident.js.map +0 -1
  458. package/lib/models/ident.spec.d.ts +0 -2
  459. package/lib/models/ident.spec.d.ts.map +0 -1
  460. package/lib/models/ident.spec.js +0 -24
  461. package/lib/models/ident.spec.js.map +0 -1
  462. package/lib/models/ownermodel.d.ts +0 -51
  463. package/lib/models/ownermodel.d.ts.map +0 -1
  464. package/lib/models/ownermodel.js +0 -65
  465. package/lib/models/ownermodel.js.map +0 -1
  466. package/lib/models/ownermodel.spec.d.ts +0 -2
  467. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  468. package/lib/models/ownermodel.spec.js +0 -215
  469. package/lib/models/ownermodel.spec.js.map +0 -1
  470. package/lib/models/relations.d.ts +0 -182
  471. package/lib/models/relations.d.ts.map +0 -1
  472. package/lib/models/relations.js +0 -157
  473. package/lib/models/relations.js.map +0 -1
  474. package/lib/models/relations.spec.d.ts +0 -14
  475. package/lib/models/relations.spec.d.ts.map +0 -1
  476. package/lib/models/relations.spec.js +0 -217
  477. package/lib/models/relations.spec.js.map +0 -1
  478. package/lib/models/rolemodel.d.ts +0 -11
  479. package/lib/models/rolemodel.d.ts.map +0 -1
  480. package/lib/models/rolemodel.js.map +0 -1
  481. package/lib/models/rolemodel.spec.d.ts +0 -2
  482. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  483. package/lib/models/rolemodel.spec.js +0 -90
  484. package/lib/models/rolemodel.spec.js.map +0 -1
  485. package/lib/models/simpleuser.d.ts +0 -47
  486. package/lib/models/simpleuser.d.ts.map +0 -1
  487. package/lib/models/simpleuser.js +0 -84
  488. package/lib/models/simpleuser.js.map +0 -1
  489. package/lib/models/test.d.ts +0 -11
  490. package/lib/models/test.d.ts.map +0 -1
  491. package/lib/models/test.js +0 -7
  492. package/lib/models/test.js.map +0 -1
  493. package/lib/models/user.d.ts +0 -67
  494. package/lib/models/user.d.ts.map +0 -1
  495. package/lib/models/user.js +0 -86
  496. package/lib/models/user.js.map +0 -1
  497. package/lib/models/user.spec.d.ts +0 -2
  498. package/lib/models/user.spec.d.ts.map +0 -1
  499. package/lib/models/user.spec.js +0 -89
  500. package/lib/models/user.spec.js.map +0 -1
  501. package/lib/queues/filequeue.d.ts +0 -59
  502. package/lib/queues/filequeue.d.ts.map +0 -1
  503. package/lib/queues/filequeue.js +0 -131
  504. package/lib/queues/filequeue.js.map +0 -1
  505. package/lib/queues/filequeue.spec.d.ts +0 -2
  506. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  507. package/lib/queues/filequeue.spec.js +0 -84
  508. package/lib/queues/filequeue.spec.js.map +0 -1
  509. package/lib/queues/memoryqueue.d.ts.map +0 -1
  510. package/lib/queues/memoryqueue.js.map +0 -1
  511. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  512. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  513. package/lib/queues/memoryqueue.spec.js +0 -203
  514. package/lib/queues/memoryqueue.spec.js.map +0 -1
  515. package/lib/queues/queue.spec.d.ts +0 -6
  516. package/lib/queues/queue.spec.d.ts.map +0 -1
  517. package/lib/queues/queue.spec.js +0 -55
  518. package/lib/queues/queue.spec.js.map +0 -1
  519. package/lib/rest/restdomainservice.d.ts +0 -63
  520. package/lib/rest/restdomainservice.d.ts.map +0 -1
  521. package/lib/rest/restdomainservice.js +0 -687
  522. package/lib/rest/restdomainservice.js.map +0 -1
  523. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  524. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  525. package/lib/rest/restdomainservice.spec.js +0 -124
  526. package/lib/rest/restdomainservice.spec.js.map +0 -1
  527. package/lib/rest/router.d.ts +0 -174
  528. package/lib/rest/router.d.ts.map +0 -1
  529. package/lib/rest/router.js +0 -429
  530. package/lib/rest/router.js.map +0 -1
  531. package/lib/rest/router.spec.d.ts +0 -2
  532. package/lib/rest/router.spec.d.ts.map +0 -1
  533. package/lib/rest/router.spec.js +0 -255
  534. package/lib/rest/router.spec.js.map +0 -1
  535. package/lib/services/asyncevents.d.ts +0 -152
  536. package/lib/services/asyncevents.d.ts.map +0 -1
  537. package/lib/services/asyncevents.js +0 -217
  538. package/lib/services/asyncevents.js.map +0 -1
  539. package/lib/services/asyncevents.spec.d.ts +0 -2
  540. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  541. package/lib/services/asyncevents.spec.js +0 -118
  542. package/lib/services/asyncevents.spec.js.map +0 -1
  543. package/lib/services/authentication.d.ts +0 -361
  544. package/lib/services/authentication.d.ts.map +0 -1
  545. package/lib/services/authentication.js +0 -773
  546. package/lib/services/authentication.js.map +0 -1
  547. package/lib/services/authentication.spec.d.ts +0 -2
  548. package/lib/services/authentication.spec.d.ts.map +0 -1
  549. package/lib/services/authentication.spec.js +0 -458
  550. package/lib/services/authentication.spec.js.map +0 -1
  551. package/lib/services/binary.d.ts +0 -477
  552. package/lib/services/binary.d.ts.map +0 -1
  553. package/lib/services/binary.js +0 -617
  554. package/lib/services/binary.js.map +0 -1
  555. package/lib/services/binary.spec.d.ts +0 -41
  556. package/lib/services/binary.spec.d.ts.map +0 -1
  557. package/lib/services/binary.spec.js +0 -151
  558. package/lib/services/binary.spec.js.map +0 -1
  559. package/lib/services/cloudbinary.spec.d.ts +0 -6
  560. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  561. package/lib/services/cloudbinary.spec.js +0 -66
  562. package/lib/services/cloudbinary.spec.js.map +0 -1
  563. package/lib/services/configuration.d.ts.map +0 -1
  564. package/lib/services/configuration.js +0 -193
  565. package/lib/services/configuration.js.map +0 -1
  566. package/lib/services/configuration.spec.d.ts +0 -2
  567. package/lib/services/configuration.spec.d.ts.map +0 -1
  568. package/lib/services/configuration.spec.js +0 -130
  569. package/lib/services/configuration.spec.js.map +0 -1
  570. package/lib/services/cron.d.ts +0 -74
  571. package/lib/services/cron.d.ts.map +0 -1
  572. package/lib/services/cron.js +0 -141
  573. package/lib/services/cron.js.map +0 -1
  574. package/lib/services/cron.spec.d.ts +0 -2
  575. package/lib/services/cron.spec.d.ts.map +0 -1
  576. package/lib/services/cron.spec.js +0 -76
  577. package/lib/services/cron.spec.js.map +0 -1
  578. package/lib/services/cryptoservice.d.ts.map +0 -1
  579. package/lib/services/cryptoservice.js +0 -433
  580. package/lib/services/cryptoservice.js.map +0 -1
  581. package/lib/services/cryptoservice.spec.d.ts +0 -2
  582. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  583. package/lib/services/cryptoservice.spec.js +0 -177
  584. package/lib/services/cryptoservice.spec.js.map +0 -1
  585. package/lib/services/debugmailer.d.ts +0 -36
  586. package/lib/services/debugmailer.d.ts.map +0 -1
  587. package/lib/services/debugmailer.js.map +0 -1
  588. package/lib/services/debugmailer.spec.d.ts +0 -2
  589. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  590. package/lib/services/debugmailer.spec.js +0 -32
  591. package/lib/services/debugmailer.spec.js.map +0 -1
  592. package/lib/services/domainservice.d.ts +0 -272
  593. package/lib/services/domainservice.d.ts.map +0 -1
  594. package/lib/services/domainservice.js +0 -651
  595. package/lib/services/domainservice.js.map +0 -1
  596. package/lib/services/domainservice.spec.d.ts +0 -2
  597. package/lib/services/domainservice.spec.d.ts.map +0 -1
  598. package/lib/services/domainservice.spec.js +0 -592
  599. package/lib/services/domainservice.spec.js.map +0 -1
  600. package/lib/services/filebinary.d.ts +0 -136
  601. package/lib/services/filebinary.d.ts.map +0 -1
  602. package/lib/services/filebinary.js +0 -373
  603. package/lib/services/filebinary.js.map +0 -1
  604. package/lib/services/filebinary.spec.d.ts +0 -25
  605. package/lib/services/filebinary.spec.d.ts.map +0 -1
  606. package/lib/services/filebinary.spec.js +0 -428
  607. package/lib/services/filebinary.spec.js.map +0 -1
  608. package/lib/services/fileconfiguration.d.ts +0 -23
  609. package/lib/services/fileconfiguration.d.ts.map +0 -1
  610. package/lib/services/fileconfiguration.js +0 -48
  611. package/lib/services/fileconfiguration.js.map +0 -1
  612. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  613. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  614. package/lib/services/fileconfiguration.spec.js +0 -215
  615. package/lib/services/fileconfiguration.spec.js.map +0 -1
  616. package/lib/services/invitationservice.d.ts +0 -223
  617. package/lib/services/invitationservice.d.ts.map +0 -1
  618. package/lib/services/invitationservice.js +0 -529
  619. package/lib/services/invitationservice.js.map +0 -1
  620. package/lib/services/invitationservice.spec.d.ts +0 -2
  621. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  622. package/lib/services/invitationservice.spec.js +0 -567
  623. package/lib/services/invitationservice.spec.js.map +0 -1
  624. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  625. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  626. package/lib/services/kubernetesconfiguration.js +0 -52
  627. package/lib/services/kubernetesconfiguration.js.map +0 -1
  628. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  629. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  630. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  631. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  632. package/lib/services/mailer.d.ts +0 -166
  633. package/lib/services/mailer.d.ts.map +0 -1
  634. package/lib/services/mailer.js +0 -176
  635. package/lib/services/mailer.js.map +0 -1
  636. package/lib/services/mailer.spec.d.ts +0 -2
  637. package/lib/services/mailer.spec.d.ts.map +0 -1
  638. package/lib/services/mailer.spec.js +0 -158
  639. package/lib/services/mailer.spec.js.map +0 -1
  640. package/lib/services/notificationservice.d.ts.map +0 -1
  641. package/lib/services/notificationservice.js.map +0 -1
  642. package/lib/services/notificationservice.spec.d.ts +0 -2
  643. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  644. package/lib/services/notificationservice.spec.js +0 -83
  645. package/lib/services/notificationservice.spec.js.map +0 -1
  646. package/lib/services/oauth.d.ts +0 -226
  647. package/lib/services/oauth.d.ts.map +0 -1
  648. package/lib/services/oauth.js +0 -294
  649. package/lib/services/oauth.js.map +0 -1
  650. package/lib/services/oauth.spec.d.ts +0 -2
  651. package/lib/services/oauth.spec.d.ts.map +0 -1
  652. package/lib/services/oauth.spec.js +0 -208
  653. package/lib/services/oauth.spec.js.map +0 -1
  654. package/lib/services/prometheus.d.ts.map +0 -1
  655. package/lib/services/prometheus.js +0 -160
  656. package/lib/services/prometheus.js.map +0 -1
  657. package/lib/services/prometheus.spec.d.ts +0 -2
  658. package/lib/services/prometheus.spec.d.ts.map +0 -1
  659. package/lib/services/prometheus.spec.js +0 -76
  660. package/lib/services/prometheus.spec.js.map +0 -1
  661. package/lib/services/resource.d.ts.map +0 -1
  662. package/lib/services/resource.js +0 -170
  663. package/lib/services/resource.js.map +0 -1
  664. package/lib/services/resource.spec.d.ts +0 -2
  665. package/lib/services/resource.spec.d.ts.map +0 -1
  666. package/lib/services/resource.spec.js +0 -140
  667. package/lib/services/resource.spec.js.map +0 -1
  668. package/lib/services/service.spec.d.ts +0 -2
  669. package/lib/services/service.spec.d.ts.map +0 -1
  670. package/lib/services/service.spec.js +0 -286
  671. package/lib/services/service.spec.js.map +0 -1
  672. package/lib/stores/aggregator.d.ts +0 -48
  673. package/lib/stores/aggregator.d.ts.map +0 -1
  674. package/lib/stores/aggregator.js +0 -80
  675. package/lib/stores/aggregator.js.map +0 -1
  676. package/lib/stores/file.d.ts +0 -108
  677. package/lib/stores/file.d.ts.map +0 -1
  678. package/lib/stores/file.js +0 -188
  679. package/lib/stores/file.js.map +0 -1
  680. package/lib/stores/file.spec.d.ts +0 -13
  681. package/lib/stores/file.spec.d.ts.map +0 -1
  682. package/lib/stores/file.spec.js +0 -138
  683. package/lib/stores/file.spec.js.map +0 -1
  684. package/lib/stores/mapper.d.ts +0 -150
  685. package/lib/stores/mapper.d.ts.map +0 -1
  686. package/lib/stores/mapper.js +0 -293
  687. package/lib/stores/mapper.js.map +0 -1
  688. package/lib/stores/mapper.spec.d.ts +0 -2
  689. package/lib/stores/mapper.spec.d.ts.map +0 -1
  690. package/lib/stores/mapper.spec.js +0 -167
  691. package/lib/stores/mapper.spec.js.map +0 -1
  692. package/lib/stores/memory.d.ts +0 -152
  693. package/lib/stores/memory.d.ts.map +0 -1
  694. package/lib/stores/memory.js +0 -371
  695. package/lib/stores/memory.js.map +0 -1
  696. package/lib/stores/memory.spec.d.ts +0 -14
  697. package/lib/stores/memory.spec.d.ts.map +0 -1
  698. package/lib/stores/memory.spec.js +0 -263
  699. package/lib/stores/memory.spec.js.map +0 -1
  700. package/lib/stores/modelmapper.d.ts +0 -62
  701. package/lib/stores/modelmapper.d.ts.map +0 -1
  702. package/lib/stores/modelmapper.js +0 -197
  703. package/lib/stores/modelmapper.js.map +0 -1
  704. package/lib/stores/store.spec.d.ts +0 -57
  705. package/lib/stores/store.spec.d.ts.map +0 -1
  706. package/lib/stores/store.spec.js +0 -737
  707. package/lib/stores/store.spec.js.map +0 -1
  708. package/lib/test.d.ts +0 -265
  709. package/lib/test.d.ts.map +0 -1
  710. package/lib/test.js +0 -622
  711. package/lib/test.js.map +0 -1
  712. package/lib/unpackedapplication.d.ts.map +0 -1
  713. package/lib/unpackedapplication.js +0 -350
  714. package/lib/unpackedapplication.js.map +0 -1
  715. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  716. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  717. package/lib/utils/abstractdeployer.spec.js +0 -21
  718. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  719. package/lib/utils/case.d.ts +0 -8
  720. package/lib/utils/case.d.ts.map +0 -1
  721. package/lib/utils/case.js +0 -43
  722. package/lib/utils/case.js.map +0 -1
  723. package/lib/utils/case.spec.d.ts +0 -2
  724. package/lib/utils/case.spec.d.ts.map +0 -1
  725. package/lib/utils/case.spec.js +0 -50
  726. package/lib/utils/case.spec.js.map +0 -1
  727. package/lib/utils/context.d.ts +0 -482
  728. package/lib/utils/context.d.ts.map +0 -1
  729. package/lib/utils/context.js +0 -739
  730. package/lib/utils/context.js.map +0 -1
  731. package/lib/utils/context.spec.d.ts +0 -10
  732. package/lib/utils/context.spec.d.ts.map +0 -1
  733. package/lib/utils/context.spec.js +0 -383
  734. package/lib/utils/context.spec.js.map +0 -1
  735. package/lib/utils/cookie.d.ts.map +0 -1
  736. package/lib/utils/cookie.js.map +0 -1
  737. package/lib/utils/cookie.spec.d.ts +0 -2
  738. package/lib/utils/cookie.spec.d.ts.map +0 -1
  739. package/lib/utils/cookie.spec.js +0 -88
  740. package/lib/utils/cookie.spec.js.map +0 -1
  741. package/lib/utils/esm.d.ts +0 -14
  742. package/lib/utils/esm.d.ts.map +0 -1
  743. package/lib/utils/esm.js +0 -19
  744. package/lib/utils/esm.js.map +0 -1
  745. package/lib/utils/httpcontext.d.ts.map +0 -1
  746. package/lib/utils/httpcontext.js.map +0 -1
  747. package/lib/utils/httpcontext.spec.d.ts +0 -5
  748. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  749. package/lib/utils/httpcontext.spec.js +0 -77
  750. package/lib/utils/httpcontext.spec.js.map +0 -1
  751. package/lib/utils/logger.d.ts +0 -92
  752. package/lib/utils/logger.d.ts.map +0 -1
  753. package/lib/utils/logger.js +0 -121
  754. package/lib/utils/logger.js.map +0 -1
  755. package/lib/utils/logger.spec.d.ts +0 -2
  756. package/lib/utils/logger.spec.d.ts.map +0 -1
  757. package/lib/utils/logger.spec.js +0 -48
  758. package/lib/utils/logger.spec.js.map +0 -1
  759. package/lib/utils/serializers.d.ts +0 -162
  760. package/lib/utils/serializers.d.ts.map +0 -1
  761. package/lib/utils/serializers.js +0 -420
  762. package/lib/utils/serializers.js.map +0 -1
  763. package/lib/utils/serializers.spec.d.ts +0 -2
  764. package/lib/utils/serializers.spec.d.ts.map +0 -1
  765. package/lib/utils/serializers.spec.js +0 -311
  766. package/lib/utils/serializers.spec.js.map +0 -1
  767. package/lib/utils/session.d.ts +0 -123
  768. package/lib/utils/session.d.ts.map +0 -1
  769. package/lib/utils/session.js +0 -156
  770. package/lib/utils/session.js.map +0 -1
  771. package/lib/utils/session.spec.d.ts +0 -2
  772. package/lib/utils/session.spec.d.ts.map +0 -1
  773. package/lib/utils/session.spec.js +0 -81
  774. package/lib/utils/session.spec.js.map +0 -1
  775. package/lib/utils/throttler.d.ts +0 -99
  776. package/lib/utils/throttler.d.ts.map +0 -1
  777. package/lib/utils/throttler.js +0 -160
  778. package/lib/utils/throttler.js.map +0 -1
  779. package/lib/utils/throttler.spec.d.ts +0 -2
  780. package/lib/utils/throttler.spec.d.ts.map +0 -1
  781. package/lib/utils/throttler.spec.js +0 -53
  782. package/lib/utils/throttler.spec.js.map +0 -1
  783. package/lib/utils/waiter.d.ts +0 -94
  784. package/lib/utils/waiter.d.ts.map +0 -1
  785. package/lib/utils/waiter.js +0 -148
  786. package/lib/utils/waiter.js.map +0 -1
  787. package/lib/utils/waiter.spec.d.ts +0 -2
  788. package/lib/utils/waiter.spec.d.ts.map +0 -1
  789. package/lib/utils/waiter.spec.js +0 -98
  790. package/lib/utils/waiter.spec.js.map +0 -1
  791. package/test/jsonutils/mdocs.yaml +0 -56
  792. package/test/jsonutils/test.json +0 -3
  793. package/test/jsonutils/test.yml +0 -5
@@ -0,0 +1,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"}
@@ -0,0 +1,193 @@
1
+ import { TransformCaseType } from "@webda/utils";
2
+ import { OperationsTransport, OperationsTransportParameters } from "../services/operationstransport.js";
3
+ import { OperationDefinition } from "../core/icore.js";
4
+ import { WebContext } from "../contexts/webcontext.js";
5
+ import type { ModelClass } from "@webda/models";
6
+ import type { ModelAction } from "../models/types.js";
7
+ import type { ModelGraphBehaviorDefinition, ModelMetadata } from "@webda/compiler";
8
+ /**
9
+ * Parameters for RESTOperationsTransport
10
+ */
11
+ export declare class RESTOperationsTransportParameters extends OperationsTransportParameters {
12
+ /**
13
+ * Expose the OpenAPI
14
+ *
15
+ * @default true if debug false otherwise
16
+ */
17
+ exposeOpenAPI?: boolean;
18
+ /**
19
+ * Swagger version to use
20
+ *
21
+ * https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.19.5/swagger-ui.css
22
+ * https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.19.5/swagger-ui-bundle.js
23
+ * https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.19.5/swagger-ui-standalone-preset.js
24
+ *
25
+ * TODO Add renovatebot regex
26
+ */
27
+ swaggerVersion: string;
28
+ /**
29
+ * Base URL for the REST API
30
+ */
31
+ url: string;
32
+ /**
33
+ * Transform the name of the model to be used in the URL
34
+ *
35
+ * @see https://blog.boot.dev/clean-code/casings-in-coding/
36
+ * @default camelCase
37
+ */
38
+ nameTransformer?: TransformCaseType;
39
+ /**
40
+ * Method used for query objects
41
+ *
42
+ * @default "PUT"
43
+ */
44
+ queryMethod?: "PUT" | "GET";
45
+ /**
46
+ * Load parameters with defaults
47
+ * @param params - the service parameters
48
+ * @returns this for chaining
49
+ */
50
+ load(params?: any): this;
51
+ }
52
+ /**
53
+ * REST transport that exposes model operations as RESTful HTTP routes.
54
+ *
55
+ * Instead of iterating operations flat, it walks the model tree
56
+ * (parent/child relationships) to build nested URL prefixes like
57
+ * `/companies/{pid.0}/users/{uuid}`.
58
+ *
59
+ * @WebdaModda
60
+ */
61
+ export declare class RESTOperationsTransport<T extends RESTOperationsTransportParameters = RESTOperationsTransportParameters> extends OperationsTransport<T> {
62
+ /**
63
+ * OpenAPI cache
64
+ */
65
+ openapiContent: string;
66
+ /**
67
+ * Transform name using configured casing
68
+ * @param name - the name to transform
69
+ * @returns the transformed name
70
+ */
71
+ transformName(name: string): string;
72
+ /**
73
+ * Resolve the service - set up OpenAPI route if configured
74
+ * @returns this for chaining
75
+ */
76
+ resolve(): this;
77
+ /**
78
+ * Override initTransport to walk the model tree instead of flat iteration.
79
+ * For each model, we look up its operations and register REST routes.
80
+ */
81
+ protected initTransport(): void;
82
+ /**
83
+ * Expose service/bean operations that have rest hints but aren't tied to model CRUD.
84
+ * These are operations registered by Service.initOperations() from @Operation decorators.
85
+ * @param operations - the filtered operations map
86
+ */
87
+ protected exposeServiceOperations(operations: Record<string, OperationDefinition>): void;
88
+ /**
89
+ * Recursively walk a model and its children, registering routes at each level
90
+ * @param model - the model class
91
+ * @param metadata - model metadata
92
+ * @param operations - filtered operations map
93
+ * @param basePrefix - URL prefix from parent context
94
+ * @param depth - nesting depth for parent id parameters
95
+ */
96
+ protected walkModel(model: ModelClass, metadata: ModelMetadata, operations: Record<string, OperationDefinition>, basePrefix: string, depth: number): void;
97
+ /**
98
+ * Register query route for a model
99
+ * @param prefix - the URL prefix for this model
100
+ * @param plural - the pluralized model name
101
+ * @param shortId - the short model identifier
102
+ * @param identifier - the full model identifier
103
+ * @param depth - nesting depth for parent id parameters
104
+ * @param injectAttribute - parent attribute to inject in queries
105
+ * @param operations - the filtered operations map
106
+ */
107
+ protected exposeQueryRoute(prefix: string, plural: string, shortId: string, identifier: string, depth: number, injectAttribute: string | undefined, operations: Record<string, OperationDefinition>): void;
108
+ /**
109
+ * Register create route for a model
110
+ * @param prefix - the URL prefix for this model
111
+ * @param shortId - the short model identifier
112
+ * @param identifier - the full model identifier
113
+ * @param depth - nesting depth for parent id parameters
114
+ * @param injectAttribute - parent attribute to inject on create
115
+ * @param operations - the filtered operations map
116
+ */
117
+ protected exposeCreateRoute(prefix: string, shortId: string, identifier: string, depth: number, injectAttribute: string | undefined, operations: Record<string, OperationDefinition>): void;
118
+ /**
119
+ * Register delete route for a model
120
+ * @param prefix - the URL prefix for this model
121
+ * @param shortId - the short model identifier
122
+ * @param identifier - the full model identifier
123
+ * @param operations - the filtered operations map
124
+ */
125
+ protected exposeDeleteRoute(prefix: string, shortId: string, identifier: string, operations: Record<string, OperationDefinition>): void;
126
+ /**
127
+ * Register update (PUT) and patch (PATCH) routes for a model
128
+ * @param prefix - the URL prefix for this model
129
+ * @param shortId - the short model identifier
130
+ * @param identifier - the full model identifier
131
+ * @param operations - the filtered operations map
132
+ */
133
+ protected exposeUpdateRoute(prefix: string, shortId: string, identifier: string, operations: Record<string, OperationDefinition>): void;
134
+ /**
135
+ * Register get route for a model
136
+ * @param prefix - the URL prefix for this model
137
+ * @param shortId - the short model identifier
138
+ * @param identifier - the full model identifier
139
+ * @param operations - the filtered operations map
140
+ */
141
+ protected exposeGetRoute(prefix: string, shortId: string, identifier: string, operations: Record<string, OperationDefinition>): void;
142
+ /**
143
+ * Register action route for a model
144
+ * @param prefix - the URL prefix for this model
145
+ * @param shortId - the short model identifier
146
+ * @param identifier - the full model identifier
147
+ * @param actionName - the name of the action
148
+ * @param action - the action definition
149
+ * @param depth - nesting depth for parent id parameters
150
+ * @param injectAttribute - parent attribute to inject
151
+ */
152
+ protected exposeActionRoute(prefix: string, shortId: string, identifier: string, actionName: string, action: ModelAction, depth: number, injectAttribute: string | undefined): void;
153
+ /**
154
+ * Register routes for every `@Action` on every Behavior attribute of a
155
+ * model. The default URL pattern is `{prefix}/{uuid}/{attribute}.{action}`
156
+ * (PUT) — the dot disambiguates Behavior calls from nested-resource routing.
157
+ *
158
+ * Authors can override the route via `@Action({ rest: { route, method } })`.
159
+ * `addBehaviorOperations` resolves that hint and writes the final
160
+ * `rest.method`/`rest.path` on the registered operation; this method just
161
+ * mirrors what's there, falling back to the dot-notation default if no
162
+ * hint was set.
163
+ *
164
+ * Each route dispatches the registered behavior operation
165
+ * (`{ShortId}.{AttributeCap}.{ActionCap}`). The dispatcher itself
166
+ * (`modelBehaviorAction`) handles model load, `canAct` gating, and method
167
+ * invocation — this method only wires the HTTP surface.
168
+ *
169
+ * Schema decoration on the OpenAPI doc is best-effort — we lean on
170
+ * `hasSchema()` (the AJV registry) to decide whether to emit
171
+ * `requestBody` / `responses` `$ref`s.
172
+ *
173
+ * @param prefix - the URL prefix for this model (e.g. `/api/users`)
174
+ * @param shortId - the short model identifier (e.g. `User`)
175
+ * @param identifier - the full model identifier (e.g. `MyApp/User`) — accepted
176
+ * for symmetry with `walkModel`'s caller signature even though we don't currently use it
177
+ * @param name - the model display name used in OpenAPI tags
178
+ * @param behavior - the Behavior attribute relation to expose
179
+ */
180
+ protected exposeBehaviorRoutes(prefix: string, shortId: string, identifier: string, name: string, behavior: ModelGraphBehaviorDefinition): void;
181
+ /**
182
+ * No-op: route exposure is handled entirely by initTransport's tree walk
183
+ * @param _operationId - the operation identifier (unused)
184
+ * @param _definition - the operation definition (unused)
185
+ */
186
+ exposeOperation(_operationId: string, _definition: OperationDefinition): void;
187
+ /**
188
+ * Serve the openapi with the swagger-ui
189
+ * @param ctx - the web context
190
+ */
191
+ openapi(ctx: WebContext): Promise<void>;
192
+ }
193
+ //# sourceMappingURL=restoperationstransport.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restoperationstransport.service.d.ts","sourceRoot":"","sources":["../../src/rest/restoperationstransport.service.ts"],"names":[],"mappings":"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"}