@webda/core 4.0.0-beta.1 → 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 (675) 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/application/unpackedapplication.d.ts +104 -0
  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 -49
  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 +45 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +102 -34
  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 +84 -51
  119. package/lib/index.d.ts.map +1 -0
  120. package/lib/index.js +82 -59
  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 +21 -77
  155. package/lib/models/aclmodel.d.ts.map +1 -0
  156. package/lib/models/aclmodel.js +27 -204
  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 +2 -1
  167. package/lib/models/deployment.d.ts.map +1 -0
  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.model.js +53 -0
  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.service.d.ts +72 -0
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/memoryqueue.service.js +136 -0
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +9 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -0
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +10 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -0
  206. package/lib/queues/queueservice.js +48 -20
  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 -58
  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 +19 -13
  245. package/lib/services/cloudbinary.d.ts.map +1 -0
  246. package/lib/services/cloudbinary.js +24 -18
  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} +77 -142
  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.service.js +66 -0
  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 -10
  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 +58 -31
  297. package/lib/services/oauth.d.ts.map +1 -0
  298. package/lib/services/oauth.js +365 -251
  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 -11
  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.service.d.ts +121 -0
  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 +88 -189
  313. package/lib/services/service.d.ts.map +1 -0
  314. package/lib/services/service.js +407 -432
  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 -18
  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 +127 -768
  345. package/lib/stores/store.d.ts.map +1 -0
  346. package/lib/stores/store.js +258 -1718
  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 +5 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -0
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -56
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +6 -99
  384. package/test/data/.env +1 -0
  385. package/test/my-cnf.json +9 -0
  386. package/webda.module.json +3462 -2231
  387. package/lib/application.d.ts +0 -876
  388. package/lib/application.js +0 -741
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -1
  391. package/lib/application.spec.js +0 -234
  392. package/lib/application.spec.js.map +0 -1
  393. package/lib/core.d.ts +0 -740
  394. package/lib/core.js +0 -1310
  395. package/lib/core.js.map +0 -1
  396. package/lib/core.spec.d.ts +0 -1
  397. package/lib/core.spec.js +0 -761
  398. package/lib/core.spec.js.map +0 -1
  399. package/lib/errors.d.ts +0 -65
  400. package/lib/errors.js +0 -113
  401. package/lib/errors.js.map +0 -1
  402. package/lib/errors.spec.d.ts +0 -1
  403. package/lib/errors.spec.js +0 -33
  404. package/lib/errors.spec.js.map +0 -1
  405. package/lib/models/aclmodel.spec.d.ts +0 -1
  406. package/lib/models/aclmodel.spec.js +0 -187
  407. package/lib/models/aclmodel.spec.js.map +0 -1
  408. package/lib/models/coremodel.d.ts +0 -887
  409. package/lib/models/coremodel.js +0 -1208
  410. package/lib/models/coremodel.js.map +0 -1
  411. package/lib/models/coremodel.spec.d.ts +0 -1
  412. package/lib/models/coremodel.spec.js +0 -462
  413. package/lib/models/coremodel.spec.js.map +0 -1
  414. package/lib/models/ident.d.ts +0 -53
  415. package/lib/models/ident.js +0 -40
  416. package/lib/models/ident.js.map +0 -1
  417. package/lib/models/ident.spec.d.ts +0 -1
  418. package/lib/models/ident.spec.js +0 -43
  419. package/lib/models/ident.spec.js.map +0 -1
  420. package/lib/models/ownermodel.d.ts +0 -50
  421. package/lib/models/ownermodel.js +0 -65
  422. package/lib/models/ownermodel.js.map +0 -1
  423. package/lib/models/ownermodel.spec.d.ts +0 -1
  424. package/lib/models/ownermodel.spec.js +0 -191
  425. package/lib/models/ownermodel.spec.js.map +0 -1
  426. package/lib/models/relations.d.ts +0 -181
  427. package/lib/models/relations.js +0 -157
  428. package/lib/models/relations.js.map +0 -1
  429. package/lib/models/relations.spec.d.ts +0 -12
  430. package/lib/models/relations.spec.js +0 -224
  431. package/lib/models/relations.spec.js.map +0 -1
  432. package/lib/models/rolemodel.d.ts +0 -10
  433. package/lib/models/rolemodel.js +0 -35
  434. package/lib/models/rolemodel.js.map +0 -1
  435. package/lib/models/rolemodel.spec.d.ts +0 -1
  436. package/lib/models/rolemodel.spec.js +0 -86
  437. package/lib/models/rolemodel.spec.js.map +0 -1
  438. package/lib/models/user.d.ts +0 -100
  439. package/lib/models/user.js +0 -157
  440. package/lib/models/user.js.map +0 -1
  441. package/lib/models/user.spec.d.ts +0 -1
  442. package/lib/models/user.spec.js +0 -88
  443. package/lib/models/user.spec.js.map +0 -1
  444. package/lib/queues/filequeue.d.ts +0 -58
  445. package/lib/queues/filequeue.js +0 -131
  446. package/lib/queues/filequeue.js.map +0 -1
  447. package/lib/queues/filequeue.spec.d.ts +0 -1
  448. package/lib/queues/filequeue.spec.js +0 -78
  449. package/lib/queues/filequeue.spec.js.map +0 -1
  450. package/lib/queues/memoryqueue.d.ts +0 -45
  451. package/lib/queues/memoryqueue.js +0 -81
  452. package/lib/queues/memoryqueue.js.map +0 -1
  453. package/lib/queues/memoryqueue.spec.d.ts +0 -1
  454. package/lib/queues/memoryqueue.spec.js +0 -192
  455. package/lib/queues/memoryqueue.spec.js.map +0 -1
  456. package/lib/queues/queue.spec.d.ts +0 -5
  457. package/lib/queues/queue.spec.js +0 -55
  458. package/lib/queues/queue.spec.js.map +0 -1
  459. package/lib/router.d.ts +0 -172
  460. package/lib/router.js +0 -419
  461. package/lib/router.js.map +0 -1
  462. package/lib/router.spec.d.ts +0 -1
  463. package/lib/router.spec.js +0 -229
  464. package/lib/router.spec.js.map +0 -1
  465. package/lib/services/asyncevents.d.ts +0 -151
  466. package/lib/services/asyncevents.js +0 -217
  467. package/lib/services/asyncevents.js.map +0 -1
  468. package/lib/services/asyncevents.spec.d.ts +0 -1
  469. package/lib/services/asyncevents.spec.js +0 -118
  470. package/lib/services/asyncevents.spec.js.map +0 -1
  471. package/lib/services/authentication.js +0 -772
  472. package/lib/services/authentication.js.map +0 -1
  473. package/lib/services/authentication.spec.d.ts +0 -1
  474. package/lib/services/authentication.spec.js +0 -458
  475. package/lib/services/authentication.spec.js.map +0 -1
  476. package/lib/services/binary.d.ts +0 -549
  477. package/lib/services/binary.js +0 -986
  478. package/lib/services/binary.js.map +0 -1
  479. package/lib/services/binary.spec.d.ts +0 -44
  480. package/lib/services/binary.spec.js +0 -438
  481. package/lib/services/binary.spec.js.map +0 -1
  482. package/lib/services/cloudbinary.spec.d.ts +0 -13
  483. package/lib/services/cloudbinary.spec.js +0 -192
  484. package/lib/services/cloudbinary.spec.js.map +0 -1
  485. package/lib/services/configuration.js +0 -178
  486. package/lib/services/configuration.js.map +0 -1
  487. package/lib/services/configuration.spec.d.ts +0 -1
  488. package/lib/services/configuration.spec.js +0 -87
  489. package/lib/services/configuration.spec.js.map +0 -1
  490. package/lib/services/cron.d.ts +0 -73
  491. package/lib/services/cron.js +0 -141
  492. package/lib/services/cron.js.map +0 -1
  493. package/lib/services/cron.spec.d.ts +0 -1
  494. package/lib/services/cron.spec.js +0 -76
  495. package/lib/services/cron.spec.js.map +0 -1
  496. package/lib/services/cryptoservice.js +0 -434
  497. package/lib/services/cryptoservice.js.map +0 -1
  498. package/lib/services/cryptoservice.spec.d.ts +0 -1
  499. package/lib/services/cryptoservice.spec.js +0 -177
  500. package/lib/services/cryptoservice.spec.js.map +0 -1
  501. package/lib/services/debugmailer.d.ts +0 -36
  502. package/lib/services/debugmailer.js +0 -52
  503. package/lib/services/debugmailer.js.map +0 -1
  504. package/lib/services/debugmailer.spec.d.ts +0 -1
  505. package/lib/services/debugmailer.spec.js +0 -29
  506. package/lib/services/debugmailer.spec.js.map +0 -1
  507. package/lib/services/domainservice.d.ts +0 -152
  508. package/lib/services/domainservice.js +0 -881
  509. package/lib/services/domainservice.js.map +0 -1
  510. package/lib/services/domainservice.spec.d.ts +0 -1
  511. package/lib/services/domainservice.spec.js +0 -401
  512. package/lib/services/domainservice.spec.js.map +0 -1
  513. package/lib/services/filebinary.d.ts +0 -133
  514. package/lib/services/filebinary.js +0 -371
  515. package/lib/services/filebinary.js.map +0 -1
  516. package/lib/services/filebinary.spec.d.ts +0 -21
  517. package/lib/services/filebinary.spec.js +0 -415
  518. package/lib/services/filebinary.spec.js.map +0 -1
  519. package/lib/services/fileconfiguration.d.ts +0 -22
  520. package/lib/services/fileconfiguration.js +0 -48
  521. package/lib/services/fileconfiguration.js.map +0 -1
  522. package/lib/services/fileconfiguration.spec.d.ts +0 -1
  523. package/lib/services/fileconfiguration.spec.js +0 -177
  524. package/lib/services/fileconfiguration.spec.js.map +0 -1
  525. package/lib/services/invitationservice.d.ts +0 -222
  526. package/lib/services/invitationservice.js +0 -526
  527. package/lib/services/invitationservice.js.map +0 -1
  528. package/lib/services/invitationservice.spec.d.ts +0 -1
  529. package/lib/services/invitationservice.spec.js +0 -516
  530. package/lib/services/invitationservice.spec.js.map +0 -1
  531. package/lib/services/kubernetesconfiguration.d.ts +0 -26
  532. package/lib/services/kubernetesconfiguration.js +0 -54
  533. package/lib/services/kubernetesconfiguration.js.map +0 -1
  534. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -1
  535. package/lib/services/kubernetesconfiguration.spec.js +0 -147
  536. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  537. package/lib/services/mailer.d.ts +0 -165
  538. package/lib/services/mailer.js +0 -176
  539. package/lib/services/mailer.js.map +0 -1
  540. package/lib/services/mailer.spec.d.ts +0 -1
  541. package/lib/services/mailer.spec.js +0 -144
  542. package/lib/services/mailer.spec.js.map +0 -1
  543. package/lib/services/notificationservice.js.map +0 -1
  544. package/lib/services/notificationservice.spec.d.ts +0 -1
  545. package/lib/services/notificationservice.spec.js +0 -78
  546. package/lib/services/notificationservice.spec.js.map +0 -1
  547. package/lib/services/oauth.spec.d.ts +0 -1
  548. package/lib/services/oauth.spec.js +0 -184
  549. package/lib/services/oauth.spec.js.map +0 -1
  550. package/lib/services/prometheus.js +0 -160
  551. package/lib/services/prometheus.js.map +0 -1
  552. package/lib/services/prometheus.spec.d.ts +0 -1
  553. package/lib/services/prometheus.spec.js +0 -57
  554. package/lib/services/prometheus.spec.js.map +0 -1
  555. package/lib/services/resource.d.ts +0 -87
  556. package/lib/services/resource.js +0 -156
  557. package/lib/services/resource.js.map +0 -1
  558. package/lib/services/resource.spec.d.ts +0 -1
  559. package/lib/services/resource.spec.js +0 -122
  560. package/lib/services/resource.spec.js.map +0 -1
  561. package/lib/services/service.spec.d.ts +0 -1
  562. package/lib/services/service.spec.js +0 -268
  563. package/lib/services/service.spec.js.map +0 -1
  564. package/lib/stores/aggregator.d.ts +0 -41
  565. package/lib/stores/aggregator.js +0 -80
  566. package/lib/stores/aggregator.js.map +0 -1
  567. package/lib/stores/aliasstore.d.ts +0 -108
  568. package/lib/stores/aliasstore.js +0 -168
  569. package/lib/stores/aliasstore.js.map +0 -1
  570. package/lib/stores/aliasstore.spec.d.ts +0 -11
  571. package/lib/stores/aliasstore.spec.js +0 -89
  572. package/lib/stores/aliasstore.spec.js.map +0 -1
  573. package/lib/stores/file.d.ts +0 -107
  574. package/lib/stores/file.js +0 -188
  575. package/lib/stores/file.js.map +0 -1
  576. package/lib/stores/file.spec.d.ts +0 -19
  577. package/lib/stores/file.spec.js +0 -232
  578. package/lib/stores/file.spec.js.map +0 -1
  579. package/lib/stores/mapper.d.ts +0 -149
  580. package/lib/stores/mapper.js +0 -293
  581. package/lib/stores/mapper.js.map +0 -1
  582. package/lib/stores/mapper.spec.d.ts +0 -1
  583. package/lib/stores/mapper.spec.js +0 -160
  584. package/lib/stores/mapper.spec.js.map +0 -1
  585. package/lib/stores/memory.d.ts +0 -151
  586. package/lib/stores/memory.js +0 -371
  587. package/lib/stores/memory.js.map +0 -1
  588. package/lib/stores/memory.spec.d.ts +0 -20
  589. package/lib/stores/memory.spec.js +0 -328
  590. package/lib/stores/memory.spec.js.map +0 -1
  591. package/lib/stores/modelmapper.d.ts +0 -61
  592. package/lib/stores/modelmapper.js +0 -199
  593. package/lib/stores/modelmapper.js.map +0 -1
  594. package/lib/stores/store.spec.d.ts +0 -65
  595. package/lib/stores/store.spec.js +0 -906
  596. package/lib/stores/store.spec.js.map +0 -1
  597. package/lib/test.d.ts +0 -162
  598. package/lib/test.js +0 -399
  599. package/lib/test.js.map +0 -1
  600. package/lib/unpackedapplication.d.ts +0 -76
  601. package/lib/unpackedapplication.js +0 -299
  602. package/lib/unpackedapplication.js.map +0 -1
  603. package/lib/utils/abstractdeployer.spec.d.ts +0 -1
  604. package/lib/utils/abstractdeployer.spec.js +0 -21
  605. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  606. package/lib/utils/case.d.ts +0 -7
  607. package/lib/utils/case.js +0 -43
  608. package/lib/utils/case.js.map +0 -1
  609. package/lib/utils/case.spec.d.ts +0 -1
  610. package/lib/utils/case.spec.js +0 -50
  611. package/lib/utils/case.spec.js.map +0 -1
  612. package/lib/utils/context.d.ts +0 -462
  613. package/lib/utils/context.js +0 -732
  614. package/lib/utils/context.js.map +0 -1
  615. package/lib/utils/context.spec.d.ts +0 -9
  616. package/lib/utils/context.spec.js +0 -372
  617. package/lib/utils/context.spec.js.map +0 -1
  618. package/lib/utils/cookie.js.map +0 -1
  619. package/lib/utils/cookie.spec.d.ts +0 -1
  620. package/lib/utils/cookie.spec.js +0 -78
  621. package/lib/utils/cookie.spec.js.map +0 -1
  622. package/lib/utils/esm.d.ts +0 -13
  623. package/lib/utils/esm.js +0 -19
  624. package/lib/utils/esm.js.map +0 -1
  625. package/lib/utils/httpcontext.js.map +0 -1
  626. package/lib/utils/httpcontext.spec.d.ts +0 -4
  627. package/lib/utils/httpcontext.spec.js +0 -77
  628. package/lib/utils/httpcontext.spec.js.map +0 -1
  629. package/lib/utils/logger.d.ts +0 -91
  630. package/lib/utils/logger.js +0 -121
  631. package/lib/utils/logger.js.map +0 -1
  632. package/lib/utils/logger.spec.d.ts +0 -1
  633. package/lib/utils/logger.spec.js +0 -48
  634. package/lib/utils/logger.spec.js.map +0 -1
  635. package/lib/utils/serializers.d.ts +0 -161
  636. package/lib/utils/serializers.js +0 -420
  637. package/lib/utils/serializers.js.map +0 -1
  638. package/lib/utils/serializers.spec.d.ts +0 -1
  639. package/lib/utils/serializers.spec.js +0 -313
  640. package/lib/utils/serializers.spec.js.map +0 -1
  641. package/lib/utils/session.d.ts +0 -126
  642. package/lib/utils/session.js +0 -166
  643. package/lib/utils/session.js.map +0 -1
  644. package/lib/utils/session.spec.d.ts +0 -1
  645. package/lib/utils/session.spec.js +0 -71
  646. package/lib/utils/session.spec.js.map +0 -1
  647. package/lib/utils/throttler.d.ts +0 -102
  648. package/lib/utils/throttler.js +0 -168
  649. package/lib/utils/throttler.js.map +0 -1
  650. package/lib/utils/throttler.spec.d.ts +0 -1
  651. package/lib/utils/throttler.spec.js +0 -55
  652. package/lib/utils/throttler.spec.js.map +0 -1
  653. package/lib/utils/waiter.d.ts +0 -93
  654. package/lib/utils/waiter.js +0 -148
  655. package/lib/utils/waiter.js.map +0 -1
  656. package/lib/utils/waiter.spec.d.ts +0 -1
  657. package/lib/utils/waiter.spec.js +0 -98
  658. package/lib/utils/waiter.spec.js.map +0 -1
  659. package/test/config-file-missing-file-no-default.json +0 -44
  660. package/test/config-file-missing-file.json +0 -55
  661. package/test/config-file-no-reload.json +0 -69
  662. package/test/config-file-reload.json +0 -68
  663. package/test/config-invitation.json +0 -63
  664. package/test/config-kube-reload.json +0 -68
  665. package/test/config-reload.json +0 -66
  666. package/test/config.old.json +0 -152
  667. package/test/jsonutils/mdocs.yaml +0 -56
  668. package/test/jsonutils/test.json +0 -3
  669. package/test/jsonutils/test.yml +0 -5
  670. package/test/moddas/annotatedservice.js +0 -23
  671. package/test/moddas/debugmailer.js +0 -13
  672. package/test/moddas/fakeservice.js +0 -4
  673. package/test/moddas/voidstore.js +0 -66
  674. package/test/models/ident.js +0 -36
  675. package/test/models/task.js +0 -42
