@webda/core 4.0.0-beta.1 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/application/unpackedapplication.d.ts +104 -0
- 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 -49
- 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 +45 -19
- package/lib/contexts/httpcontext.d.ts.map +1 -0
- package/lib/{utils → contexts}/httpcontext.js +102 -34
- 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 +84 -51
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +82 -59
- 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 +21 -77
- package/lib/models/aclmodel.d.ts.map +1 -0
- package/lib/models/aclmodel.js +27 -204
- 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 +2 -1
- package/lib/models/deployment.d.ts.map +1 -0
- 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.model.js +53 -0
- 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.service.d.ts +72 -0
- package/lib/queues/memoryqueue.service.d.ts.map +1 -0
- package/lib/queues/memoryqueue.service.js +136 -0
- package/lib/queues/memoryqueue.service.js.map +1 -0
- package/lib/queues/pubsubservice.d.ts +9 -6
- package/lib/queues/pubsubservice.d.ts.map +1 -0
- package/lib/queues/pubsubservice.js +5 -4
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +10 -11
- package/lib/queues/queueservice.d.ts.map +1 -0
- package/lib/queues/queueservice.js +48 -20
- 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 -58
- 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 +19 -13
- package/lib/services/cloudbinary.d.ts.map +1 -0
- package/lib/services/cloudbinary.js +24 -18
- 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} +77 -142
- 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.service.js +66 -0
- 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 -10
- 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 +58 -31
- package/lib/services/oauth.d.ts.map +1 -0
- package/lib/services/oauth.js +365 -251
- 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 -11
- 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.service.d.ts +121 -0
- 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 +88 -189
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/service.js +407 -432
- 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 -18
- 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 +127 -768
- package/lib/stores/store.d.ts.map +1 -0
- package/lib/stores/store.js +258 -1718
- 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 +5 -2
- package/lib/utils/abstractdeployer.d.ts.map +1 -0
- package/lib/utils/abstractdeployer.js +3 -0
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/package.json +85 -56
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +1 -5
- package/test/config.json +6 -99
- package/test/data/.env +1 -0
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3462 -2231
- package/lib/application.d.ts +0 -876
- package/lib/application.js +0 -741
- package/lib/application.js.map +0 -1
- package/lib/application.spec.d.ts +0 -1
- package/lib/application.spec.js +0 -234
- package/lib/application.spec.js.map +0 -1
- package/lib/core.d.ts +0 -740
- package/lib/core.js +0 -1310
- package/lib/core.js.map +0 -1
- package/lib/core.spec.d.ts +0 -1
- package/lib/core.spec.js +0 -761
- package/lib/core.spec.js.map +0 -1
- package/lib/errors.d.ts +0 -65
- package/lib/errors.js +0 -113
- package/lib/errors.js.map +0 -1
- package/lib/errors.spec.d.ts +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 -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 -887
- package/lib/models/coremodel.js +0 -1208
- package/lib/models/coremodel.js.map +0 -1
- package/lib/models/coremodel.spec.d.ts +0 -1
- package/lib/models/coremodel.spec.js +0 -462
- package/lib/models/coremodel.spec.js.map +0 -1
- package/lib/models/ident.d.ts +0 -53
- package/lib/models/ident.js +0 -40
- package/lib/models/ident.js.map +0 -1
- package/lib/models/ident.spec.d.ts +0 -1
- package/lib/models/ident.spec.js +0 -43
- package/lib/models/ident.spec.js.map +0 -1
- package/lib/models/ownermodel.d.ts +0 -50
- package/lib/models/ownermodel.js +0 -65
- package/lib/models/ownermodel.js.map +0 -1
- package/lib/models/ownermodel.spec.d.ts +0 -1
- package/lib/models/ownermodel.spec.js +0 -191
- package/lib/models/ownermodel.spec.js.map +0 -1
- package/lib/models/relations.d.ts +0 -181
- package/lib/models/relations.js +0 -157
- package/lib/models/relations.js.map +0 -1
- package/lib/models/relations.spec.d.ts +0 -12
- package/lib/models/relations.spec.js +0 -224
- package/lib/models/relations.spec.js.map +0 -1
- package/lib/models/rolemodel.d.ts +0 -10
- package/lib/models/rolemodel.js +0 -35
- package/lib/models/rolemodel.js.map +0 -1
- package/lib/models/rolemodel.spec.d.ts +0 -1
- package/lib/models/rolemodel.spec.js +0 -86
- package/lib/models/rolemodel.spec.js.map +0 -1
- package/lib/models/user.d.ts +0 -100
- package/lib/models/user.js +0 -157
- package/lib/models/user.js.map +0 -1
- package/lib/models/user.spec.d.ts +0 -1
- package/lib/models/user.spec.js +0 -88
- package/lib/models/user.spec.js.map +0 -1
- package/lib/queues/filequeue.d.ts +0 -58
- package/lib/queues/filequeue.js +0 -131
- package/lib/queues/filequeue.js.map +0 -1
- package/lib/queues/filequeue.spec.d.ts +0 -1
- package/lib/queues/filequeue.spec.js +0 -78
- package/lib/queues/filequeue.spec.js.map +0 -1
- package/lib/queues/memoryqueue.d.ts +0 -45
- package/lib/queues/memoryqueue.js +0 -81
- package/lib/queues/memoryqueue.js.map +0 -1
- package/lib/queues/memoryqueue.spec.d.ts +0 -1
- package/lib/queues/memoryqueue.spec.js +0 -192
- package/lib/queues/memoryqueue.spec.js.map +0 -1
- package/lib/queues/queue.spec.d.ts +0 -5
- package/lib/queues/queue.spec.js +0 -55
- package/lib/queues/queue.spec.js.map +0 -1
- package/lib/router.d.ts +0 -172
- package/lib/router.js +0 -419
- package/lib/router.js.map +0 -1
- package/lib/router.spec.d.ts +0 -1
- package/lib/router.spec.js +0 -229
- package/lib/router.spec.js.map +0 -1
- package/lib/services/asyncevents.d.ts +0 -151
- package/lib/services/asyncevents.js +0 -217
- package/lib/services/asyncevents.js.map +0 -1
- package/lib/services/asyncevents.spec.d.ts +0 -1
- package/lib/services/asyncevents.spec.js +0 -118
- package/lib/services/asyncevents.spec.js.map +0 -1
- package/lib/services/authentication.js +0 -772
- package/lib/services/authentication.js.map +0 -1
- package/lib/services/authentication.spec.d.ts +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 -549
- package/lib/services/binary.js +0 -986
- package/lib/services/binary.js.map +0 -1
- package/lib/services/binary.spec.d.ts +0 -44
- package/lib/services/binary.spec.js +0 -438
- package/lib/services/binary.spec.js.map +0 -1
- package/lib/services/cloudbinary.spec.d.ts +0 -13
- package/lib/services/cloudbinary.spec.js +0 -192
- package/lib/services/cloudbinary.spec.js.map +0 -1
- package/lib/services/configuration.js +0 -178
- package/lib/services/configuration.js.map +0 -1
- package/lib/services/configuration.spec.d.ts +0 -1
- package/lib/services/configuration.spec.js +0 -87
- package/lib/services/configuration.spec.js.map +0 -1
- package/lib/services/cron.d.ts +0 -73
- package/lib/services/cron.js +0 -141
- package/lib/services/cron.js.map +0 -1
- package/lib/services/cron.spec.d.ts +0 -1
- package/lib/services/cron.spec.js +0 -76
- package/lib/services/cron.spec.js.map +0 -1
- package/lib/services/cryptoservice.js +0 -434
- package/lib/services/cryptoservice.js.map +0 -1
- package/lib/services/cryptoservice.spec.d.ts +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.js +0 -52
- package/lib/services/debugmailer.js.map +0 -1
- package/lib/services/debugmailer.spec.d.ts +0 -1
- package/lib/services/debugmailer.spec.js +0 -29
- package/lib/services/debugmailer.spec.js.map +0 -1
- package/lib/services/domainservice.d.ts +0 -152
- package/lib/services/domainservice.js +0 -881
- package/lib/services/domainservice.js.map +0 -1
- package/lib/services/domainservice.spec.d.ts +0 -1
- package/lib/services/domainservice.spec.js +0 -401
- package/lib/services/domainservice.spec.js.map +0 -1
- package/lib/services/filebinary.d.ts +0 -133
- package/lib/services/filebinary.js +0 -371
- package/lib/services/filebinary.js.map +0 -1
- package/lib/services/filebinary.spec.d.ts +0 -21
- package/lib/services/filebinary.spec.js +0 -415
- package/lib/services/filebinary.spec.js.map +0 -1
- package/lib/services/fileconfiguration.d.ts +0 -22
- package/lib/services/fileconfiguration.js +0 -48
- package/lib/services/fileconfiguration.js.map +0 -1
- package/lib/services/fileconfiguration.spec.d.ts +0 -1
- package/lib/services/fileconfiguration.spec.js +0 -177
- package/lib/services/fileconfiguration.spec.js.map +0 -1
- package/lib/services/invitationservice.d.ts +0 -222
- package/lib/services/invitationservice.js +0 -526
- package/lib/services/invitationservice.js.map +0 -1
- package/lib/services/invitationservice.spec.d.ts +0 -1
- package/lib/services/invitationservice.spec.js +0 -516
- package/lib/services/invitationservice.spec.js.map +0 -1
- package/lib/services/kubernetesconfiguration.d.ts +0 -26
- package/lib/services/kubernetesconfiguration.js +0 -54
- package/lib/services/kubernetesconfiguration.js.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +0 -1
- package/lib/services/kubernetesconfiguration.spec.js +0 -147
- package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
- package/lib/services/mailer.d.ts +0 -165
- package/lib/services/mailer.js +0 -176
- package/lib/services/mailer.js.map +0 -1
- package/lib/services/mailer.spec.d.ts +0 -1
- package/lib/services/mailer.spec.js +0 -144
- package/lib/services/mailer.spec.js.map +0 -1
- package/lib/services/notificationservice.js.map +0 -1
- package/lib/services/notificationservice.spec.d.ts +0 -1
- package/lib/services/notificationservice.spec.js +0 -78
- package/lib/services/notificationservice.spec.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -1
- package/lib/services/oauth.spec.js +0 -184
- package/lib/services/oauth.spec.js.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 -1
- package/lib/services/prometheus.spec.js +0 -57
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts +0 -87
- package/lib/services/resource.js +0 -156
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -1
- package/lib/services/resource.spec.js +0 -122
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -1
- package/lib/services/service.spec.js +0 -268
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -41
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/aliasstore.d.ts +0 -108
- package/lib/stores/aliasstore.js +0 -168
- package/lib/stores/aliasstore.js.map +0 -1
- package/lib/stores/aliasstore.spec.d.ts +0 -11
- package/lib/stores/aliasstore.spec.js +0 -89
- package/lib/stores/aliasstore.spec.js.map +0 -1
- package/lib/stores/file.d.ts +0 -107
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -19
- package/lib/stores/file.spec.js +0 -232
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -149
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -1
- package/lib/stores/mapper.spec.js +0 -160
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -151
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -20
- package/lib/stores/memory.spec.js +0 -328
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -61
- package/lib/stores/modelmapper.js +0 -199
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -65
- package/lib/stores/store.spec.js +0 -906
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -162
- package/lib/test.js +0 -399
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts +0 -76
- package/lib/unpackedapplication.js +0 -299
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +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 -7
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +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 -462
- package/lib/utils/context.js +0 -732
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -9
- package/lib/utils/context.spec.js +0 -372
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -1
- package/lib/utils/cookie.spec.js +0 -78
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -13
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -4
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -91
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +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 -161
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -1
- package/lib/utils/serializers.spec.js +0 -313
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -126
- package/lib/utils/session.js +0 -166
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -1
- package/lib/utils/session.spec.js +0 -71
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -102
- package/lib/utils/throttler.js +0 -168
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -1
- package/lib/utils/throttler.spec.js +0 -55
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -93
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/config-file-missing-file-no-default.json +0 -44
- package/test/config-file-missing-file.json +0 -55
- package/test/config-file-no-reload.json +0 -69
- package/test/config-file-reload.json +0 -68
- package/test/config-invitation.json +0 -63
- package/test/config-kube-reload.json +0 -68
- package/test/config-reload.json +0 -66
- package/test/config.old.json +0 -152
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
- package/test/moddas/annotatedservice.js +0 -23
- package/test/moddas/debugmailer.js +0 -13
- package/test/moddas/fakeservice.js +0 -4
- package/test/moddas/voidstore.js +0 -66
- package/test/models/ident.js +0 -36
- package/test/models/task.js +0 -42
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ConfigurationService, ConfigurationServiceParameters } from "./configuration.service.js";
|
|
2
|
+
/**
|
|
3
|
+
* Allow for dynamic configuration from a file
|
|
4
|
+
* @WebdaModda Webda/FileConfiguration
|
|
5
|
+
*/
|
|
6
|
+
export declare class FileConfigurationService<T extends ConfigurationServiceParameters = ConfigurationServiceParameters> extends ConfigurationService<T> {
|
|
7
|
+
sourcePaths: Record<string, string>;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the file path for a given configuration source id, creating from defaults if missing
|
|
10
|
+
* @param id - the identifier
|
|
11
|
+
* @returns the result string
|
|
12
|
+
*/
|
|
13
|
+
getFilePath(id: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Watch the configuration file for changes and trigger the callback when modified
|
|
16
|
+
* @param id - the identifier
|
|
17
|
+
* @param callback - the callback function
|
|
18
|
+
* @param defaultValue - the default value
|
|
19
|
+
* @returns the result
|
|
20
|
+
*/
|
|
21
|
+
canTriggerConfiguration(id: string, callback: () => void, defaultValue?: any): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Load the JSON from source defined file
|
|
24
|
+
* @override
|
|
25
|
+
*/
|
|
26
|
+
getConfiguration(id: string): Promise<{
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=fileconfiguration.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileconfiguration.service.d.ts","sourceRoot":"","sources":["../../src/configurations/fileconfiguration.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;;GAGG;AACH,qBAAa,wBAAwB,CACnC,CAAC,SAAS,8BAA8B,GAAG,8BAA8B,CACzE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA0B9B;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,OAAO,CAIrF;IAED;;;OAGG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAG5D;CACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { existsSync, watchFile } from "fs";
|
|
2
|
+
import * as WebdaError from "../errors/errors.js";
|
|
3
|
+
import { FileUtils } from "@webda/utils";
|
|
4
|
+
import { ConfigurationService } from "./configuration.service.js";
|
|
5
|
+
import { useApplication } from "../application/hooks.js";
|
|
6
|
+
/**
|
|
7
|
+
* Allow for dynamic configuration from a file
|
|
8
|
+
* @WebdaModda Webda/FileConfiguration
|
|
9
|
+
*/
|
|
10
|
+
export class FileConfigurationService extends ConfigurationService {
|
|
11
|
+
sourcePaths = {};
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the file path for a given configuration source id, creating from defaults if missing
|
|
14
|
+
* @param id - the identifier
|
|
15
|
+
* @returns the result string
|
|
16
|
+
*/
|
|
17
|
+
getFilePath(id) {
|
|
18
|
+
// Allow .jsonc, .yaml, .yml, .json
|
|
19
|
+
if (/\.(jsonc?|ya?ml)$/.test(id)) {
|
|
20
|
+
this.sourcePaths[id] = useApplication().getPath(id);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
try {
|
|
24
|
+
this.sourcePaths[id] = FileUtils.getConfigurationFile(useApplication().getPath(id));
|
|
25
|
+
this.log("DEBUG", `Using configuration file ${this.sourcePaths[id]}`);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// Default to yaml in case we create based on default value
|
|
29
|
+
this.sourcePaths[id] = useApplication().getPath(id + ".yaml");
|
|
30
|
+
this.log("DEBUG", `Using configuration file ${this.sourcePaths[id]} (defaulted to .yaml extension)`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!existsSync(this.sourcePaths[id])) {
|
|
34
|
+
if (!this.parameters.default) {
|
|
35
|
+
throw new WebdaError.CodeError("FILE_CONFIGURATION_SOURCE_MISSING", "Configuration file not found: " + this.sourcePaths[id]);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.log("DEBUG", `Setting default value for file ${this.sourcePaths[id]}`);
|
|
39
|
+
FileUtils.save(this.parameters.default, this.sourcePaths[id]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return this.sourcePaths[id];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Watch the configuration file for changes and trigger the callback when modified
|
|
46
|
+
* @param id - the identifier
|
|
47
|
+
* @param callback - the callback function
|
|
48
|
+
* @param defaultValue - the default value
|
|
49
|
+
* @returns the result
|
|
50
|
+
*/
|
|
51
|
+
canTriggerConfiguration(id, callback, defaultValue) {
|
|
52
|
+
this.sourcePaths[id] ??= this.getFilePath(id);
|
|
53
|
+
watchFile(this.sourcePaths[id], callback);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Load the JSON from source defined file
|
|
58
|
+
* @override
|
|
59
|
+
*/
|
|
60
|
+
getConfiguration(id) {
|
|
61
|
+
this.sourcePaths[id] ??= this.getFilePath(id);
|
|
62
|
+
return FileUtils.load(this.sourcePaths[id]);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=fileconfiguration.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileconfiguration.service.js","sourceRoot":"","sources":["../../src/configurations/fileconfiguration.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAkC,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,wBAEX,SAAQ,oBAAuB;IAC/B,WAAW,GAA2B,EAAE,CAAC;IAEzC;;;;OAIG;IACH,WAAW,CAAC,EAAU;QACpB,mCAAmC;QACnC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2DAA2D;gBAC3D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,iCAAiC,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,UAAU,CAAC,SAAS,CAC5B,mCAAmC,EACnC,gCAAgC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CACxD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kCAAkC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAU,EAAE,QAAoB,EAAE,YAAkB;QAC1E,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,EAAU;QACzB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ConfigurationService, ConfigurationServiceParameters } from "./configuration.service.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parameters for KubernetesConfigurationService
|
|
4
|
+
* Throw error if default is set
|
|
5
|
+
*/
|
|
6
|
+
export declare class KubernetesConfigurationParameters extends ConfigurationServiceParameters {
|
|
7
|
+
/**
|
|
8
|
+
* Load parameters, rejecting any default configuration since Kubernetes sources are required
|
|
9
|
+
* @param params - the service parameters
|
|
10
|
+
* @returns the result
|
|
11
|
+
*/
|
|
12
|
+
load(params: any): this;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Allow for dynamic configuration from ConfigMap or Secrets
|
|
16
|
+
*
|
|
17
|
+
* Read a ConfigMap from Kubernetes and auto-update
|
|
18
|
+
* @WebdaModda
|
|
19
|
+
*/
|
|
20
|
+
export declare class KubernetesConfigurationService<T extends KubernetesConfigurationParameters = KubernetesConfigurationParameters> extends ConfigurationService<T> {
|
|
21
|
+
sourcePaths: Record<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the Kubernetes-mounted file path for a configuration source
|
|
24
|
+
* @param id - the identifier
|
|
25
|
+
* @returns the result string
|
|
26
|
+
*/
|
|
27
|
+
getFilePath(id: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Check if the configuration can be triggered
|
|
30
|
+
* @param id - the identifier
|
|
31
|
+
* @param callback - the callback function
|
|
32
|
+
* @returns true if the condition is met
|
|
33
|
+
*/
|
|
34
|
+
canTriggerConfiguration(id: string, callback: () => void): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Load configuration from a ConfigMap or a Secret
|
|
37
|
+
* @override
|
|
38
|
+
*/
|
|
39
|
+
getConfiguration(id: string): Promise<{
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=kubernetesconfiguration.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubernetesconfiguration.service.d.ts","sourceRoot":"","sources":["../../src/configurations/kubernetesconfiguration.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAGlG;;;GAGG;AACH,qBAAa,iCAAkC,SAAQ,8BAA8B;IACnF;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,GAAG,QAcf;CACF;AACD;;;;;GAKG;AACH,qBAAa,8BAA8B,CAEzC,CAAC,SAAS,iCAAiC,GAAG,iCAAiC,CAC/E,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAS9B;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAejE;IAED;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAalE;CACF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import * as WebdaError from "../errors/errors.js";
|
|
4
|
+
import { FileUtils } from "@webda/utils";
|
|
5
|
+
import { ConfigurationService, ConfigurationServiceParameters } from "./configuration.service.js";
|
|
6
|
+
import { useApplication } from "../application/hooks.js";
|
|
7
|
+
/**
|
|
8
|
+
* Parameters for KubernetesConfigurationService
|
|
9
|
+
* Throw error if default is set
|
|
10
|
+
*/
|
|
11
|
+
export class KubernetesConfigurationParameters extends ConfigurationServiceParameters {
|
|
12
|
+
/**
|
|
13
|
+
* Load parameters, rejecting any default configuration since Kubernetes sources are required
|
|
14
|
+
* @param params - the service parameters
|
|
15
|
+
* @returns the result
|
|
16
|
+
*/
|
|
17
|
+
load(params) {
|
|
18
|
+
super.load(params);
|
|
19
|
+
if (Object.keys(params.default?.services || {}).length ||
|
|
20
|
+
Object.keys(params.default?.application || {}).length ||
|
|
21
|
+
Object.keys(params.default?.parameters || {}).length) {
|
|
22
|
+
throw new WebdaError.CodeError("KUBE_CONFIGURATION_NO_DEFAULT", `KubernetesConfigurationService does not support default configuration ${params.default}`);
|
|
23
|
+
}
|
|
24
|
+
console.log(this.source, this.sources);
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Allow for dynamic configuration from ConfigMap or Secrets
|
|
30
|
+
*
|
|
31
|
+
* Read a ConfigMap from Kubernetes and auto-update
|
|
32
|
+
* @WebdaModda
|
|
33
|
+
*/
|
|
34
|
+
export class KubernetesConfigurationService extends ConfigurationService {
|
|
35
|
+
sourcePaths = {};
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the Kubernetes-mounted file path for a configuration source
|
|
38
|
+
* @param id - the identifier
|
|
39
|
+
* @returns the result string
|
|
40
|
+
*/
|
|
41
|
+
getFilePath(id) {
|
|
42
|
+
this.sourcePaths[id] ??= useApplication().getPath(id);
|
|
43
|
+
if (!fs.existsSync(this.sourcePaths[id])) {
|
|
44
|
+
throw new WebdaError.CodeError("KUBE_CONFIGURATION_SOURCE_MISSING", `Kubernetes configuration source not found: ${this.sourcePaths[id]}`);
|
|
45
|
+
}
|
|
46
|
+
return this.sourcePaths[id];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if the configuration can be triggered
|
|
50
|
+
* @param id - the identifier
|
|
51
|
+
* @param callback - the callback function
|
|
52
|
+
* @returns true if the condition is met
|
|
53
|
+
*/
|
|
54
|
+
canTriggerConfiguration(id, callback) {
|
|
55
|
+
this.sourcePaths[id] ??= this.getFilePath(id);
|
|
56
|
+
console.log("canTriggerConfiguration", this.sourcePaths[id]);
|
|
57
|
+
if (!fs.existsSync(this.sourcePaths[id])) {
|
|
58
|
+
throw new WebdaError.CodeError("KUBE_CONFIGURATION_SOURCE_MISSING", `Kubernetes configuration source not found: ${this.sourcePaths[id]}`);
|
|
59
|
+
}
|
|
60
|
+
console.log("Watch", path.join(this.sourcePaths[id], "..data"));
|
|
61
|
+
fs.watchFile(path.join(this.sourcePaths[id], "..data"), { interval: 500 }, () => {
|
|
62
|
+
console.log("Configuration source changed", id, this.sourcePaths[id], Date.now());
|
|
63
|
+
callback();
|
|
64
|
+
});
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Load configuration from a ConfigMap or a Secret
|
|
69
|
+
* @override
|
|
70
|
+
*/
|
|
71
|
+
async getConfiguration(id) {
|
|
72
|
+
this.sourcePaths[id] ??= this.getFilePath(id);
|
|
73
|
+
const found = fs
|
|
74
|
+
.readdirSync(this.sourcePaths[id])
|
|
75
|
+
.filter(f => !f.startsWith(".") && f.match(/webda\.(jsonc?|ya?ml)$/i))
|
|
76
|
+
.pop();
|
|
77
|
+
if (!found) {
|
|
78
|
+
throw new WebdaError.CodeError("KUBE_CONFIGURATION_SOURCE_INVALID", `Kubernetes configuration source not valid: ${this.sourcePaths[id]}`);
|
|
79
|
+
}
|
|
80
|
+
return FileUtils.load(path.join(this.sourcePaths[id], found));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=kubernetesconfiguration.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubernetesconfiguration.service.js","sourceRoot":"","sources":["../../src/configurations/kubernetesconfiguration.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Context, IContextAware } from "./icontext.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get current execution context
|
|
4
|
+
* @returns the result
|
|
5
|
+
*/
|
|
6
|
+
export declare function useContext<T extends Context>(): T;
|
|
7
|
+
/**
|
|
8
|
+
* Shortcut to get the current user
|
|
9
|
+
* @returns the result
|
|
10
|
+
*/
|
|
11
|
+
export declare function useCurrentUser(): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* Shortcut to get the current user id
|
|
14
|
+
* @returns the result
|
|
15
|
+
*/
|
|
16
|
+
export declare function useCurrentUserId(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Run this function as system
|
|
19
|
+
*
|
|
20
|
+
* @param run - the function to run
|
|
21
|
+
* @param attach - whether to attach to current context
|
|
22
|
+
* @returns the list of results
|
|
23
|
+
*/
|
|
24
|
+
export declare function runAsSystem<T>(run: () => T, attach?: IContextAware[]): T;
|
|
25
|
+
/**
|
|
26
|
+
* Run this function as user
|
|
27
|
+
* @param context - the execution context
|
|
28
|
+
* @param run - the function to run
|
|
29
|
+
* @param attach - whether to attach to current context
|
|
30
|
+
* @returns the list of results
|
|
31
|
+
*/
|
|
32
|
+
export declare function runWithContext<T>(context: Context, run: () => T, attach?: IContextAware[]): T;
|
|
33
|
+
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/contexts/execution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAoB,MAAM,eAAe,CAAC;AAMzE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,KAAK,CAAC,CAEjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,iBAE7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,WAE/B;AAcD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAE,aAAa,EAAO,GAAG,CAAC,CAE5E;AACD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAE,aAAa,EAAO,GAAG,CAAC,CAcjG"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { GlobalContext } from "./globalcontext.js";
|
|
3
|
+
import { setContextUpdate } from "./icontext.js";
|
|
4
|
+
const globalContext = new GlobalContext();
|
|
5
|
+
// Test are transpiling and creating several instances of 'instancestorage.ts'
|
|
6
|
+
process["webdaContexts"] ??= new AsyncLocalStorage();
|
|
7
|
+
const storage = process["webdaContexts"];
|
|
8
|
+
/**
|
|
9
|
+
* Get current execution context
|
|
10
|
+
* @returns the result
|
|
11
|
+
*/
|
|
12
|
+
export function useContext() {
|
|
13
|
+
return (storage.getStore()?.context || globalContext);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Shortcut to get the current user
|
|
17
|
+
* @returns the result
|
|
18
|
+
*/
|
|
19
|
+
export function useCurrentUser() {
|
|
20
|
+
return useContext().getCurrentUser();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Shortcut to get the current user id
|
|
24
|
+
* @returns the result
|
|
25
|
+
*/
|
|
26
|
+
export function useCurrentUserId() {
|
|
27
|
+
return useContext().getCurrentUserId();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Used to update model context
|
|
31
|
+
*
|
|
32
|
+
* @param models - the models
|
|
33
|
+
* @param context - the execution context
|
|
34
|
+
*/
|
|
35
|
+
function attachModels(models, context) {
|
|
36
|
+
setContextUpdate(true);
|
|
37
|
+
models.forEach(m => (m.context = context));
|
|
38
|
+
setContextUpdate(false);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run this function as system
|
|
42
|
+
*
|
|
43
|
+
* @param run - the function to run
|
|
44
|
+
* @param attach - whether to attach to current context
|
|
45
|
+
* @returns the list of results
|
|
46
|
+
*/
|
|
47
|
+
export function runAsSystem(run, attach = []) {
|
|
48
|
+
return this.runWithContext(globalContext, run, attach);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Run this function as user
|
|
52
|
+
* @param context - the execution context
|
|
53
|
+
* @param run - the function to run
|
|
54
|
+
* @param attach - whether to attach to current context
|
|
55
|
+
* @returns the list of results
|
|
56
|
+
*/
|
|
57
|
+
export function runWithContext(context, run, attach = []) {
|
|
58
|
+
const previousContext = storage.getStore()?.context;
|
|
59
|
+
attachModels(attach, context);
|
|
60
|
+
const res = storage.run({ context, previousContext }, run);
|
|
61
|
+
// Manage both promise and normal
|
|
62
|
+
if (res instanceof Promise) {
|
|
63
|
+
// Return the .finally() promise so the rejection is not left dangling.
|
|
64
|
+
// Without this, .finally() creates a derived promise that rejects
|
|
65
|
+
// (when `run` rejects) with no handler, causing unhandled rejections.
|
|
66
|
+
return res.finally(() => attachModels(attach, undefined));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
attachModels(attach, undefined);
|
|
70
|
+
}
|
|
71
|
+
return res;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/contexts/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAA0B,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAC1C,8EAA8E;AAC9E,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,iBAAiB,EAAkD,CAAC;AACrG,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACzC;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,IAAI,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAa,EAAE,OAAgB;IACnD,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3C,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,GAAY,EAAE,MAAM,GAAoB,EAAE;IACvE,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAI,OAAgB,EAAE,GAAY,EAAE,MAAM,GAAoB,EAAE;IAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3D,iCAAiC;IACjC,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;QAC3B,uEAAuE;QACvE,kEAAkE;QAClE,sEAAsE;QACtE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Writable } from "stream";
|
|
2
|
+
import { Context } from "./icontext.js";
|
|
3
|
+
/**
|
|
4
|
+
* Global Context is used as system context
|
|
5
|
+
*/
|
|
6
|
+
export declare class GlobalContext extends Context {
|
|
7
|
+
/**
|
|
8
|
+
* @override
|
|
9
|
+
*/
|
|
10
|
+
getOutputStream(): Promise<Writable>;
|
|
11
|
+
/**
|
|
12
|
+
* @override
|
|
13
|
+
*/
|
|
14
|
+
getCurrentUserId(): string;
|
|
15
|
+
/**
|
|
16
|
+
* @override
|
|
17
|
+
*/
|
|
18
|
+
isGlobalContext(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @override
|
|
21
|
+
*/
|
|
22
|
+
getCurrentUser(): Promise<undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Provide an empty session object
|
|
25
|
+
* @returns the result
|
|
26
|
+
*/
|
|
27
|
+
getSession(): {};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=globalcontext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalcontext.d.ts","sourceRoot":"","sources":["../../src/contexts/globalcontext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEnC;IAED;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,eAAe,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC,CAEnC;IAED;;;OAGG;IACH,UAAU,OAET;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Context } from "./icontext.js";
|
|
2
|
+
/**
|
|
3
|
+
* Global Context is used as system context
|
|
4
|
+
*/
|
|
5
|
+
export class GlobalContext extends Context {
|
|
6
|
+
/**
|
|
7
|
+
* @override
|
|
8
|
+
*/
|
|
9
|
+
getOutputStream() {
|
|
10
|
+
throw new Error("You cannot write to a global context.");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @override
|
|
14
|
+
*/
|
|
15
|
+
getCurrentUserId() {
|
|
16
|
+
return "system";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @override
|
|
20
|
+
*/
|
|
21
|
+
isGlobalContext() {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @override
|
|
26
|
+
*/
|
|
27
|
+
getCurrentUser() {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Provide an empty session object
|
|
32
|
+
* @returns the result
|
|
33
|
+
*/
|
|
34
|
+
getSession() {
|
|
35
|
+
return {};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=globalcontext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalcontext.js","sourceRoot":"","sources":["../../src/contexts/globalcontext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC;;OAEG;IACH,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IncomingHttpHeaders } from "http";
|
|
1
|
+
import { type IncomingHttpHeaders } from "http";
|
|
2
2
|
import { Readable } from "stream";
|
|
3
3
|
export type HttpMethodType = "GET" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
4
4
|
/**
|
|
@@ -49,21 +49,32 @@ export declare class HttpContext {
|
|
|
49
49
|
* URI prefix in case it is exposed through something that prefix the uri
|
|
50
50
|
*/
|
|
51
51
|
prefix: string;
|
|
52
|
+
/** Create a new HttpContext
|
|
53
|
+
* @param hostname - the request hostname
|
|
54
|
+
* @param method - the HTTP method
|
|
55
|
+
* @param uri - the request URI
|
|
56
|
+
* @param protocol - the protocol
|
|
57
|
+
* @param port - the port number
|
|
58
|
+
* @param headers - the request headers
|
|
59
|
+
*/
|
|
52
60
|
constructor(hostname: string, method: HttpMethodType, uri: string, protocol?: "http" | "https", port?: number | string, headers?: {
|
|
53
61
|
[key: string]: string | string[];
|
|
54
62
|
});
|
|
55
63
|
/**
|
|
56
64
|
* Set the client ip
|
|
65
|
+
* @param ip - the IP address
|
|
66
|
+
* @returns this for chaining
|
|
57
67
|
*/
|
|
58
68
|
setClientIp(ip: string): this;
|
|
59
69
|
/**
|
|
60
70
|
* Get the client ip
|
|
71
|
+
* @returns the result string
|
|
61
72
|
*/
|
|
62
73
|
getClientIp(): string;
|
|
63
74
|
/**
|
|
64
75
|
*
|
|
65
76
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/href
|
|
66
|
-
* @returns
|
|
77
|
+
* @returns the result string
|
|
67
78
|
*/
|
|
68
79
|
getHref(): string;
|
|
69
80
|
/**
|
|
@@ -73,51 +84,56 @@ export declare class HttpContext {
|
|
|
73
84
|
setPrefix(prefix: string): void;
|
|
74
85
|
/**
|
|
75
86
|
* Return Uri without prefix
|
|
87
|
+
*
|
|
88
|
+
* The prefix is only removed on a path boundary, so prefix `/prod` does not strip `/production`
|
|
89
|
+
* @returns the result string
|
|
76
90
|
*/
|
|
77
91
|
getRelativeUri(): string;
|
|
78
92
|
/**
|
|
79
93
|
* Get full URI
|
|
80
|
-
* @returns
|
|
94
|
+
* @returns the result string
|
|
81
95
|
*/
|
|
82
96
|
getUrl(): string;
|
|
83
97
|
/**
|
|
84
98
|
* Get cookies
|
|
85
|
-
* @returns
|
|
99
|
+
* @returns the result
|
|
86
100
|
*/
|
|
87
101
|
getCookies(): any;
|
|
88
102
|
/**
|
|
89
103
|
* Get port number as string
|
|
90
104
|
*
|
|
91
105
|
* If http on port 80, or https on port 443 will return ""
|
|
106
|
+
* @returns the result string
|
|
92
107
|
*/
|
|
93
108
|
getPort(): string;
|
|
94
109
|
/**
|
|
95
110
|
* Get the port number
|
|
111
|
+
* @returns the result number
|
|
96
112
|
*/
|
|
97
113
|
getPortNumber(): number;
|
|
98
114
|
/**
|
|
99
115
|
* Return hostname and port
|
|
100
|
-
* @returns
|
|
116
|
+
* @returns the result string
|
|
101
117
|
*/
|
|
102
118
|
getHost(): string;
|
|
103
119
|
/**
|
|
104
120
|
* Return protocol, hostname and port
|
|
105
|
-
* @returns
|
|
121
|
+
* @returns the result string
|
|
106
122
|
*/
|
|
107
123
|
getOrigin(): string;
|
|
108
124
|
/**
|
|
109
125
|
* Get the hostname
|
|
110
|
-
* @returns
|
|
126
|
+
* @returns the result string
|
|
111
127
|
*/
|
|
112
128
|
getHostName(): string;
|
|
113
129
|
/**
|
|
114
130
|
* Get HTTP Method used
|
|
115
|
-
* @returns
|
|
131
|
+
* @returns the result
|
|
116
132
|
*/
|
|
117
133
|
getMethod(): HttpMethodType;
|
|
118
134
|
/**
|
|
119
135
|
* Get protocol used
|
|
120
|
-
* @returns
|
|
136
|
+
* @returns the result
|
|
121
137
|
*/
|
|
122
138
|
getProtocol(): "http:" | "https:";
|
|
123
139
|
/**
|
|
@@ -126,7 +142,7 @@ export declare class HttpContext {
|
|
|
126
142
|
* @param limit the size of readable request
|
|
127
143
|
* @param timeout the time to read the request
|
|
128
144
|
* @param encoding to analyze
|
|
129
|
-
* @returns
|
|
145
|
+
* @returns the result
|
|
130
146
|
*/
|
|
131
147
|
getRawBodyAsString(limit?: number, timeout?: number, encoding?: string): Promise<string>;
|
|
132
148
|
/**
|
|
@@ -134,52 +150,62 @@ export declare class HttpContext {
|
|
|
134
150
|
*
|
|
135
151
|
* @param limit the size of readable request
|
|
136
152
|
* @param timeout the time to read the request
|
|
137
|
-
* @returns
|
|
153
|
+
* @returns the result
|
|
138
154
|
*/
|
|
139
155
|
getRawBody(limit?: number, timeout?: number): Promise<Buffer | undefined>;
|
|
140
156
|
/**
|
|
141
157
|
* Get the body as stream
|
|
158
|
+
* @returns the result
|
|
142
159
|
*/
|
|
143
160
|
getRawStream(): Readable;
|
|
144
161
|
/**
|
|
145
162
|
* Get HTTP Headers
|
|
146
|
-
* @returns
|
|
163
|
+
* @returns the result
|
|
147
164
|
*/
|
|
148
165
|
getHeaders(): Readonly<IncomingHttpHeaders>;
|
|
149
166
|
/**
|
|
150
167
|
* Get header value
|
|
151
|
-
* @param name
|
|
152
|
-
* @param def
|
|
153
|
-
* @returns
|
|
168
|
+
* @param name - the name to use
|
|
169
|
+
* @param def - the default value
|
|
170
|
+
* @returns the list of results
|
|
154
171
|
*/
|
|
155
172
|
getHeader(name: string, def?: string): string | string[];
|
|
156
173
|
/**
|
|
157
174
|
* Return the last header found with that name
|
|
175
|
+
* @param name - the name to use
|
|
176
|
+
* @param def - the default value
|
|
177
|
+
* @returns the result string
|
|
158
178
|
*/
|
|
159
179
|
getUniqueHeader(name: string, def?: string): string;
|
|
160
180
|
/**
|
|
161
181
|
* Used for test
|
|
162
|
-
* @param body
|
|
182
|
+
* @param body - the request body
|
|
183
|
+
* @returns this for chaining
|
|
163
184
|
*/
|
|
164
185
|
setBody(body: Buffer | string | Readable | any): this;
|
|
165
186
|
/**
|
|
166
187
|
* Get request path name
|
|
167
188
|
*
|
|
168
189
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname
|
|
169
|
-
* @returns
|
|
190
|
+
* @returns the result
|
|
170
191
|
*/
|
|
171
192
|
getPathName(): string;
|
|
172
193
|
/**
|
|
173
194
|
* Get search section
|
|
174
195
|
*
|
|
175
196
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/search
|
|
176
|
-
* @returns
|
|
197
|
+
* @returns the result
|
|
177
198
|
*/
|
|
178
199
|
getSearch(): string;
|
|
179
200
|
/**
|
|
201
|
+
* Return the absolute url of the request, or of an application uri
|
|
202
|
+
*
|
|
203
|
+
* An application uri is relative to the prefix, so the prefix is added to it
|
|
180
204
|
*
|
|
181
|
-
* @param uri to return absolute url from
|
|
205
|
+
* @param uri to return absolute url from, the request uri by default
|
|
206
|
+
* @returns the result string
|
|
182
207
|
*/
|
|
183
208
|
getAbsoluteUrl(uri?: string): string;
|
|
184
209
|
}
|
|
185
210
|
export {};
|
|
211
|
+
//# sourceMappingURL=httpcontext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpcontext.d.ts","sourceRoot":"","sources":["../../src/contexts/httpcontext.ts"],"names":[],"mappings":"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"}
|