@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,115 +1,69 @@
1
- import { Counter, EventWithContext, Histogram } from "../core.js";
2
- import { ConfigurationProvider, WebdaError } from "../index.js";
3
- import { Constructor, CoreModel, CoreModelDefinition, FilterAttributes } from "../models/coremodel.js";
4
- import { Service, ServiceParameters } from "../services/service.js";
5
- import { OperationContext } from "../utils/context.js";
1
+ import { Counter, Histogram } from "../metrics/metrics.js";
2
+ import * as WebdaError from "../errors/errors.js";
3
+ import { type Model, type ModelClass, type PrimaryKey, type Repository } from "@webda/models";
4
+ import { ServiceParameters } from "../services/serviceparameters.js";
5
+ import { Service } from "../services/service.js";
6
6
  import * as WebdaQL from "@webda/ql";
7
+ import type { WebdaQLString } from "@webda/ql";
8
+ import type { ModelMetadata } from "@webda/compiler";
9
+ /** Error thrown when an item is not found in a store */
7
10
  export declare class StoreNotFoundError extends WebdaError.CodeError {
8
- constructor(uuid: string, storeName: string);
11
+ /** Create a new StoreNotFoundError
12
+ * @param uuid - the item primary key
13
+ * @param storeName - the store name
14
+ */
15
+ constructor(uuid: PrimaryKey<any>, storeName: string);
9
16
  }
17
+ /** Error thrown when a conditional update fails due to a version/condition mismatch */
10
18
  export declare class UpdateConditionFailError extends WebdaError.CodeError {
11
- constructor(uuid: string, conditionField: string, condition: string | Date);
19
+ /** Create a new UpdateConditionFailError
20
+ * @param uuid - the item primary key
21
+ * @param conditionField - the condition field name
22
+ * @param condition - the expected condition value
23
+ */
24
+ constructor(uuid: PrimaryKey<any>, conditionField: string, condition: string | Date);
12
25
  }
13
26
  interface EventStore {
14
27
  /**
15
28
  * Target object
16
29
  */
17
- object: CoreModel;
30
+ object: Model;
18
31
  /**
19
32
  * Object id
20
33
  */
21
- object_id: string;
34
+ object_id: PrimaryKey<any>;
22
35
  /**
23
36
  * Store emitting
24
37
  */
25
38
  store: Store;
26
- /**
27
- * Context of the operation
28
- */
29
- context?: OperationContext;
30
39
  }
31
40
  /**
32
41
  * Event called before save of an object
33
42
  */
