@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
package/lib/core.d.ts DELETED
@@ -1,740 +0,0 @@
1
- import { WorkerLogLevel, WorkerOutput } from "@webda/workout";
2
- import Ajv, { ErrorObject } from "ajv";
3
- import * as events from "events";
4
- import { OpenAPIV3 } from "openapi-types";
5
- import { Counter, CounterConfiguration, Gauge, GaugeConfiguration, Histogram, HistogramConfiguration } from "prom-client";
6
- import { Writable } from "stream";
7
- import { Application, Configuration } from "./application.js";
8
- import { BinaryService, ContextProvider, ContextProviderInfo, GlobalContext, HttpContext, Logger, OperationContext, RegExpValidator, Service, Store, WebContext } from "./index.js";
9
- import * as WebdaQL from "@webda/ql";
10
- import { Constructor, CoreModel, CoreModelDefinition } from "./models/coremodel.js";
11
- import { RouteInfo, Router } from "./router.js";
12
- import CryptoService from "./services/cryptoservice.js";
13
- export declare class EventEmitterUtils {
14
- static emit(eventEmitter: events.EventEmitter, event: string | number | symbol, data: any): boolean;
15
- static emitSync(eventEmitter: events.EventEmitter, event: string | number | symbol, data: any): Promise<any[]>;
16
- /**
17
- * Display a message if the listener takes too long
18
- * @param start
19
- */
20
- static elapse(start: number): void;
21
- }
22
- /**
23
- * Copy from https://github.com/ajv-validator/ajv/blob/master/lib/runtime/validation_error.ts
24
- * It is not exported by ajv
25
- */
26
- export declare class ValidationError extends Error {
27
- readonly errors: Partial<ErrorObject>[];
28
- readonly ajv: true;
29
- readonly validation: true;
30
- constructor(errors: Partial<ErrorObject>[]);
31
- }
32
- /**
33
- * Operation
34
- */
35
- export declare class OperationError extends Error {
36
- operation: string;
37
- type: "Unknown" | "PermissionDenied" | "InvalidInput";
38
- constructor(operation: string, type: "Unknown" | "PermissionDenied" | "InvalidInput");
39
- }
40
- /**
41
- * Define an operation within webda app
42
- */
43
- export interface OperationDefinition {
44
- /**
45
- * Id of the operation
46
- */
47
- id: string;
48
- /**
49
- * Name of the schema that defines operation input
50
- */
51
- input?: string;
52
- /**
53
- * Name of the schema that defines operation output
54
- */
55
- output?: string;
56
- /**
57
- * WebdaQL to execute on session to know if
58
- * operation is available to user
59
- */
60
- permission?: string;
61
- /**
62
- * Service implementing the operation
63
- */
64
- service: string;
65
- /**
66
- * Method implementing the operation
67
- */
68
- method: string;
69
- }
70
- /**
71
- * Define an operation within webda app
72
- */
73
- export interface OperationDefinitionInfo extends OperationDefinition {
74
- /**
75
- * Contains the parse permission query
76
- */
77
- permissionQuery?: WebdaQL.QueryValidator;
78
- }
79
- /**
80
- *
81
- */
82
- export type RegistryEntry<T = any> = CoreModel & T;
83
- /**
84
- * Ensure all events store the context in the same place
85
- */
86
- export interface EventWithContext<T extends OperationContext = OperationContext> {
87
- context: T;
88
- }
89
- /**
90
- * RequestFilter allow a service which implement it to control incoming request
91
- *
92
- * If one of the filter replies with "true" then the request will go through
93
- */
94
- export interface RequestFilter<T extends WebContext = WebContext> {
95
- /**
96
- * Return true if the request should be allowed
97
- *
98
- * @param context to check for
99
- */
100
- checkRequest(context: T, type: "CORS" | "AUTH"): Promise<boolean>;
101
- }
102
- /**
103
- * Filter request based on their origin
104
- *
105
- * @category CoreFeatures
106
- */
107
- export declare class OriginFilter implements RequestFilter<WebContext> {
108
- regexs: RegExpValidator;
109
- constructor(origins: string[]);
110
- /**
111
- *
112
- * @param context
113
- * @returns
114
- */
115
- checkRequest(context: WebContext): Promise<boolean>;
116
- }
117
- /**
118
- * Authorize requests based on the website
119
- */
120
- export declare class WebsiteOriginFilter implements RequestFilter<WebContext> {
121
- websites: string[];
122
- constructor(website: any);
123
- checkRequest(context: WebContext): Promise<boolean>;
124
- }
125
- export declare function Bean(constructor: Function): void;
126
- export type CoreEvents = {
127
- /**
128
- * Emitted when new result is sent
129
- */
130
- "Webda.Result": EventWithContext<WebContext>;
131
- /**
132
- * Emitted when new request comes in
133
- */
134
- "Webda.Request": EventWithContext<WebContext>;
135
- /**
136
- * Emitted when a request does not match any route
137
- */
138
- "Webda.404": EventWithContext<WebContext>;
139
- /**
140
- * Emitted when Services have been initialized
141
- */
142
- "Webda.Init.Services": {
143
- [key: string]: Service;
144
- };
145
- /**
146
- * Emitted when Services have been created
147
- */
148
- "Webda.Create.Services": {
149
- [key: string]: Service;
150
- };
151
- /**
152
- * Emitted when Core is initialized
153
- */
154
- "Webda.Init": Configuration;
155
- /**
156
- * Emitted whenever a new Context is created
157
- */
158
- "Webda.NewContext": {
159
- context: OperationContext;
160
- info: ContextProviderInfo;
161
- };
162
- /**
163
- * Sent when route is added to context
164
- */
165
- "Webda.UpdateContextRoute": {
166
- context: WebContext;
167
- };
168
- [key: string]: unknown;
169
- };
170
- type NoSchemaResult = null;
171
- type SchemaValidResult = true;
172
- /**
173
- * This is the main class of the framework, it handles the routing, the services initialization and resolution
174
- *
175
- * @class Core
176
- * @category CoreFeatures
177
- */
178
- export declare class Core<E extends CoreEvents = CoreEvents> extends events.EventEmitter {
179
- /**
180
- * Webda Services
181
- * @hidden
182
- */
183
- protected services: {
184
- [key: string]: Service;
185
- };
186
- /**
187
- * Application that generates this Core
188
- */
189
- protected application: Application;
190
- /**
191
- * Router that will route http request in
192
- */
193
- protected router: Router;
194
- /**
195
- * If Core is already initiated
196
- */
197
- protected _initiated: boolean;
198
- /**
199
- * Services who failed to create or initialize
200
- */
201
- protected failedServices: {
202
- [key: string]: any;
203
- };
204
- /**
205
- * Init promise to ensure, webda is initiated
206
- * Used for init() method
207
- */
208
- protected _init: Promise<void>;
209
- /**
210
- * Configuration loaded from webda.config.json
211
- * @hidden
212
- */
213
- protected configuration: Configuration;
214
- /**
215
- * JSON Schema validator instance
216
- */
217
- protected _ajv: Ajv;
218
- /**
219
- * JSON Schema registry
220
- * Save if a schema was added to Ajv already
221
- */
222
- protected _ajvSchemas: {
223
- [key: string]: true;
224
- };
225
- /**
226
- * Current executor
227
- */
228
- protected _currentExecutor: any;
229
- protected _configFile: string;
230
- /**
231
- * Contains the current initialization process
232
- */
233
- protected _initPromise: Promise<void>;
234
- /**
235
- * When the Core was initialized
236
- */
237
- protected _initTime: number;
238
- /**
239
- * Console logger
240
- * @hidden
241
- */
242
- protected logger: Logger;
243
- /**
244
- * Request Filter registry
245
- *
246
- * Added via [[Webda.registerRequestFilter]]
247
- * See [[CorsFilter]]
248
- */
249
- protected _requestFilters: RequestFilter<WebContext>[];
250
- /**
251
- * CORS Filter registry
252
- *
253
- * Added via [[Webda.registerCORSRequestFilter]]
254
- * See [[CorsFilter]]
255
- */
256
- protected _requestCORSFilters: RequestFilter<WebContext>[];
257
- /**
258
- * Worker output
259
- *
260
- * @see @webda/workout
261
- */
262
- private workerOutput;
263
- /**
264
- * Store the instance id
265
- */
266
- private instanceId;
267
- /**
268
- * Application registry
269
- */
270
- protected registry: Store<RegistryEntry>;
271
- /**
272
- * Manage encryption within the application
273
- */
274
- protected cryptoService: CryptoService;
275
- /**
276
- * Contains all operations defined by services
277
- */
278
- protected operations: {
279
- [key: string]: OperationDefinitionInfo;
280
- };
281
- /**
282
- * Cache for model to store resolution
283
- */
284
- private _modelStoresCache;
285
- /**
286
- * Cache for model to store resolution
287
- */
288
- private _modelBinariesCache;
289
- /**
290
- * Store the Core singleton
291
- *
292
- * The main storage is on the process itself
293
- * This second storage allow to identify dual import
294
- */
295
- private static singleton;
296
- /**
297
- * True if the dual import warning has been sent
298
- */
299
- private _dualImportWarn;
300
- /**
301
- * Registered context providers
302
- */
303
- private _contextProviders;
304
- /**
305
- * System context
306
- */
307
- protected globalContext: GlobalContext;
308
- /**
309
- *
310
- */
311
- interuptables: {
312
- cancel: () => Promise<void>;
313
- }[];
314
- /**
315
- * @params {Object} config - The configuration Object, if undefined will load the configuration file
316
- */
317
- constructor(application?: Application);
318
- /**
319
- * Register a cancelable process
320
- * @param interuptable
321
- */
322
- static registerInteruptableProcess(interuptable: {
323
- cancel: () => Promise<void>;
324
- }): void;
325
- /**
326
- * Unregister a cancelable process
327
- * @param interuptable
328
- */
329
- static unregisterInteruptableProcess(interuptable: {
330
- cancel: () => Promise<void>;
331
- }): void;
332
- /**
333
- * Get the current script location
334
- * @returns
335
- */
336
- private getScriptUrl;
337
- /**
338
- * Return information on the singleton import and version
339
- * @param singleton
340
- * @returns
341
- */
342
- private static getSingletonInfo;
343
- /**
344
- * Get the singleton of Webda Core
345
- * @returns
346
- */
347
- static get(): Core;
348
- /**
349
- * Enforce a specific store for a model
350
- *
351
- * Useful in some specific case when you want to update store dynamically
352
- *
353
- * @param model
354
- * @param store
355
- */
356
- setModelStore(model: Constructor<CoreModel>, store: Store): void;
357
- /**
358
- * Get the store assigned to this model
359
- * @param model
360
- * @returns
361
- */
362
- getModelStore<T extends CoreModel>(modelOrConstructor: Constructor<T> | T): Store<T>;
363
- /**
364
- * Get the service that manage a model
365
- * @param modelOrConstructor
366
- * @param attribute
367
- * @returns
368
- */
369
- getBinaryStore<T extends CoreModel>(modelOrConstructor: Constructor<T> | T, attribute: string): BinaryService;
370
- /**
371
- * Return Core instance id
372
- *
373
- * It is a random generated string
374
- */
375
- getInstanceId(): string;
376
- /**
377
- * Get absolute url with subpath
378
- * @param subpath
379
- */
380
- getApiUrl(subpath?: string): string;
381
- /**
382
- * Return application path with subpath
383
- *
384
- * Helper that redirect to this.application.getAppPath
385
- *
386
- * @param subpath
387
- * @returns
388
- */
389
- getAppPath(subpath?: string): string;
390
- /**
391
- * Retrieve all detected modules definition
392
- */
393
- getModules(): import("./application").CachedModule;
394
- /**
395
- * Return application definition
396
- */
397
- getApplication(): Application;
398
- /**
399
- * Get WorkerOutput
400
- */
401
- getWorkerOutput(): WorkerOutput;
402
- /**
403
- * Init one service
404
- * @param service
405
- */
406
- protected initService(service: string): Promise<void>;
407
- /**
408
- * Get an object from the application based on its full uuid
409
- * @param fullUuid
410
- * @param partials
411
- */
412
- getModelObject<T extends CoreModel = CoreModel>(fullUuid: string, partials?: any): Promise<T>;
413
- /**
414
- * Init Webda
415
- *
416
- * It will resolve Services init method and autolink
417
- */
418
- init(): Promise<void>;
419
- /**
420
- * Pause for time ms
421
- *
422
- * @param time ms
423
- */
424
- static sleep(time: any): Promise<void>;
425
- /**
426
- * Check if an operation can be executed with the current context
427
- * Not checking the input use `checkOperation` instead to check everything
428
- * @param context
429
- * @param operationId
430
- * @throws OperationError if operation is unknown
431
- * @returns true if operation can be executed
432
- */
433
- checkOperationPermission(context: OperationContext, operationId: string): boolean;
434
- /**
435
- * Check if an operation can be executed with the current context
436
- * @param context
437
- * @param operationId
438
- */
439
- checkOperation(context: OperationContext, operationId: string): Promise<void>;
440
- /**
441
- * Call an operation within the framework
442
- */
443
- callOperation(context: OperationContext, operationId: string): Promise<any>;
444
- /**
445
- * Get available operations
446
- * @returns
447
- */
448
- listOperations(): {
449
- [key: string]: Omit<OperationDefinition, "service" | "method">;
450
- };
451
- /**
452
- * Register a new operation within the app
453
- * @param operationId
454
- * @param definition
455
- */
456
- registerOperation(operationId: string, definition: OperationDefinition): void;
457
- /**
458
- * Register a request filtering
459
- *
460
- * Will apply to all requests regardless of the devMode
461
- * @param filter
462
- */
463
- registerRequestFilter(filter: RequestFilter<WebContext>): void;
464
- /**
465
- * Register a CORS request filtering
466
- *
467
- * Does not apply in devMode
468
- * @param filter
469
- */
470
- registerCORSFilter(filter: RequestFilter<WebContext>): void;
471
- /**
472
- * Register a new context provider
473
- * @param provider
474
- */
475
- registerContextProvider(provider: ContextProvider): void;
476
- /**
477
- * Validate the object with schema
478
- *
479
- * @param schema path to use
480
- * @param object to validate
481
- */
482
- validateSchema(webdaObject: CoreModel | string, object: any, ignoreRequired?: boolean): NoSchemaResult | SchemaValidResult;
483
- /**
484
- * Return webda current version
485
- *
486
- * @returns package version
487
- * @since 0.4.0
488
- */
489
- getVersion(): string;
490
- /**
491
- * To define the locales just add a locales: ['en-GB', 'fr-FR'] in your host global configuration
492
- *
493
- * @return The configured locales or "en-GB" if none are defined
494
- */
495
- getLocales(): string[];
496
- /**
497
- * Get a Logger for a class
498
- * @param clazz
499
- */
500
- getLogger(clazz: string | Service): Logger;
501
- /**
502
- * Add a route dynamicaly
503
- *
504
- * @param {String} url of the route can contains dynamic part like {uuid}
505
- * @param {Object} info the type of executor
506
- */
507
- addRoute(url: string, info: RouteInfo): void;
508
- /**
509
- * Remove a route dynamicly
510
- *
511
- * @param {String} url to remove
512
- */
513
- removeRoute(url: string): void;
514
- /**
515
- * Return current Router object
516
- */
517
- getRouter(): Router;
518
- /**
519
- * Check for a service name and return the wanted singleton or undefined if none found
520
- *
521
- * @param {String} name The service name to retrieve
522
- */
523
- getService<T extends Service>(name?: string): T;
524
- /**
525
- * Return a map of defined services
526
- * @returns {{}}
527
- */
528
- getServices(): {
529
- [key: string]: Service;
530
- };
531
- /**
532
- * Return a map of services that extends type
533
- * @param type The type of implementation
534
- * @returns {{}}
535
- */
536
- getServicesOfType<T extends Service>(type?: Constructor<T, [Core, string, any]>): {
537
- [key: string]: T;
538
- };
539
- getConfiguration(): Configuration;
540
- /**
541
- * Return a map of defined stores
542
- * @returns {{}}
543
- */
544
- getStores(): {
545
- [key: string]: Store;
546
- };
547
- /**
548
- * Return a map of defined models
549
- * @returns {{}}
550
- */
551
- getModels(): {
552
- [key: string]: CoreModelDefinition;
553
- };
554
- /**
555
- * Check for a model name and return the wanted class or throw exception if none found
556
- *
557
- * @param {String} name The model name to retrieve
558
- */
559
- getModel<T extends CoreModel = CoreModel>(name: any): CoreModelDefinition<T>;
560
- /**
561
- * Add to context information and executor based on the http context
562
- */
563
- updateContextWithRoute(ctx: WebContext): boolean;
564
- /**
565
- * Flush the headers to the response, no more header modification is possible after that
566
- *
567
- * This method should set the `context.setFlushedHeaders()` and use of `context.hasFlushedHeaders()`
568
- *
569
- * @abstract
570
- */
571
- flushHeaders(_context: WebContext): void;
572
- /**
573
- * Flush the entire response to the client
574
- */
575
- flush(_context: WebContext): void;
576
- /**
577
- * Return if Webda is in debug mode
578
- */
579
- isDebug(): boolean;
580
- /**
581
- * Return the global parameters of a domain
582
- */
583
- getGlobalParams(): any;
584
- /**
585
- * Get the system context
586
- * @returns
587
- */
588
- getGlobalContext(): GlobalContext;
589
- /**
590
- * Set the system context
591
- * @param context
592
- */
593
- setGlobalContext(context: GlobalContext): void;
594
- /**
595
- * Reinit one service
596
- * @param service
597
- */
598
- protected reinitService(service: string): Promise<void>;
599
- /**
600
- * Reinit all services with updated parameters
601
- * @param updates
602
- * @returns
603
- */
604
- reinit(updates: any): Promise<void>;
605
- /**
606
- * Get a full resolved service parameter
607
- *
608
- * @param service
609
- * @param configuration
610
- * @returns
611
- */
612
- getServiceParams(service: string, configuration?: {
613
- parameters?: any;
614
- services: any;
615
- }): any;
616
- protected createService(services: any, service: string): void;
617
- getBeans(): any;
618
- /**
619
- * @hidden
620
- *
621
- */
622
- protected createServices(excludes?: string[]): void;
623
- /**
624
- * A registry is a predefined store
625
- * @returns
626
- */
627
- getRegistry(): Store<RegistryEntry>;
628
- /**
629
- * Return the crypto service
630
- * @returns
631
- */
632
- getCrypto(): CryptoService;
633
- /**
634
- * Stop all services
635
- */
636
- stop(): Promise<void>;
637
- protected jsonFilter(key: string, value: any): any;
638
- static getMachineId(): string;
639
- /**
640
- * Init services and Beans along with Routes
641
- */
642
- initStatics(): void;
643
- /**
644
- * Get a context based on the info
645
- * @param info
646
- * @returns
647
- */
648
- newContext<T extends OperationContext>(info: ContextProviderInfo, noInit?: boolean): Promise<OperationContext>;
649
- /**
650
- * Create a new context for a request
651
- *
652
- * @class Service
653
- * @param httpContext THe HTTP request context
654
- * @param stream - The request output stream if any
655
- * @return A new context object to pass along
656
- */
657
- newWebContext<T extends WebContext>(httpContext: HttpContext, stream?: Writable, noInit?: boolean): Promise<T>;
658
- /**
659
- * Convert an object to JSON using the Webda json filter
660
- *
661
- * @class Service
662
- * @param {Object} object - The object to export
663
- * @return {String} The export of the strip object ( removed all attribute with _ )
664
- */
665
- toPublicJSON(object: any): string;
666
- /**
667
- * Return a UUID
668
- *
669
- * @param format to return different type of format
670
- * Plan to implement base64 and maybe base85
671
- */
672
- getUuid(format?: "ascii" | "base64" | "hex" | "binary" | "uuid"): string;
673
- /**
674
- * @override
675
- */
676
- emit<K extends keyof E>(eventType: K | symbol | string, event?: E[K], ...data: any[]): boolean;
677
- /**
678
- * Emit the event with data and wait for Promise to finish if listener returned a Promise
679
- */
680
- emitSync<K extends keyof E>(eventType: K | symbol, event?: E[K], ...data: any[]): Promise<any[]>;
681
- /**
682
- * Type the listener part
683
- * @param event
684
- * @param listener
685
- * @param queue
686
- * @returns
687
- */
688
- on<Key extends keyof E>(event: Key | symbol, listener: (evt: E[Key]) => void): this;
689
- /**
690
- * Logs
691
- * @param level
692
- * @param args
693
- */
694
- log(level: WorkerLogLevel, ...args: any[]): void;
695
- /**
696
- * Retrieve a global parameter
697
- */
698
- parameter(name: string): any;
699
- /**
700
- * Verify if a request can be done
701
- *
702
- * @param context Context of the request
703
- */
704
- protected checkRequest(ctx: WebContext): Promise<boolean>;
705
- /**
706
- * Verify if an origin is allowed to do request on the API
707
- *
708
- * @param context Context of the request
709
- */
710
- protected checkCORSRequest(ctx: WebContext): Promise<boolean>;
711
- /**
712
- * Export OpenAPI
713
- * @param skipHidden
714
- * @returns
715
- */
716
- exportOpenAPI(skipHidden?: boolean): OpenAPIV3.Document;
717
- /**
718
- * Get a metric object
719
- *
720
- * Use the Service.getMetric method if possible
721
- *
722
- * This is map from prometheus 3 types of metrics
723
- * Our hope is that we can adapt them to export to other
724
- * metrics system if needed
725
- *
726
- * @param type
727
- * @param configuration
728
- * @returns
729
- */
730
- getMetric<T = Gauge | Counter | Histogram>(type: Constructor<T, [MetricConfiguration<T>]>, configuration: MetricConfiguration<T>): T;
731
- }
732
- /**
733
- * Generic type for metric
734
- */
735
- export type MetricConfiguration<T = Counter | Gauge | Histogram, K extends string = string> = T extends Counter ? CounterConfiguration<K> : T extends Gauge ? GaugeConfiguration<K> : HistogramConfiguration<K>;
736
- /**
737
- * Export a Registry type alias
738
- */
739
- export type Registry<T extends CoreModel = RegistryEntry> = Store<T>;
740
- export { Counter, Gauge, Histogram };