@@ -1,887 +0,0 @@
1
- import { EventEmitter } from "events";
2
- import { JSONSchema7 } from "json-schema";
3
- import { ModelGraph, ModelsTree } from "../application.js";
4
- import { Core } from "../core.js";
5
- import { Service } from "../services/service.js";
6
- import { Store, StoreEvents } from "../stores/store.js";
7
- import { OperationContext } from "../utils/context.js";
8
- import { HttpMethodType } from "../utils/httpcontext.js";
9
- import { ModelActions, RawModel } from "./relations.js";
10
- /**
11
- * Expose the model through API or GraphQL if it exists
12
- * The model will be exposed using its class name + 's'
13
- * If you need to have a specific plural, use the annotation WebdaPlural
14
- * to define the plural name
15
- *
16
- * @returns
17
- */
18
- export declare function Expose(params?: Partial<ExposeParameters>): (target: CoreModelDefinition) => void;
19
- /**
20
- *
21
- */
22
- export declare class CoreModelQuery {
23
- private type;
24
- private model;
25
- private attribute;
26
- private targetModel;
27
- constructor(type: string, model: CoreModel, attribute: string);
28
- /**
29
- * Retrieve target model definition
30
- * @returns
31
- */
32
- getTargetModel(): CoreModelDefinition;
33
- /**
34
- * Query the object
35
- * @param query
36
- * @returns
37
- */
38
- query(query?: string, context?: OperationContext): Promise<{
39
- results: CoreModel[];
40
- continuationToken?: string;
41
- }>;
42
- /**
43
- * Complete the query with condition
44
- * @param query
45
- * @returns
46
- */
47
- protected completeQuery(query?: string): string;
48
- /**
49
- *
50
- * @param callback
51
- * @param context
52
- */
53
- forEach(callback: (model: any) => Promise<void>, query?: string, context?: OperationContext, parallelism?: number): Promise<void>;
54
- /**
55
- * Iterate through all
56
- * @param context
57
- * @returns
58
- */
59
- iterate(query?: string, context?: OperationContext): AsyncGenerator<CoreModel, any, unknown>;
60
- /**
61
- * Get all the objects
62
- * @returns
63
- */
64
- getAll(context?: OperationContext): Promise<this[]>;
65
- }
66
- /**
67
- * Attribute of an object
68
- *
69
- * Filter out methods
70
- */
71
- export type Attributes<T extends object> = {
72
- [K in keyof T]: T[K] extends Function ? never : K;
73
- }[keyof T];
74
- /**
75
- * Filter type keys by type
76
- */
77
- export type FilterAttributes<T extends CoreModel, K> = {
78
- [L in keyof T]: T[L] extends K ? L : never;
79
- }[keyof T];
80
- /**
81
- * Define an Action on a model
82
- *
83
- * It is basically a method designed to be called by the API or external
84
- * systems
85
- */
86
- export interface ModelAction {
87
- /**
88
- * Method for the route
89
- *
90
- * By default ["PUT"]
91
- */
92
- methods?: HttpMethodType[];
93
- /**
94
- * Define if the action is global or per object
95
- *
96
- * The method that implement the action must be called
97
- * `_${actionName}`
98
- */
99
- global?: boolean;
100
- /**
101
- * Additional openapi info
102
- */
103
- openapi?: any;
104
- /**
105
- * Method of the action
106
- */
107
- method?: string;
108
- }
109
- /**
110
- * Expose parameters for the model
111
- */
112
- export interface ExposeParameters {
113
- /**
114
- * If model have parent but you still want it to be exposed as root
115
- * in domain-like service: DomainService, GraphQL
116
- *
117
- * It would create alias for the model in the root too
118
- */
119
- root?: boolean;
120
- /**
121
- * You can select to not expose some methods like create, update, delete, get, query
122
- */
123
- restrict: {
124
- /**
125
- * Create a new object
126
- */
127
- create?: boolean;
128
- /**
129
- * Update an existing object
130
- *
131
- * Includes PUT and PATCH
132
- */
133
- update?: boolean;
134
- /**
135
- * Query the object
136
- */
137
- query?: boolean;
138
- /**
139
- * Get a single object
140
- */
141
- get?: boolean;
142
- /**
143
- * Delete an object
144
- */
145
- delete?: boolean;
146
- /**
147
- * Do not create operations for the model
148
- */
149
- operation?: boolean;
150
- };
151
- }
152
- /**
153
- *
154
- */
155
- export interface CoreModelDefinition<T extends CoreModel = CoreModel> extends EventEmitter {
156
- new (): T;
157
- /**
158
- * If the model have some Expose annotation
159
- */
160
- Expose?: ExposeParameters;
161
- /**
162
- * Create a CoreModel object loaded with the content of object
163
- *
164
- * It allows polymorphism from Store
165
- *
166
- * @param model to create by default
167
- * @param object to load data from
168
- * @param context if the data is unsafe from http
169
- */
170
- factory<T extends CoreModel>(this: Constructor<T>, object: Partial<T>, context?: OperationContext): T;
171
- /**
172
- * Get the model actions
173
- */
174
- getActions(): {
175
- [key: string]: ModelAction;
176
- };
177
- /**
178
- * Get the model store
179
- */
180
- store(): Store<T>;
181
- /**
182
- * Get the model schema
183
- */
184
- getSchema(): JSONSchema7;
185
- /**
186
- * Get the model hierarchy
187
- */
188
- getHierarchy(): {
189
- ancestors: string[];
190
- children: ModelsTree;
191
- };
192
- /**
193
- * Get the model relations
194
- */
195
- getRelations(): ModelGraph;
196
- /**
197
- * Get Model identifier
198
- */
199
- getIdentifier(short?: boolean): string;
200
- /**
201
- * Complete uuid useful to implement uuid prefix or suffix
202
- * @param uid
203
- */
204
- completeUid(uid: string): string;
205
- /**
206
- * Get the model uuid field if you do not want to use the uuid field
207
- */
208
- getUuidField(): string;
209
- /**
210
- * Permission query for the model
211
- * @param context
212
- */
213
- getPermissionQuery(context?: OperationContext): null | {
214
- partial: boolean;
215
- query: string;
216
- };
217
- /**
218
- * Reference to an object without doing a DB request yet
219
- */
220
- ref: typeof CoreModel.ref;
221
- /**
222
- * Create a new model
223
- * @param this
224
- * @param data
225
- */
226
- create<T extends CoreModel>(this: Constructor<T>, data: RawModel<T>): Promise<T>;
227
- /**
228
- * Query the model
229
- * @param query
230
- */
231
- query(query?: string, includeSubclass?: boolean, context?: OperationContext): Promise<{
232
- results: T[];
233
- continuationToken?: string;
234
- }>;
235
- /**
236
- * Iterate through objects
237
- * @param query
238
- * @param includeSubclass
239
- * @param context
240
- */
241
- iterate(query?: string, includeSubclass?: boolean, context?: OperationContext): AsyncGenerator<T>;
242
- /**
243
- * Listen to events on the model
244
- * @param event
245
- * @param listener
246
- * @param async
247
- */
248
- on<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, listener: (evt: StoreEvents[Key]) => any, async?: boolean): this;
249
- /**
250
- * Listen to events on the model asynchronously
251
- * @param event
252
- * @param listener
253
- */
254
- onAsync<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, listener: (evt: StoreEvents[Key]) => any): this;
255
- /**
256
- * Emit an event for this class
257
- * @param this
258
- * @param event
259
- * @param evt
260
- */
261
- emit<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, evt: StoreEvents[Key]): any;
262
- /**
263
- * Emit an event for this class and wait for all listeners to finish
264
- * @param this
265
- * @param event
266
- * @param evt
267
- */
268
- emitSync<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, evt: StoreEvents[Key]): Promise<void>;
269
- /**
270
- * Return the event on the model that can be listened to by an
271
- * external authorized source
272
- * @see authorizeClientEvent
273
- */
274
- getClientEvents(): ({
275
- name: string;
276
- global?: boolean;
277
- } | string)[];
278
- /**
279
- * Authorize a public event subscription
280
- * @param event
281
- * @param context
282
- */
283
- authorizeClientEvent(_event: string, _context: OperationContext, _model?: T): boolean;
284
- /**
285
- * Iterate through the model
286
- * @param query
287
- * @param includeSubclass
288
- */
289
- iterate(query?: string, includeSubclass?: boolean): AsyncGenerator<T>;
290
- /**
291
- * EventEmitter interface
292
- * @param event
293
- * @param listener
294
- */
295
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
296
- /**
297
- * EventEmitter interface
298
- * @param event
299
- * @param listener
300
- */
301
- once(event: string | symbol, listener: (...args: any[]) => void): this;
302
- /**
303
- * EventEmitter interface
304
- * @param event
305
- * @param listener
306
- */
307
- removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
308
- /**
309
- * EventEmitter interface
310
- * @param event
311
- * @param listener
312
- */
313
- off(eventName: string | symbol, listener: (...args: any[]) => void): this;
314
- /**
315
- * EventEmitter interface
316
- * @param event
317
- * @param listener
318
- */
319
- removeAllListeners(eventName?: any): this;
320
- }
321
- export type Constructor<T, K extends Array<any> = []> = new (...args: K) => T;
322
- /**
323
- * Make a property hidden from json and schema
324
- *
325
- * This property will not be saved in the store
326
- * Nor it will be exposed in the API
327
- *
328
- * @param target
329
- * @param propertyKey
330
- */
331
- export declare function NotEnumerable(target: any, propertyKey: string): void;
332
- /**
333
- * Define an object method as an action
334
- * @param target
335
- * @param propertyKey
336
- */
337
- export declare function Action(options?: {
338
- methods?: HttpMethodType[];
339
- openapi?: any;
340
- name?: string;
341
- }): (target: any, propertyKey: string) => void;
342
- export declare class ModelRef<T extends CoreModel> {
343
- protected uuid: string;
344
- protected store: Store<T>;
345
- protected model: CoreModelDefinition<T>;
346
- protected parent: CoreModel;
347
- constructor(uuid: string, model: CoreModelDefinition<T>, parent?: CoreModel);
348
- get(context?: OperationContext): Promise<T>;
349
- set(id: string | T): void;
350
- toString(): string;
351
- toJSON(): string;
352
- getUuid(): string;
353
- deleteItemFromCollection(prop: FilterAttributes<T, any[]>, index: number, itemWriteCondition: any, itemWriteConditionField?: string): Promise<this>;
354
- upsertItemToCollection(prop: FilterAttributes<T, any[]>, item: any, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<this>;
355
- exists(): Promise<boolean>;
356
- delete(): Promise<void>;
357
- conditionalPatch(updates: Partial<T>, conditionField: any, condition: any): Promise<boolean>;
358
- patch(updates: Partial<T>): Promise<boolean>;
359
- setAttribute(attribute: keyof T, value: any): Promise<this>;
360
- removeAttribute(attribute: keyof T, itemWriteCondition?: any, itemWriteConditionField?: keyof T): Promise<this>;
361
- incrementAttributes(info: {
362
- property: FilterAttributes<T, number>;
363
- value: number;
364
- }[]): Promise<this>;
365
- }
366
- export declare class ModelRefWithCreate<T extends CoreModel> extends ModelRef<T> {
367
- /**
368
- * Allow to create a model
369
- * @param defaultValue
370
- * @param context
371
- * @param withSave
372
- * @returns
373
- */
374
- create(defaultValue: RawModel<T>, context?: OperationContext, withSave?: boolean): Promise<T>;
375
- /**
376
- * Load a model from the known store
377
- *
378
- * @param this the class from which the static is called
379
- * @param id of the object to load
380
- * @param defaultValue if object not found return a default object
381
- * @param context to set on the object
382
- * @returns
383
- */
384
- getOrCreate(defaultValue: RawModel<T>, context?: OperationContext, withSave?: boolean): Promise<T>;
385
- }
386
- export declare class ModelRefCustom<T extends CoreModel> extends ModelRef<T> {
387
- uuid: string;
388
- constructor(uuid: string, model: CoreModelDefinition<T>, data: any, parent: CoreModel);
389
- toJSON(): any;
390
- getUuid(): string;
391
- }
392
- export type ModelRefCustomProperties<T extends CoreModel, K> = ModelRefCustom<T> & K;
393
- export declare const Emitters: WeakMap<Constructor<CoreModel>, EventEmitter>;
394
- /**
395
- * Basic Object in Webda
396
- *
397
- * It is used to define a data stored
398
- * Any variable starting with _ can only be set by the server
399
- * Any variable starting with __ won't be exported outside of the server
400
- *
401
- * @class
402
- * @WebdaModel
403
- */
404
- declare class CoreModel {
405
- /**
406
- * Class reference to the object
407
- */
408
- __class: CoreModelDefinition<this>;
409
- /**
410
- * Type name
411
- */
412
- __type: string;
413
- /**
414
- * Types name
415
- */
416
- __types: string[];
417
- /**
418
- * Object context
419
- *
420
- * @TJS-ignore
421
- */
422
- __ctx: OperationContext;
423
- /**
424
- * If object is attached to its store
425
- *
426
- * @TJS-ignore
427
- */
428
- __store: Store<this>;
429
- __dirty: Set<string | symbol>;
430
- /**
431
- * Creation date
432
- */
433
- _creationDate: Date;
434
- /**
435
- * Last update date
436
- */
437
- _lastUpdate: Date;
438
- /**
439
- * If an object is deleted but not removed from DB for historic
440
- *
441
- * @ignore
442
- */
443
- __deleted: boolean;
444
- constructor();
445
- /**
446
- * Listen to events on the model
447
- * @param event
448
- * @param listener
449
- * @param async
450
- */
451
- static on<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, listener: (evt: StoreEvents[Key]) => any, async?: boolean): any;
452
- /**
453
- * Emit an event for this class
454
- * @param this
455
- * @param event
456
- * @param evt
457
- */
458
- static emit<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, evt: StoreEvents[Key]): void;
459
- /**
460
- * Emit an event for this class and wait for all listeners to finish
461
- * @param this
462
- * @param event
463
- * @param evt
464
- */
465
- static emitSync<T extends CoreModel, Key extends keyof StoreEvents>(this: Constructor<T>, event: Key, evt: StoreEvents[Key]): Promise<void>;
466
- /**
467
- * Listen to events on the model asynchronously
468
- * @param event
469
- * @param listener
470
- */
471
- static onAsync<Key extends keyof StoreEvents>(event: Key, listener: (evt: StoreEvents[Key]) => any, queue?: string): any;
472
- /**
473
- *
474
- * @param event
475
- * @param listener
476
- * @returns
477
- */
478
- static addListener<Key extends keyof StoreEvents>(event: Key, listener: (...args: any[]) => void): any;
479
- static emitter(method: any, ...args: any[]): any;
480
- static removeListener(...args: any[]): any;
481
- static off(...args: any[]): any;
482
- static once(...args: any[]): any;
483
- static removeAllListeners(...args: any[]): any;
484
- static setMaxListeners(...args: any[]): any;
485
- static getMaxListeners(...args: any[]): any;
486
- static listeners(...args: any[]): any;
487
- static rawListeners(...args: any[]): any;
488
- static listenerCount(...args: any[]): any;
489
- static prependListener(...args: any[]): any;
490
- static prependOnceListener(...args: any[]): any;
491
- static eventNames(...args: any[]): any;
492
- /**
493
- *
494
- * @returns
495
- */
496
- static getRelations(): ModelGraph;
497
- /**
498
- * Do not declare any public events by default
499
- * @returns
500
- */
501
- static getClientEvents(): any[];
502
- /**
503
- * Does not allow any event by default
504
- * @param _event
505
- * @param _context
506
- * @returns
507
- */
508
- static authorizeClientEvent(_event: string, _context: OperationContext, _model?: CoreModel): boolean;
509
- /**
510
- * Get Store for this model
511
- * @param this
512
- * @returns
513
- */
514
- static store<T extends CoreModel>(this: Constructor<T>): Store<T>;
515
- /**
516
- * Complete the uid with prefix if any
517
- *
518
- * Useful when object are stored with a prefix for full uuid
519
- * @param uid
520
- * @returns
521
- */
522
- static completeUid(uid: string): string;
523
- /**
524
- * Return the known schema
525
- * @returns
526
- */
527
- static getSchema(): JSONSchema7;
528
- /**
529
- * Get a reference to a model
530
- * @param this
531
- * @param uid
532
- * @returns
533
- */
534
- static ref<T extends CoreModel>(this: Constructor<T>, uid: string): ModelRefWithCreate<T>;
535
- /**
536
- * Get a reference to a model
537
- * @param this
538
- * @param uid
539
- * @returns
540
- */
541
- static create<T extends CoreModel>(this: Constructor<T>, data: RawModel<T>): Promise<T>;
542
- /**
543
- * Get identifier for this model
544
- * @returns
545
- */
546
- static getIdentifier(short?: boolean): string;
547
- /**
548
- * Get the model hierarchy
549
- *
550
- * Ancestors will contain every model it inherits from
551
- * Children will contain every model that inherits from this model in a tree structure
552
- */
553
- static getHierarchy(): {
554
- ancestors: string[];
555
- children: ModelsTree;
556
- };
557
- /**
558
- * Unflat an object
559
- * @param data
560
- * @param split
561
- * @returns
562
- */
563
- static unflat<T = any>(data: any, split?: string): T;
564
- /**
565
- * Create subobject for a model
566
- *
567
- * Useful for counters
568
- *
569
- * @param split
570
- * @returns
571
- */
572
- unflat<T>(split?: string): T;
573
- /**
574
- * Flat an object into another
575
- *
576
- * {
577
- * a: {
578
- * b: 1
579
- * },
580
- * c: 1
581
- * }
582
- *
583
- * become
584
- *
585
- * {
586
- * "a#b": 1
587
- * "c": 1
588
- * }
589
- *
590
- * @param target
591
- * @param data
592
- * @param split
593
- * @param prefix
594
- */
595
- static flat(target: any, data: any, split?: string, prefix?: string): any;
596
- /**
597
- * Complete the query with __type/__types
598
- * @param query
599
- * @param includeSubclass
600
- * @returns
601
- */
602
- protected static completeQuery(query: string, includeSubclass?: boolean): string;
603
- /**
604
- * Iterate through the model
605
- *
606
- * How to use a iterator is:
607
- *
608
- * ```
609
- * for await (const model of CoreModel.iterate()) {
610
- * // Do something with my model
611
- * }
612
- * ```
613
- *
614
- * @param this
615
- * @param query
616
- * @param includeSubclass
617
- * @param context
618
- * @returns
619
- */
620
- static iterate<T extends CoreModel>(this: Constructor<T>, query?: string, includeSubclass?: boolean, context?: OperationContext): AsyncGenerator<T>;
621
- /**
622
- * Query for models
623
- * @param this
624
- * @param id
625
- * @returns
626
- */
627
- static query<T extends CoreModel>(this: Constructor<T>, query?: string, includeSubclass?: boolean, context?: OperationContext): Promise<{
628
- results: T[];
629
- continuationToken?: string;
630
- }>;
631
- /**
632
- * Return a proxy to the object to detect if dirty
633
- * @returns
634
- */
635
- getProxy(): this;
636
- /**
637
- * Return true if needs a save
638
- * @returns
639
- */
640
- isDirty(): boolean;
641
- /**
642
- *
643
- * @returns the uuid of the object
644
- */
645
- getUuid(): string;
646
- /**
647
- *
648
- * @param uuid
649
- * @param target
650
- */
651
- setUuid(uuid: string, target?: this): this;
652
- /**
653
- * Get actions callable on an object
654
- *
655
- * This will expose them by the Store with /storeUrl/{uuid}/{action}
656
- */
657
- static getActions<T>(this: Constructor<T>): ModelActions;
658
- /**
659
- * Return the expressable query for permission
660
- *
661
- * @param context of the query
662
- * @returns
663
- */
664
- static getPermissionQuery(_ctx: OperationContext): null | {
665
- partial: boolean;
666
- query: string;
667
- };
668
- checkAct(context: OperationContext, action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | "update_binary_metadata" | "subscribe" | string): Promise<void>;
669
- /**
670
- * By default nothing is permitted on a CoreModel
671
- * @returns
672
- */
673
- canAct(_context: OperationContext, _action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | "update_binary_metadata" | "subscribe" | string): Promise<string | boolean>;
674
- /**
675
- * Get the UUID property
676
- */
677
- static getUuidField(): string;
678
- /**
679
- * Create an object
680
- * @returns
681
- */
682
- static factory<T extends CoreModel>(this: Constructor<T>, object: Partial<T>, context?: OperationContext): T;
683
- /**
684
- * Detect what looks like a CoreModel but can be from different version
685
- * @param object
686
- * @returns
687
- */
688
- static instanceOf(object: any): boolean;
689
- /**
690
- * Return a unique reference within the application to the object
691
- *
692
- * It contains the Store containing it
693
- * @returns
694
- */
695
- getFullUuid(): string;
696
- /**
697
- * Get an object from the full uuid
698
- * @param core
699
- * @param fullUuid
700
- * @param partials
701
- * @returns
702
- */
703
- static fromFullUuid<T extends CoreModel = CoreModel>(fullUuid: string, core?: Core, partials?: any): Promise<T>;
704
- /**
705
- * Allow to define custom permission per attribute
706
- *
707
- * This method allows you to do permission based attribute
708
- * But also a mask destructive attribute
709
- *
710
- * @param key
711
- * @param value
712
- * @param mode
713
- * @param context
714
- * @returns updated value
715
- */
716
- attributePermission(key: string, value: any, mode: "READ" | "WRITE", context?: OperationContext): any;
717
- /**
718
- * Load an object from RAW
719
- *
720
- * @param raw data
721
- * @param secure if false will ignore any _ variable
722
- */
723
- load(raw: RawModel<this>, secure?: boolean, relations?: boolean): this;
724
- /**
725
- * Patch every attribute that is based on a relation
726
- * to add all the helpers
727
- */
728
- protected handleRelations(): void;
729
- /**
730
- * Context of the request
731
- */
732
- setContext(ctx: OperationContext): this;
733
- /**
734
- * Get object context
735
- *
736
- * Global object does not belong to a request
737
- */
738
- getContext<T extends OperationContext>(): T;
739
- /**
740
- * Return the object registered store
741
- */
742
- getStore(): Store<this>;
743
- /**
744
- * Get the object
745
- * @returns
746
- */
747
- get(): Promise<this>;
748
- /**
749
- * Get the object again
750
- *
751
- * @throws Error if the object is not coming from a store
752
- */
753
- refresh(): Promise<this>;
754
- /**
755
- * Delete this object
756
- *
757
- * @throws Error if the object is not coming from a store
758
- */
759
- delete(): Promise<void>;
760
- /**
761
- * Patch current object with this update
762
- * @param obj
763
- * @param conditionField if null no condition used otherwise fallback to lastUpdate
764
- * @param conditionValue
765
- */
766
- patch(obj: Partial<this>, conditionField?: keyof this | null, conditionValue?: any): Promise<void>;
767
- /**
768
- * Save this object
769
- *
770
- * @throws Error if the object is not coming from a store
771
- */
772
- save(full?: boolean | keyof this, ...args: (keyof this)[]): Promise<this>;
773
- /**
774
- * Validate objet modification
775
- *
776
- * @param ctx
777
- * @param updates
778
- */
779
- validate(ctx: OperationContext, updates: any, ignoreRequired?: boolean): Promise<boolean>;
780
- /**
781
- * Generate uuid for the object
782
- *
783
- * @param object
784
- * @returns
785
- */
786
- generateUid(_object?: any): string;
787
- /**
788
- * Return the object to be serialized without the __store
789
- *
790
- * @param stringify
791
- * @returns
792
- */
793
- toStoredJSON(stringify?: boolean): any | string;
794
- /**
795
- * Get a pre typed service
796
- *
797
- * @param service to retrieve
798
- * WARNING: Only object attached to a store can retrieve service
799
- */
800
- getService<T extends Service>(service: any): T;
801
- /**
802
- * Remove the specific attributes if not secure
803
- *
804
- *
805
- *
806
- * @param secure serialize server fields also
807
- * @returns filtered object to be serialized
808
- */
809
- _toJSON(secure: any): any;
810
- /**
811
- * Return the object without sensitive attributes
812
- *
813
- * @returns Object to serialize
814
- */
815
- toJSON(): any;
816
- /**
817
- * Called when object is about to be deleted
818
- */
819
- _onDelete(): Promise<void>;
820
- /**
821
- * Called when object has been deleted
822
- */
823
- _onDeleted(): Promise<void>;
824
- /**
825
- * Called when object is retrieved
826
- */
827
- _onGet(): Promise<void>;
828
- /**
829
- * Called when object is about to be saved
830
- */
831
- _onSave(): Promise<void>;
832
- /**
833
- * Called when object is saved
834
- */
835
- _onSaved(): Promise<void>;
836
- /**
837
- * Called when object is about to be updates
838
- *
839
- * @param updates to be send
840
- */
841
- _onUpdate(_updates: any): Promise<void>;
842
- /**
843
- * Called when object is updated
844
- */
845
- _onUpdated(): Promise<void>;
846
- /**
847
- * Set attribute on the object and database
848
- * @param property
849
- * @param value
850
- */
851
- setAttribute(property: keyof this, value: any): Promise<void>;
852
- /**
853
- * Remove attribute from both the object and db
854
- * @param property
855
- */
856
- removeAttribute(property: keyof this): Promise<void>;
857
- /**
858
- * Increment an attribute both in store and object
859
- * @param property
860
- * @param value
861
- */
862
- incrementAttribute(property: FilterAttributes<this, number>, value: number): Promise<void>;
863
- /**
864
- * Return a model ref
865
- * @returns
866
- */
867
- getRef<T extends this>(): ModelRef<T>;
868
- /**
869
- * Increment a attributes both in store and object
870
- * @param info
871
- */
872
- incrementAttributes(info: {
873
- property: string;
874
- value: number;
875
- }[]): Promise<void>;
876
- }
877
- /**
878
- * CoreModel with a uuid
879
- */
880
- declare class UuidModel extends CoreModel {
881
- uuid: string;
882
- /**
883
- * @override
884
- */
885
- validate(ctx: OperationContext<any, any>, updates: any, ignoreRequired?: boolean): Promise<boolean>;
886
- }
887
- export { CoreModel, UuidModel };