@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
@@ -1,737 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { test } from "@testdeck/mocha";
8
- import * as assert from "assert";
9
- import { stub } from "sinon";
10
- import { randomUUID } from "crypto";
11
- import { TestIdent } from "../test.js";
12
- import { AggregatorService, MapperService } from "../index.js";
13
- import { CoreModel } from "../models/coremodel.js";
14
- import { WebdaSimpleTest } from "../test.js";
15
- import { StoreNotFoundError, UpdateConditionFailError } from "./store.js";
16
- /**
17
- * Fake model that refuse the half of the items
18
- */
19
- export class PermissionModel extends CoreModel {
20
- async canAct(ctx, _action) {
21
- if (this.order % 200 < 120) {
22
- return false;
23
- }
24
- return true;
25
- }
26
- }
27
- class StoreTest extends WebdaSimpleTest {
28
- async before() {
29
- await super.before();
30
- this.userStore = await this.getUserStore();
31
- this.identStore = await this.getIdentStore();
32
- // ensure service are registered
33
- this.registerService(this.userStore);
34
- this.registerService(this.identStore);
35
- await this.userStore?.__clean();
36
- await this.identStore?.__clean();
37
- this.getIdentStore = () => {
38
- throw new Error("Use this.identStore instead");
39
- };
40
- this.getUserStore = () => {
41
- throw new Error("Use this.userStore instead");
42
- };
43
- }
44
- getModelClass() {
45
- return TestIdent;
46
- }
47
- /**
48
- * Get the base of documents to query
49
- */
50
- getQueryDocuments() {
51
- const docs = [];
52
- for (let i = 0; i < 1000; i++) {
53
- docs.push({
54
- state: ["CA", "OR", "NY", "FL"][i % 4],
55
- states: [["CA", "OR", "NY", "FL"][i % 4], ["CA", "OR", "NY", "FL"][(i + 1) % 4]],
56
- order: i,
57
- team: {
58
- id: i % 20
59
- },
60
- role: i % 10
61
- });
62
- }
63
- return docs;
64
- }
65
- /**
66
- * Fill the Store with data to be queried
67
- */
68
- async fillForQuery() {
69
- const userStore = this.userStore;
70
- this.webda.getApplication().getModel("Webda/User").prototype.canAct = async () => true;
71
- userStore._model.prototype.canAct = async () => true;
72
- await Promise.all(this.getQueryDocuments().map(d => userStore.save(d)));
73
- return userStore;
74
- }
75
- async query() {
76
- const userStore = await this.fillForQuery();
77
- const queries = {
78
- 'state = "CA"': 250,
79
- "team.id > 15": 200,
80
- "team.id >= 15": 250,
81
- "team.id <= 14": 750,
82
- 'state IN ["CA", "NY"]': 500,
83
- 'state IN ["CA", "NY", "NV"]': 500,
84
- 'state = "CA" AND team.id > 15': 50,
85
- "team.id < 5 OR team.id > 15": 450,
86
- "role < 5 AND team.id > 10 OR team.id > 15": 400,
87
- "role < 5 AND (team.id > 10 OR team.id > 15)": 200,
88
- 'state LIKE "C_"': 250,
89
- 'state LIKE "C__"': 0,
90
- 'state LIKE "C%"': 250,
91
- 'state != "CA"': 750,
92
- 'states CONTAINS "CA"': 500,
93
- "role = 4": 100,
94
- "": 1000
95
- };
96
- for (const i in queries) {
97
- assert.strictEqual((await userStore.query(i)).results.length, queries[i], `Query: ${i} should return ${queries[i]}`);
98
- }
99
- // Verify pagination system
100
- let offset;
101
- let res;
102
- let i = 0;
103
- do {
104
- res = await userStore.query(`LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`);
105
- offset = res.continuationToken;
106
- if (i++ > 9) {
107
- assert.strictEqual(res.results.length, 0, `Query: LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""} should return 0`);
108
- assert.strictEqual(offset, undefined);
109
- }
110
- else {
111
- assert.strictEqual(res.results.length, 100, `Query: LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""} should return 0`);
112
- }
113
- } while (offset !== undefined);
114
- return userStore;
115
- }
116
- /**
117
- * Simplify model
118
- * @param model
119
- * @returns
120
- */
121
- mapQueryModel(model) {
122
- return {
123
- order: model.order,
124
- teamId: model.team.id,
125
- state: model.state
126
- };
127
- }
128
- async queryOrder() {
129
- const userStore = await this.fillForQuery();
130
- const model = await userStore.save({
131
- order: 996,
132
- state: "CA",
133
- team: { id: 16 }
134
- });
135
- try {
136
- let res = await userStore.query('state = "CA" ORDER BY order DESC LIMIT 10');
137
- assert.deepStrictEqual(res.results.map((c) => ({
138
- state: c.state,
139
- order: c.order,
140
- teamId: c.team.id
141
- })), [
142
- { state: "CA", order: 996, teamId: 16 },
143
- { state: "CA", order: 996, teamId: 16 },
144
- { state: "CA", order: 992, teamId: 12 },
145
- { state: "CA", order: 988, teamId: 8 },
146
- { state: "CA", order: 984, teamId: 4 },
147
- { state: "CA", order: 980, teamId: 0 },
148
- { state: "CA", order: 976, teamId: 16 },
149
- { state: "CA", order: 972, teamId: 12 },
150
- { state: "CA", order: 968, teamId: 8 },
151
- { state: "CA", order: 964, teamId: 4 }
152
- ]);
153
- res = await userStore.query("order > 980 ORDER BY state ASC, order DESC LIMIT 10");
154
- assert.deepStrictEqual(res.results.map((c) => ({
155
- state: c.state,
156
- order: c.order,
157
- teamId: c.team.id
158
- })), [
159
- { state: "CA", order: 996, teamId: 16 },
160
- { state: "CA", order: 996, teamId: 16 },
161
- { state: "CA", order: 992, teamId: 12 },
162
- { state: "CA", order: 988, teamId: 8 },
163
- { state: "CA", order: 984, teamId: 4 },
164
- { state: "FL", order: 999, teamId: 19 },
165
- { state: "FL", order: 995, teamId: 15 },
166
- { state: "FL", order: 991, teamId: 11 },
167
- { state: "FL", order: 987, teamId: 7 },
168
- { state: "FL", order: 983, teamId: 3 }
169
- ]);
170
- }
171
- finally {
172
- await model.delete();
173
- }
174
- }
175
- async mapper() {
176
- // Create a mapper - keep the test here as it is a good test for stores
177
- const identStore = this.identStore;
178
- const userStore = this.userStore;
179
- await this.addService(MapperService, {
180
- source: identStore.getName(),
181
- targetAttribute: "idents",
182
- target: userStore.getName(),
183
- attribute: "_user",
184
- fields: ["type", "_lastUpdate"],
185
- cascade: true
186
- }, "Mapper");
187
- await this.addService(AggregatorService, {
188
- source: identStore.getName(),
189
- key: "idents-index",
190
- fields: ["type"]
191
- });
192
- let eventFired = 0;
193
- const events = [
194
- "Store.Save",
195
- "Store.Saved",
196
- "Store.Get",
197
- "Store.Delete",
198
- "Store.Deleted",
199
- "Store.Update",
200
- "Store.Updated",
201
- "Store.Query",
202
- "Store.Queried"
203
- ];
204
- for (const evt in events) {
205
- identStore.on(events[evt], evt => {
206
- eventFired++;
207
- });
208
- }
209
- assert.strictEqual(await userStore.get(undefined), undefined);
210
- let user1 = (await userStore.save({
211
- name: "test"
212
- })).getUuid();
213
- let user = await userStore.get(user1);
214
- // Save a user and add an ident
215
- assert.notStrictEqual(user, undefined);
216
- user1 = user.getUuid();
217
- const ident1 = await identStore.save({
218
- type: "facebook",
219
- _user: user.getUuid()
220
- });
221
- user = await userStore.get(user1);
222
- // Verify the ident is on the user
223
- assert.notStrictEqual(user, undefined);
224
- assert.notStrictEqual(user.idents, undefined);
225
- assert.strictEqual(user.idents.length, 1);
226
- // Retrieve index to verify it is in it too
227
- const index = await this.webda.getRegistry().get("idents-index");
228
- // Do not force index test for store
229
- if (index) {
230
- assert.notStrictEqual(index[ident1.uuid], undefined);
231
- assert.strictEqual(index[ident1.uuid].type, "facebook");
232
- }
233
- let lastUpdate = user.idents[0]._lastUpdate;
234
- await this.sleep(10);
235
- await identStore.incrementAttribute(ident1.uuid, "counter", 1);
236
- await user.refresh();
237
- assert.notStrictEqual(user.idents[0]._lastUpdate, 0);
238
- this.assertLastUpdateNotEqual(user.idents[0]._lastUpdate, lastUpdate, "lastUpdate on a map after incrementAttribute");
239
- lastUpdate = user.idents[0]._lastUpdate;
240
- await this.sleep(10);
241
- await identStore.upsertItemToCollection(ident1.uuid, "actions", {
242
- uuid: "action_1",
243
- type: "plop",
244
- date: new Date()
245
- });
246
- await user.refresh();
247
- assert.notStrictEqual(user.idents[0]._lastUpdate.length, 0);
248
- this.assertLastUpdateNotEqual(user.idents[0]._lastUpdate, lastUpdate, "lastUpdate on a map after upsertItemToCollection");
249
- lastUpdate = user.idents[0]._lastUpdate;
250
- await this.sleep(10);
251
- await identStore.deleteItemFromCollection(ident1.uuid, "actions", 0, "plop", "type");
252
- await user.refresh();
253
- assert.notStrictEqual(user.idents[0]._lastUpdate.length, 0);
254
- this.assertLastUpdateNotEqual(user.idents[0]._lastUpdate, lastUpdate, "lastUpdate on a map after deleteItemFromCollection");
255
- const ident2 = await identStore.save({
256
- type: "google",
257
- _user: user.uuid
258
- });
259
- // Ensure Date is returned
260
- assert.ok(ident2._creationDate instanceof Date);
261
- assert.ok(ident2._lastUpdate instanceof Date);
262
- // Add a second ident and check it is on the user aswell
263
- user = await userStore.get(user1);
264
- assert.strictEqual(user.idents.length, 2);
265
- // Check index
266
- if (index) {
267
- await index.refresh();
268
- assert.notStrictEqual(index[ident2.uuid], undefined);
269
- }
270
- ident2.type = "google2";
271
- // Update ident2 to check mapper update
272
- const res = await identStore.patch({
273
- uuid: ident2.uuid,
274
- type: "google2"
275
- }, true, null);
276
- assert.strictEqual(res.type, "google2");
277
- assert.strictEqual(res._user.toString(), user1);
278
- // Check index
279
- if (index) {
280
- await index.refresh();
281
- assert.strictEqual(index[ident2.uuid].type, "google2");
282
- }
283
- user = await userStore.get(user1);
284
- assert.strictEqual(user.idents.length, 2);
285
- assert.strictEqual(user.idents[1].type, "google2");
286
- await identStore.delete(ident1.uuid);
287
- user = await userStore.get(user1);
288
- assert.strictEqual(user.idents.length, 1);
289
- assert.strictEqual(user.idents[0].type, "google2");
290
- // Add a second user to play
291
- user = await userStore.save({
292
- name: "test2"
293
- });
294
- const user2 = user.uuid;
295
- // Move ident2 from user1 to user2
296
- await identStore.patch({
297
- _user: user.uuid,
298
- uuid: ident2.uuid
299
- });
300
- // Check user1 has no more ident
301
- user = await userStore.get(user1);
302
- assert.strictEqual(user.idents.length, 0);
303
- // Check user2 has one ident
304
- user = await userStore.get(user2);
305
- assert.strictEqual(user.idents.length, 1);
306
- assert.strictEqual(user.idents[0].type, "google2");
307
- // Verify you cannot update a collection from patch
308
- await userStore.patch({
309
- idents: []
310
- }, user2);
311
- user = await userStore.get(user2);
312
- assert.strictEqual(user.idents.length, 1);
313
- // Verify you cannot update a collection from update
314
- await userStore.update({
315
- idents: []
316
- }, user2);
317
- user = await userStore.get(user2);
318
- assert.strictEqual(user.idents.length, 1);
319
- assert.strictEqual(user.idents[0].type, "google2");
320
- // Verify delete cascade with empty collection
321
- await userStore.delete(user1);
322
- user = await userStore.get(user2);
323
- assert.strictEqual(user.idents.length, 1);
324
- assert.strictEqual(user.idents[0].type, "google2");
325
- // Verify delete cascade
326
- await userStore.delete(user2);
327
- const ident = await identStore.get(ident2.uuid);
328
- assert.strictEqual(ident, undefined);
329
- // Check index
330
- if (index) {
331
- await index.refresh();
332
- assert.strictEqual(index[ident2.uuid], undefined);
333
- assert.strictEqual(index[ident1.uuid], undefined);
334
- }
335
- assert.strictEqual(eventFired, 8);
336
- }
337
- async collection() {
338
- const identStore = this.identStore;
339
- let ident;
340
- ident = await identStore.save({
341
- test: "plop"
342
- });
343
- await identStore.upsertItemToCollection(ident.uuid, "actions", {
344
- uuid: "action_1",
345
- type: "plop",
346
- date: new Date()
347
- });
348
- await ident.refresh();
349
- assert.notStrictEqual(ident.actions, undefined);
350
- assert.strictEqual(ident.actions.length, 1);
351
- await identStore.upsertItemToCollection(ident.uuid, "actions", {
352
- uuid: "action_2",
353
- type: "plop",
354
- date: new Date()
355
- });
356
- await ident.refresh();
357
- assert.notStrictEqual(ident.actions, undefined);
358
- assert.strictEqual(ident.actions.length, 2);
359
- await identStore.upsertItemToCollection(ident.uuid, "actions", {
360
- uuid: "action_1",
361
- type: "plop2",
362
- date: new Date()
363
- }, 0);
364
- await ident.refresh();
365
- this.log("DEBUG", "Action", ident.actions);
366
- assert.notStrictEqual(ident.actions, undefined);
367
- assert.strictEqual(ident.actions.length, 2);
368
- assert.strictEqual(ident.actions[0].type, "plop2");
369
- assert.strictEqual(ident.actions[0].uuid, "action_1");
370
- await assert.rejects(() => identStore.upsertItemToCollection(ident.uuid, "actions", {
371
- uuid: "action_1",
372
- type: "plop2",
373
- date: new Date()
374
- }, 0, "plop", "type"), err => true);
375
- await assert.rejects(() => identStore.deleteItemFromCollection(ident.uuid, "actions", 0, "action_2"), err => true);
376
- await ident.refresh();
377
- assert.strictEqual(ident.actions.length, 2);
378
- assert.strictEqual(ident.actions[0].type, "plop2");
379
- let lastUpdate = ident._lastUpdate;
380
- await this.sleep(10);
381
- await identStore.upsertItemToCollection(ident.uuid, "actions", {
382
- uuid: "action_1",
383
- type: "plop",
384
- date: new Date()
385
- }, 0, "plop2", "type");
386
- await ident.refresh();
387
- this.assertLastUpdateNotEqual(ident._lastUpdate, lastUpdate, "lastUpdate after upsertItemToColletion failed");
388
- lastUpdate = ident._lastUpdate;
389
- await this.sleep(10);
390
- await identStore.deleteItemFromCollection(ident.uuid, "actions", 0, "plop", "type");
391
- ident = await identStore.get(ident.uuid);
392
- this.assertLastUpdateNotEqual(ident._lastUpdate, lastUpdate, "lastUpdate after deleteItemToColletion failed");
393
- assert.notStrictEqual(ident.actions, undefined);
394
- assert.strictEqual(ident.actions.length, 1);
395
- assert.strictEqual(ident.actions[0].type, "plop");
396
- assert.strictEqual(ident.actions[0].uuid, "action_2");
397
- }
398
- async getAll() {
399
- const userStore = this.userStore;
400
- const user1 = await userStore.save({
401
- name: "test1"
402
- });
403
- await userStore.save({
404
- name: "test2"
405
- });
406
- const user3 = await userStore.save({
407
- name: "test3"
408
- });
409
- let users = await userStore.getAll();
410
- assert.strictEqual(users.length, 3);
411
- assert.strictEqual(users[0] instanceof userStore._model, true);
412
- assert.strictEqual(users[1] instanceof userStore._model, true);
413
- assert.strictEqual(users[2] instanceof userStore._model, true);
414
- users = await userStore.getAll([user1.uuid, user3.uuid, randomUUID()]);
415
- assert.strictEqual(users.length, 2);
416
- assert.strictEqual(users[0] instanceof userStore._model, true);
417
- assert.strictEqual(users[1] instanceof userStore._model, true);
418
- }
419
- async crud() {
420
- const identStore = this.identStore;
421
- let eventFired = 0;
422
- const events = [
423
- "Store.Save",
424
- "Store.Saved",
425
- "Store.Get",
426
- "Store.Delete",
427
- "Store.Deleted",
428
- "Store.Update",
429
- "Store.Updated",
430
- "Store.PatchUpdate",
431
- "Store.PatchUpdated",
432
- "Store.PartialUpdated",
433
- "Store.Query",
434
- "Store.Queried"
435
- ];
436
- for (const evt in events) {
437
- identStore.on(events[evt], e => {
438
- eventFired++;
439
- });
440
- }
441
- this.log("DEBUG", "Save ident");
442
- // Check CREATE - READ
443
- let ident1 = await identStore.save({
444
- test: "plop",
445
- cool: "",
446
- lastUsed: new Date(),
447
- arr: [],
448
- details: {
449
- plop: "plop1",
450
- clean: undefined,
451
- yop: "pouf"
452
- }
453
- });
454
- assert.strictEqual(eventFired, 2);
455
- assert.notStrictEqual(ident1, undefined);
456
- eventFired = 0;
457
- this.log("DEBUG", "Get ident");
458
- let getter = await identStore.get(ident1.uuid);
459
- assert.strictEqual(eventFired, 1);
460
- eventFired = 0;
461
- assert.notStrictEqual(getter, undefined);
462
- assert.notStrictEqual(getter.lastUsed, undefined);
463
- assert.notStrictEqual(getter._lastUpdate, undefined);
464
- assert.strictEqual(getter.uuid, ident1.uuid);
465
- assert.strictEqual(getter.test, ident1.test);
466
- // Check UPDATE
467
- getter.test = "plop2";
468
- getter.details.plop = "plop2";
469
- getter.details.blank = "";
470
- getter.details.bouzouf = undefined;
471
- getter.empty = [];
472
- this.log("DEBUG", "Update ident");
473
- await identStore.update(getter);
474
- assert.strictEqual(eventFired, 2);
475
- eventFired = 0;
476
- getter = {};
477
- getter.uuid = ident1.uuid;
478
- getter.bouzouf = "test";
479
- this.log("DEBUG", "Patch ident");
480
- await identStore.patch(getter);
481
- assert.strictEqual(eventFired, 2);
482
- eventFired = 0;
483
- this.log("DEBUG", "Get ident to check update");
484
- const object = await identStore.get(ident1.uuid);
485
- this.log("DEBUG", "Retrieved object", object);
486
- assert.strictEqual(object.test, "plop2");
487
- assert.strictEqual(object.details.plop, "plop2");
488
- getter = await identStore.get(object.uuid);
489
- assert.strictEqual(eventFired, 2);
490
- assert.strictEqual(getter.test, "plop2");
491
- await this.sleep(10);
492
- this.log("DEBUG", "Increment attribute");
493
- await identStore.incrementAttribute(ident1.uuid, "counter", 1);
494
- let ident = await identStore.get(ident1.uuid);
495
- // Verify lastUpdate is updated too
496
- this.assertLastUpdateNotEqual(ident._lastUpdate, ident1._lastUpdate, "lastUpdate after incrementAttribute failed");
497
- assert.strictEqual(ident.counter, 1);
498
- await identStore.incrementAttribute(ident1.uuid, "counter", 3);
499
- ident1 = await identStore.get(ident1.uuid);
500
- assert.strictEqual(ident1.counter, 4);
501
- await identStore.incrementAttributes(ident1.uuid, [
502
- { property: "counter", value: -6 },
503
- { property: "counter2", value: 10 }
504
- ]);
505
- let res = await identStore.exists(ident1.uuid);
506
- assert.strictEqual(res, true);
507
- // We should be able to verify with the full model
508
- await identStore.exists(ident1);
509
- assert.strictEqual(res, true);
510
- ident1 = await identStore.get(ident1.uuid);
511
- assert.strictEqual(ident1.counter, -2);
512
- // Check DELETE
513
- eventFired = 0;
514
- await identStore.delete(ident1.uuid);
515
- assert.strictEqual(eventFired, 2);
516
- eventFired = 0;
517
- ident = await identStore.get(ident1.uuid);
518
- assert.strictEqual(ident, undefined);
519
- res = await identStore.exists(ident1.uuid);
520
- assert.strictEqual(res, false);
521
- }
522
- assertLastUpdateNotEqual(d1, d2, msg) {
523
- assert.notStrictEqual(d1, d2, msg);
524
- }
525
- async exists() {
526
- const store = this.identStore;
527
- const model = await store.save({});
528
- assert.ok(await store.exists(model.getUuid()));
529
- assert.ok(await store.exists(model));
530
- assert.ok(!(await store.exists(randomUUID())));
531
- }
532
- async incrementAttribute() {
533
- const store = this.identStore;
534
- const model = await store.save({ counter: 0 });
535
- await store.incrementAttribute(model.getUuid(), "counter", 3);
536
- await store.incrementAttribute(model.getUuid(), "counter2", 2);
537
- await model.refresh();
538
- assert.strictEqual(model.counter, 3);
539
- assert.strictEqual(model.counter2, 2);
540
- await assert.rejects(() => store.incrementAttribute(randomUUID(), "counter", 1), StoreNotFoundError);
541
- }
542
- async removeAttribute() {
543
- const store = this.identStore;
544
- const model = await store.save({ counter: 0, counter2: 12, counter3: 13 });
545
- await store.removeAttribute(model.getUuid(), "counter");
546
- await model.refresh();
547
- assert.strictEqual(model.counter, undefined);
548
- await assert.rejects(() => store.removeAttribute(randomUUID(), "counter"), StoreNotFoundError);
549
- await assert.rejects(() => store.removeAttribute(model.getUuid(), "counter2", 10, "counter3"), UpdateConditionFailError);
550
- await model.refresh();
551
- assert.strictEqual(model.counter2, 12);
552
- }
553
- async setAttribute() {
554
- const store = this.identStore;
555
- const model = await store.save({ counter: 0 });
556
- await store.setAttribute(model.getUuid(), "counter", 3);
557
- await store.setAttribute(model.getUuid(), "status", "TESTED");
558
- await model.refresh();
559
- assert.strictEqual(model.counter, 3);
560
- assert.strictEqual(model.status, "TESTED");
561
- await assert.rejects(() => store.setAttribute(randomUUID(), "counter", 4), StoreNotFoundError);
562
- store.on("Store.PatchUpdate", async () => {
563
- model._lastUpdate = new Date(100);
564
- // @ts-ignore
565
- await store._update(model, model.getUuid());
566
- });
567
- await assert.rejects(() => store.setAttribute(model.getUuid(), "counter", 4), UpdateConditionFailError);
568
- store.removeAllListeners("Store.PatchUpdate");
569
- store.on("Store.PatchUpdate", async () => {
570
- // @ts-ignore
571
- await store._delete(model.getUuid());
572
- await this.sleep(1);
573
- });
574
- await assert.rejects(() => store.setAttribute(model.getUuid(), "counter", 4), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
575
- await assert.rejects(() => store.setAttribute(randomUUID(), "counter", 4), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
576
- }
577
- async deleteAsync() {
578
- const store = this.identStore;
579
- let model = await store.save({ counter: 1 });
580
- // Delete with condition
581
- await assert.rejects(() => store.delete(model.getUuid(), 4, "counter"), UpdateConditionFailError);
582
- await store.delete(model.getUuid(), 1, "counter");
583
- // Test without condition
584
- model = await store.save({ counter: 2 });
585
- await store.delete(model);
586
- // Deleting a non-existing object should be ignored
587
- await store.delete(randomUUID());
588
- }
589
- async delete() {
590
- // UserStore is not supposed to be async
591
- const store = this.userStore;
592
- let model = await store.save({ counter: 1 });
593
- // Delete with condition
594
- await assert.rejects(() => store.delete(model.getUuid(), 4, "counter"), UpdateConditionFailError);
595
- await store.delete(model.getUuid(), 1, "counter");
596
- // Test without condition
597
- model = await store.save({ counter: 2 });
598
- await store.delete(model);
599
- // Deleting a non-existing object should be ignored
600
- await store.delete(randomUUID());
601
- }
602
- async deleteConcurrent() {
603
- const store = this.userStore;
604
- const model = await store.save({ counter: 1 });
605
- store.addListener("Store.Delete", async () => {
606
- await store.incrementAttribute(model.getUuid(), "counter", 1);
607
- });
608
- await assert.rejects(() => store.delete(model.getUuid(), 1, "counter"), UpdateConditionFailError);
609
- store.removeAllListeners();
610
- await store.delete(model.getUuid(), 2, "counter");
611
- }
612
- async conditionUpdate() {
613
- const store = this.identStore;
614
- const model = await store.save({ counter: 1 });
615
- assert.ok(await store.conditionalPatch(model.getUuid(), {
616
- plop: 12,
617
- counter: 2
618
- }, "counter", 1));
619
- assert.strictEqual((await store.get(model.getUuid())).plop, 12);
620
- assert.ok(!(await store.conditionalPatch(model.getUuid(), {
621
- plop: 13
622
- }, "counter", 1)));
623
- assert.strictEqual((await store.get(model.getUuid())).plop, 12);
624
- // @ts-ignore
625
- stub(store, "_patch").callsFake(() => {
626
- throw new Error("Fake Error");
627
- });
628
- await assert.rejects(() => store.conditionalPatch(model.getUuid(), {
629
- plop: 12,
630
- counter: 2
631
- }, "counter", 1), /Fake Error/);
632
- }
633
- async update(delay = 1) {
634
- const store = this.identStore;
635
- const model = await store.save({ counter: 1 });
636
- model.saveUpdateCompat = true;
637
- await store.save(model, await this.newContext());
638
- model.saveInnerMethod = true;
639
- model.setContext(await this.newContext());
640
- await model.save();
641
- const model2 = await store.get(model.getUuid());
642
- store.on("Store.Update", async () => {
643
- model2._lastUpdate = new Date(100);
644
- // @ts-ignore
645
- await store._update(model2, model2.getUuid());
646
- });
647
- model.plop = "yop";
648
- // Delete with condition
649
- await assert.rejects(() => store.update(model), UpdateConditionFailError);
650
- store.removeAllListeners("Store.Update");
651
- store.on("Store.Update", async () => {
652
- // @ts-ignore
653
- await store._delete(model.getUuid());
654
- await this.sleep(delay);
655
- });
656
- await assert.rejects(() => store.update(model), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
657
- await assert.rejects(() => store.update({ uuid: randomUUID(), test: true }), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
658
- }
659
- async upsertItem() {
660
- const store = this.identStore;
661
- this.log("DEBUG", "Save empty logs array");
662
- const model = await store.save({ logs: [] });
663
- const ps = [];
664
- this.log("DEBUG", "Upsert 10 lines");
665
- for (let i = 0; i < 10; i++) {
666
- ps.push(store.upsertItemToCollection(model.getUuid(), "logs", `line${i}`));
667
- }
668
- await Promise.all(ps);
669
- await model.refresh();
670
- assert.strictEqual(model.logs.length, 10);
671
- // Depending on the implementation it can be swallowed by the backend
672
- this.log("DEBUG", "Upsert on unknown doc");
673
- await assert.rejects(() => store.upsertItemToCollection(randomUUID(), "logs", `line`), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
674
- this.log("DEBUG", "Delete on unknown doc");
675
- await assert.rejects(() => store.deleteItemFromCollection(randomUUID(), "logs", 0, undefined, undefined), err => err instanceof StoreNotFoundError || err instanceof UpdateConditionFailError);
676
- }
677
- async put() {
678
- const store = this.identStore;
679
- const uuid = store.getWebda().getUuid();
680
- if (await store.exists(uuid)) {
681
- await store.delete(uuid);
682
- }
683
- await store.put(uuid, { test: true });
684
- // Verify put acts like a upsert
685
- await store.put(uuid, { test: false });
686
- }
687
- }
688
- __decorate([
689
- test
690
- ], StoreTest.prototype, "query", null);
691
- __decorate([
692
- test
693
- ], StoreTest.prototype, "queryOrder", null);
694
- __decorate([
695
- test
696
- ], StoreTest.prototype, "mapper", null);
697
- __decorate([
698
- test
699
- ], StoreTest.prototype, "collection", null);
700
- __decorate([
701
- test
702
- ], StoreTest.prototype, "getAll", null);
703
- __decorate([
704
- test
705
- ], StoreTest.prototype, "crud", null);
706
- __decorate([
707
- test
708
- ], StoreTest.prototype, "exists", null);
709
- __decorate([
710
- test
711
- ], StoreTest.prototype, "incrementAttribute", null);
712
- __decorate([
713
- test
714
- ], StoreTest.prototype, "removeAttribute", null);
715
- __decorate([
716
- test
717
- ], StoreTest.prototype, "setAttribute", null);
718
- __decorate([
719
- test
720
- ], StoreTest.prototype, "deleteAsync", null);
721
- __decorate([
722
- test
723
- ], StoreTest.prototype, "delete", null);
724
- __decorate([
725
- test
726
- ], StoreTest.prototype, "conditionUpdate", null);
727
- __decorate([
728
- test
729
- ], StoreTest.prototype, "update", null);
730
- __decorate([
731
- test
732
- ], StoreTest.prototype, "upsertItem", null);
733
- __decorate([
734
- test
735
- ], StoreTest.prototype, "put", null);
736
- export { StoreTest };
737
- //# sourceMappingURL=store.spec.js.map