34
- export interface EventStoreSave extends EventStore {
35
- }
36
- /**
37
- * Event called after save of an object
38
- */
39
- export interface EventStoreSaved extends EventStoreSave {
40
- }
41
- /**
42
- * Event called before delete of an object
43
- */
44
- export interface EventStoreDelete extends EventStore {
43
+ export interface EventStoreCreated extends EventStore {
45
44
  }
46
45
  /**
47
46
  * Event called after delete of an object
48
47
  */
49
- export interface EventStoreDeleted extends EventStoreDelete {
48
+ export interface EventStoreDeleted extends EventStore {
50
49
  }
51
50
  /**
52
- * Event called on retrieval of an object
53
- */
54
- export interface EventStoreGet extends EventStore {
55
- }
56
- /**
57
- * Event called before action on an object
58
- */
59
- export interface EventStoreAction extends EventWithContext {
60
- /**
61
- * Name of the action
62
- */
63
- action: string;
64
- /**
65
- * Target object unless it is a global action
66
- */
67
- object?: CoreModel;
68
- /**
69
- * Model of the object if global action
70
- */
71
- model?: CoreModelDefinition;
72
- /**
73
- * Emitting store
74
- */
75
- store: Store;
76
- }
77
- /**
78
- * Event called after action on an object
79
- */
80
- export interface EventStoreActioned extends EventStoreAction {
81
- /**
82
- * Result of the action
83
- */
84
- result: any;
85
- }
86
- /**
87
- * Event called before update of an object
51
+ * Event called after update of an object
88
52
  */
89
- export interface EventStoreUpdate extends EventStore {
53
+ export interface EventStoreUpdated extends EventStore {
90
54
  /**
91
55
  * Update content
92
56
  */
93
57
  update: any;
94
- }
95
- /**
96
- * Event called after update of an object
97
- */
98
- export interface EventStoreUpdated extends EventStoreUpdate {
99
58
  /**
100
59
  * Object uuid
101
60
  */
102
- object_id: string;
61
+ object_id: PrimaryKey<any>;
103
62
  /**
104
63
  * Object before update
105
64
  */
106
65
  previous: any;
107
66
  }
108
- /**
109
- * Event called before patch update of an object
110
- */
111
- export interface EventStorePatchUpdate extends EventStoreUpdate {
112
- }
113
67
  /**
114
68
  * Event called after patch update of an object
115
69
  */
@@ -118,15 +72,15 @@ export interface EventStorePatchUpdated extends EventStoreUpdated {
118
72
  /**
119
73
  * Event called after partial update of an object
120
74
  */
121
- export interface EventStorePartialUpdated<T extends CoreModel = CoreModel> {
75
+ export interface EventStorePartialUpdated<T extends Model = Model> {
122
76
  /**
123
77
  * Object uuid
124
78
  */
125
- object_id: string;
79
+ object_id: PrimaryKey<any>;
126
80
  /**
127
81
  * Emitting store
128
82
  */
129
- store: Store<T>;
83
+ store: Store<any>;
130
84
  /**
131
85
  * Update date
132
86
  */
@@ -185,123 +139,10 @@ export interface EventStorePartialUpdated<T extends CoreModel = CoreModel> {
185
139
  deleteAttribute?: string;
186
140
  };
187
141
  }
188
- /**
189
- * Event sent when a query on the store is emitted
190
- */
191
- export interface EventStoreQuery {
192
- /**
193
- * Request sent
194
- */
195
- query: string;
196
- /**
197
- * Emitting store
198
- */
199
- store: Store;
200
- /**
201
- * The parsed query by our grammar
202
- */
203
- parsedQuery: WebdaQL.Query;
204
- /**
205
- * Context in which the query was run
206
- */
207
- context: OperationContext;
208
- }
209
- /**
210
- * Event sent when query is resolved
211
- */
212
- export interface EventStoreQueried extends EventStoreQuery {
213
- /**
214
- * Results from the query
215
- */
216
- results: CoreModel[];
217
- /**
218
- * The next continuation token
219
- */
220
- continuationToken: string;
221
- }
222
- /**
223
- * Event sent when object is created via POST request
224
- */
225
- export interface EventStoreWebCreate extends EventWithContext {
226
- /**
227
- * Properties for the object
228
- */
229
- values: any;
230
- /**
231
- * Target object
232
- */
233
- object: CoreModel;
234
- /**
235
- * Object id
236
- */
237
- object_id: string;
238
- /**
239
- * Emitting store
240
- */
241
- store: Store;
242
- }
243
- /**
244
- * Event sent when object is retrieved via GET request
245
- */
246
- export interface EventStoreWebGet extends EventWithContext {
247
- /**
248
- * Emitting store
249
- */
250
- store: Store;
251
- /**
252
- * Target object
253
- */
254
- object: CoreModel;
255
- }
256
- /**
257
- * Event sent when object is retrieved via GET request
258
- */
259
- export interface EventStoreWebGetNotFound extends EventWithContext {
260
- /**
261
- * Emitting store
262
- */
263
- store: Store;
264
- /**
265
- * Target object
266
- */
267
- uuid: string;
268
- }
269
- /**
270
- * Event sent when object is updated via PUT request
271
- */
272
- export interface EventStoreWebUpdate extends EventWithContext {
273
- /**
274
- * Type of update
275
- */
276
- method: "PATCH" | "PUT";
277
- /**
278
- * Updates to do on the object
279
- */
280
- updates: any;
281
- /**
282
- * Target object
283
- */
284
- object: CoreModel;
285
- /**
286
- * Emitting store
287
- */
288
- store: Store;
289
- }
290
- /**
291
- * Event sent when object is deleted via DELETE request
292
- */
293
- export interface EventStoreWebDelete extends EventWithContext {
294
- /**
295
- * Object uuid
296
- */
297
- object_id: string;
298
- /**
299
- * Emitting store
300
- */
301
- store: Store;
302
- }
303
142
  /**
304
143
  * Represent a query result on the Store
144
+ *
145
+ * @internal — Store-internal type. App code queries via `Model.query()` / `useRepository(Model).query()`.
305
146
  */
306
147
  export interface StoreFindResult<T> {
307
148
  /**
@@ -321,24 +162,44 @@ export interface StoreFindResult<T> {
321
162
  */
322
163
  filter?: WebdaQL.Expression | true;
323
164
  }
165
+ /**
166
+ * A Store is low-level storage service
167
+ *
168
+ * It does not handle any business logic, only CRUD operations
169
+ *
170
+ * @internal — Store-internal contract. App code uses `Repository<T>` from `@webda/models`.
171
+ */
172
+ export interface StoreInterface<T = any> {
173
+ create(uuid: PrimaryKey<any>, object: any): Promise<any>;
174
+ get(uuid: PrimaryKey<any>): Promise<any>;
175
+ update(uuid: PrimaryKey<any>, object: any): Promise<any>;
176
+ delete(uuid: PrimaryKey<any>): Promise<void>;
177
+ exists(uuid: PrimaryKey<any>): Promise<boolean>;
178
+ setAttribute(uuid: PrimaryKey<any>, attribute: string, value: any): Promise<void>;
179
+ removeAttribute(uuid: PrimaryKey<any>, attribute: string): Promise<void>;
180
+ upsertItemToCollection(uuid: PrimaryKey<any>, collection: string, item: any, index?: number, itemWriteConditionField?: string, itemWriteCondition?: any): Promise<void>;
181
+ deleteItemFromCollection(uuid: PrimaryKey<any>, collection: string, index: number, itemWriteConditionField?: string, itemWriteCondition?: any): Promise<void>;
182
+ find(query: WebdaQLString<T>): Promise<StoreFindResult<any>>;
183
+ query(query: WebdaQLString<T>): Promise<StoreFindResult<any>>;
184
+ iterate(query: WebdaQLString<T>): AsyncGenerator;
185
+ incrementAttributes(uuid: PrimaryKey<any>, info: {
186
+ property: string;
187
+ value?: number;
188
+ }[]): Promise<Date>;
189
+ }
324
190
  /**
325
191
  * Store parameter
192
+ *
193
+ * @internal — Store configuration schema. Authored in `webda.config`/deployment
194
+ * files; not consumed by app code directly.
326
195
  */
327
196
  export declare class StoreParameters extends ServiceParameters {
328
197
  /**
329
- * Webda model to use within the Store
198
+ * Models managed by this Store.
330
199
  *
331
- * @default "Webda/CoreModel"
200
+ * @default ["Webda/RegistryEntry"]
332
201
  */
333
- model?: string;
334
- /**
335
- * Additional models
336
- *
337
- * Allow this store to manage other models
338
- *
339
- * @default []
340
- */
341
- additionalModels?: string[];
202
+ models?: string[];
342
203
  /**
343
204
  * Allow to load object that does not have the type data
344
205
  *
@@ -377,37 +238,26 @@ export declare class StoreParameters extends ServiceParameters {
377
238
  * Disable default memory cache
378
239
  */
379
240
  noCache?: boolean;
380
- constructor(params: any, service: Service<any>);
241
+ /**
242
+ * Load store parameters with defaults for model type, strict mode, and aliases
243
+ * @param params - the service parameters
244
+ * @returns the result
245
+ */
246
+ load(params: any): this;
381
247
  }
248
+ /**
249
+ * Aggregate `Store.*` event map.
250
+ *
251
+ * @internal — Store-internal type. App code listens on typed repository events
252
+ * via `useRepository(Model).on("Created" | "Updated" | ...)`.
253
+ */
382
254
  export type StoreEvents = {
383
255
  "Store.PartialUpdated": EventStorePartialUpdated;
384
- "Store.Save": EventStoreSave;
385
- "Store.Saved": EventStoreSaved;
386
- "Store.PatchUpdate": EventStorePatchUpdate;
256
+ "Store.Created": EventStoreCreated;
387
257
  "Store.PatchUpdated": EventStorePatchUpdated;
388
- "Store.Update": EventStoreUpdate;
389
258
  "Store.Updated": EventStoreUpdated;
390
- "Store.Delete": EventStoreDelete;
391
259
  "Store.Deleted": EventStoreDeleted;
392
- "Store.Get": EventStoreGet;
393
- "Store.Query": EventStoreQuery;
394
- "Store.Queried": EventStoreQueried;
395
- "Store.WebCreate": EventStoreWebCreate;
396
- "Store.Action": EventStoreAction;
397
- "Store.Actioned": EventStoreActioned;
398
- "Store.WebUpdate": EventStoreWebUpdate;
399
- "Store.WebGetNotFound": EventStoreWebGetNotFound;
400
- "Store.WebGet": EventStoreWebGet;
401
- "Store.WebDelete": EventStoreWebDelete;
402
260
  };
403
- /**
404
- * A mapping service allow to link two object together
405
- *
406
- * Therefore they need to handle the cascadeDelete
407
- */
408
- export interface MappingService<T = any> {
409
- newModel(object: any): T;
410
- }
411
261
  /**
412
262
  * This class handle NoSQL storage and mapping (duplication) between NoSQL object
413
263
  *
@@ -422,445 +272,95 @@ export interface MappingService<T = any> {
422
272
  * Store.Action: When an action will be done on an object
423
273
  * Store.Actioned: When an action has been done on an object
424
274
  *
275
+ * @internal — Subclassed by store packages only. App code never references a
276
+ * Store directly: use `useRepository(Model)` or static model methods
277
+ * (`Model.create()`, `Model.query()`, `Model.ref()`).
425
278
  * @category CoreServices
426
279
  */
427
- declare abstract class Store<T extends CoreModel = CoreModel, K extends StoreParameters = StoreParameters, E extends StoreEvents = StoreEvents> extends Service<K, E> implements ConfigurationProvider, MappingService<T> {
428
- /**
429
- * Cache store
430
- */
431
- _cacheStore: Store<T>;
432
- /**
433
- * Contain the reverse map
434
- */
435
- _reverseMap: {
436
- mapper: MappingService;
437
- property: string;
438
- }[];
439
- /**
440
- * Contains the current model
441
- */
442
- _model: CoreModelDefinition<T>;
443
- /**
444
- * Store teh manager hierarchy with their depth
445
- */
280
+ declare abstract class Store<K extends StoreParameters = StoreParameters, E extends StoreEvents = StoreEvents> extends Service<K, E> {
281
+ /** All model classes managed by this store. Index 0 is the legacy "primary" model. */
282
+ _models: ModelClass[];
283
+ /** Metadata for each model in `_models`, keyed by Identifier. */
284
+ _modelMetadatas: Map<string, ModelMetadata>;
285
+ /** Store the manager hierarchy with their depth */
446
286
  _modelsHierarchy: {
447
287
  [key: string]: number;
448
288
  };
449
289
  /**
450
- * Contains the current model type
290
+ * Override the resolved model class for this store at runtime. Used by
291
+ * the abstract `StoreTest` harness so test fixtures can substitute a
292
+ * subclass with extra fields in place of the configured model. In
293
+ * production this is a no-op the framework never calls.
294
+ * @param model - the substitute model class
451
295
  */
452
- _modelType: string;
453
- /**
454
- * Contain the model uuid field
455
- */
456
- protected _uuidField: string;
296
+ setModelDefinitionHelper(model: ModelClass): void;
457
297
  /**
458
298
  * Add metrics counter
459
299
  * ' UNION SELECT name, tbl_name as email, "" as col1, "" as col2, "" as col3, "" as col4, "" as col5, "" as col6, "" as col7, "" as col8 FROM sqlite_master --
460
300
  * {"email":"' UNION SELECT name as profileImage, tbl_name as email, '' AS column3 FROM sqlite_master --","password":"we"}
461
301
  */
462
302
  metrics: {
463
- cache_invalidations: Counter;
464
303
  operations_total: Counter;
465
304
  slow_queries_total: Counter;
466
- cache_hits: Counter;
467
305
  queries: Histogram;
468
306
  };
469
307
  /**
470
- * Load the parameters for a service
308
+ * Compute and register repositories for all known models based on available stores.
309
+ *
310
+ * Called from `Store.init()` so each store's init triggers a recompute.
311
+ * Cannot be cached: the FIRST store to init (typically `Registry`) would
312
+ * claim every model with its fallback repository, and subsequent
313
+ * stores wouldn't get a chance to claim their configured models.
314
+ * Re-running is idempotent — `registerRepository` overwrites map entries
315
+ * in place, and the resolution loop is deterministic per current
316
+ * service/model state.
471
317
  */
472
- abstract loadParameters(params: any): StoreParameters;
318
+ static computeStores(): void;
473
319
  /**
474
- * Retrieve the Model
320
+ * Retrieve the Models and build the models hierarchy map.
475
321
  *
476
- * @throws Error if model is not found
322
+ * Walks `parameters.models[]` (the canonical flat list introduced in Task 1).
323
+ * If the list is empty or contains only the default "Webda/RegistryEntry"
324
+ * fallback, the hierarchy stays empty and the store will not claim any model
325
+ * — preserving the pre-migration fallback behaviour for test-only or
326
+ * misconfigured stores.
477
327
  */
478
328
  computeParameters(): void;
329
+ /**
330
+ * Log a slow query (placeholder for future implementation)
331
+ * @param _query - the query to execute
332
+ * @param _reason - the reason
333
+ * @param _time - the time
334
+ */
479
335
  logSlowQuery(_query: string, _reason: string, _time: number): void;
480
336
  /**
481
- * Invalidate a cache entry
482
- * @param uid
337
+ * Initialize the store
338
+ * @returns this for chaining
483
339
  */
484
- invalidateCache(uid: string): Promise<void>;
340
+ init(): Promise<this>;
485
341
  /**
486
342
  * @override
487
343
  */
488
344
  initMetrics(): void;
489
345
  /**
490
- * Return Store current model
491
- * @returns
346
+ * All models managed by this store.
347
+ * @returns the array of model classes managed by this store
492
348
  */
493
- getModel(): CoreModelDefinition;
349
+ getModels(): ModelClass[];
494
350
  /**
495
351
  * Return if a model is handled by the store
496
- * @param model
352
+ * @param model - the model to use
497
353
  * @return distance from the managed class -1 means not managed, 0 manage exactly this model, >0 manage an ancestor model
498
354
  *
355
+ * @returns the result number
499
356
  */
500
- handleModel(model: Constructor<CoreModel> | CoreModel): number;
501
- /**
502
- * Get From Cache or main
503
- * @param uuid
504
- * @param raiseIfNotFound
505
- * @returns
506
- */
507
- _getFromCache(uuid: string, raiseIfNotFound?: boolean): Promise<T>;
508
- /**
509
- * Get object from store
510
- * @param uid
511
- * @returns
512
- */
513
- getObject(uid: string): Promise<T>;
514
- static getOpenAPI(): void;
515
- /**
516
- * OVerwrite the model
517
- * Used mainly in test
518
- */
519
- setModel(model: CoreModelDefinition<T>): void;
520
- /**
521
- * We should ignore exception from the store
522
- */
523
- cacheStorePatchException(): void;
524
- /**
525
- * Init a model from the current stored data
526
- *
527
- * Initial the reverse map as well
528
- *
529
- * @param object
530
- * @returns
531
- */
532
- protected initModel(object?: any): T;
533
- /**
534
- * Get a new model with this data preloaded
535
- * @param object
536
- * @returns
537
- */
538
- newModel(object?: any): T;
539
- /**
540
- * Add reverse map information
541
- *
542
- * @param prop
543
- * @param cascade
544
- * @param store
545
- */
546
- addReverseMap(prop: string, store: MappingService): void;
547
- /**
548
- * Increment attributes of an object
549
- *
550
- * @param uid
551
- * @param info
552
- * @returns
553
- */
554
- incrementAttributes<FK extends FilterAttributes<T, number>>(uid: string, info: {
555
- property: FK;
556
- value: number;
557
- }[]): Promise<Date>;
558
- /**
559
- * Helper function that call incrementAttributes
560
- * @param uid
561
- * @param prop
562
- * @param value
563
- * @returns
564
- */
565
- incrementAttribute<FK extends FilterAttributes<T, number>>(uid: string, prop: FK, value: number): Promise<Date>;
566
- /**
567
- * Add or update an item to an array in the model
568
- *
569
- * @param uid of the model
570
- * @param prop of the model to add in
571
- * @param item to add in the array
572
- * @param index if specified update item in this index
573
- * @param itemWriteCondition value of the condition to test (in case of update)
574
- * @param itemWriteConditionField field to read the condition from (in case of update)
575
- */
576
- upsertItemToCollection<FK extends FilterAttributes<T, Array<any>>>(uid: string, prop: FK, item: any, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<Date>;
577
- /**
578
- * Remove an item from an array in the model
579
- *
580
- * @param uid of the model
581
- * @param prop of the model to remove from
582
- * @param index of the item to remove in the array
583
- * @param itemWriteCondition value of the condition
584
- * @param itemWriteConditionField field to read the condition from
585
- */
586
- deleteItemFromCollection<FK extends FilterAttributes<T, Array<any>>>(uid: string, prop: FK, index: number, itemWriteCondition: any, itemWriteConditionField?: string): Promise<Date>;
587
- /**
588
- * Iterate through the results
589
- *
590
- * This can be resource consuming
591
- *
592
- * @param query
593
- * @param context
594
- */
595
- iterate(query?: string, context?: OperationContext): AsyncGenerator<T>;
596
- /**
597
- * Query all the results
598
- *
599
- *
600
- * @param query
601
- * @param context
602
- * @returns
603
- * @deprecated use iterate instead
604
- */
605
- queryAll(query: string, context?: OperationContext): Promise<T[]>;
606
- /**
607
- * Check that __type Comparison is only used with = and CONTAINS
608
- * If CONTAINS is used, move __type to __types
609
- * If __type = store._model, remove it
610
- */
611
- queryTypeUpdater(query: WebdaQL.Query): WebdaQL.Query;
612
- /**
613
- * Query store with WebdaQL
614
- * @param query
615
- * @param context to apply permission
616
- */
617
- query(query: string, context?: OperationContext): Promise<{
618
- results: T[];
619
- continuationToken?: string;
620
- }>;
621
- /**
622
- * Handle StoreEvent and update cache based on it
623
- * Then emit the event, it allows the cache to be updated
624
- * before listeners are called
625
- *
626
- * @param event
627
- * @param data
628
- */
629
- emitStoreEvent<Key extends keyof StoreEvents>(event: Key, data: E[Key] & {
630
- emitterId?: string;
631
- }): Promise<void>;
632
- /**
633
- * Save an object
634
- *
635
- * @param {Object} Object to save
636
- * @param {String} Uuid to use, if not specified take the object.uuid or generate one if not found
637
- * @return {Promise} with saved object
638
- *
639
- * Might want to rename to create
640
- */
641
- save(object: any, ctx?: OperationContext): Promise<T>;
642
- /**
643
- *
644
- * @param object
645
- * @param ctx
646
- * @returns
647
- */
648
- create(object: any, ctx?: OperationContext): Promise<any>;
649
- /**
650
- * Patch an object
651
- *
652
- * @param object
653
- * @param reverseMap
654
- * @returns
655
- */
656
- patch<FK extends keyof T>(object: Partial<T>, reverseMap?: boolean, conditionField?: FK | null, conditionValue?: any): Promise<T | undefined>;
657
- /**
658
- * Check if an UpdateCondition is met
659
- * @param model
660
- * @param conditionField
661
- * @param condition
662
- * @param uid
663
- */
664
- checkUpdateCondition<CK extends keyof T>(model: T, conditionField?: CK, condition?: any, uid?: string): void;
665
- /**
666
- * Check if an UpdateCondition is met
667
- * @param model
668
- * @param conditionField
669
- * @param condition
670
- * @param uid
671
- */
672
- checkCollectionUpdateCondition<FK extends FilterAttributes<T, Array<any>>, CK extends keyof T>(model: T, collection: FK, conditionField?: CK, condition?: any, index?: number): void;
357
+ handleModel(model: ModelClass | Model): number;
673
358
  /**
674
- * Update conditionally
675
- * @param uuid
676
- * @param updates
677
- * @param conditionField
678
- * @param condition
359
+ * Check that keys are valid
360
+ * All keys of model stored in a Store must have the same type of primary key
679
361
  */
680
- conditionalPatch<CK extends keyof T>(uuid: string, updates: Partial<T>, conditionField: CK, condition: any): Promise<boolean>;
681
- /**
682
- *
683
- * @param model
684
- * @param prop
685
- * @param item
686
- * @param index
687
- * @param itemWriteCondition
688
- * @param itemWriteConditionField
689
- * @param updateDate
690
- */
691
- simulateUpsertItemToCollection<FK extends FilterAttributes<T, Array<any>>>(model: T, prop: FK, item: any, updateDate: Date, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
692
- /**
693
- * Update an object
694
- *
695
- * If no attribute can be updated then return undefined
696
- *
697
- * @param {Object} Object to save
698
- * @param {Boolean} reverseMap internal use only, for disable map resolution
699
- * @return {Promise} with saved object
700
- */
701
- update<CK extends keyof T>(object: any, reverseMap?: boolean, partial?: boolean, conditionField?: CK | null, conditionValue?: any): Promise<T | undefined>;
702
- /**
703
- *
704
- */
705
- recomputeTypeShortId(): Promise<void>;
706
- /**
707
- * Ensure model aliases are not used in this store
708
- *
709
- * So alias can be cleaned
710
- */
711
- cleanModelAliases(): Promise<void>;
712
- /**
713
- * Recompute the __types for all objects (storeMigration.Registry.typesCompute)
714
- */
715
- recomputeTypes(): Promise<void>;
716
- /**
717
- * Delete a migration
718
- * @param name
719
- */
720
- cancelMigration(name: string): Promise<void>;
721
- /**
722
- * Get a migration
723
- * @param name
724
- */
725
- getMigration(name: string): Promise<any>;
726
- /**
727
- * Add a migration mechanism to store
728
- * @param name
729
- * @param patcher
730
- */
731
- migration(name: string, patcher: (object: T) => Promise<Partial<T> | (() => Promise<void>) | undefined>, batchSize?: number): Promise<void>;
732
- /**
733
- * Remove an attribute from an object
734
- *
735
- * @param uuid
736
- * @param attribute
737
- * @returns
738
- */
739
- removeAttribute<CK extends keyof T>(uuid: string, attribute: CK, itemWriteCondition?: any, itemWriteConditionField?: CK): Promise<void>;
740
- /**
741
- * Cascade delete a related object
742
- *
743
- * @param obj
744
- * @param uuid
745
- * @returns
746
- */
747
- cascadeDelete(obj: CoreModel, _uuid: string): Promise<any>;
748
- /**
749
- * Delete an object
750
- *
751
- * @param {String} uuid to delete
752
- * @return {Promise} the deletion promise
753
- */
754
- delete<CK extends keyof T>(uid: string | T, writeCondition?: any, writeConditionField?: CK): Promise<void>;
755
- /**
756
- * By default we cannot know if the store will trigger or not
757
- *
758
- * @param id
759
- * @param callback
760
- */
761
- canTriggerConfiguration(_id: string, _callback: () => void): boolean;
762
- /**
763
- * Provide a way to store configuration in store
764
- * @param {string} id
765
- * @returns {Promise<Map<string, any>>}
766
- */
767
- getConfiguration(id: string): Promise<{
768
- [key: string]: any;
769
- }>;
770
- /**
771
- * Upsert the uuid object
772
- * @param uuid
773
- * @param data
774
- */
775
- put(uuid: string, data: Partial<T>): Promise<T>;
776
- /**
777
- * Get an object
778
- *
779
- * @param {String} uuid to get
780
- * @return {Promise} the object retrieved ( can be undefined if not found )
781
- */
782
- get(uid: string, ctx?: OperationContext, defaultValue?: any): Promise<T>;
783
- /**
784
- * Set one attribute in an object
785
- *
786
- * this is an helper function that calls patch
787
- *
788
- * @param uid of the object
789
- * @param property to update1
790
- * @param value new value
791
- * @returns
792
- */
793
- setAttribute<CK extends keyof T>(uid: string, property: CK, value: any): Promise<void>;
794
- /**
795
- * @override
796
- */
797
- protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
798
- getOpenApiReplacements(): {
799
- modelName: string;
800
- };
801
- /**
802
- * Return the model uuid field
803
- */
804
- getUuidField(): string;
805
- /**
806
- * Check if an object exists
807
- * @abstract
808
- * @params {String} uuid of the object or the object
809
- */
810
- exists(uid: string | CoreModel): Promise<boolean>;
811
- /**
812
- * Search within the store
813
- */
814
- abstract find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
815
- /**
816
- * Check if an object exists
817
- * @abstract
818
- */
819
- abstract _exists(uid: string): Promise<boolean>;
820
- /**
821
- * The underlying store should recheck writeCondition only if it does not require
822
- * another get()
823
- *
824
- * @param uid
825
- * @param writeCondition
826
- * @param itemWriteConditionField
827
- */
828
- protected abstract _delete(uid: string, writeCondition?: any, itemWriteConditionField?: string): Promise<void>;
829
- /**
830
- * Retrieve an element from the store
831
- *
832
- * @param uid to retrieve
833
- * @param raiseIfNotFound raise an StoreNotFound exception if not found
834
- */
835
- protected abstract _get(uid: string, raiseIfNotFound?: boolean): Promise<T>;
836
- /**
837
- * Get an object
838
- *
839
- * @param {Array} uuid to gets if undefined then retrieve the all table
840
- * @return {Promise} the objects retrieved ( can be [] if not found )
841
- */
842
- abstract getAll(list?: string[]): Promise<T[]>;
843
- protected abstract _update(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
844
- protected abstract _patch(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
845
- protected abstract _removeAttribute(uuid: string, attribute: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
846
- /**
847
- * Save within the store
848
- * @param object
849
- */
850
- protected abstract _save(object: T): Promise<any>;
851
- /**
852
- * Increment the attribute
853
- * @param uid
854
- * @param prop
855
- * @param value
856
- * @param updateDate
857
- */
858
- protected abstract _incrementAttributes(uid: string, params: {
859
- property: string;
860
- value: number;
861
- }[], updateDate: Date): Promise<any>;
862
- protected abstract _upsertItemToCollection(uid: string, prop: string, item: any, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
863
- protected abstract _deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
362
+ checkKeys(): void;
363
+ abstract getRepository<T extends ModelClass>(model: T): Repository<T>;
864
364
  }
865
365
  export { Store };
866
366
  //# sourceMappingURL=store.d.ts.map