@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.
- package/README.md +252 -0
- package/lib/application/application.d.ts +437 -0
- package/lib/application/application.d.ts.map +1 -0
- package/lib/application/application.js +792 -0
- package/lib/application/application.js.map +1 -0
- package/lib/application/hooks.d.ts +34 -0
- package/lib/application/hooks.d.ts.map +1 -0
- package/lib/application/hooks.js +57 -0
- package/lib/application/hooks.js.map +1 -0
- package/lib/application/iapplication.d.ts +43 -0
- package/lib/application/iapplication.d.ts.map +1 -0
- package/lib/application/iapplication.js +2 -0
- package/lib/application/iapplication.js.map +1 -0
- package/lib/application/iconfiguration.d.ts +176 -0
- package/lib/application/iconfiguration.d.ts.map +1 -0
- package/lib/application/iconfiguration.js +8 -0
- package/lib/application/iconfiguration.js.map +1 -0
- package/lib/application/runner.d.ts +8 -0
- package/lib/application/runner.d.ts.map +1 -0
- package/lib/application/runner.js +26 -0
- package/lib/application/runner.js.map +1 -0
- package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
- package/lib/application/unpackedapplication.d.ts.map +1 -0
- package/lib/application/unpackedapplication.js +492 -0
- package/lib/application/unpackedapplication.js.map +1 -0
- package/lib/bin/cli-phase.d.ts +28 -0
- package/lib/bin/cli-phase.d.ts.map +1 -0
- package/lib/bin/cli-phase.js +44 -0
- package/lib/bin/cli-phase.js.map +1 -0
- package/lib/bin/cli.d.ts +161 -0
- package/lib/bin/cli.d.ts.map +1 -0
- package/lib/bin/cli.js +828 -0
- package/lib/bin/cli.js.map +1 -0
- package/lib/bin/launcher.d.ts +3 -0
- package/lib/bin/launcher.d.ts.map +1 -0
- package/lib/bin/launcher.js +50 -0
- package/lib/bin/launcher.js.map +1 -0
- package/lib/cache/cache.d.ts +33 -0
- package/lib/cache/cache.d.ts.map +1 -0
- package/lib/cache/cache.js +8 -0
- package/lib/cache/cache.js.map +1 -0
- package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
- package/lib/configurations/configuration.service.d.ts.map +1 -0
- package/lib/configurations/configuration.service.js +248 -0
- package/lib/configurations/configuration.service.js.map +1 -0
- package/lib/configurations/fileconfiguration.service.d.ts +30 -0
- package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/fileconfiguration.service.js +65 -0
- package/lib/configurations/fileconfiguration.service.js.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.js +83 -0
- package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
- package/lib/contexts/execution.d.ts +33 -0
- package/lib/contexts/execution.d.ts.map +1 -0
- package/lib/contexts/execution.js +73 -0
- package/lib/contexts/execution.js.map +1 -0
- package/lib/contexts/globalcontext.d.ts +29 -0
- package/lib/contexts/globalcontext.d.ts.map +1 -0
- package/lib/contexts/globalcontext.js +38 -0
- package/lib/contexts/globalcontext.js.map +1 -0
- package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
- package/lib/contexts/httpcontext.d.ts.map +1 -0
- package/lib/{utils → contexts}/httpcontext.js +95 -27
- package/lib/contexts/httpcontext.js.map +1 -0
- package/lib/contexts/icontext.d.ts +236 -0
- package/lib/contexts/icontext.d.ts.map +1 -0
- package/lib/contexts/icontext.js +230 -0
- package/lib/contexts/icontext.js.map +1 -0
- package/lib/contexts/operationcontext.d.ts +179 -0
- package/lib/contexts/operationcontext.d.ts.map +1 -0
- package/lib/contexts/operationcontext.js +358 -0
- package/lib/contexts/operationcontext.js.map +1 -0
- package/lib/contexts/simplecontext.d.ts +31 -0
- package/lib/contexts/simplecontext.d.ts.map +1 -0
- package/lib/contexts/simplecontext.js +45 -0
- package/lib/contexts/simplecontext.js.map +1 -0
- package/lib/contexts/webcontext.d.ts +218 -0
- package/lib/contexts/webcontext.d.ts.map +1 -0
- package/lib/contexts/webcontext.js +389 -0
- package/lib/contexts/webcontext.js.map +1 -0
- package/lib/core/authorizer.d.ts +23 -0
- package/lib/core/authorizer.d.ts.map +1 -0
- package/lib/core/authorizer.js +17 -0
- package/lib/core/authorizer.js.map +1 -0
- package/lib/core/core.d.ts +225 -0
- package/lib/core/core.d.ts.map +1 -0
- package/lib/core/core.js +576 -0
- package/lib/core/core.js.map +1 -0
- package/lib/core/hooks.d.ts +72 -0
- package/lib/core/hooks.d.ts.map +1 -0
- package/lib/core/hooks.js +73 -0
- package/lib/core/hooks.js.map +1 -0
- package/lib/core/icore.d.ts +249 -0
- package/lib/core/icore.d.ts.map +1 -0
- package/lib/core/icore.js +15 -0
- package/lib/core/icore.js.map +1 -0
- package/lib/core/instancestorage.d.ts +61 -0
- package/lib/core/instancestorage.d.ts.map +1 -0
- package/lib/core/instancestorage.js +75 -0
- package/lib/core/instancestorage.js.map +1 -0
- package/lib/core/operations.d.ts +181 -0
- package/lib/core/operations.d.ts.map +1 -0
- package/lib/core/operations.js +559 -0
- package/lib/core/operations.js.map +1 -0
- package/lib/errors/errors.d.ts +126 -0
- package/lib/errors/errors.d.ts.map +1 -0
- package/lib/errors/errors.js +165 -0
- package/lib/errors/errors.js.map +1 -0
- package/lib/events/asynceventemitter.d.ts +159 -0
- package/lib/events/asynceventemitter.d.ts.map +1 -0
- package/lib/events/asynceventemitter.js +152 -0
- package/lib/events/asynceventemitter.js.map +1 -0
- package/lib/events/events.d.ts +112 -0
- package/lib/events/events.d.ts.map +1 -0
- package/lib/events/events.js +45 -0
- package/lib/events/events.js.map +1 -0
- package/lib/index.d.ts +82 -53
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +81 -62
- package/lib/index.js.map +1 -1
- package/lib/loggers/console.service.d.ts +24 -0
- package/lib/loggers/console.service.d.ts.map +1 -0
- package/lib/loggers/console.service.js +30 -0
- package/lib/loggers/console.service.js.map +1 -0
- package/lib/loggers/file.service.d.ts +25 -0
- package/lib/loggers/file.service.d.ts.map +1 -0
- package/lib/loggers/file.service.js +33 -0
- package/lib/loggers/file.service.js.map +1 -0
- package/lib/loggers/hooks.d.ts +20 -0
- package/lib/loggers/hooks.d.ts.map +1 -0
- package/lib/loggers/hooks.js +40 -0
- package/lib/loggers/hooks.js.map +1 -0
- package/lib/loggers/ilogger.d.ts +76 -0
- package/lib/loggers/ilogger.d.ts.map +1 -0
- package/lib/loggers/ilogger.js +108 -0
- package/lib/loggers/ilogger.js.map +1 -0
- package/lib/loggers/logger.d.ts +13 -0
- package/lib/loggers/logger.d.ts.map +1 -0
- package/lib/loggers/logger.js +18 -0
- package/lib/loggers/logger.js.map +1 -0
- package/lib/loggers/memory.service.d.ts +18 -0
- package/lib/loggers/memory.service.d.ts.map +1 -0
- package/lib/loggers/memory.service.js +21 -0
- package/lib/loggers/memory.service.js.map +1 -0
- package/lib/loggers/params.d.ts +47 -0
- package/lib/loggers/params.d.ts.map +1 -0
- package/lib/loggers/params.js +56 -0
- package/lib/loggers/params.js.map +1 -0
- package/lib/metrics/metrics.d.ts +25 -0
- package/lib/metrics/metrics.d.ts.map +1 -0
- package/lib/metrics/metrics.js +51 -0
- package/lib/metrics/metrics.js.map +1 -0
- package/lib/models/aclmodel.d.ts +20 -76
- package/lib/models/aclmodel.d.ts.map +1 -1
- package/lib/models/aclmodel.js +27 -203
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/coremodel.model.d.ts +5 -0
- package/lib/models/coremodel.model.d.ts.map +1 -0
- package/lib/models/coremodel.model.js +5 -0
- package/lib/models/coremodel.model.js.map +1 -0
- package/lib/models/decorator.d.ts +63 -0
- package/lib/models/decorator.d.ts.map +1 -0
- package/lib/models/decorator.js +63 -0
- package/lib/models/decorator.js.map +1 -0
- package/lib/models/deployment.d.ts +1 -1
- package/lib/models/deployment.d.ts.map +1 -1
- package/lib/models/ident.model.d.ts +89 -0
- package/lib/models/ident.model.d.ts.map +1 -0
- package/lib/models/ident.model.js +115 -0
- package/lib/models/ident.model.js.map +1 -0
- package/lib/models/ownermodel.model.d.ts +68 -0
- package/lib/models/ownermodel.model.d.ts.map +1 -0
- package/lib/models/ownermodel.model.js +112 -0
- package/lib/models/ownermodel.model.js.map +1 -0
- package/lib/models/registry.model.d.ts +76 -0
- package/lib/models/registry.model.d.ts.map +1 -0
- package/lib/models/registry.model.js +104 -0
- package/lib/models/registry.model.js.map +1 -0
- package/lib/models/rolemodel.model.d.ts +28 -0
- package/lib/models/rolemodel.model.d.ts.map +1 -0
- package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
- package/lib/models/rolemodel.model.js.map +1 -0
- package/lib/models/simpleuser.model.d.ts +78 -0
- package/lib/models/simpleuser.model.d.ts.map +1 -0
- package/lib/models/simpleuser.model.js +123 -0
- package/lib/models/simpleuser.model.js.map +1 -0
- package/lib/models/types.d.ts +113 -0
- package/lib/models/types.d.ts.map +1 -0
- package/lib/models/types.js +2 -0
- package/lib/models/types.js.map +1 -0
- package/lib/models/user.model.d.ts +103 -0
- package/lib/models/user.model.d.ts.map +1 -0
- package/lib/models/user.model.js +125 -0
- package/lib/models/user.model.js.map +1 -0
- package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
- package/lib/queues/memoryqueue.service.d.ts.map +1 -0
- package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
- package/lib/queues/memoryqueue.service.js.map +1 -0
- package/lib/queues/pubsubservice.d.ts +8 -6
- package/lib/queues/pubsubservice.d.ts.map +1 -1
- package/lib/queues/pubsubservice.js +5 -4
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +9 -11
- package/lib/queues/queueservice.d.ts.map +1 -1
- package/lib/queues/queueservice.js +41 -13
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/rest/hooks.d.ts +8 -0
- package/lib/rest/hooks.d.ts.map +1 -0
- package/lib/rest/hooks.js +10 -0
- package/lib/rest/hooks.js.map +1 -0
- package/lib/rest/irest.d.ts +212 -0
- package/lib/rest/irest.d.ts.map +1 -0
- package/lib/rest/irest.js +39 -0
- package/lib/rest/irest.js.map +1 -0
- package/lib/rest/originfilter.d.ts +38 -0
- package/lib/rest/originfilter.d.ts.map +1 -0
- package/lib/rest/originfilter.js +61 -0
- package/lib/rest/originfilter.js.map +1 -0
- package/lib/rest/restoperationstransport.service.d.ts +193 -0
- package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
- package/lib/rest/restoperationstransport.service.js +780 -0
- package/lib/rest/restoperationstransport.service.js.map +1 -0
- package/lib/rest/router.service.d.ts +244 -0
- package/lib/rest/router.service.d.ts.map +1 -0
- package/lib/rest/router.service.js +843 -0
- package/lib/rest/router.service.js.map +1 -0
- package/lib/schemas/hooks.d.ts +48 -0
- package/lib/schemas/hooks.d.ts.map +1 -0
- package/lib/schemas/hooks.js +152 -0
- package/lib/schemas/hooks.js.map +1 -0
- package/lib/services/audit.model.d.ts +208 -0
- package/lib/services/audit.model.d.ts.map +1 -0
- package/lib/services/audit.model.js +431 -0
- package/lib/services/audit.model.js.map +1 -0
- package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -59
- package/lib/services/authentication.service.d.ts.map +1 -0
- package/lib/services/authentication.service.js +932 -0
- package/lib/services/authentication.service.js.map +1 -0
- package/lib/services/binary.service.d.ts +808 -0
- package/lib/services/binary.service.d.ts.map +1 -0
- package/lib/services/binary.service.js +1365 -0
- package/lib/services/binary.service.js.map +1 -0
- package/lib/services/cloudbinary.d.ts +17 -12
- package/lib/services/cloudbinary.d.ts.map +1 -1
- package/lib/services/cloudbinary.js +23 -17
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/command.d.ts +118 -0
- package/lib/services/command.d.ts.map +1 -0
- package/lib/services/command.js +97 -0
- package/lib/services/command.js.map +1 -0
- package/lib/services/cron.service.d.ts +142 -0
- package/lib/services/cron.service.d.ts.map +1 -0
- package/lib/services/cron.service.js +291 -0
- package/lib/services/cron.service.js.map +1 -0
- package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
- package/lib/services/cryptoservice.service.d.ts.map +1 -0
- package/lib/services/cryptoservice.service.js +527 -0
- package/lib/services/cryptoservice.service.js.map +1 -0
- package/lib/services/debugmailer.service.d.ts +49 -0
- package/lib/services/debugmailer.service.d.ts.map +1 -0
- package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
- package/lib/services/debugmailer.service.js.map +1 -0
- package/lib/services/domainservice.service.d.ts +203 -0
- package/lib/services/domainservice.service.d.ts.map +1 -0
- package/lib/services/domainservice.service.js +600 -0
- package/lib/services/domainservice.service.js.map +1 -0
- package/lib/services/httpserver.service.d.ts +248 -0
- package/lib/services/httpserver.service.d.ts.map +1 -0
- package/lib/services/httpserver.service.js +673 -0
- package/lib/services/httpserver.service.js.map +1 -0
- package/lib/services/iauthentication.d.ts +9 -0
- package/lib/services/iauthentication.d.ts.map +1 -0
- package/lib/services/iauthentication.js +2 -0
- package/lib/services/iauthentication.js.map +1 -0
- package/lib/services/icryptoservice.d.ts +127 -0
- package/lib/services/icryptoservice.d.ts.map +1 -0
- package/lib/services/icryptoservice.js +68 -0
- package/lib/services/icryptoservice.js.map +1 -0
- package/lib/services/imailer.d.ts +17 -0
- package/lib/services/imailer.d.ts.map +1 -0
- package/lib/services/imailer.js +2 -0
- package/lib/services/imailer.js.map +1 -0
- package/lib/services/iservice.d.ts +104 -0
- package/lib/services/iservice.d.ts.map +1 -0
- package/lib/services/iservice.js +63 -0
- package/lib/services/iservice.js.map +1 -0
- package/lib/services/mailer.service.d.ts +220 -0
- package/lib/services/mailer.service.d.ts.map +1 -0
- package/lib/services/mailer.service.js +251 -0
- package/lib/services/mailer.service.js.map +1 -0
- package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
- package/lib/services/notificationservice.service.d.ts.map +1 -0
- package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
- package/lib/services/notificationservice.service.js.map +1 -0
- package/lib/services/oauth.d.ts +52 -28
- package/lib/services/oauth.d.ts.map +1 -1
- package/lib/services/oauth.js +365 -254
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/operationstransport.d.ts +65 -0
- package/lib/services/operationstransport.d.ts.map +1 -0
- package/lib/services/operationstransport.js +103 -0
- package/lib/services/operationstransport.js.map +1 -0
- package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
- package/lib/services/prometheus.service.d.ts.map +1 -0
- package/lib/services/prometheus.service.js +203 -0
- package/lib/services/prometheus.service.js.map +1 -0
- package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
- package/lib/services/resource.service.d.ts.map +1 -0
- package/lib/services/resource.service.js +301 -0
- package/lib/services/resource.service.js.map +1 -0
- package/lib/services/service.d.ts +87 -188
- package/lib/services/service.d.ts.map +1 -1
- package/lib/services/service.js +407 -422
- package/lib/services/service.js.map +1 -1
- package/lib/services/servicecommands.d.ts +99 -0
- package/lib/services/servicecommands.d.ts.map +1 -0
- package/lib/services/servicecommands.js +165 -0
- package/lib/services/servicecommands.js.map +1 -0
- package/lib/services/serviceparameters.d.ts +33 -0
- package/lib/services/serviceparameters.d.ts.map +1 -0
- package/lib/services/serviceparameters.js +79 -0
- package/lib/services/serviceparameters.js.map +1 -0
- package/lib/{utils → session}/cookie.d.ts +32 -19
- package/lib/session/cookie.d.ts.map +1 -0
- package/lib/{utils → session}/cookie.js +76 -23
- package/lib/session/cookie.js.map +1 -0
- package/lib/session/manager.model.d.ts +71 -0
- package/lib/session/manager.model.d.ts.map +1 -0
- package/lib/session/manager.model.js +155 -0
- package/lib/session/manager.model.js.map +1 -0
- package/lib/session/session.d.ts +57 -0
- package/lib/session/session.d.ts.map +1 -0
- package/lib/session/session.js +126 -0
- package/lib/session/session.js.map +1 -0
- package/lib/stores/istore.d.ts +99 -0
- package/lib/stores/istore.d.ts.map +1 -0
- package/lib/stores/istore.js +26 -0
- package/lib/stores/istore.js.map +1 -0
- package/lib/stores/memory.service.d.ts +114 -0
- package/lib/stores/memory.service.d.ts.map +1 -0
- package/lib/stores/memory.service.js +343 -0
- package/lib/stores/memory.service.js.map +1 -0
- package/lib/stores/store.d.ts +126 -626
- package/lib/stores/store.d.ts.map +1 -1
- package/lib/stores/store.js +257 -1117
- package/lib/stores/store.js.map +1 -1
- package/lib/templates/templates.d.ts +39 -0
- package/lib/templates/templates.d.ts.map +1 -0
- package/lib/templates/templates.js +92 -0
- package/lib/templates/templates.js.map +1 -0
- package/lib/test/application.d.ts +174 -0
- package/lib/test/application.d.ts.map +1 -0
- package/lib/test/application.js +288 -0
- package/lib/test/application.js.map +1 -0
- package/lib/test/asyncstorage.d.ts +16 -0
- package/lib/test/asyncstorage.d.ts.map +1 -0
- package/lib/test/asyncstorage.js +32 -0
- package/lib/test/asyncstorage.js.map +1 -0
- package/lib/test/core.d.ts +63 -0
- package/lib/test/core.d.ts.map +1 -0
- package/lib/test/core.js +190 -0
- package/lib/test/core.js.map +1 -0
- package/lib/test/index.d.ts +7 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +8 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/internal.d.ts +34 -0
- package/lib/test/internal.d.ts.map +1 -0
- package/lib/test/internal.js +156 -0
- package/lib/test/internal.js.map +1 -0
- package/lib/test/objects.d.ts +318 -0
- package/lib/test/objects.d.ts.map +1 -0
- package/lib/test/objects.js +443 -0
- package/lib/test/objects.js.map +1 -0
- package/lib/utils/abstractdeployer.d.ts +4 -2
- package/lib/utils/abstractdeployer.d.ts.map +1 -1
- package/lib/utils/abstractdeployer.js +3 -0
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/package.json +85 -60
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +1 -5
- package/test/config.json +0 -9
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3463 -2482
- package/lib/application.d.ts +0 -888
- package/lib/application.d.ts.map +0 -1
- package/lib/application.js +0 -768
- package/lib/application.js.map +0 -1
- package/lib/application.spec.d.ts +0 -2
- package/lib/application.spec.d.ts.map +0 -1
- package/lib/application.spec.js +0 -248
- package/lib/application.spec.js.map +0 -1
- package/lib/core.d.ts +0 -743
- package/lib/core.d.ts.map +0 -1
- package/lib/core.js +0 -1334
- package/lib/core.js.map +0 -1
- package/lib/core.spec.d.ts +0 -2
- package/lib/core.spec.d.ts.map +0 -1
- package/lib/core.spec.js +0 -790
- package/lib/core.spec.js.map +0 -1
- package/lib/errors.d.ts +0 -64
- package/lib/errors.d.ts.map +0 -1
- package/lib/errors.js +0 -97
- package/lib/errors.js.map +0 -1
- package/lib/errors.spec.d.ts +0 -2
- package/lib/errors.spec.d.ts.map +0 -1
- package/lib/errors.spec.js +0 -33
- package/lib/errors.spec.js.map +0 -1
- package/lib/models/aclmodel.spec.d.ts +0 -2
- package/lib/models/aclmodel.spec.d.ts.map +0 -1
- package/lib/models/aclmodel.spec.js +0 -187
- package/lib/models/aclmodel.spec.js.map +0 -1
- package/lib/models/coremodel.d.ts +0 -896
- package/lib/models/coremodel.d.ts.map +0 -1
- package/lib/models/coremodel.js +0 -1214
- package/lib/models/coremodel.js.map +0 -1
- package/lib/models/coremodel.spec.d.ts +0 -2
- package/lib/models/coremodel.spec.d.ts.map +0 -1
- package/lib/models/coremodel.spec.js +0 -464
- package/lib/models/coremodel.spec.js.map +0 -1
- package/lib/models/ident.d.ts +0 -68
- package/lib/models/ident.d.ts.map +0 -1
- package/lib/models/ident.js +0 -26
- package/lib/models/ident.js.map +0 -1
- package/lib/models/ident.spec.d.ts +0 -2
- package/lib/models/ident.spec.d.ts.map +0 -1
- package/lib/models/ident.spec.js +0 -24
- package/lib/models/ident.spec.js.map +0 -1
- package/lib/models/ownermodel.d.ts +0 -51
- package/lib/models/ownermodel.d.ts.map +0 -1
- package/lib/models/ownermodel.js +0 -65
- package/lib/models/ownermodel.js.map +0 -1
- package/lib/models/ownermodel.spec.d.ts +0 -2
- package/lib/models/ownermodel.spec.d.ts.map +0 -1
- package/lib/models/ownermodel.spec.js +0 -215
- package/lib/models/ownermodel.spec.js.map +0 -1
- package/lib/models/relations.d.ts +0 -182
- package/lib/models/relations.d.ts.map +0 -1
- package/lib/models/relations.js +0 -157
- package/lib/models/relations.js.map +0 -1
- package/lib/models/relations.spec.d.ts +0 -14
- package/lib/models/relations.spec.d.ts.map +0 -1
- package/lib/models/relations.spec.js +0 -217
- package/lib/models/relations.spec.js.map +0 -1
- package/lib/models/rolemodel.d.ts +0 -11
- package/lib/models/rolemodel.d.ts.map +0 -1
- package/lib/models/rolemodel.js.map +0 -1
- package/lib/models/rolemodel.spec.d.ts +0 -2
- package/lib/models/rolemodel.spec.d.ts.map +0 -1
- package/lib/models/rolemodel.spec.js +0 -90
- package/lib/models/rolemodel.spec.js.map +0 -1
- package/lib/models/simpleuser.d.ts +0 -47
- package/lib/models/simpleuser.d.ts.map +0 -1
- package/lib/models/simpleuser.js +0 -84
- package/lib/models/simpleuser.js.map +0 -1
- package/lib/models/test.d.ts +0 -11
- package/lib/models/test.d.ts.map +0 -1
- package/lib/models/test.js +0 -7
- package/lib/models/test.js.map +0 -1
- package/lib/models/user.d.ts +0 -67
- package/lib/models/user.d.ts.map +0 -1
- package/lib/models/user.js +0 -86
- package/lib/models/user.js.map +0 -1
- package/lib/models/user.spec.d.ts +0 -2
- package/lib/models/user.spec.d.ts.map +0 -1
- package/lib/models/user.spec.js +0 -89
- package/lib/models/user.spec.js.map +0 -1
- package/lib/queues/filequeue.d.ts +0 -59
- package/lib/queues/filequeue.d.ts.map +0 -1
- package/lib/queues/filequeue.js +0 -131
- package/lib/queues/filequeue.js.map +0 -1
- package/lib/queues/filequeue.spec.d.ts +0 -2
- package/lib/queues/filequeue.spec.d.ts.map +0 -1
- package/lib/queues/filequeue.spec.js +0 -84
- package/lib/queues/filequeue.spec.js.map +0 -1
- package/lib/queues/memoryqueue.d.ts.map +0 -1
- package/lib/queues/memoryqueue.js.map +0 -1
- package/lib/queues/memoryqueue.spec.d.ts +0 -2
- package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
- package/lib/queues/memoryqueue.spec.js +0 -203
- package/lib/queues/memoryqueue.spec.js.map +0 -1
- package/lib/queues/queue.spec.d.ts +0 -6
- package/lib/queues/queue.spec.d.ts.map +0 -1
- package/lib/queues/queue.spec.js +0 -55
- package/lib/queues/queue.spec.js.map +0 -1
- package/lib/rest/restdomainservice.d.ts +0 -63
- package/lib/rest/restdomainservice.d.ts.map +0 -1
- package/lib/rest/restdomainservice.js +0 -687
- package/lib/rest/restdomainservice.js.map +0 -1
- package/lib/rest/restdomainservice.spec.d.ts +0 -2
- package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
- package/lib/rest/restdomainservice.spec.js +0 -124
- package/lib/rest/restdomainservice.spec.js.map +0 -1
- package/lib/rest/router.d.ts +0 -174
- package/lib/rest/router.d.ts.map +0 -1
- package/lib/rest/router.js +0 -429
- package/lib/rest/router.js.map +0 -1
- package/lib/rest/router.spec.d.ts +0 -2
- package/lib/rest/router.spec.d.ts.map +0 -1
- package/lib/rest/router.spec.js +0 -255
- package/lib/rest/router.spec.js.map +0 -1
- package/lib/services/asyncevents.d.ts +0 -152
- package/lib/services/asyncevents.d.ts.map +0 -1
- package/lib/services/asyncevents.js +0 -217
- package/lib/services/asyncevents.js.map +0 -1
- package/lib/services/asyncevents.spec.d.ts +0 -2
- package/lib/services/asyncevents.spec.d.ts.map +0 -1
- package/lib/services/asyncevents.spec.js +0 -118
- package/lib/services/asyncevents.spec.js.map +0 -1
- package/lib/services/authentication.d.ts.map +0 -1
- package/lib/services/authentication.js +0 -773
- package/lib/services/authentication.js.map +0 -1
- package/lib/services/authentication.spec.d.ts +0 -2
- package/lib/services/authentication.spec.d.ts.map +0 -1
- package/lib/services/authentication.spec.js +0 -458
- package/lib/services/authentication.spec.js.map +0 -1
- package/lib/services/binary.d.ts +0 -477
- package/lib/services/binary.d.ts.map +0 -1
- package/lib/services/binary.js +0 -617
- package/lib/services/binary.js.map +0 -1
- package/lib/services/binary.spec.d.ts +0 -41
- package/lib/services/binary.spec.d.ts.map +0 -1
- package/lib/services/binary.spec.js +0 -151
- package/lib/services/binary.spec.js.map +0 -1
- package/lib/services/cloudbinary.spec.d.ts +0 -6
- package/lib/services/cloudbinary.spec.d.ts.map +0 -1
- package/lib/services/cloudbinary.spec.js +0 -66
- package/lib/services/cloudbinary.spec.js.map +0 -1
- package/lib/services/configuration.d.ts.map +0 -1
- package/lib/services/configuration.js +0 -193
- package/lib/services/configuration.js.map +0 -1
- package/lib/services/configuration.spec.d.ts +0 -2
- package/lib/services/configuration.spec.d.ts.map +0 -1
- package/lib/services/configuration.spec.js +0 -130
- package/lib/services/configuration.spec.js.map +0 -1
- package/lib/services/cron.d.ts +0 -74
- package/lib/services/cron.d.ts.map +0 -1
- package/lib/services/cron.js +0 -141
- package/lib/services/cron.js.map +0 -1
- package/lib/services/cron.spec.d.ts +0 -2
- package/lib/services/cron.spec.d.ts.map +0 -1
- package/lib/services/cron.spec.js +0 -76
- package/lib/services/cron.spec.js.map +0 -1
- package/lib/services/cryptoservice.d.ts.map +0 -1
- package/lib/services/cryptoservice.js +0 -433
- package/lib/services/cryptoservice.js.map +0 -1
- package/lib/services/cryptoservice.spec.d.ts +0 -2
- package/lib/services/cryptoservice.spec.d.ts.map +0 -1
- package/lib/services/cryptoservice.spec.js +0 -177
- package/lib/services/cryptoservice.spec.js.map +0 -1
- package/lib/services/debugmailer.d.ts +0 -36
- package/lib/services/debugmailer.d.ts.map +0 -1
- package/lib/services/debugmailer.js.map +0 -1
- package/lib/services/debugmailer.spec.d.ts +0 -2
- package/lib/services/debugmailer.spec.d.ts.map +0 -1
- package/lib/services/debugmailer.spec.js +0 -32
- package/lib/services/debugmailer.spec.js.map +0 -1
- package/lib/services/domainservice.d.ts +0 -272
- package/lib/services/domainservice.d.ts.map +0 -1
- package/lib/services/domainservice.js +0 -651
- package/lib/services/domainservice.js.map +0 -1
- package/lib/services/domainservice.spec.d.ts +0 -2
- package/lib/services/domainservice.spec.d.ts.map +0 -1
- package/lib/services/domainservice.spec.js +0 -592
- package/lib/services/domainservice.spec.js.map +0 -1
- package/lib/services/filebinary.d.ts +0 -136
- package/lib/services/filebinary.d.ts.map +0 -1
- package/lib/services/filebinary.js +0 -373
- package/lib/services/filebinary.js.map +0 -1
- package/lib/services/filebinary.spec.d.ts +0 -25
- package/lib/services/filebinary.spec.d.ts.map +0 -1
- package/lib/services/filebinary.spec.js +0 -428
- package/lib/services/filebinary.spec.js.map +0 -1
- package/lib/services/fileconfiguration.d.ts +0 -23
- package/lib/services/fileconfiguration.d.ts.map +0 -1
- package/lib/services/fileconfiguration.js +0 -48
- package/lib/services/fileconfiguration.js.map +0 -1
- package/lib/services/fileconfiguration.spec.d.ts +0 -2
- package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
- package/lib/services/fileconfiguration.spec.js +0 -215
- package/lib/services/fileconfiguration.spec.js.map +0 -1
- package/lib/services/invitationservice.d.ts +0 -223
- package/lib/services/invitationservice.d.ts.map +0 -1
- package/lib/services/invitationservice.js +0 -529
- package/lib/services/invitationservice.js.map +0 -1
- package/lib/services/invitationservice.spec.d.ts +0 -2
- package/lib/services/invitationservice.spec.d.ts.map +0 -1
- package/lib/services/invitationservice.spec.js +0 -567
- package/lib/services/invitationservice.spec.js.map +0 -1
- package/lib/services/kubernetesconfiguration.d.ts +0 -27
- package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
- package/lib/services/kubernetesconfiguration.js +0 -52
- package/lib/services/kubernetesconfiguration.js.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
- package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.js +0 -206
- package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
- package/lib/services/mailer.d.ts +0 -166
- package/lib/services/mailer.d.ts.map +0 -1
- package/lib/services/mailer.js +0 -176
- package/lib/services/mailer.js.map +0 -1
- package/lib/services/mailer.spec.d.ts +0 -2
- package/lib/services/mailer.spec.d.ts.map +0 -1
- package/lib/services/mailer.spec.js +0 -158
- package/lib/services/mailer.spec.js.map +0 -1
- package/lib/services/notificationservice.d.ts.map +0 -1
- package/lib/services/notificationservice.js.map +0 -1
- package/lib/services/notificationservice.spec.d.ts +0 -2
- package/lib/services/notificationservice.spec.d.ts.map +0 -1
- package/lib/services/notificationservice.spec.js +0 -83
- package/lib/services/notificationservice.spec.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -2
- package/lib/services/oauth.spec.d.ts.map +0 -1
- package/lib/services/oauth.spec.js +0 -208
- package/lib/services/oauth.spec.js.map +0 -1
- package/lib/services/prometheus.d.ts.map +0 -1
- package/lib/services/prometheus.js +0 -160
- package/lib/services/prometheus.js.map +0 -1
- package/lib/services/prometheus.spec.d.ts +0 -2
- package/lib/services/prometheus.spec.d.ts.map +0 -1
- package/lib/services/prometheus.spec.js +0 -76
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts.map +0 -1
- package/lib/services/resource.js +0 -170
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -2
- package/lib/services/resource.spec.d.ts.map +0 -1
- package/lib/services/resource.spec.js +0 -140
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -2
- package/lib/services/service.spec.d.ts.map +0 -1
- package/lib/services/service.spec.js +0 -286
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -48
- package/lib/stores/aggregator.d.ts.map +0 -1
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/file.d.ts +0 -108
- package/lib/stores/file.d.ts.map +0 -1
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -13
- package/lib/stores/file.spec.d.ts.map +0 -1
- package/lib/stores/file.spec.js +0 -138
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -150
- package/lib/stores/mapper.d.ts.map +0 -1
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -2
- package/lib/stores/mapper.spec.d.ts.map +0 -1
- package/lib/stores/mapper.spec.js +0 -167
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -152
- package/lib/stores/memory.d.ts.map +0 -1
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -14
- package/lib/stores/memory.spec.d.ts.map +0 -1
- package/lib/stores/memory.spec.js +0 -263
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -62
- package/lib/stores/modelmapper.d.ts.map +0 -1
- package/lib/stores/modelmapper.js +0 -197
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -57
- package/lib/stores/store.spec.d.ts.map +0 -1
- package/lib/stores/store.spec.js +0 -737
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -265
- package/lib/test.d.ts.map +0 -1
- package/lib/test.js +0 -622
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts.map +0 -1
- package/lib/unpackedapplication.js +0 -350
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +0 -2
- package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
- package/lib/utils/abstractdeployer.spec.js +0 -21
- package/lib/utils/abstractdeployer.spec.js.map +0 -1
- package/lib/utils/case.d.ts +0 -8
- package/lib/utils/case.d.ts.map +0 -1
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +0 -2
- package/lib/utils/case.spec.d.ts.map +0 -1
- package/lib/utils/case.spec.js +0 -50
- package/lib/utils/case.spec.js.map +0 -1
- package/lib/utils/context.d.ts +0 -482
- package/lib/utils/context.d.ts.map +0 -1
- package/lib/utils/context.js +0 -739
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -10
- package/lib/utils/context.spec.d.ts.map +0 -1
- package/lib/utils/context.spec.js +0 -383
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.d.ts.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -2
- package/lib/utils/cookie.spec.d.ts.map +0 -1
- package/lib/utils/cookie.spec.js +0 -88
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -14
- package/lib/utils/esm.d.ts.map +0 -1
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.d.ts.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -5
- package/lib/utils/httpcontext.spec.d.ts.map +0 -1
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -92
- package/lib/utils/logger.d.ts.map +0 -1
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +0 -2
- package/lib/utils/logger.spec.d.ts.map +0 -1
- package/lib/utils/logger.spec.js +0 -48
- package/lib/utils/logger.spec.js.map +0 -1
- package/lib/utils/serializers.d.ts +0 -162
- package/lib/utils/serializers.d.ts.map +0 -1
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -2
- package/lib/utils/serializers.spec.d.ts.map +0 -1
- package/lib/utils/serializers.spec.js +0 -311
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -123
- package/lib/utils/session.d.ts.map +0 -1
- package/lib/utils/session.js +0 -156
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -2
- package/lib/utils/session.spec.d.ts.map +0 -1
- package/lib/utils/session.spec.js +0 -81
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -99
- package/lib/utils/throttler.d.ts.map +0 -1
- package/lib/utils/throttler.js +0 -160
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -2
- package/lib/utils/throttler.spec.d.ts.map +0 -1
- package/lib/utils/throttler.spec.js +0 -53
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -94
- package/lib/utils/waiter.d.ts.map +0 -1
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -2
- package/lib/utils/waiter.spec.d.ts.map +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
import { OperationContext } from "./operationcontext.js";
|
|
2
|
+
import acceptLanguage from "accept-language";
|
|
3
|
+
import { Readable } from "node:stream";
|
|
4
|
+
import { WritableStreamBuffer } from "stream-buffers";
|
|
5
|
+
import { useCore, useDynamicService, useService } from "../core/hooks.js";
|
|
6
|
+
/**
|
|
7
|
+
* @category CoreFeatures
|
|
8
|
+
*/
|
|
9
|
+
class Cookie {
|
|
10
|
+
name;
|
|
11
|
+
value;
|
|
12
|
+
options;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* This represent in fact a WebContext
|
|
16
|
+
* In 3.0 an abstract version of Context will replace this (closer to OperationContext)
|
|
17
|
+
* @category CoreFeatures
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
export class WebContext extends OperationContext {
|
|
21
|
+
/**
|
|
22
|
+
* Contains the response headers
|
|
23
|
+
*/
|
|
24
|
+
_outputHeaders;
|
|
25
|
+
/**
|
|
26
|
+
* Current status code
|
|
27
|
+
*/
|
|
28
|
+
statusCode;
|
|
29
|
+
/**
|
|
30
|
+
* Cookies to send back
|
|
31
|
+
*/
|
|
32
|
+
_cookie;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
headers;
|
|
37
|
+
_route;
|
|
38
|
+
_ended = undefined;
|
|
39
|
+
/**
|
|
40
|
+
* If headers were flushed
|
|
41
|
+
*/
|
|
42
|
+
headersFlushed;
|
|
43
|
+
_init;
|
|
44
|
+
/**
|
|
45
|
+
* Set current http context
|
|
46
|
+
* @param httpContext current http context
|
|
47
|
+
*/
|
|
48
|
+
setHttpContext(httpContext) {
|
|
49
|
+
this.setExtension("http", httpContext);
|
|
50
|
+
this.reinit();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get current http context
|
|
54
|
+
* @returns the result
|
|
55
|
+
*/
|
|
56
|
+
getHttpContext() {
|
|
57
|
+
return this.getExtension("http");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @override
|
|
61
|
+
*/
|
|
62
|
+
async getRawInputAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
|
|
63
|
+
return this.getHttpContext().getRawBodyAsString(limit, timeout, encoding);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A multipart body (file upload) is never JSON: return the default value
|
|
67
|
+
* instead of letting the parent try to `JSON.parse` it and log an error.
|
|
68
|
+
* The raw body stays available to `getRawInput()`/`getRawStream()`.
|
|
69
|
+
* @override
|
|
70
|
+
*/
|
|
71
|
+
async getInput(sanitizedOptions) {
|
|
72
|
+
if (this.getHttpContext()?.getUniqueHeader("content-type", "").toLowerCase().startsWith("multipart/")) {
|
|
73
|
+
return sanitizedOptions?.defaultValue;
|
|
74
|
+
}
|
|
75
|
+
return super.getInput(sanitizedOptions);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @override
|
|
79
|
+
*/
|
|
80
|
+
async getRawInput(limit = 1024 * 1024 * 10, timeout = 60000) {
|
|
81
|
+
return (await this.getHttpContext().getRawBody(limit, timeout)) || Buffer.from("");
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @override
|
|
85
|
+
*/
|
|
86
|
+
getRawStream() {
|
|
87
|
+
return this.getHttpContext().getRawStream();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Remove everything that was about to be sent
|
|
91
|
+
*/
|
|
92
|
+
resetResponse() {
|
|
93
|
+
this._outputHeaders = {};
|
|
94
|
+
super.resetResponse();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Write data to the client
|
|
98
|
+
*
|
|
99
|
+
* @param output If it is an object it will be serializeb with toPublicJSON, if it is a String it will be appended to the result, if it is a buffer it will replace the result
|
|
100
|
+
* @param ...args any arguments to pass to the toPublicJSON method
|
|
101
|
+
* @param encoding - the encoding to use
|
|
102
|
+
* @param cb - the callback function
|
|
103
|
+
* @returns true if the condition is met
|
|
104
|
+
*/
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
write(output, encoding, cb) {
|
|
107
|
+
if (this.statusCode === 204) {
|
|
108
|
+
this.statusCode = 200;
|
|
109
|
+
}
|
|
110
|
+
if (typeof output === "object" && !(output instanceof Buffer) && !this.hasFlushedHeaders()) {
|
|
111
|
+
this.setHeader("Content-type", "application/json");
|
|
112
|
+
}
|
|
113
|
+
return super.write(output, encoding, cb);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Write the http return code and some headers
|
|
117
|
+
* Those headers are not flushed yet so can still be overwritten
|
|
118
|
+
*
|
|
119
|
+
* @param {Number} statusCode to return to the client
|
|
120
|
+
* @param {Object} headers to add to the response
|
|
121
|
+
* @returns this for chaining
|
|
122
|
+
*/
|
|
123
|
+
writeHead(statusCode, headers = undefined) {
|
|
124
|
+
Object.entries(headers || {}).forEach(([key, value]) => {
|
|
125
|
+
this.setHeader(key, value);
|
|
126
|
+
});
|
|
127
|
+
if (statusCode !== undefined) {
|
|
128
|
+
this.statusCode = statusCode;
|
|
129
|
+
}
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
*
|
|
134
|
+
* @returns the result
|
|
135
|
+
*/
|
|
136
|
+
getResponseCode() {
|
|
137
|
+
return this.statusCode || 200;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Redirect to another url
|
|
141
|
+
* @param url - the URL
|
|
142
|
+
*/
|
|
143
|
+
redirect(url) {
|
|
144
|
+
this.writeHead(302, { Location: url });
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* For compatibility reason
|
|
148
|
+
* @param param - the parameter name
|
|
149
|
+
* @param value - the value to set
|
|
150
|
+
* @param options - the options
|
|
151
|
+
*/
|
|
152
|
+
cookie(param, value, options = undefined) {
|
|
153
|
+
/** @ignore */
|
|
154
|
+
if (this._cookie === undefined) {
|
|
155
|
+
this._cookie = new Map();
|
|
156
|
+
}
|
|
157
|
+
this._cookie[param] = { name: param, value, options };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get all cookies set on the response
|
|
161
|
+
* @returns the result map
|
|
162
|
+
*/
|
|
163
|
+
getResponseCookies() {
|
|
164
|
+
return this._cookie;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Whether the response has been ended
|
|
168
|
+
* @returns the result
|
|
169
|
+
*/
|
|
170
|
+
isEnded() {
|
|
171
|
+
return this._ended;
|
|
172
|
+
}
|
|
173
|
+
/******************************
|
|
174
|
+
*
|
|
175
|
+
* Express Compatibiliy method
|
|
176
|
+
*
|
|
177
|
+
******************************/
|
|
178
|
+
/**
|
|
179
|
+
* Express response allow statusCode to be defined this way
|
|
180
|
+
* @param code to return
|
|
181
|
+
* @returns this for chaining
|
|
182
|
+
*/
|
|
183
|
+
status(code) {
|
|
184
|
+
this.statusCode = code;
|
|
185
|
+
return this;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Express response allow answer to be sent this way
|
|
189
|
+
* @param code to return
|
|
190
|
+
* @param obj - the target object
|
|
191
|
+
* @returns this for chaining
|
|
192
|
+
*/
|
|
193
|
+
json(obj) {
|
|
194
|
+
this.write(obj);
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Return the response size
|
|
199
|
+
* @returns the result
|
|
200
|
+
*/
|
|
201
|
+
getResponseSize() {
|
|
202
|
+
return this._body ? Buffer.byteLength(this._body, "utf8") : undefined;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Flush the request
|
|
206
|
+
*
|
|
207
|
+
* @emits 'finish' event
|
|
208
|
+
* @throws Error if the request was already ended
|
|
209
|
+
* @returns the result
|
|
210
|
+
*/
|
|
211
|
+
async end() {
|
|
212
|
+
/** @ignore */
|
|
213
|
+
if (this._ended) {
|
|
214
|
+
return this._ended;
|
|
215
|
+
}
|
|
216
|
+
this._ended = (async () => {
|
|
217
|
+
if (this.getExtension("http") && this.session) {
|
|
218
|
+
try {
|
|
219
|
+
const sm = useDynamicService("SessionManager");
|
|
220
|
+
if (sm)
|
|
221
|
+
await sm.save(this, this.session);
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
// SessionManager may not be available
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
await super.end();
|
|
228
|
+
if (this._stream instanceof WritableStreamBuffer && this._stream.size()) {
|
|
229
|
+
this._body = this._stream.getContents().toString();
|
|
230
|
+
this.statusCode = this.statusCode < 300 ? 200 : this.statusCode;
|
|
231
|
+
}
|
|
232
|
+
// Flush headers and body to the HTTP response stream
|
|
233
|
+
await this.flushHeaders();
|
|
234
|
+
if (this._stream && !(this._stream instanceof WritableStreamBuffer) && !this._stream.writableEnded) {
|
|
235
|
+
if (this._body) {
|
|
236
|
+
this._stream.end(this._body);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this._stream.end();
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
})();
|
|
243
|
+
return this._ended;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Alias to keep compatibility with WebContext
|
|
247
|
+
* @param sanitizedOptions - the sanitized options
|
|
248
|
+
* @returns the result
|
|
249
|
+
*/
|
|
250
|
+
async getRequestBody(sanitizedOptions = {
|
|
251
|
+
allowedTags: [],
|
|
252
|
+
allowedAttributes: {}
|
|
253
|
+
}) {
|
|
254
|
+
return this.getInput(sanitizedOptions);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Get request body
|
|
258
|
+
* @returns the result
|
|
259
|
+
*/
|
|
260
|
+
getResponseBody() {
|
|
261
|
+
if (!this._body && this._stream instanceof WritableStreamBuffer) {
|
|
262
|
+
return this._stream.getContents();
|
|
263
|
+
}
|
|
264
|
+
return this._body;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Retrieve a http.IncomingMessage valid from Context
|
|
268
|
+
*
|
|
269
|
+
* Need more testing
|
|
270
|
+
* @returns the result
|
|
271
|
+
*/
|
|
272
|
+
getRequest() {
|
|
273
|
+
const stream = Readable.from([JSON.stringify(this.getRequestBody())]);
|
|
274
|
+
return {
|
|
275
|
+
httpVersionMajor: 1,
|
|
276
|
+
httpVersionMinor: 0,
|
|
277
|
+
headers: this.headers,
|
|
278
|
+
httpVersion: "1.0",
|
|
279
|
+
method: this.getHttpContext().getMethod(),
|
|
280
|
+
rawHeaders: [], // TODO Regenerate headers based on the map
|
|
281
|
+
rawTrailers: [],
|
|
282
|
+
setTimeout: (msec, callback) => {
|
|
283
|
+
setTimeout(callback, msec);
|
|
284
|
+
},
|
|
285
|
+
socket: undefined,
|
|
286
|
+
statusCode: 200,
|
|
287
|
+
trailers: {},
|
|
288
|
+
url: this.getHttpContext().getUrl(),
|
|
289
|
+
connection: undefined,
|
|
290
|
+
...stream
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Get the request locale if found
|
|
295
|
+
* @returns the result
|
|
296
|
+
*/
|
|
297
|
+
getLocale() {
|
|
298
|
+
const locales = useCore().getLocales();
|
|
299
|
+
acceptLanguage.languages(locales);
|
|
300
|
+
const header = this.getHttpContext().getUniqueHeader("accept-language");
|
|
301
|
+
if (header) {
|
|
302
|
+
return acceptLanguage.get(header);
|
|
303
|
+
}
|
|
304
|
+
return locales[0];
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Return true if Headers got flushed already
|
|
308
|
+
* @returns the result
|
|
309
|
+
*/
|
|
310
|
+
hasFlushedHeaders() {
|
|
311
|
+
return this.headersFlushed;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Set flushed header status
|
|
315
|
+
* @param status - the HTTP status code
|
|
316
|
+
*/
|
|
317
|
+
setFlushedHeaders(status = true) {
|
|
318
|
+
this.headersFlushed = status;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Flush stored headers and status code to the underlying stream.
|
|
322
|
+
* For HTTP ServerResponse, writes via res.writeHead().
|
|
323
|
+
* Called automatically by getOutputStream() before pipeline() and by end().
|
|
324
|
+
*/
|
|
325
|
+
/**
|
|
326
|
+
* Return the merged response headers — defaults set by the constructor
|
|
327
|
+
* (`_outputHeaders`) overlaid with any headers added via `setHeader()` /
|
|
328
|
+
* `writeHead()`. Same merge order as `flushHeaders` writes to the wire,
|
|
329
|
+
* so callers (logging, capture, transports) see exactly what the client
|
|
330
|
+
* will receive.
|
|
331
|
+
*
|
|
332
|
+
* @returns the merged response headers
|
|
333
|
+
*/
|
|
334
|
+
getResponseHeaders() {
|
|
335
|
+
return { ...this._outputHeaders, ...super.getResponseHeaders() };
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
*
|
|
339
|
+
*/
|
|
340
|
+
async flushHeaders() {
|
|
341
|
+
if (this.flushed)
|
|
342
|
+
return;
|
|
343
|
+
const headers = this.getResponseHeaders();
|
|
344
|
+
await super.flushHeaders();
|
|
345
|
+
// Write to ServerResponse if the stream supports writeHead (not a WritableStreamBuffer)
|
|
346
|
+
if (this._stream && !(this._stream instanceof WritableStreamBuffer) && typeof this._stream.writeHead === "function") {
|
|
347
|
+
this.headersFlushed = true;
|
|
348
|
+
this._stream.writeHead(this.statusCode || 200, headers);
|
|
349
|
+
}
|
|
350
|
+
this._outputHeaders = {};
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* @ignore
|
|
354
|
+
* Used by Webda framework to set the body, session and output stream if known
|
|
355
|
+
*/
|
|
356
|
+
constructor(httpContext, stream = undefined, defaultHeaders = undefined) {
|
|
357
|
+
super(stream);
|
|
358
|
+
this.setHttpContext(httpContext);
|
|
359
|
+
this._outputHeaders = defaultHeaders || {
|
|
360
|
+
// Gotta Cache ‘em all: bending the rules of web cache exploitation
|
|
361
|
+
// https://defcon.org/html/defcon-32/dc-32-speakers.html
|
|
362
|
+
"Cache-Control": "private"
|
|
363
|
+
};
|
|
364
|
+
this.headersFlushed = false;
|
|
365
|
+
this.statusCode = 204;
|
|
366
|
+
this.headers = new Map();
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Initialize the web context, loading session and setting up stream listeners
|
|
370
|
+
* @param force - whether to force the operation
|
|
371
|
+
* @returns this for chaining
|
|
372
|
+
*/
|
|
373
|
+
async init(force = false) {
|
|
374
|
+
if (this._init && !force) {
|
|
375
|
+
return this._init;
|
|
376
|
+
}
|
|
377
|
+
this._stream.on("pipe", () => {
|
|
378
|
+
// TODO Check for flush
|
|
379
|
+
// this._webda.flushHeaders(this);
|
|
380
|
+
this.headersFlushed = true;
|
|
381
|
+
});
|
|
382
|
+
if (this.getExtension("http")) {
|
|
383
|
+
this.session = (await useService("SessionManager").load(this)).getProxy();
|
|
384
|
+
}
|
|
385
|
+
this._init = super.init();
|
|
386
|
+
return this._init;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
//# sourceMappingURL=webcontext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webcontext.js","sourceRoot":"","sources":["../../src/contexts/webcontext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Give your opinion about an action
|
|
3
|
+
*
|
|
4
|
+
* You have 3 choices:
|
|
5
|
+
* - yes: the action is allowed
|
|
6
|
+
* - no: the action is denied
|
|
7
|
+
* - hard no: the action is denied no matter what (even if another authorizer say yes)
|
|
8
|
+
*/
|
|
9
|
+
export type AuthorizerFunction = (...args: any[]) => boolean | Promise<boolean>;
|
|
10
|
+
/**
|
|
11
|
+
* Check authorizer functions
|
|
12
|
+
*
|
|
13
|
+
* Return true if one of the authorizer allow the action
|
|
14
|
+
* Return false if all authorizer deny the action
|
|
15
|
+
* Throw exeption if one of the authorizer return a hard no
|
|
16
|
+
*
|
|
17
|
+
* @param authorizer - the authorizer function
|
|
18
|
+
* @param args - additional arguments
|
|
19
|
+
* @returns true if the condition is met
|
|
20
|
+
* @see AuthorizerFunction
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkAuthorizer(authorizer: AuthorizerFunction[], ...args: any[]): Promise<boolean>;
|
|
23
|
+
//# sourceMappingURL=authorizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorizer.d.ts","sourceRoot":"","sources":["../../src/core/authorizer.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check authorizer functions
|
|
3
|
+
*
|
|
4
|
+
* Return true if one of the authorizer allow the action
|
|
5
|
+
* Return false if all authorizer deny the action
|
|
6
|
+
* Throw exeption if one of the authorizer return a hard no
|
|
7
|
+
*
|
|
8
|
+
* @param authorizer - the authorizer function
|
|
9
|
+
* @param args - additional arguments
|
|
10
|
+
* @returns true if the condition is met
|
|
11
|
+
* @see AuthorizerFunction
|
|
12
|
+
*/
|
|
13
|
+
export async function checkAuthorizer(authorizer, ...args) {
|
|
14
|
+
// Run all authorizer in parallel and return true if one of them authorize the action
|
|
15
|
+
return await Promise.all(authorizer.map(fn => fn(...args))).then(results => results.find(r => r));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=authorizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../src/core/authorizer.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAgC,EAAE,GAAG,IAAW;IACpF,qFAAqF;IACrF,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { WorkerLogLevel } from "@webda/workout";
|
|
2
|
+
import type { Application } from "../application/application.js";
|
|
3
|
+
import { Configuration } from "../application/iconfiguration.js";
|
|
4
|
+
import { BinaryService } from "../services/binary.service.js";
|
|
5
|
+
import { Model, type ModelClass } from "@webda/models";
|
|
6
|
+
import { Store } from "../stores/store.js";
|
|
7
|
+
import { Logger } from "../loggers/ilogger.js";
|
|
8
|
+
import { ICore, AbstractService, OperationDefinitionInfo } from "./icore.js";
|
|
9
|
+
import { Modda } from "../services/iservice.js";
|
|
10
|
+
import { CustomConstructor } from "@webda/tsc-esm";
|
|
11
|
+
export type CoreStates = "initial" | "loading" | "resolving" | "resolved" | "initializing" | "reinitializing" | "ready" | "stopping" | "stopped";
|
|
12
|
+
/**
|
|
13
|
+
* This is the main class of the framework, it handles the routing, the services initialization and resolution
|
|
14
|
+
*
|
|
15
|
+
* @class Core
|
|
16
|
+
* @category CoreFeatures
|
|
17
|
+
*/
|
|
18
|
+
export declare class Core implements ICore {
|
|
19
|
+
/**
|
|
20
|
+
* Webda Services
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
protected services: Record<string, AbstractService>;
|
|
24
|
+
/**
|
|
25
|
+
* Modda for services
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
28
|
+
protected moddas: Record<string, Modda>;
|
|
29
|
+
/**
|
|
30
|
+
* Application that generates this Core
|
|
31
|
+
*/
|
|
32
|
+
protected application: Application;
|
|
33
|
+
/**
|
|
34
|
+
* Configuration loaded from webda.config.json
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
protected configuration: Record<string, any>;
|
|
38
|
+
/**
|
|
39
|
+
* Console logger
|
|
40
|
+
* @hidden
|
|
41
|
+
*/
|
|
42
|
+
protected logger: Logger;
|
|
43
|
+
/**
|
|
44
|
+
* Store the instance id
|
|
45
|
+
*/
|
|
46
|
+
private instanceId;
|
|
47
|
+
/**
|
|
48
|
+
* Contains all operations defined by services
|
|
49
|
+
*/
|
|
50
|
+
protected operations: {
|
|
51
|
+
[key: string]: OperationDefinitionInfo;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Order of services initialization
|
|
55
|
+
*/
|
|
56
|
+
initOrders: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Dependencies for each service
|
|
59
|
+
*/
|
|
60
|
+
dependencies: Record<string, Set<string>>;
|
|
61
|
+
/**
|
|
62
|
+
* Configuration service name
|
|
63
|
+
*/
|
|
64
|
+
configurationService?: string;
|
|
65
|
+
applicationConfiguration: Configuration;
|
|
66
|
+
/**
|
|
67
|
+
* Create a new Core
|
|
68
|
+
* @param application - the application instance
|
|
69
|
+
*/
|
|
70
|
+
constructor(application?: Application);
|
|
71
|
+
/**
|
|
72
|
+
* Get the configuration object
|
|
73
|
+
* @returns {Configuration} the result
|
|
74
|
+
*/
|
|
75
|
+
getConfiguration(): Record<string, any>;
|
|
76
|
+
/**
|
|
77
|
+
* Get the store assigned to this model
|
|
78
|
+
* @param model - the model to use
|
|
79
|
+
* @param modelOrConstructor - the model or its constructor
|
|
80
|
+
* @returns the result
|
|
81
|
+
*/
|
|
82
|
+
getModelStore<T extends Model>(modelOrConstructor: CustomConstructor<T> | T | string): Store;
|
|
83
|
+
/**
|
|
84
|
+
* Get the model store for a specific model
|
|
85
|
+
* Leverage the Process cache
|
|
86
|
+
*
|
|
87
|
+
* @param model - the model to use
|
|
88
|
+
* @returns the result
|
|
89
|
+
*/
|
|
90
|
+
private getModelStoreCached;
|
|
91
|
+
/**
|
|
92
|
+
* Get the service that manage a model
|
|
93
|
+
* @param modelOrConstructor - the model or its constructor
|
|
94
|
+
* @param attribute - the attribute name
|
|
95
|
+
* @returns the result
|
|
96
|
+
*/
|
|
97
|
+
getBinaryStore<T extends Model>(modelOrConstructor: ModelClass<T> | T | string, attribute: string): AbstractService;
|
|
98
|
+
/**
|
|
99
|
+
* Find the best matching BinaryService for a given model and attribute, with caching
|
|
100
|
+
* @param model - the model to use
|
|
101
|
+
* @param attribute - the attribute name
|
|
102
|
+
* @returns the result
|
|
103
|
+
*/
|
|
104
|
+
protected getBinaryStoreCached<T extends Model>(model: string, attribute: string): BinaryService;
|
|
105
|
+
/**
|
|
106
|
+
* Return Core instance id
|
|
107
|
+
*
|
|
108
|
+
* It is a random generated string
|
|
109
|
+
* @returns the result string
|
|
110
|
+
*/
|
|
111
|
+
getInstanceId(): string;
|
|
112
|
+
/**
|
|
113
|
+
* Get absolute url with subpath
|
|
114
|
+
* @param subpath - the subpath to append
|
|
115
|
+
* @returns the result string
|
|
116
|
+
*/
|
|
117
|
+
getApiUrl(subpath?: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* Init one service
|
|
120
|
+
* @param service - the service instance
|
|
121
|
+
*/
|
|
122
|
+
protected initService(service: string): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Resolve services and their dependencies WITHOUT calling service.init().
|
|
125
|
+
*
|
|
126
|
+
* After this completes:
|
|
127
|
+
* - All services declared in configuration are constructed.
|
|
128
|
+
* - Each service's `resolve()` has been called (via createService / bean registration).
|
|
129
|
+
* - `this.initOrders` is finalized (Store services first).
|
|
130
|
+
* - The configuration service (if any) has been fully initialized — it must run
|
|
131
|
+
* early so other services can read config during construction.
|
|
132
|
+
*
|
|
133
|
+
* No non-configuration service.init() calls — no DB/network I/O is performed.
|
|
134
|
+
* Build-time hooks (`@BuildCommand`) run after this phase.
|
|
135
|
+
*/
|
|
136
|
+
resolve(): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Init Webda
|
|
139
|
+
*
|
|
140
|
+
* It will resolve Services init method and autolink.
|
|
141
|
+
*
|
|
142
|
+
* Delegates to {@link resolve} for service creation + resolve, then calls
|
|
143
|
+
* `init()` on every remaining non-configuration service.
|
|
144
|
+
*/
|
|
145
|
+
init(): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Return webda current version
|
|
148
|
+
*
|
|
149
|
+
* @returns package version
|
|
150
|
+
* @since 0.4.0
|
|
151
|
+
*/
|
|
152
|
+
getVersion(): string;
|
|
153
|
+
/**
|
|
154
|
+
* To define the locales just add a locales: ['en-GB', 'fr-FR'] in your host global configuration
|
|
155
|
+
*
|
|
156
|
+
* @return The configured locales or "en-GB" if none are defined
|
|
157
|
+
* @returns the list of results
|
|
158
|
+
*/
|
|
159
|
+
getLocales(): string[];
|
|
160
|
+
/**
|
|
161
|
+
* Check for a service name and return the wanted singleton or undefined if none found
|
|
162
|
+
*
|
|
163
|
+
* @param {String} name The service name to retrieve
|
|
164
|
+
* @returns the result
|
|
165
|
+
*/
|
|
166
|
+
getService<T = AbstractService>(name?: string): T;
|
|
167
|
+
/**
|
|
168
|
+
* Return a map of defined services
|
|
169
|
+
* @returns {{}} the map of services
|
|
170
|
+
*/
|
|
171
|
+
getServices(): {
|
|
172
|
+
[key: string]: AbstractService;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Return if Webda is in debug mode
|
|
176
|
+
* @returns true if the condition is met
|
|
177
|
+
*/
|
|
178
|
+
isDebug(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Log a message
|
|
181
|
+
* @param level - the log level
|
|
182
|
+
* @param args - additional arguments
|
|
183
|
+
*/
|
|
184
|
+
log(level: WorkerLogLevel, ...args: any[]): void;
|
|
185
|
+
/**
|
|
186
|
+
* Update the configuration with new values
|
|
187
|
+
* @param updates - the updates to apply
|
|
188
|
+
*/
|
|
189
|
+
updateConfiguration(updates: any): void;
|
|
190
|
+
/**
|
|
191
|
+
* Create a specific service
|
|
192
|
+
* @param service - the service instance
|
|
193
|
+
* @returns the result
|
|
194
|
+
*/
|
|
195
|
+
protected createService(service: string): AbstractService<import("../index.js").ServiceParameters, {}>;
|
|
196
|
+
/**
|
|
197
|
+
* Auto-register application beans as services if not already configured.
|
|
198
|
+
* Tests can disable by overriding getBeans() to return empty/undefined.
|
|
199
|
+
*/
|
|
200
|
+
registerBeans(): void;
|
|
201
|
+
/**
|
|
202
|
+
* Get application beans
|
|
203
|
+
* @returns the result
|
|
204
|
+
*/
|
|
205
|
+
getBeans(): any;
|
|
206
|
+
/**
|
|
207
|
+
* Stop all services
|
|
208
|
+
*/
|
|
209
|
+
stop(): Promise<void>;
|
|
210
|
+
/**
|
|
211
|
+
* Allow serialization
|
|
212
|
+
* @returns the result
|
|
213
|
+
*/
|
|
214
|
+
toJSON(): {
|
|
215
|
+
configuration: Record<string, any>;
|
|
216
|
+
application: Application;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Deserialize a Core instance from a plain JSON object
|
|
220
|
+
* @param json - the JSON data
|
|
221
|
+
* @returns the result
|
|
222
|
+
*/
|
|
223
|
+
static deserialize(json: any): Core;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI7E,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAMd;;;;;GAKG;AACH,qBAAa,IAAK,YAAW,KAAK;IAChC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM;IACzD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IAC7C;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,UAAU,CAAS;IAC3B;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,CAAM;IACtE;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM;IAC/C;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,aAAa,CAAC;IAExC;;;OAGG;IACH,YAAY,WAAW,CAAC,EAAE,WAAW,EA6BpC;IAED;;;OAGG;IACH,gBAAgB,wBAEf;IAED;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAa3F;IAED;;;;;;OAMG;IAEH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;OAKG;IACH,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAKlH;IAED;;;;;OAKG;IAEH,SAAS,CAAC,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAiC/F;IAED;;;;;OAKG;IACH,aAAa,IAAI,MAAM,CAGtB;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,GAAE,MAAW,GAAG,MAAM,CAKtC;IAED;;;OAGG;IACH,UAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,iBAe1C;IAED;;;;;;;;;;;;OAYG;IAGG,OAAO,kBAwCZ;IAED;;;;;;;OAOG;IAGG,IAAI,kBAMT;IAED;;;;;OAKG;IACH,UAAU,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACH,UAAU,IAAI,MAAM,EAAE,CAKrB;IAED;;;;;OAKG;IACH,UAAU,CAAC,CAAC,GAAG,eAAe,EAAE,IAAI,GAAE,MAAW,GAAG,CAAC,CAWpD;IAED;;;OAGG;IACH,WAAW,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAEhD;IACD;;;OAGG;IACI,OAAO,IAAI,OAAO,CAExB;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAExC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,GAAG,QA+C/B;IAED;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,gEAgBtC;IAED;;;OAGG;IACH,aAAa,SAqBZ;IAED;;;OAGG;IACH,QAAQ,QAGP;IAED;;OAEG;IAEG,IAAI,kBAcT;IAED;;;OAGG;IACH,MAAM;QAEF,aAAa;QACb,WAAW;MAEd;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAMlC;CACF"}
|