@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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ServiceParameters } from "../services/
|
|
2
|
-
import { CancelablePromise, WaitDelayer, WaitDelayerDefinition } from "
|
|
1
|
+
import { ServiceParameters } from "../services/serviceparameters.js";
|
|
2
|
+
import { CancelablePromise, WaitDelayer, WaitDelayerDefinition } from "@webda/utils";
|
|
3
3
|
import { PubSubService } from "./pubsubservice.js";
|
|
4
4
|
/**
|
|
5
5
|
* Raw message from queue
|
|
@@ -26,7 +26,7 @@ export declare class QueueParameters extends ServiceParameters {
|
|
|
26
26
|
* Define if worker should process multi message received in //
|
|
27
27
|
* @default true
|
|
28
28
|
*/
|
|
29
|
-
workerParallelism
|
|
29
|
+
workerParallelism: boolean;
|
|
30
30
|
/**
|
|
31
31
|
* Max number of queue consumers
|
|
32
32
|
* Queue will auto increase to this max number if queue is loaded
|
|
@@ -35,10 +35,6 @@ export declare class QueueParameters extends ServiceParameters {
|
|
|
35
35
|
* @default 10
|
|
36
36
|
*/
|
|
37
37
|
maxConsumers: number;
|
|
38
|
-
/**
|
|
39
|
-
* @inheritdoc
|
|
40
|
-
*/
|
|
41
|
-
constructor(params: any);
|
|
42
38
|
}
|
|
43
39
|
/**
|
|
44
40
|
* AbstractQueue implements the worker system
|
|
@@ -79,12 +75,13 @@ declare abstract class Queue<T = any, K extends QueueParameters = QueueParameter
|
|
|
79
75
|
abstract deleteMessage(id: string): Promise<void>;
|
|
80
76
|
/**
|
|
81
77
|
* Create the delayer
|
|
78
|
+
* @returns this for chaining
|
|
82
79
|
*/
|
|
83
80
|
resolve(): this;
|
|
84
81
|
/**
|
|
85
82
|
* Receive and process message from the queue
|
|
86
83
|
*
|
|
87
|
-
* @returns
|
|
84
|
+
* @returns the result
|
|
88
85
|
*/
|
|
89
86
|
protected consumerReceiveMessage(): Promise<{
|
|
90
87
|
speed: number;
|
|
@@ -98,14 +95,15 @@ declare abstract class Queue<T = any, K extends QueueParameters = QueueParameter
|
|
|
98
95
|
*
|
|
99
96
|
* SQS for example will return this.parameters.maxConsumers / 10
|
|
100
97
|
*
|
|
101
|
-
* @returns
|
|
98
|
+
* @returns the result number
|
|
102
99
|
*/
|
|
103
100
|
getMaxConsumers(): number;
|
|
104
101
|
/**
|
|
105
102
|
* Work a queue calling the callback with every Event received
|
|
106
103
|
* If the callback is called without exception the `deleteMessage` is called
|
|
107
|
-
* @param callback
|
|
108
|
-
* @param eventPrototype
|
|
104
|
+
* @param callback - the callback function
|
|
105
|
+
* @param eventPrototype - the event prototype
|
|
106
|
+
* @returns the result
|
|
109
107
|
*/
|
|
110
108
|
consume(callback: (event: T) => Promise<void>, eventPrototype?: {
|
|
111
109
|
new (): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueservice.d.ts","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"queueservice.d.ts","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAQ;IAClC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAM;CAC3B;AAED;;;;;;;GAOG;AACH,uBAAe,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAA8B;IAC9C;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,cAAc,EAAE,UAAU,CAAC,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhF;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACI,OAAO,IAAI,IAAI,CAIrB;IAED;;;;OAIG;IACH,UAAgB,sBAAsB,IAAI,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAsCD;IAED;;;;;;;;;OASG;IACH,eAAe,IAAI,MAAM,CAExB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,iBAAiB,CA4BhG;CACF;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import { ServiceParameters } from "../services/
|
|
2
|
-
import { CancelableLoopPromise, WaitDelayerFactories } from "
|
|
1
|
+
import { ServiceParameters } from "../services/serviceparameters.js";
|
|
2
|
+
import { CancelableLoopPromise, WaitDelayerFactories } from "@webda/utils";
|
|
3
3
|
import { PubSubService } from "./pubsubservice.js";
|
|
4
4
|
/**
|
|
5
5
|
* @inheritdoc
|
|
6
6
|
*/
|
|
7
7
|
export class QueueParameters extends ServiceParameters {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Delayer between two failed attempts to process messages
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
workerDelayer;
|
|
12
|
+
/**
|
|
13
|
+
* Define if worker should process multi message received in //
|
|
14
|
+
* @default true
|
|
15
|
+
*/
|
|
16
|
+
workerParallelism = true;
|
|
17
|
+
/**
|
|
18
|
+
* Max number of queue consumers
|
|
19
|
+
* Queue will auto increase to this max number if queue is loaded
|
|
20
|
+
* and it will decrease to just one consumer if no messages are available
|
|
21
|
+
*
|
|
22
|
+
* @default 10
|
|
23
|
+
*/
|
|
24
|
+
maxConsumers = 10;
|
|
16
25
|
}
|
|
17
26
|
/**
|
|
18
27
|
* AbstractQueue implements the worker system
|
|
@@ -23,8 +32,26 @@ export class QueueParameters extends ServiceParameters {
|
|
|
23
32
|
* @category CoreServices
|
|
24
33
|
*/
|
|
25
34
|
class Queue extends PubSubService {
|
|
35
|
+
/**
|
|
36
|
+
* Current timeout handler
|
|
37
|
+
*/
|
|
38
|
+
_timeout;
|
|
39
|
+
/**
|
|
40
|
+
* Callback function to call for each message
|
|
41
|
+
*/
|
|
42
|
+
callback;
|
|
43
|
+
/**
|
|
44
|
+
* Current pause instance
|
|
45
|
+
*/
|
|
46
|
+
failedIterations;
|
|
47
|
+
/**
|
|
48
|
+
* Delayer
|
|
49
|
+
*/
|
|
50
|
+
delayer;
|
|
51
|
+
eventPrototype;
|
|
26
52
|
/**
|
|
27
53
|
* Create the delayer
|
|
54
|
+
* @returns this for chaining
|
|
28
55
|
*/
|
|
29
56
|
resolve() {
|
|
30
57
|
super.resolve();
|
|
@@ -34,7 +61,7 @@ class Queue extends PubSubService {
|
|
|
34
61
|
/**
|
|
35
62
|
* Receive and process message from the queue
|
|
36
63
|
*
|
|
37
|
-
* @returns
|
|
64
|
+
* @returns the result
|
|
38
65
|
*/
|
|
39
66
|
async consumerReceiveMessage() {
|
|
40
67
|
try {
|
|
@@ -54,7 +81,7 @@ class Queue extends PubSubService {
|
|
|
54
81
|
}
|
|
55
82
|
catch (err) {
|
|
56
83
|
this.metrics.errors.inc();
|
|
57
|
-
this.
|
|
84
|
+
this.log("ERROR", `Message ${msg.ReceiptHandle}`, err);
|
|
58
85
|
}
|
|
59
86
|
finally {
|
|
60
87
|
end();
|
|
@@ -87,7 +114,7 @@ class Queue extends PubSubService {
|
|
|
87
114
|
*
|
|
88
115
|
* SQS for example will return this.parameters.maxConsumers / 10
|
|
89
116
|
*
|
|
90
|
-
* @returns
|
|
117
|
+
* @returns the result number
|
|
91
118
|
*/
|
|
92
119
|
getMaxConsumers() {
|
|
93
120
|
return this.parameters.maxConsumers;
|
|
@@ -95,8 +122,9 @@ class Queue extends PubSubService {
|
|
|
95
122
|
/**
|
|
96
123
|
* Work a queue calling the callback with every Event received
|
|
97
124
|
* If the callback is called without exception the `deleteMessage` is called
|
|
98
|
-
* @param callback
|
|
99
|
-
* @param eventPrototype
|
|
125
|
+
* @param callback - the callback function
|
|
126
|
+
* @param eventPrototype - the event prototype
|
|
127
|
+
* @returns the result
|
|
100
128
|
*/
|
|
101
129
|
consume(callback, eventPrototype) {
|
|
102
130
|
this.failedIterations = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"queueservice.js","sourceRoot":"","sources":["../../src/queues/queueservice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/rest/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/rest/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,iBAAiB,CAAS,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import type { JSONSchema7 } from "json-schema";
|
|
2
|
+
import type { OpenAPIV3 } from "openapi-types";
|
|
3
|
+
import { HttpMethodType } from "../contexts/httpcontext.js";
|
|
4
|
+
import { DeepPartial } from "@webda/tsc-esm";
|
|
5
|
+
import { IWebContext } from "../contexts/icontext.js";
|
|
6
|
+
import type { Repository } from "@webda/models";
|
|
7
|
+
/**
|
|
8
|
+
* Define overridable OpenAPI description
|
|
9
|
+
*/
|
|
10
|
+
export interface OpenAPIWebdaDefinition extends DeepPartial<OpenAPIV3.PathItemObject> {
|
|
11
|
+
/**
|
|
12
|
+
* Do not output for this specific Route
|
|
13
|
+
*
|
|
14
|
+
* It can still be output with --include-hidden, as it is needed to declare
|
|
15
|
+
* the route in API Gateway or any other internal documentation
|
|
16
|
+
*/
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* If defined will link to the model schema instead of a generic Object
|
|
20
|
+
*/
|
|
21
|
+
model?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Tags defined for all methods
|
|
24
|
+
*/
|
|
25
|
+
tags?: string[];
|
|
26
|
+
post?: OpenApiWebdaOperation;
|
|
27
|
+
put?: OpenApiWebdaOperation;
|
|
28
|
+
patch?: OpenApiWebdaOperation;
|
|
29
|
+
get?: OpenApiWebdaOperation;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Bind a class method to an HTTP route at the service's base URL.
|
|
33
|
+
*
|
|
34
|
+
* **Prefer `@Operation`.** Operations plug into REST, GraphQL, and gRPC with
|
|
35
|
+
* a single declaration and give you request/response schema generation for
|
|
36
|
+
* free. `@Route` is the escape hatch for endpoints that don't fit the
|
|
37
|
+
* operation model (static assets, JWKS, Accept-based content negotiation,
|
|
38
|
+
* server-sent events, manual streaming, etc.) — anything where you need raw
|
|
39
|
+
* access to `WebContext` and the operation abstraction would get in the way.
|
|
40
|
+
*
|
|
41
|
+
* Routes are read by `Router.discoverRoutes()` after service init and
|
|
42
|
+
* registered on the router with the same semantics as a manual
|
|
43
|
+
* `this.addRoute(...)` call. `route` is resolved relative to the service's
|
|
44
|
+
* `url` parameter when it starts with `.` (`".", "./me", "./email/{email}"`).
|
|
45
|
+
*
|
|
46
|
+
* @param route - URL pattern, e.g. `"."`, `"./me"`, `"./{id}/children"`
|
|
47
|
+
* @param methods - HTTP verb or list; defaults to `["GET"]`
|
|
48
|
+
* @param openapi - OpenAPI `PathItemObject` fragment for this method
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* class JwksService extends Service {
|
|
53
|
+
* // Raw route — JWKS content-type isn't a natural fit for @Operation
|
|
54
|
+
* @Route(".", ["GET"], { get: { operationId: "getJWKS" } })
|
|
55
|
+
* async serveJWKS(ctx: OperationContext) { … }
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const Route: {
|
|
60
|
+
(value: any, context: ClassMethodDecoratorContext<any, any>): any;
|
|
61
|
+
(route: string, methods?: HttpMethodType[] | HttpMethodType, openapi?: OpenAPIWebdaDefinition): (value: any, context: ClassMethodDecoratorContext<any, any>) => any;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Operation object with optional schemas
|
|
65
|
+
*/
|
|
66
|
+
export interface OpenApiWebdaOperation extends DeepPartial<OpenAPIV3.OperationObject> {
|
|
67
|
+
schemas?: {
|
|
68
|
+
input?: JSONSchema7 | string;
|
|
69
|
+
output?: JSONSchema7 | string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Route Information default information
|
|
74
|
+
*/
|
|
75
|
+
export interface RouteInfo {
|
|
76
|
+
model?: Repository;
|
|
77
|
+
/**
|
|
78
|
+
* HTTP Method to expose
|
|
79
|
+
*/
|
|
80
|
+
methods: HttpMethodType[];
|
|
81
|
+
/**
|
|
82
|
+
* Executor name
|
|
83
|
+
*/
|
|
84
|
+
executor: string;
|
|
85
|
+
/**
|
|
86
|
+
* Method name on the executor
|
|
87
|
+
*/
|
|
88
|
+
_method?: string | Function;
|
|
89
|
+
/**
|
|
90
|
+
* OpenAPI definition
|
|
91
|
+
*/
|
|
92
|
+
openapi?: OpenAPIWebdaDefinition;
|
|
93
|
+
/**
|
|
94
|
+
* URI Template parser
|
|
95
|
+
*/
|
|
96
|
+
_uriTemplateParse?: {
|
|
97
|
+
fromUri: (uri: string, options?: {
|
|
98
|
+
strict: boolean;
|
|
99
|
+
}) => any;
|
|
100
|
+
varNames: any;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Query parameters to extract
|
|
104
|
+
*/
|
|
105
|
+
_queryParams?: {
|
|
106
|
+
name: string;
|
|
107
|
+
required: boolean;
|
|
108
|
+
}[];
|
|
109
|
+
/**
|
|
110
|
+
* Catch all parameter
|
|
111
|
+
*/
|
|
112
|
+
_queryCatchAll?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Hash
|
|
115
|
+
*/
|
|
116
|
+
hash?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Intend to override existing
|
|
119
|
+
*/
|
|
120
|
+
override?: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* RequestFilter allows a service to control incoming requests.
|
|
124
|
+
*
|
|
125
|
+
* Services implementing this interface can accept or reject HTTP requests
|
|
126
|
+
* based on authentication, authorization, or other criteria. If at least one
|
|
127
|
+
* registered filter returns `true`, the request proceeds.
|
|
128
|
+
*
|
|
129
|
+
* The compiler detects this interface via the `@WebdaCapability` tag and
|
|
130
|
+
* automatically registers implementing services with the Router during
|
|
131
|
+
* framework initialization.
|
|
132
|
+
*
|
|
133
|
+
* @WebdaCapability request-filter
|
|
134
|
+
*
|
|
135
|
+
* @typeParam T - The context type, defaults to {@link IWebContext}
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* class ApiKeyFilter extends Service implements RequestFilter {
|
|
140
|
+
* async checkRequest(context: IWebContext, type: "AUTH"): Promise<boolean> {
|
|
141
|
+
* return context.getHttpContext().getHeader("x-api-key") === this.parameters.apiKey;
|
|
142
|
+
* }
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export interface RequestFilter<T extends IWebContext = IWebContext> {
|
|
147
|
+
/**
|
|
148
|
+
* Check whether a request should be allowed through.
|
|
149
|
+
*
|
|
150
|
+
* Called for authentication/authorization checks on every incoming request.
|
|
151
|
+
*
|
|
152
|
+
* @param context - The current request context
|
|
153
|
+
* @param type - Always `"AUTH"` for request filters
|
|
154
|
+
* @returns `true` to allow the request, `false` to reject it
|
|
155
|
+
*/
|
|
156
|
+
checkRequest(context: T, type: "AUTH"): Promise<boolean>;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* CORSFilter allows a service to control Cross-Origin Resource Sharing requests.
|
|
160
|
+
*
|
|
161
|
+
* Similar to {@link RequestFilter} but specifically for CORS validation.
|
|
162
|
+
* CORS filters are **not applied in devMode**, allowing unrestricted
|
|
163
|
+
* cross-origin requests during development.
|
|
164
|
+
*
|
|
165
|
+
* @WebdaCapability cors-filter
|
|
166
|
+
*
|
|
167
|
+
* @typeParam T - The context type, defaults to {@link IWebContext}
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* class OriginFilter extends Service implements CORSFilter {
|
|
172
|
+
* async checkRequest(context: IWebContext, type: "CORS"): Promise<boolean> {
|
|
173
|
+
* const origin = context.getHttpContext().getHeader("origin");
|
|
174
|
+
* return this.parameters.allowedOrigins.includes(origin);
|
|
175
|
+
* }
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export interface CORSFilter<T extends IWebContext = IWebContext> {
|
|
180
|
+
/**
|
|
181
|
+
* Check whether a CORS request should be allowed.
|
|
182
|
+
*
|
|
183
|
+
* Called for cross-origin validation. CORS filters are **not applied
|
|
184
|
+
* in devMode**, allowing unrestricted cross-origin requests during development.
|
|
185
|
+
*
|
|
186
|
+
* @param context - The current request context
|
|
187
|
+
* @param type - Always `"CORS"` for CORS filters
|
|
188
|
+
* @returns `true` to allow the request, `false` to reject it
|
|
189
|
+
*/
|
|
190
|
+
checkRequest(context: T, type: "CORS"): Promise<boolean>;
|
|
191
|
+
}
|
|
192
|
+
export interface IRouter {
|
|
193
|
+
/**
|
|
194
|
+
* Add to context information and executor based on the http context
|
|
195
|
+
*/
|
|
196
|
+
exportOpenAPI(arg0: boolean): any;
|
|
197
|
+
registerModelUrl(arg0: any, prefix: string): unknown;
|
|
198
|
+
registerRequestFilter(filter: RequestFilter): any;
|
|
199
|
+
registerCORSFilter(filter: CORSFilter): any;
|
|
200
|
+
execute(context: IWebContext): Promise<void>;
|
|
201
|
+
/**
|
|
202
|
+
* Auto-discover services with request-filter and cors-filter capabilities
|
|
203
|
+
*/
|
|
204
|
+
discoverFilters(services: Iterable<{
|
|
205
|
+
getCapabilities(): Record<string, any>;
|
|
206
|
+
}>): void;
|
|
207
|
+
/**
|
|
208
|
+
* Auto-discover routes declared via `@Route` on each service and register them
|
|
209
|
+
*/
|
|
210
|
+
discoverRoutes(services: Iterable<any>): void;
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=irest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irest.d.ts","sourceRoot":"","sources":["../../src/rest/irest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createMethodDecorator } from "@webda/tsc-esm";
|
|
2
|
+
/**
|
|
3
|
+
* Bind a class method to an HTTP route at the service's base URL.
|
|
4
|
+
*
|
|
5
|
+
* **Prefer `@Operation`.** Operations plug into REST, GraphQL, and gRPC with
|
|
6
|
+
* a single declaration and give you request/response schema generation for
|
|
7
|
+
* free. `@Route` is the escape hatch for endpoints that don't fit the
|
|
8
|
+
* operation model (static assets, JWKS, Accept-based content negotiation,
|
|
9
|
+
* server-sent events, manual streaming, etc.) — anything where you need raw
|
|
10
|
+
* access to `WebContext` and the operation abstraction would get in the way.
|
|
11
|
+
*
|
|
12
|
+
* Routes are read by `Router.discoverRoutes()` after service init and
|
|
13
|
+
* registered on the router with the same semantics as a manual
|
|
14
|
+
* `this.addRoute(...)` call. `route` is resolved relative to the service's
|
|
15
|
+
* `url` parameter when it starts with `.` (`".", "./me", "./email/{email}"`).
|
|
16
|
+
*
|
|
17
|
+
* @param route - URL pattern, e.g. `"."`, `"./me"`, `"./{id}/children"`
|
|
18
|
+
* @param methods - HTTP verb or list; defaults to `["GET"]`
|
|
19
|
+
* @param openapi - OpenAPI `PathItemObject` fragment for this method
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* class JwksService extends Service {
|
|
24
|
+
* // Raw route — JWKS content-type isn't a natural fit for @Operation
|
|
25
|
+
* @Route(".", ["GET"], { get: { operationId: "getJWKS" } })
|
|
26
|
+
* async serveJWKS(ctx: OperationContext) { … }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export const Route = createMethodDecorator((_value, context, route, methods = ["GET"], openapi = {}) => {
|
|
31
|
+
context.metadata["webda.route"] ??= {};
|
|
32
|
+
context.metadata["webda.route"][route] ??= [];
|
|
33
|
+
context.metadata["webda.route"][route].push({
|
|
34
|
+
methods: Array.isArray(methods) ? methods : [methods],
|
|
35
|
+
executor: context.name,
|
|
36
|
+
openapi
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=irest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irest.js","sourceRoot":"","sources":["../../src/rest/irest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAe,MAAM,gBAAgB,CAAC;AA6BpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAqB,CACxC,CACE,MAAW,EACX,OAAoC,EACpC,KAAa,EACb,OAAO,GAAsC,CAAC,KAAK,CAAC,EACpD,OAAO,GAA2B,EAAE,EACpC,EAAE;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IWebContext } from "../contexts/icontext.js";
|
|
2
|
+
import { RegExpValidator } from "@webda/utils";
|
|
3
|
+
import { RequestFilter } from "./irest.js";
|
|
4
|
+
/**
|
|
5
|
+
* Filter request based on their origin
|
|
6
|
+
*
|
|
7
|
+
* @category CoreFeatures
|
|
8
|
+
*/
|
|
9
|
+
export declare class OriginFilter implements RequestFilter<IWebContext> {
|
|
10
|
+
regexs: RegExpValidator;
|
|
11
|
+
/** Create a new OriginFilter
|
|
12
|
+
* @param origins - allowed origin patterns
|
|
13
|
+
*/
|
|
14
|
+
constructor(origins: string[]);
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param context - the execution context
|
|
18
|
+
* @returns true if the condition is met
|
|
19
|
+
*/
|
|
20
|
+
checkRequest(context: IWebContext): Promise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Authorize requests based on the website
|
|
24
|
+
*/
|
|
25
|
+
export declare class WebsiteOriginFilter implements RequestFilter<IWebContext> {
|
|
26
|
+
websites: string[];
|
|
27
|
+
/** Create a new WebsiteOriginFilter
|
|
28
|
+
* @param website - allowed website URL or array of URLs
|
|
29
|
+
*/
|
|
30
|
+
constructor(website: any);
|
|
31
|
+
/**
|
|
32
|
+
* Verify that the request origin or host is in the allowed websites list
|
|
33
|
+
* @param context - the execution context
|
|
34
|
+
* @returns true if the condition is met
|
|
35
|
+
*/
|
|
36
|
+
checkRequest(context: IWebContext): Promise<boolean>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=originfilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"originfilter.d.ts","sourceRoot":"","sources":["../../src/rest/originfilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,YAAa,YAAW,aAAa,CAAC,WAAW,CAAC;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAAE,EAE5B;IACD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzD;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,aAAa,CAAC,WAAW,CAAC;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB;;OAEG;IACH,YAAY,OAAO,EAAE,GAAG,EAUvB;IAED;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzD;CACF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { RegExpValidator } from "@webda/utils";
|
|
2
|
+
/**
|
|
3
|
+
* Filter request based on their origin
|
|
4
|
+
*
|
|
5
|
+
* @category CoreFeatures
|
|
6
|
+
*/
|
|
7
|
+
export class OriginFilter {
|
|
8
|
+
regexs;
|
|
9
|
+
/** Create a new OriginFilter
|
|
10
|
+
* @param origins - allowed origin patterns
|
|
11
|
+
*/
|
|
12
|
+
constructor(origins) {
|
|
13
|
+
this.regexs = new RegExpValidator(origins);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param context - the execution context
|
|
18
|
+
* @returns true if the condition is met
|
|
19
|
+
*/
|
|
20
|
+
async checkRequest(context) {
|
|
21
|
+
const httpContext = context.getHttpContext();
|
|
22
|
+
return this.regexs.validate(httpContext.hostname) || this.regexs.validate(httpContext.origin);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Authorize requests based on the website
|
|
27
|
+
*/
|
|
28
|
+
export class WebsiteOriginFilter {
|
|
29
|
+
websites = [];
|
|
30
|
+
/** Create a new WebsiteOriginFilter
|
|
31
|
+
* @param website - allowed website URL or array of URLs
|
|
32
|
+
*/
|
|
33
|
+
constructor(website) {
|
|
34
|
+
if (!Array.isArray(website)) {
|
|
35
|
+
if (typeof website === "object") {
|
|
36
|
+
this.websites.push(website.url);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.websites.push(website);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.websites = [...website];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Verify that the request origin or host is in the allowed websites list
|
|
48
|
+
* @param context - the execution context
|
|
49
|
+
* @returns true if the condition is met
|
|
50
|
+
*/
|
|
51
|
+
async checkRequest(context) {
|
|
52
|
+
const httpContext = context.getHttpContext();
|
|
53
|
+
if (this.websites.indexOf(httpContext.origin) >= 0 ||
|
|
54
|
+
this.websites.indexOf(httpContext.host) >= 0 ||
|
|
55
|
+
this.websites.indexOf("*") >= 0) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=originfilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"originfilter.js","sourceRoot":"","sources":["../../src/rest/originfilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACvB,MAAM,CAAkB;IACxB;;OAEG;IACH,YAAY,OAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChG,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,QAAQ,GAAa,EAAE,CAAC;IACxB;;OAEG;IACH,YAAY,OAAY;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|