@webda/core 4.0.0-beta.2 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +437 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +792 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/hooks.d.ts +34 -0
  7. package/lib/application/hooks.d.ts.map +1 -0
  8. package/lib/application/hooks.js +57 -0
  9. package/lib/application/hooks.js.map +1 -0
  10. package/lib/application/iapplication.d.ts +43 -0
  11. package/lib/application/iapplication.d.ts.map +1 -0
  12. package/lib/application/iapplication.js +2 -0
  13. package/lib/application/iapplication.js.map +1 -0
  14. package/lib/application/iconfiguration.d.ts +176 -0
  15. package/lib/application/iconfiguration.d.ts.map +1 -0
  16. package/lib/application/iconfiguration.js +8 -0
  17. package/lib/application/iconfiguration.js.map +1 -0
  18. package/lib/application/runner.d.ts +8 -0
  19. package/lib/application/runner.d.ts.map +1 -0
  20. package/lib/application/runner.js +26 -0
  21. package/lib/application/runner.js.map +1 -0
  22. package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  23. package/lib/application/unpackedapplication.d.ts.map +1 -0
  24. package/lib/application/unpackedapplication.js +492 -0
  25. package/lib/application/unpackedapplication.js.map +1 -0
  26. package/lib/bin/cli-phase.d.ts +28 -0
  27. package/lib/bin/cli-phase.d.ts.map +1 -0
  28. package/lib/bin/cli-phase.js +44 -0
  29. package/lib/bin/cli-phase.js.map +1 -0
  30. package/lib/bin/cli.d.ts +161 -0
  31. package/lib/bin/cli.d.ts.map +1 -0
  32. package/lib/bin/cli.js +828 -0
  33. package/lib/bin/cli.js.map +1 -0
  34. package/lib/bin/launcher.d.ts +3 -0
  35. package/lib/bin/launcher.d.ts.map +1 -0
  36. package/lib/bin/launcher.js +50 -0
  37. package/lib/bin/launcher.js.map +1 -0
  38. package/lib/cache/cache.d.ts +33 -0
  39. package/lib/cache/cache.d.ts.map +1 -0
  40. package/lib/cache/cache.js +8 -0
  41. package/lib/cache/cache.js.map +1 -0
  42. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
  43. package/lib/configurations/configuration.service.d.ts.map +1 -0
  44. package/lib/configurations/configuration.service.js +248 -0
  45. package/lib/configurations/configuration.service.js.map +1 -0
  46. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  47. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  48. package/lib/configurations/fileconfiguration.service.js +65 -0
  49. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  50. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  51. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  53. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  54. package/lib/contexts/execution.d.ts +33 -0
  55. package/lib/contexts/execution.d.ts.map +1 -0
  56. package/lib/contexts/execution.js +73 -0
  57. package/lib/contexts/execution.js.map +1 -0
  58. package/lib/contexts/globalcontext.d.ts +29 -0
  59. package/lib/contexts/globalcontext.d.ts.map +1 -0
  60. package/lib/contexts/globalcontext.js +38 -0
  61. package/lib/contexts/globalcontext.js.map +1 -0
  62. package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +95 -27
  65. package/lib/contexts/httpcontext.js.map +1 -0
  66. package/lib/contexts/icontext.d.ts +236 -0
  67. package/lib/contexts/icontext.d.ts.map +1 -0
  68. package/lib/contexts/icontext.js +230 -0
  69. package/lib/contexts/icontext.js.map +1 -0
  70. package/lib/contexts/operationcontext.d.ts +179 -0
  71. package/lib/contexts/operationcontext.d.ts.map +1 -0
  72. package/lib/contexts/operationcontext.js +358 -0
  73. package/lib/contexts/operationcontext.js.map +1 -0
  74. package/lib/contexts/simplecontext.d.ts +31 -0
  75. package/lib/contexts/simplecontext.d.ts.map +1 -0
  76. package/lib/contexts/simplecontext.js +45 -0
  77. package/lib/contexts/simplecontext.js.map +1 -0
  78. package/lib/contexts/webcontext.d.ts +218 -0
  79. package/lib/contexts/webcontext.d.ts.map +1 -0
  80. package/lib/contexts/webcontext.js +389 -0
  81. package/lib/contexts/webcontext.js.map +1 -0
  82. package/lib/core/authorizer.d.ts +23 -0
  83. package/lib/core/authorizer.d.ts.map +1 -0
  84. package/lib/core/authorizer.js +17 -0
  85. package/lib/core/authorizer.js.map +1 -0
  86. package/lib/core/core.d.ts +225 -0
  87. package/lib/core/core.d.ts.map +1 -0
  88. package/lib/core/core.js +576 -0
  89. package/lib/core/core.js.map +1 -0
  90. package/lib/core/hooks.d.ts +72 -0
  91. package/lib/core/hooks.d.ts.map +1 -0
  92. package/lib/core/hooks.js +73 -0
  93. package/lib/core/hooks.js.map +1 -0
  94. package/lib/core/icore.d.ts +249 -0
  95. package/lib/core/icore.d.ts.map +1 -0
  96. package/lib/core/icore.js +15 -0
  97. package/lib/core/icore.js.map +1 -0
  98. package/lib/core/instancestorage.d.ts +61 -0
  99. package/lib/core/instancestorage.d.ts.map +1 -0
  100. package/lib/core/instancestorage.js +75 -0
  101. package/lib/core/instancestorage.js.map +1 -0
  102. package/lib/core/operations.d.ts +181 -0
  103. package/lib/core/operations.d.ts.map +1 -0
  104. package/lib/core/operations.js +559 -0
  105. package/lib/core/operations.js.map +1 -0
  106. package/lib/errors/errors.d.ts +126 -0
  107. package/lib/errors/errors.d.ts.map +1 -0
  108. package/lib/errors/errors.js +165 -0
  109. package/lib/errors/errors.js.map +1 -0
  110. package/lib/events/asynceventemitter.d.ts +159 -0
  111. package/lib/events/asynceventemitter.d.ts.map +1 -0
  112. package/lib/events/asynceventemitter.js +152 -0
  113. package/lib/events/asynceventemitter.js.map +1 -0
  114. package/lib/events/events.d.ts +112 -0
  115. package/lib/events/events.d.ts.map +1 -0
  116. package/lib/events/events.js +45 -0
  117. package/lib/events/events.js.map +1 -0
  118. package/lib/index.d.ts +82 -53
  119. package/lib/index.d.ts.map +1 -1
  120. package/lib/index.js +81 -62
  121. package/lib/index.js.map +1 -1
  122. package/lib/loggers/console.service.d.ts +24 -0
  123. package/lib/loggers/console.service.d.ts.map +1 -0
  124. package/lib/loggers/console.service.js +30 -0
  125. package/lib/loggers/console.service.js.map +1 -0
  126. package/lib/loggers/file.service.d.ts +25 -0
  127. package/lib/loggers/file.service.d.ts.map +1 -0
  128. package/lib/loggers/file.service.js +33 -0
  129. package/lib/loggers/file.service.js.map +1 -0
  130. package/lib/loggers/hooks.d.ts +20 -0
  131. package/lib/loggers/hooks.d.ts.map +1 -0
  132. package/lib/loggers/hooks.js +40 -0
  133. package/lib/loggers/hooks.js.map +1 -0
  134. package/lib/loggers/ilogger.d.ts +76 -0
  135. package/lib/loggers/ilogger.d.ts.map +1 -0
  136. package/lib/loggers/ilogger.js +108 -0
  137. package/lib/loggers/ilogger.js.map +1 -0
  138. package/lib/loggers/logger.d.ts +13 -0
  139. package/lib/loggers/logger.d.ts.map +1 -0
  140. package/lib/loggers/logger.js +18 -0
  141. package/lib/loggers/logger.js.map +1 -0
  142. package/lib/loggers/memory.service.d.ts +18 -0
  143. package/lib/loggers/memory.service.d.ts.map +1 -0
  144. package/lib/loggers/memory.service.js +21 -0
  145. package/lib/loggers/memory.service.js.map +1 -0
  146. package/lib/loggers/params.d.ts +47 -0
  147. package/lib/loggers/params.d.ts.map +1 -0
  148. package/lib/loggers/params.js +56 -0
  149. package/lib/loggers/params.js.map +1 -0
  150. package/lib/metrics/metrics.d.ts +25 -0
  151. package/lib/metrics/metrics.d.ts.map +1 -0
  152. package/lib/metrics/metrics.js +51 -0
  153. package/lib/metrics/metrics.js.map +1 -0
  154. package/lib/models/aclmodel.d.ts +20 -76
  155. package/lib/models/aclmodel.d.ts.map +1 -1
  156. package/lib/models/aclmodel.js +27 -203
  157. package/lib/models/aclmodel.js.map +1 -1
  158. package/lib/models/coremodel.model.d.ts +5 -0
  159. package/lib/models/coremodel.model.d.ts.map +1 -0
  160. package/lib/models/coremodel.model.js +5 -0
  161. package/lib/models/coremodel.model.js.map +1 -0
  162. package/lib/models/decorator.d.ts +63 -0
  163. package/lib/models/decorator.d.ts.map +1 -0
  164. package/lib/models/decorator.js +63 -0
  165. package/lib/models/decorator.js.map +1 -0
  166. package/lib/models/deployment.d.ts +1 -1
  167. package/lib/models/deployment.d.ts.map +1 -1
  168. package/lib/models/ident.model.d.ts +89 -0
  169. package/lib/models/ident.model.d.ts.map +1 -0
  170. package/lib/models/ident.model.js +115 -0
  171. package/lib/models/ident.model.js.map +1 -0
  172. package/lib/models/ownermodel.model.d.ts +68 -0
  173. package/lib/models/ownermodel.model.d.ts.map +1 -0
  174. package/lib/models/ownermodel.model.js +112 -0
  175. package/lib/models/ownermodel.model.js.map +1 -0
  176. package/lib/models/registry.model.d.ts +76 -0
  177. package/lib/models/registry.model.d.ts.map +1 -0
  178. package/lib/models/registry.model.js +104 -0
  179. package/lib/models/registry.model.js.map +1 -0
  180. package/lib/models/rolemodel.model.d.ts +28 -0
  181. package/lib/models/rolemodel.model.d.ts.map +1 -0
  182. package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
  183. package/lib/models/rolemodel.model.js.map +1 -0
  184. package/lib/models/simpleuser.model.d.ts +78 -0
  185. package/lib/models/simpleuser.model.d.ts.map +1 -0
  186. package/lib/models/simpleuser.model.js +123 -0
  187. package/lib/models/simpleuser.model.js.map +1 -0
  188. package/lib/models/types.d.ts +113 -0
  189. package/lib/models/types.d.ts.map +1 -0
  190. package/lib/models/types.js +2 -0
  191. package/lib/models/types.js.map +1 -0
  192. package/lib/models/user.model.d.ts +103 -0
  193. package/lib/models/user.model.d.ts.map +1 -0
  194. package/lib/models/user.model.js +125 -0
  195. package/lib/models/user.model.js.map +1 -0
  196. package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +8 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -1
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +9 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -1
  206. package/lib/queues/queueservice.js +41 -13
  207. package/lib/queues/queueservice.js.map +1 -1
  208. package/lib/rest/hooks.d.ts +8 -0
  209. package/lib/rest/hooks.d.ts.map +1 -0
  210. package/lib/rest/hooks.js +10 -0
  211. package/lib/rest/hooks.js.map +1 -0
  212. package/lib/rest/irest.d.ts +212 -0
  213. package/lib/rest/irest.d.ts.map +1 -0
  214. package/lib/rest/irest.js +39 -0
  215. package/lib/rest/irest.js.map +1 -0
  216. package/lib/rest/originfilter.d.ts +38 -0
  217. package/lib/rest/originfilter.d.ts.map +1 -0
  218. package/lib/rest/originfilter.js +61 -0
  219. package/lib/rest/originfilter.js.map +1 -0
  220. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  221. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  222. package/lib/rest/restoperationstransport.service.js +780 -0
  223. package/lib/rest/restoperationstransport.service.js.map +1 -0
  224. package/lib/rest/router.service.d.ts +244 -0
  225. package/lib/rest/router.service.d.ts.map +1 -0
  226. package/lib/rest/router.service.js +843 -0
  227. package/lib/rest/router.service.js.map +1 -0
  228. package/lib/schemas/hooks.d.ts +48 -0
  229. package/lib/schemas/hooks.d.ts.map +1 -0
  230. package/lib/schemas/hooks.js +152 -0
  231. package/lib/schemas/hooks.js.map +1 -0
  232. package/lib/services/audit.model.d.ts +208 -0
  233. package/lib/services/audit.model.d.ts.map +1 -0
  234. package/lib/services/audit.model.js +431 -0
  235. package/lib/services/audit.model.js.map +1 -0
  236. package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -59
  237. package/lib/services/authentication.service.d.ts.map +1 -0
  238. package/lib/services/authentication.service.js +932 -0
  239. package/lib/services/authentication.service.js.map +1 -0
  240. package/lib/services/binary.service.d.ts +808 -0
  241. package/lib/services/binary.service.d.ts.map +1 -0
  242. package/lib/services/binary.service.js +1365 -0
  243. package/lib/services/binary.service.js.map +1 -0
  244. package/lib/services/cloudbinary.d.ts +17 -12
  245. package/lib/services/cloudbinary.d.ts.map +1 -1
  246. package/lib/services/cloudbinary.js +23 -17
  247. package/lib/services/cloudbinary.js.map +1 -1
  248. package/lib/services/command.d.ts +118 -0
  249. package/lib/services/command.d.ts.map +1 -0
  250. package/lib/services/command.js +97 -0
  251. package/lib/services/command.js.map +1 -0
  252. package/lib/services/cron.service.d.ts +142 -0
  253. package/lib/services/cron.service.d.ts.map +1 -0
  254. package/lib/services/cron.service.js +291 -0
  255. package/lib/services/cron.service.js.map +1 -0
  256. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
  257. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  258. package/lib/services/cryptoservice.service.js +527 -0
  259. package/lib/services/cryptoservice.service.js.map +1 -0
  260. package/lib/services/debugmailer.service.d.ts +49 -0
  261. package/lib/services/debugmailer.service.d.ts.map +1 -0
  262. package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
  263. package/lib/services/debugmailer.service.js.map +1 -0
  264. package/lib/services/domainservice.service.d.ts +203 -0
  265. package/lib/services/domainservice.service.d.ts.map +1 -0
  266. package/lib/services/domainservice.service.js +600 -0
  267. package/lib/services/domainservice.service.js.map +1 -0
  268. package/lib/services/httpserver.service.d.ts +248 -0
  269. package/lib/services/httpserver.service.d.ts.map +1 -0
  270. package/lib/services/httpserver.service.js +673 -0
  271. package/lib/services/httpserver.service.js.map +1 -0
  272. package/lib/services/iauthentication.d.ts +9 -0
  273. package/lib/services/iauthentication.d.ts.map +1 -0
  274. package/lib/services/iauthentication.js +2 -0
  275. package/lib/services/iauthentication.js.map +1 -0
  276. package/lib/services/icryptoservice.d.ts +127 -0
  277. package/lib/services/icryptoservice.d.ts.map +1 -0
  278. package/lib/services/icryptoservice.js +68 -0
  279. package/lib/services/icryptoservice.js.map +1 -0
  280. package/lib/services/imailer.d.ts +17 -0
  281. package/lib/services/imailer.d.ts.map +1 -0
  282. package/lib/services/imailer.js +2 -0
  283. package/lib/services/imailer.js.map +1 -0
  284. package/lib/services/iservice.d.ts +104 -0
  285. package/lib/services/iservice.d.ts.map +1 -0
  286. package/lib/services/iservice.js +63 -0
  287. package/lib/services/iservice.js.map +1 -0
  288. package/lib/services/mailer.service.d.ts +220 -0
  289. package/lib/services/mailer.service.d.ts.map +1 -0
  290. package/lib/services/mailer.service.js +251 -0
  291. package/lib/services/mailer.service.js.map +1 -0
  292. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
  293. package/lib/services/notificationservice.service.d.ts.map +1 -0
  294. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  295. package/lib/services/notificationservice.service.js.map +1 -0
  296. package/lib/services/oauth.d.ts +52 -28
  297. package/lib/services/oauth.d.ts.map +1 -1
  298. package/lib/services/oauth.js +365 -254
  299. package/lib/services/oauth.js.map +1 -1
  300. package/lib/services/operationstransport.d.ts +65 -0
  301. package/lib/services/operationstransport.d.ts.map +1 -0
  302. package/lib/services/operationstransport.js +103 -0
  303. package/lib/services/operationstransport.js.map +1 -0
  304. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
  305. package/lib/services/prometheus.service.d.ts.map +1 -0
  306. package/lib/services/prometheus.service.js +203 -0
  307. package/lib/services/prometheus.service.js.map +1 -0
  308. package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
  309. package/lib/services/resource.service.d.ts.map +1 -0
  310. package/lib/services/resource.service.js +301 -0
  311. package/lib/services/resource.service.js.map +1 -0
  312. package/lib/services/service.d.ts +87 -188
  313. package/lib/services/service.d.ts.map +1 -1
  314. package/lib/services/service.js +407 -422
  315. package/lib/services/service.js.map +1 -1
  316. package/lib/services/servicecommands.d.ts +99 -0
  317. package/lib/services/servicecommands.d.ts.map +1 -0
  318. package/lib/services/servicecommands.js +165 -0
  319. package/lib/services/servicecommands.js.map +1 -0
  320. package/lib/services/serviceparameters.d.ts +33 -0
  321. package/lib/services/serviceparameters.d.ts.map +1 -0
  322. package/lib/services/serviceparameters.js +79 -0
  323. package/lib/services/serviceparameters.js.map +1 -0
  324. package/lib/{utils → session}/cookie.d.ts +32 -19
  325. package/lib/session/cookie.d.ts.map +1 -0
  326. package/lib/{utils → session}/cookie.js +76 -23
  327. package/lib/session/cookie.js.map +1 -0
  328. package/lib/session/manager.model.d.ts +71 -0
  329. package/lib/session/manager.model.d.ts.map +1 -0
  330. package/lib/session/manager.model.js +155 -0
  331. package/lib/session/manager.model.js.map +1 -0
  332. package/lib/session/session.d.ts +57 -0
  333. package/lib/session/session.d.ts.map +1 -0
  334. package/lib/session/session.js +126 -0
  335. package/lib/session/session.js.map +1 -0
  336. package/lib/stores/istore.d.ts +99 -0
  337. package/lib/stores/istore.d.ts.map +1 -0
  338. package/lib/stores/istore.js +26 -0
  339. package/lib/stores/istore.js.map +1 -0
  340. package/lib/stores/memory.service.d.ts +114 -0
  341. package/lib/stores/memory.service.d.ts.map +1 -0
  342. package/lib/stores/memory.service.js +343 -0
  343. package/lib/stores/memory.service.js.map +1 -0
  344. package/lib/stores/store.d.ts +126 -626
  345. package/lib/stores/store.d.ts.map +1 -1
  346. package/lib/stores/store.js +257 -1117
  347. package/lib/stores/store.js.map +1 -1
  348. package/lib/templates/templates.d.ts +39 -0
  349. package/lib/templates/templates.d.ts.map +1 -0
  350. package/lib/templates/templates.js +92 -0
  351. package/lib/templates/templates.js.map +1 -0
  352. package/lib/test/application.d.ts +174 -0
  353. package/lib/test/application.d.ts.map +1 -0
  354. package/lib/test/application.js +288 -0
  355. package/lib/test/application.js.map +1 -0
  356. package/lib/test/asyncstorage.d.ts +16 -0
  357. package/lib/test/asyncstorage.d.ts.map +1 -0
  358. package/lib/test/asyncstorage.js +32 -0
  359. package/lib/test/asyncstorage.js.map +1 -0
  360. package/lib/test/core.d.ts +63 -0
  361. package/lib/test/core.d.ts.map +1 -0
  362. package/lib/test/core.js +190 -0
  363. package/lib/test/core.js.map +1 -0
  364. package/lib/test/index.d.ts +7 -0
  365. package/lib/test/index.d.ts.map +1 -0
  366. package/lib/test/index.js +8 -0
  367. package/lib/test/index.js.map +1 -0
  368. package/lib/test/internal.d.ts +34 -0
  369. package/lib/test/internal.d.ts.map +1 -0
  370. package/lib/test/internal.js +156 -0
  371. package/lib/test/internal.js.map +1 -0
  372. package/lib/test/objects.d.ts +318 -0
  373. package/lib/test/objects.d.ts.map +1 -0
  374. package/lib/test/objects.js +443 -0
  375. package/lib/test/objects.js.map +1 -0
  376. package/lib/utils/abstractdeployer.d.ts +4 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -60
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +0 -9
  384. package/test/my-cnf.json +9 -0
  385. package/webda.module.json +3463 -2482
  386. package/lib/application.d.ts +0 -888
  387. package/lib/application.d.ts.map +0 -1
  388. package/lib/application.js +0 -768
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -2
  391. package/lib/application.spec.d.ts.map +0 -1
  392. package/lib/application.spec.js +0 -248
  393. package/lib/application.spec.js.map +0 -1
  394. package/lib/core.d.ts +0 -743
  395. package/lib/core.d.ts.map +0 -1
  396. package/lib/core.js +0 -1334
  397. package/lib/core.js.map +0 -1
  398. package/lib/core.spec.d.ts +0 -2
  399. package/lib/core.spec.d.ts.map +0 -1
  400. package/lib/core.spec.js +0 -790
  401. package/lib/core.spec.js.map +0 -1
  402. package/lib/errors.d.ts +0 -64
  403. package/lib/errors.d.ts.map +0 -1
  404. package/lib/errors.js +0 -97
  405. package/lib/errors.js.map +0 -1
  406. package/lib/errors.spec.d.ts +0 -2
  407. package/lib/errors.spec.d.ts.map +0 -1
  408. package/lib/errors.spec.js +0 -33
  409. package/lib/errors.spec.js.map +0 -1
  410. package/lib/models/aclmodel.spec.d.ts +0 -2
  411. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  412. package/lib/models/aclmodel.spec.js +0 -187
  413. package/lib/models/aclmodel.spec.js.map +0 -1
  414. package/lib/models/coremodel.d.ts +0 -896
  415. package/lib/models/coremodel.d.ts.map +0 -1
  416. package/lib/models/coremodel.js +0 -1214
  417. package/lib/models/coremodel.js.map +0 -1
  418. package/lib/models/coremodel.spec.d.ts +0 -2
  419. package/lib/models/coremodel.spec.d.ts.map +0 -1
  420. package/lib/models/coremodel.spec.js +0 -464
  421. package/lib/models/coremodel.spec.js.map +0 -1
  422. package/lib/models/ident.d.ts +0 -68
  423. package/lib/models/ident.d.ts.map +0 -1
  424. package/lib/models/ident.js +0 -26
  425. package/lib/models/ident.js.map +0 -1
  426. package/lib/models/ident.spec.d.ts +0 -2
  427. package/lib/models/ident.spec.d.ts.map +0 -1
  428. package/lib/models/ident.spec.js +0 -24
  429. package/lib/models/ident.spec.js.map +0 -1
  430. package/lib/models/ownermodel.d.ts +0 -51
  431. package/lib/models/ownermodel.d.ts.map +0 -1
  432. package/lib/models/ownermodel.js +0 -65
  433. package/lib/models/ownermodel.js.map +0 -1
  434. package/lib/models/ownermodel.spec.d.ts +0 -2
  435. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  436. package/lib/models/ownermodel.spec.js +0 -215
  437. package/lib/models/ownermodel.spec.js.map +0 -1
  438. package/lib/models/relations.d.ts +0 -182
  439. package/lib/models/relations.d.ts.map +0 -1
  440. package/lib/models/relations.js +0 -157
  441. package/lib/models/relations.js.map +0 -1
  442. package/lib/models/relations.spec.d.ts +0 -14
  443. package/lib/models/relations.spec.d.ts.map +0 -1
  444. package/lib/models/relations.spec.js +0 -217
  445. package/lib/models/relations.spec.js.map +0 -1
  446. package/lib/models/rolemodel.d.ts +0 -11
  447. package/lib/models/rolemodel.d.ts.map +0 -1
  448. package/lib/models/rolemodel.js.map +0 -1
  449. package/lib/models/rolemodel.spec.d.ts +0 -2
  450. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  451. package/lib/models/rolemodel.spec.js +0 -90
  452. package/lib/models/rolemodel.spec.js.map +0 -1
  453. package/lib/models/simpleuser.d.ts +0 -47
  454. package/lib/models/simpleuser.d.ts.map +0 -1
  455. package/lib/models/simpleuser.js +0 -84
  456. package/lib/models/simpleuser.js.map +0 -1
  457. package/lib/models/test.d.ts +0 -11
  458. package/lib/models/test.d.ts.map +0 -1
  459. package/lib/models/test.js +0 -7
  460. package/lib/models/test.js.map +0 -1
  461. package/lib/models/user.d.ts +0 -67
  462. package/lib/models/user.d.ts.map +0 -1
  463. package/lib/models/user.js +0 -86
  464. package/lib/models/user.js.map +0 -1
  465. package/lib/models/user.spec.d.ts +0 -2
  466. package/lib/models/user.spec.d.ts.map +0 -1
  467. package/lib/models/user.spec.js +0 -89
  468. package/lib/models/user.spec.js.map +0 -1
  469. package/lib/queues/filequeue.d.ts +0 -59
  470. package/lib/queues/filequeue.d.ts.map +0 -1
  471. package/lib/queues/filequeue.js +0 -131
  472. package/lib/queues/filequeue.js.map +0 -1
  473. package/lib/queues/filequeue.spec.d.ts +0 -2
  474. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  475. package/lib/queues/filequeue.spec.js +0 -84
  476. package/lib/queues/filequeue.spec.js.map +0 -1
  477. package/lib/queues/memoryqueue.d.ts.map +0 -1
  478. package/lib/queues/memoryqueue.js.map +0 -1
  479. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  480. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  481. package/lib/queues/memoryqueue.spec.js +0 -203
  482. package/lib/queues/memoryqueue.spec.js.map +0 -1
  483. package/lib/queues/queue.spec.d.ts +0 -6
  484. package/lib/queues/queue.spec.d.ts.map +0 -1
  485. package/lib/queues/queue.spec.js +0 -55
  486. package/lib/queues/queue.spec.js.map +0 -1
  487. package/lib/rest/restdomainservice.d.ts +0 -63
  488. package/lib/rest/restdomainservice.d.ts.map +0 -1
  489. package/lib/rest/restdomainservice.js +0 -687
  490. package/lib/rest/restdomainservice.js.map +0 -1
  491. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  492. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  493. package/lib/rest/restdomainservice.spec.js +0 -124
  494. package/lib/rest/restdomainservice.spec.js.map +0 -1
  495. package/lib/rest/router.d.ts +0 -174
  496. package/lib/rest/router.d.ts.map +0 -1
  497. package/lib/rest/router.js +0 -429
  498. package/lib/rest/router.js.map +0 -1
  499. package/lib/rest/router.spec.d.ts +0 -2
  500. package/lib/rest/router.spec.d.ts.map +0 -1
  501. package/lib/rest/router.spec.js +0 -255
  502. package/lib/rest/router.spec.js.map +0 -1
  503. package/lib/services/asyncevents.d.ts +0 -152
  504. package/lib/services/asyncevents.d.ts.map +0 -1
  505. package/lib/services/asyncevents.js +0 -217
  506. package/lib/services/asyncevents.js.map +0 -1
  507. package/lib/services/asyncevents.spec.d.ts +0 -2
  508. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  509. package/lib/services/asyncevents.spec.js +0 -118
  510. package/lib/services/asyncevents.spec.js.map +0 -1
  511. package/lib/services/authentication.d.ts.map +0 -1
  512. package/lib/services/authentication.js +0 -773
  513. package/lib/services/authentication.js.map +0 -1
  514. package/lib/services/authentication.spec.d.ts +0 -2
  515. package/lib/services/authentication.spec.d.ts.map +0 -1
  516. package/lib/services/authentication.spec.js +0 -458
  517. package/lib/services/authentication.spec.js.map +0 -1
  518. package/lib/services/binary.d.ts +0 -477
  519. package/lib/services/binary.d.ts.map +0 -1
  520. package/lib/services/binary.js +0 -617
  521. package/lib/services/binary.js.map +0 -1
  522. package/lib/services/binary.spec.d.ts +0 -41
  523. package/lib/services/binary.spec.d.ts.map +0 -1
  524. package/lib/services/binary.spec.js +0 -151
  525. package/lib/services/binary.spec.js.map +0 -1
  526. package/lib/services/cloudbinary.spec.d.ts +0 -6
  527. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  528. package/lib/services/cloudbinary.spec.js +0 -66
  529. package/lib/services/cloudbinary.spec.js.map +0 -1
  530. package/lib/services/configuration.d.ts.map +0 -1
  531. package/lib/services/configuration.js +0 -193
  532. package/lib/services/configuration.js.map +0 -1
  533. package/lib/services/configuration.spec.d.ts +0 -2
  534. package/lib/services/configuration.spec.d.ts.map +0 -1
  535. package/lib/services/configuration.spec.js +0 -130
  536. package/lib/services/configuration.spec.js.map +0 -1
  537. package/lib/services/cron.d.ts +0 -74
  538. package/lib/services/cron.d.ts.map +0 -1
  539. package/lib/services/cron.js +0 -141
  540. package/lib/services/cron.js.map +0 -1
  541. package/lib/services/cron.spec.d.ts +0 -2
  542. package/lib/services/cron.spec.d.ts.map +0 -1
  543. package/lib/services/cron.spec.js +0 -76
  544. package/lib/services/cron.spec.js.map +0 -1
  545. package/lib/services/cryptoservice.d.ts.map +0 -1
  546. package/lib/services/cryptoservice.js +0 -433
  547. package/lib/services/cryptoservice.js.map +0 -1
  548. package/lib/services/cryptoservice.spec.d.ts +0 -2
  549. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  550. package/lib/services/cryptoservice.spec.js +0 -177
  551. package/lib/services/cryptoservice.spec.js.map +0 -1
  552. package/lib/services/debugmailer.d.ts +0 -36
  553. package/lib/services/debugmailer.d.ts.map +0 -1
  554. package/lib/services/debugmailer.js.map +0 -1
  555. package/lib/services/debugmailer.spec.d.ts +0 -2
  556. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  557. package/lib/services/debugmailer.spec.js +0 -32
  558. package/lib/services/debugmailer.spec.js.map +0 -1
  559. package/lib/services/domainservice.d.ts +0 -272
  560. package/lib/services/domainservice.d.ts.map +0 -1
  561. package/lib/services/domainservice.js +0 -651
  562. package/lib/services/domainservice.js.map +0 -1
  563. package/lib/services/domainservice.spec.d.ts +0 -2
  564. package/lib/services/domainservice.spec.d.ts.map +0 -1
  565. package/lib/services/domainservice.spec.js +0 -592
  566. package/lib/services/domainservice.spec.js.map +0 -1
  567. package/lib/services/filebinary.d.ts +0 -136
  568. package/lib/services/filebinary.d.ts.map +0 -1
  569. package/lib/services/filebinary.js +0 -373
  570. package/lib/services/filebinary.js.map +0 -1
  571. package/lib/services/filebinary.spec.d.ts +0 -25
  572. package/lib/services/filebinary.spec.d.ts.map +0 -1
  573. package/lib/services/filebinary.spec.js +0 -428
  574. package/lib/services/filebinary.spec.js.map +0 -1
  575. package/lib/services/fileconfiguration.d.ts +0 -23
  576. package/lib/services/fileconfiguration.d.ts.map +0 -1
  577. package/lib/services/fileconfiguration.js +0 -48
  578. package/lib/services/fileconfiguration.js.map +0 -1
  579. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  580. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  581. package/lib/services/fileconfiguration.spec.js +0 -215
  582. package/lib/services/fileconfiguration.spec.js.map +0 -1
  583. package/lib/services/invitationservice.d.ts +0 -223
  584. package/lib/services/invitationservice.d.ts.map +0 -1
  585. package/lib/services/invitationservice.js +0 -529
  586. package/lib/services/invitationservice.js.map +0 -1
  587. package/lib/services/invitationservice.spec.d.ts +0 -2
  588. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  589. package/lib/services/invitationservice.spec.js +0 -567
  590. package/lib/services/invitationservice.spec.js.map +0 -1
  591. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  592. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  593. package/lib/services/kubernetesconfiguration.js +0 -52
  594. package/lib/services/kubernetesconfiguration.js.map +0 -1
  595. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  596. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  597. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  598. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  599. package/lib/services/mailer.d.ts +0 -166
  600. package/lib/services/mailer.d.ts.map +0 -1
  601. package/lib/services/mailer.js +0 -176
  602. package/lib/services/mailer.js.map +0 -1
  603. package/lib/services/mailer.spec.d.ts +0 -2
  604. package/lib/services/mailer.spec.d.ts.map +0 -1
  605. package/lib/services/mailer.spec.js +0 -158
  606. package/lib/services/mailer.spec.js.map +0 -1
  607. package/lib/services/notificationservice.d.ts.map +0 -1
  608. package/lib/services/notificationservice.js.map +0 -1
  609. package/lib/services/notificationservice.spec.d.ts +0 -2
  610. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  611. package/lib/services/notificationservice.spec.js +0 -83
  612. package/lib/services/notificationservice.spec.js.map +0 -1
  613. package/lib/services/oauth.spec.d.ts +0 -2
  614. package/lib/services/oauth.spec.d.ts.map +0 -1
  615. package/lib/services/oauth.spec.js +0 -208
  616. package/lib/services/oauth.spec.js.map +0 -1
  617. package/lib/services/prometheus.d.ts.map +0 -1
  618. package/lib/services/prometheus.js +0 -160
  619. package/lib/services/prometheus.js.map +0 -1
  620. package/lib/services/prometheus.spec.d.ts +0 -2
  621. package/lib/services/prometheus.spec.d.ts.map +0 -1
  622. package/lib/services/prometheus.spec.js +0 -76
  623. package/lib/services/prometheus.spec.js.map +0 -1
  624. package/lib/services/resource.d.ts.map +0 -1
  625. package/lib/services/resource.js +0 -170
  626. package/lib/services/resource.js.map +0 -1
  627. package/lib/services/resource.spec.d.ts +0 -2
  628. package/lib/services/resource.spec.d.ts.map +0 -1
  629. package/lib/services/resource.spec.js +0 -140
  630. package/lib/services/resource.spec.js.map +0 -1
  631. package/lib/services/service.spec.d.ts +0 -2
  632. package/lib/services/service.spec.d.ts.map +0 -1
  633. package/lib/services/service.spec.js +0 -286
  634. package/lib/services/service.spec.js.map +0 -1
  635. package/lib/stores/aggregator.d.ts +0 -48
  636. package/lib/stores/aggregator.d.ts.map +0 -1
  637. package/lib/stores/aggregator.js +0 -80
  638. package/lib/stores/aggregator.js.map +0 -1
  639. package/lib/stores/file.d.ts +0 -108
  640. package/lib/stores/file.d.ts.map +0 -1
  641. package/lib/stores/file.js +0 -188
  642. package/lib/stores/file.js.map +0 -1
  643. package/lib/stores/file.spec.d.ts +0 -13
  644. package/lib/stores/file.spec.d.ts.map +0 -1
  645. package/lib/stores/file.spec.js +0 -138
  646. package/lib/stores/file.spec.js.map +0 -1
  647. package/lib/stores/mapper.d.ts +0 -150
  648. package/lib/stores/mapper.d.ts.map +0 -1
  649. package/lib/stores/mapper.js +0 -293
  650. package/lib/stores/mapper.js.map +0 -1
  651. package/lib/stores/mapper.spec.d.ts +0 -2
  652. package/lib/stores/mapper.spec.d.ts.map +0 -1
  653. package/lib/stores/mapper.spec.js +0 -167
  654. package/lib/stores/mapper.spec.js.map +0 -1
  655. package/lib/stores/memory.d.ts +0 -152
  656. package/lib/stores/memory.d.ts.map +0 -1
  657. package/lib/stores/memory.js +0 -371
  658. package/lib/stores/memory.js.map +0 -1
  659. package/lib/stores/memory.spec.d.ts +0 -14
  660. package/lib/stores/memory.spec.d.ts.map +0 -1
  661. package/lib/stores/memory.spec.js +0 -263
  662. package/lib/stores/memory.spec.js.map +0 -1
  663. package/lib/stores/modelmapper.d.ts +0 -62
  664. package/lib/stores/modelmapper.d.ts.map +0 -1
  665. package/lib/stores/modelmapper.js +0 -197
  666. package/lib/stores/modelmapper.js.map +0 -1
  667. package/lib/stores/store.spec.d.ts +0 -57
  668. package/lib/stores/store.spec.d.ts.map +0 -1
  669. package/lib/stores/store.spec.js +0 -737
  670. package/lib/stores/store.spec.js.map +0 -1
  671. package/lib/test.d.ts +0 -265
  672. package/lib/test.d.ts.map +0 -1
  673. package/lib/test.js +0 -622
  674. package/lib/test.js.map +0 -1
  675. package/lib/unpackedapplication.d.ts.map +0 -1
  676. package/lib/unpackedapplication.js +0 -350
  677. package/lib/unpackedapplication.js.map +0 -1
  678. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  679. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  680. package/lib/utils/abstractdeployer.spec.js +0 -21
  681. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  682. package/lib/utils/case.d.ts +0 -8
  683. package/lib/utils/case.d.ts.map +0 -1
  684. package/lib/utils/case.js +0 -43
  685. package/lib/utils/case.js.map +0 -1
  686. package/lib/utils/case.spec.d.ts +0 -2
  687. package/lib/utils/case.spec.d.ts.map +0 -1
  688. package/lib/utils/case.spec.js +0 -50
  689. package/lib/utils/case.spec.js.map +0 -1
  690. package/lib/utils/context.d.ts +0 -482
  691. package/lib/utils/context.d.ts.map +0 -1
  692. package/lib/utils/context.js +0 -739
  693. package/lib/utils/context.js.map +0 -1
  694. package/lib/utils/context.spec.d.ts +0 -10
  695. package/lib/utils/context.spec.d.ts.map +0 -1
  696. package/lib/utils/context.spec.js +0 -383
  697. package/lib/utils/context.spec.js.map +0 -1
  698. package/lib/utils/cookie.d.ts.map +0 -1
  699. package/lib/utils/cookie.js.map +0 -1
  700. package/lib/utils/cookie.spec.d.ts +0 -2
  701. package/lib/utils/cookie.spec.d.ts.map +0 -1
  702. package/lib/utils/cookie.spec.js +0 -88
  703. package/lib/utils/cookie.spec.js.map +0 -1
  704. package/lib/utils/esm.d.ts +0 -14
  705. package/lib/utils/esm.d.ts.map +0 -1
  706. package/lib/utils/esm.js +0 -19
  707. package/lib/utils/esm.js.map +0 -1
  708. package/lib/utils/httpcontext.d.ts.map +0 -1
  709. package/lib/utils/httpcontext.js.map +0 -1
  710. package/lib/utils/httpcontext.spec.d.ts +0 -5
  711. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  712. package/lib/utils/httpcontext.spec.js +0 -77
  713. package/lib/utils/httpcontext.spec.js.map +0 -1
  714. package/lib/utils/logger.d.ts +0 -92
  715. package/lib/utils/logger.d.ts.map +0 -1
  716. package/lib/utils/logger.js +0 -121
  717. package/lib/utils/logger.js.map +0 -1
  718. package/lib/utils/logger.spec.d.ts +0 -2
  719. package/lib/utils/logger.spec.d.ts.map +0 -1
  720. package/lib/utils/logger.spec.js +0 -48
  721. package/lib/utils/logger.spec.js.map +0 -1
  722. package/lib/utils/serializers.d.ts +0 -162
  723. package/lib/utils/serializers.d.ts.map +0 -1
  724. package/lib/utils/serializers.js +0 -420
  725. package/lib/utils/serializers.js.map +0 -1
  726. package/lib/utils/serializers.spec.d.ts +0 -2
  727. package/lib/utils/serializers.spec.d.ts.map +0 -1
  728. package/lib/utils/serializers.spec.js +0 -311
  729. package/lib/utils/serializers.spec.js.map +0 -1
  730. package/lib/utils/session.d.ts +0 -123
  731. package/lib/utils/session.d.ts.map +0 -1
  732. package/lib/utils/session.js +0 -156
  733. package/lib/utils/session.js.map +0 -1
  734. package/lib/utils/session.spec.d.ts +0 -2
  735. package/lib/utils/session.spec.d.ts.map +0 -1
  736. package/lib/utils/session.spec.js +0 -81
  737. package/lib/utils/session.spec.js.map +0 -1
  738. package/lib/utils/throttler.d.ts +0 -99
  739. package/lib/utils/throttler.d.ts.map +0 -1
  740. package/lib/utils/throttler.js +0 -160
  741. package/lib/utils/throttler.js.map +0 -1
  742. package/lib/utils/throttler.spec.d.ts +0 -2
  743. package/lib/utils/throttler.spec.d.ts.map +0 -1
  744. package/lib/utils/throttler.spec.js +0 -53
  745. package/lib/utils/throttler.spec.js.map +0 -1
  746. package/lib/utils/waiter.d.ts +0 -94
  747. package/lib/utils/waiter.d.ts.map +0 -1
  748. package/lib/utils/waiter.js +0 -148
  749. package/lib/utils/waiter.js.map +0 -1
  750. package/lib/utils/waiter.spec.d.ts +0 -2
  751. package/lib/utils/waiter.spec.d.ts.map +0 -1
  752. package/lib/utils/waiter.spec.js +0 -98
  753. package/lib/utils/waiter.spec.js.map +0 -1
  754. package/test/jsonutils/mdocs.yaml +0 -56
  755. package/test/jsonutils/test.json +0 -3
  756. package/test/jsonutils/test.yml +0 -5
