@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,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