@@ -1,768 +0,0 @@
1
- import { WorkerOutput } from "@webda/workout";
2
- import * as fs from "fs";
3
- import * as path from "path";
4
- import { CoreModel, WebdaError } from "./index.js";
5
- import { getCommonJS } from "./utils/esm.js";
6
- import { FileUtils } from "./utils/serializers.js";
7
- const { __dirname } = getCommonJS(import.meta.url);
8
- export var SectionEnum;
9
- (function (SectionEnum) {
10
- SectionEnum["Moddas"] = "moddas";
11
- SectionEnum["Deployers"] = "deployers";
12
- SectionEnum["Beans"] = "beans";
13
- })(SectionEnum || (SectionEnum = {}));
14
- /**
15
- * Map a Webda Application
16
- *
17
- * It allows to:
18
- * - Analyse imported modules
19
- * - Scan code for Modda and generate the webda.config.json
20
- * - Compile and Watch
21
- * - Migrate from old configuration
22
- * - List deployments
23
- *
24
- *
25
- * @category CoreFeatures
26
- */
27
- export class Application {
28
- /**
29
- *
30
- * @param {string} fileOrFolder to load Webda Application from
31
- * @param {Logger} logger
32
- */
33
- constructor(file, logger = undefined) {
34
- /**
35
- * Contains definitions of current application
36
- */
37
- this.appModule = {
38
- moddas: {},
39
- models: {
40
- list: {},
41
- graph: {},
42
- tree: {},
43
- plurals: {},
44
- shortIds: {},
45
- reflections: {}
46
- },
47
- deployers: {}
48
- };
49
- /**
50
- * Contains already loaded modules
51
- */
52
- this._loaded = [];
53
- /**
54
- * Deployers type registry
55
- */
56
- this.deployers = {};
57
- /**
58
- * Moddas registry
59
- */
60
- this.moddas = {};
61
- /**
62
- * Models type registry
63
- */
64
- this.models = {};
65
- /**
66
- * Models graph
67
- */
68
- this.graph = {};
69
- /**
70
- * Models specific plurals
71
- */
72
- this.plurals = {};
73
- /**
74
- * Detect if running as workspace
75
- */
76
- this.workspacesPath = "";
77
- /**
78
- * Direct parent of a model
79
- */
80
- this.flatHierarchy = {};
81
- this.logger = logger || new WorkerOutput();
82
- this.initTime = Date.now();
83
- if (typeof file !== "string") {
84
- this.baseConfiguration = file;
85
- this.appPath = process.cwd();
86
- return;
87
- }
88
- if (!fs.existsSync(file)) {
89
- throw new WebdaError.CodeError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: unexisting ${file}`);
90
- }
91
- if (fs.lstatSync(file).isDirectory()) {
92
- file = path.join(file, "webda.config.jsonc");
93
- if (!fs.existsSync(file)) {
94
- file = file.substring(0, file.length - 1);
95
- }
96
- }
97
- this.configurationFile = file;
98
- this.appPath = path.resolve(path.dirname(file));
99
- }
100
- /**
101
- * Import all required modules
102
- */
103
- async load() {
104
- if (this.configurationFile) {
105
- this.loadConfiguration(this.configurationFile);
106
- }
107
- await this.loadModule(this.baseConfiguration.cachedModules);
108
- // Flat the model tree
109
- const addParent = (parent, tree) => {
110
- for (const key in tree) {
111
- this.flatHierarchy[key] = parent;
112
- addParent(key, tree[key]);
113
- }
114
- };
115
- addParent("Webda/CoreModel", this.baseConfiguration.cachedModules.models.tree);
116
- return this;
117
- }
118
- /**
119
- * Allow subclass to implement migration
120
- *
121
- * @param file
122
- * @returns
123
- */
124
- loadConfiguration(file) {
125
- var _a, _b;
126
- // Check if file is a file or folder
127
- if (file && !fs.existsSync(file)) {
128
- throw new WebdaError.CodeError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: ${file}`);
129
- }
130
- try {
131
- this.baseConfiguration ?? (this.baseConfiguration = FileUtils.load(file));
132
- (_a = this.baseConfiguration).parameters ?? (_a.parameters = {});
133
- (_b = this.baseConfiguration.parameters).defaultStore ?? (_b.defaultStore = "Registry");
134
- if (this.baseConfiguration.version !== 3) {
135
- this.log("ERROR", "Your configuration file should use version 3, see https://docs.webda.io/");
136
- }
137
- }
138
- catch (err) {
139
- throw new WebdaError.CodeError("INVALID_WEBDA_CONFIG", `Cannot parse JSON of: ${file}`);
140
- }
141
- }
142
- /**
143
- *
144
- * @param proto Prototype to send
145
- */
146
- getFullNameFromPrototype(proto) {
147
- for (const section in SectionEnum) {
148
- for (const i in this[SectionEnum[section]]) {
149
- if (this[SectionEnum[section]][i] && this[SectionEnum[section]][i].prototype === proto) {
150
- return i;
151
- }
152
- }
153
- }
154
- // Manage CoreModel too
155
- for (const i in this.models) {
156
- if (this.models[i].prototype === proto) {
157
- return i;
158
- }
159
- }
160
- }
161
- /**
162
- * Get a schema from a type
163
- *
164
- * Schema should be precomputed in the default app
165
- * @param type
166
- * @returns
167
- */
168
- getSchema(type) {
169
- return this.baseConfiguration.cachedModules.schemas[type];
170
- }
171
- /**
172
- * Get schemas
173
- * @returns
174
- */
175
- getSchemas() {
176
- return this.baseConfiguration.cachedModules.schemas;
177
- }
178
- /**
179
- * Check if a schema exists
180
- * @param type
181
- * @returns schema name if it exists
182
- */
183
- hasSchema(type) {
184
- return this.baseConfiguration.cachedModules.schemas[type] !== undefined;
185
- }
186
- /**
187
- * Get model graph
188
- */
189
- getRelations(model) {
190
- const name = typeof model === "string" ? this.completeNamespace(model) : this.getModelName(model);
191
- // Get relations should not be case-sensitive until v4
192
- const key = Object.keys(this.graph).find(k => k?.toLowerCase() === name?.toLowerCase());
193
- return this.getGraph()[key] || {};
194
- }
195
- /**
196
- * Get the all graph
197
- * @returns
198
- */
199
- getGraph() {
200
- return this.graph;
201
- }
202
- /**
203
- * Check if application has cached modules
204
- *
205
- * When deployed the application contains cachedModules in the `webda.config.json`
206
- * It allows to avoid the search for `webda.module.json` inside node_modules and
207
- * take the schema from the cached modules also
208
- */
209
- isCached() {
210
- return true;
211
- }
212
- /**
213
- * Retrieve specific webda conf from package.json
214
- *
215
- * In case of workspaces the object is combined
216
- */
217
- getPackageWebda() {
218
- return (this.baseConfiguration.cachedModules.project?.webda || {
219
- namespace: "Webda"
220
- });
221
- }
222
- /**
223
- * Retrieve content of package.json
224
- */
225
- getPackageDescription() {
226
- return this.baseConfiguration.cachedModules?.project?.package || {};
227
- }
228
- /**
229
- * Log information
230
- *
231
- * @param level to log for
232
- * @param args anything to display same as console.log
233
- */
234
- log(level, ...args) {
235
- if (this.logger) {
236
- this.logger.log(level, ...args);
237
- }
238
- }
239
- /**
240
- * Get current logger
241
- */
242
- getWorkerOutput() {
243
- return this.logger;
244
- }
245
- /**
246
- * Return the current app path
247
- *
248
- * @param subpath to append to
249
- */
250
- getAppPath(subpath = undefined) {
251
- if (subpath && subpath !== "") {
252
- if (path.isAbsolute(subpath)) {
253
- return subpath;
254
- }
255
- return path.join(this.appPath, subpath);
256
- }
257
- return this.appPath;
258
- }
259
- /**
260
- * Add a new service
261
- *
262
- * @param name
263
- * @param service
264
- */
265
- addService(name, service) {
266
- this.log("TRACE", "Registering service", name);
267
- this.moddas[name] = service;
268
- return this;
269
- }
270
- /**
271
- * Register a new schema in the application
272
- * @param name
273
- * @param schema
274
- */
275
- registerSchema(name, schema) {
276
- if (this.hasSchema(name)) {
277
- throw new Error(`Schema ${name} already registered`);
278
- }
279
- this.baseConfiguration.cachedModules.schemas[name] = schema;
280
- }
281
- /**
282
- * Get plural of an Id
283
- * @param name
284
- * @returns
285
- */
286
- getModelPlural(name) {
287
- if (this.plurals[name]) {
288
- return this.plurals[name];
289
- }
290
- const value = name.split("/").pop();
291
- return value.endsWith("s") ? value : value + "s";
292
- }
293
- /**
294
- *
295
- * @param section
296
- * @param name
297
- * @param caseSensitive
298
- */
299
- hasWebdaObject(section, name) {
300
- let objectName = this.completeNamespace(name);
301
- this.log("TRACE", `Search for ${section} ${objectName}`);
302
- if (!this[section][objectName] && name.indexOf("/") === -1) {
303
- objectName = `Webda/${name}`;
304
- }
305
- return this[section][objectName] !== undefined;
306
- }
307
- /**
308
- *
309
- * @param section
310
- * @param name
311
- * @returns
312
- */
313
- getWebdaObject(section, name) {
314
- let objectName = this.completeNamespace(name);
315
- this.log("TRACE", `Search for ${section} ${objectName}`);
316
- if (!this[section][objectName] && name.indexOf("/") === -1) {
317
- objectName = `Webda/${name}`;
318
- }
319
- if (!this[section][objectName]) {
320
- if (Object.keys(this[section]).includes(objectName)) {
321
- throw Error(`Null ${section.substring(0, section.length - 1)} ${objectName}`);
322
- }
323
- throw Error(`Undefined ${section.substring(0, section.length - 1)} ${objectName} (${Object.keys(this[section]).join(", ")})`);
324
- }
325
- return this[section][objectName];
326
- }
327
- /**
328
- * Get a service based on name
329
- *
330
- * @param name
331
- */
332
- getModda(name) {
333
- return this.getWebdaObject("moddas", name);
334
- }
335
- /**
336
- * Return all services of the application
337
- */
338
- getModdas() {
339
- return this.moddas;
340
- }
341
- /**
342
- * Return all beans of the application
343
- */
344
- getBeans() {
345
- return this.baseConfiguration.cachedModules.beans;
346
- }
347
- /**
348
- * Retrieve the model implementation
349
- *
350
- * @param name model to retrieve
351
- */
352
- getModel(name) {
353
- return this.getWebdaObject("models", this.completeNamespace(name));
354
- }
355
- /**
356
- * Get all models definitions
357
- */
358
- getModels() {
359
- return this.models;
360
- }
361
- /**
362
- * Return models that do not have parents
363
- * @returns
364
- */
365
- getRootModels() {
366
- return Object.keys(this.graph).filter(key => !this.graph[key].parent && this.models[key]?.Expose);
367
- }
368
- /**
369
- * Return models that do not have parents and are exposed
370
- * Or specifically set as root via the Expose.root parameter
371
- * @returns
372
- */
373
- getRootExposedModels() {
374
- const results = new Set(this.getRootModels().filter(k => this.getModel(k).Expose));
375
- for (const model in this.models) {
376
- if (this.models[model].Expose?.root) {
377
- results.add(model);
378
- }
379
- }
380
- return [...results];
381
- }
382
- /**
383
- * Return the model name for a object
384
- * @param object
385
- */
386
- getModelFromInstance(object) {
387
- return Object.keys(this.models).find(k => this.models[k] === object.constructor);
388
- }
389
- /**
390
- * Return the model name for a object
391
- * @param object
392
- */
393
- getModelFromConstructor(model) {
394
- return Object.keys(this.models).find(k => this.models[k] === model);
395
- }
396
- /**
397
- * Get the model name from a model or a constructor
398
- *
399
- * @param model
400
- * @returns longId for a model
401
- */
402
- getModelName(model) {
403
- // If __type is defined, use it
404
- if (model.__type) {
405
- return this.completeNamespace(model.__type);
406
- }
407
- if (model instanceof CoreModel) {
408
- return this.getModelFromInstance(model);
409
- }
410
- return this.getModelFromConstructor(model);
411
- }
412
- /**
413
- * Get the model hierarchy
414
- * @param model
415
- */
416
- getModelHierarchy(model) {
417
- if (typeof model !== "string") {
418
- model = this.getModelName(model);
419
- }
420
- else {
421
- model = this.completeNamespace(model);
422
- }
423
- if (model === "Webda/CoreModel") {
424
- return { ancestors: [], children: this.baseConfiguration?.cachedModules?.models?.tree };
425
- }
426
- const ancestors = [];
427
- let modelInfo = model;
428
- while ((this.flatHierarchy[modelInfo] || "Webda/CoreModel") !== "Webda/CoreModel") {
429
- modelInfo = this.flatHierarchy[modelInfo];
430
- ancestors.unshift(modelInfo);
431
- }
432
- let tree = this.baseConfiguration?.cachedModules?.models?.tree || {};
433
- ancestors.forEach(ancestor => {
434
- tree = tree[ancestor] || {};
435
- });
436
- ancestors.unshift(this.getShortId("Webda/CoreModel"));
437
- ancestors.reverse();
438
- return { ancestors: ancestors.map(i => this.getShortId(i)), children: tree[model] || {} };
439
- }
440
- /**
441
- * Get all model types with the hierarchy
442
- * @param model
443
- * @returns
444
- */
445
- getModelTypes(model) {
446
- const hierarchy = this.getModelHierarchy(model);
447
- const coreModel = this.getShortId("Webda/CoreModel");
448
- return [model.__type, ...hierarchy.ancestors]
449
- .map(i => (i.includes("/") ? this.getShortId(i) : i))
450
- .filter(i => i !== coreModel);
451
- }
452
- /**
453
- * Return all deployers
454
- */
455
- getDeployers() {
456
- return this.deployers;
457
- }
458
- /**
459
- * Add a new model
460
- *
461
- * @param name
462
- * @param model
463
- * @param dynamic class is dynamic so recompute the hierarchy
464
- */
465
- addModel(name, model, dynamic = true) {
466
- var _a;
467
- name = this.completeNamespace(name);
468
- this.log("TRACE", "Registering model", name);
469
- this.models[name] = model;
470
- if (dynamic && model) {
471
- const superClass = Object.getPrototypeOf(model);
472
- Object.values(this.getModels())
473
- .filter(m => m === superClass)
474
- .forEach(m => {
475
- this.flatHierarchy[name] = this.getModelName(m);
476
- this.getModelHierarchy(this.flatHierarchy[name]).children[name] = {};
477
- });
478
- (_a = this.graph)[name] ?? (_a[name] = {});
479
- if (!this.baseConfiguration?.cachedModules?.models?.shortIds[name]) {
480
- const short = name.split("/").pop();
481
- if (!this.baseConfiguration?.cachedModules?.models?.shortIds[short]) {
482
- this.baseConfiguration.cachedModules.models.shortIds[short] = name;
483
- this.baseConfiguration.cachedModules.models.shortIds[name] = short;
484
- }
485
- else {
486
- this.baseConfiguration.cachedModules.models.shortIds[name] = name;
487
- }
488
- }
489
- }
490
- return this;
491
- }
492
- /**
493
- * Add a new deployer
494
- *
495
- * @param name
496
- * @param model
497
- */
498
- addDeployer(name, model) {
499
- this.log("TRACE", "Registering deployer", name);
500
- this.deployers[name] = model;
501
- return this;
502
- }
503
- /**
504
- * Return webda current version
505
- *
506
- * @returns package version
507
- * @since 0.4.0
508
- */
509
- getWebdaVersion() {
510
- return JSON.parse(fs.readFileSync(__dirname + "/../package.json").toString()).version;
511
- }
512
- /**
513
- * Retrieve Git Repository information
514
- *
515
- * {@link GitInformation} for more details on how the information is gathered
516
- * @return the git information
517
- */
518
- getGitInformation(_packageName, _version) {
519
- return this.baseConfiguration.cachedModules.project?.git;
520
- }
521
- /**
522
- * Allow variable inside of string
523
- *
524
- * @param templateString to copy
525
- * @param replacements additional replacements to run
526
- */
527
- stringParameter(templateString, replacements = {}) {
528
- // Optimization if no parameter is found just skip the costy function
529
- if (templateString.indexOf("${") < 0) {
530
- return templateString;
531
- }
532
- let scan = templateString;
533
- let index;
534
- let i = 0;
535
- while ((index = scan.indexOf("${")) >= 0) {
536
- // Add escape sequence
537
- if (index > 0 && scan.substring(index - 1, 1) === "\\") {
538
- scan = scan.substring(scan.indexOf("}", index));
539
- continue;
540
- }
541
- const next = scan.indexOf("}", index);
542
- const variable = scan.substring(index + 2, next);
543
- scan = scan.substring(next);
544
- if (variable.match(/[|&;<>\\{]/)) {
545
- throw new Error(`Variable cannot use every javascript features found ${variable}`);
546
- }
547
- if (i++ > 10) {
548
- throw new Error("Too many variables");
549
- }
550
- }
551
- return new Function("return `" + (" " + templateString).replace(/([^\\])\$\{([^}{]+)}/g, "$1${this.$2}").substring(1) + "`;").call({
552
- ...this.baseConfiguration.cachedModules.project,
553
- now: this.initTime,
554
- ...replacements
555
- });
556
- }
557
- /**
558
- * Allow variable inside object strings
559
- *
560
- * Example
561
- * ```js
562
- * replaceVariables({
563
- * myobj: "${test.replace}"
564
- * }, {
565
- * test: {
566
- * replace: 'plop'
567
- * }
568
- * })
569
- * ```
570
- * will return
571
- * ```
572
- * {
573
- * myobj: 'plop'
574
- * }
575
- * ```
576
- *
577
- * By default the replacements map contains
578
- * ```
579
- * {
580
- * git: GitInformation,
581
- * package: 'package.json content',
582
- * deployment: string,
583
- * now: number,
584
- * ...replacements
585
- * }
586
- * ```
587
- *
588
- * See: {@link GitInformation}
589
- *
590
- * @param object a duplicated object with replacement done
591
- * @param replacements additional replacements to run
592
- */
593
- replaceVariables(object, replacements = {}) {
594
- if (typeof object === "string") {
595
- return this.stringParameter(object, replacements);
596
- }
597
- // eslint-disable-next-line @typescript-eslint/no-this-alias
598
- const app = this;
599
- return JSON.parse(
600
- // eslint-disable-next-line func-names
601
- JSON.stringify(object, function (key, value) {
602
- if (typeof this[key] === "string") {
603
- return app.stringParameter(value, replacements);
604
- }
605
- return value;
606
- }));
607
- }
608
- /**
609
- * Get current deployment name
610
- */
611
- getCurrentDeployment() {
612
- return this.baseConfiguration.cachedModules.project.deployment.name;
613
- }
614
- /**
615
- * Return all application modules merged as one
616
- *
617
- * Used when deployed
618
- * @returns
619
- */
620
- getModules() {
621
- return this.baseConfiguration.cachedModules;
622
- }
623
- /**
624
- * Get application configuration
625
- * @returns
626
- */
627
- getConfiguration(_deployment = undefined) {
628
- return this.baseConfiguration;
629
- }
630
- /**
631
- * Return current Configuration of the Application
632
- *
633
- * Same as calling
634
- *
635
- * ```js
636
- * getConfiguration(this.currentDeployment);
637
- * ```
638
- */
639
- getCurrentConfiguration() {
640
- return this.getConfiguration();
641
- }
642
- /**
643
- * Import a file
644
- *
645
- * If the `default` is set take this or use old format
646
- *
647
- * @param info
648
- */
649
- async importFile(info, withExport = true) {
650
- if (info.startsWith(".")) {
651
- info = this.getAppPath(info);
652
- }
653
- try {
654
- this.log("TRACE", "Load file", info);
655
- // eslint-disable-next-line prefer-const
656
- let [importFilename, importName = "default"] = info.split(":");
657
- if (!importFilename.endsWith(".js")) {
658
- importFilename += ".js";
659
- }
660
- const importedFile = await import(importFilename);
661
- if (!withExport) {
662
- return;
663
- }
664
- const importObject = importedFile[importName];
665
- if (!importObject) {
666
- this.log("WARN", `Module ${importFilename} does not have export named ${importName}`);
667
- }
668
- return importObject;
669
- }
670
- catch (err) {
671
- this.log("ERROR", "Cannot resolve require", info, err.message);
672
- }
673
- }
674
- /**
675
- * Load local module
676
- */
677
- async loadLocalModule() {
678
- const moduleFile = path.join(process.cwd(), "webda.module.json");
679
- if (fs.existsSync(moduleFile)) {
680
- await this.loadModule(FileUtils.load(moduleFile), process.cwd());
681
- }
682
- }
683
- /**
684
- * Load the module,
685
- *
686
- * @protected
687
- * @ignore Useless for documentation
688
- */
689
- async loadModule(module, parent = this.appPath) {
690
- const info = { beans: {}, ...module };
691
- const sectionLoader = async (section) => {
692
- var _a;
693
- for (const key in info[section]) {
694
- (_a = this[section])[key] ?? (_a[key] = await this.importFile(path.join(parent, info[section][key])));
695
- }
696
- };
697
- // Merging graph from different modules
698
- Object.keys(module.models.graph || {}).forEach(k => {
699
- this.graph[k] = module.models.graph[k];
700
- });
701
- // TODO Merging tree from different modules
702
- await Promise.all([
703
- sectionLoader("moddas"),
704
- sectionLoader("deployers"),
705
- // Load models
706
- (async () => {
707
- // Copy plurals
708
- for (const key in info.models.plurals || {}) {
709
- this.plurals[key] = info.models.plurals[key];
710
- }
711
- for (const key in info.models.list) {
712
- this.addModel(key, await this.importFile(path.join(parent, info.models.list[key])), false);
713
- }
714
- })(),
715
- ...Object.keys(info.beans)
716
- .filter(f => {
717
- if (this.baseConfiguration?.parameters?.ignoreBeans === true) {
718
- return false;
719
- }
720
- if (this.baseConfiguration?.parameters?.ignoreBeans &&
721
- Array.isArray(this.baseConfiguration.parameters.ignoreBeans)) {
722
- return !this.baseConfiguration.parameters.ignoreBeans.includes(f);
723
- }
724
- return true;
725
- })
726
- .map(f => {
727
- this.baseConfiguration.cachedModules.beans[f] = info.beans[f];
728
- return this.importFile(path.join(parent, info.beans[f]), false).catch(this.log.bind(this, "WARN"));
729
- })
730
- ]);
731
- }
732
- /**
733
- * Return the full name including namespace
734
- *
735
- * In Webda the ServiceType include namespace `Webda/Store` or `Webda/Test`
736
- * This method will make sure the namespace is present, adding it if no '/'
737
- * is found in the name
738
- *
739
- * @param name
740
- */
741
- completeNamespace(name = "") {
742
- // Do not add a namespace if already present
743
- if (name.includes("/")) {
744
- return name;
745
- }
746
- name = this.getShortId(name);
747
- if (name.includes("/")) {
748
- return name;
749
- }
750
- return `${this.getNamespace()}/${name}`;
751
- }
752
- /**
753
- * Return current namespace
754
- * @returns
755
- */
756
- getNamespace() {
757
- return this.baseConfiguration?.cachedModules?.project?.webda?.namespace || "Webda";
758
- }
759
- /**
760
- * Get short id for a name
761
- * @param name if name is shortId return longId else return shortId
762
- * @returns
763
- */
764
- getShortId(name) {
765
- return this.baseConfiguration?.cachedModules?.models?.shortIds[name] || name;
766
- }
767
- }
768
- //# sourceMappingURL=application.js.map