@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
package/lib/stores/store.d.ts
CHANGED
|
@@ -1,116 +1,69 @@
|
|
|
1
|
-
import { Counter,
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { HttpMethodType } from "../utils/httpcontext.js";
|
|
1
|
+
import { Counter, Histogram } from "../metrics/metrics.js";
|
|
2
|
+
import * as WebdaError from "../errors/errors.js";
|
|
3
|
+
import { type Model, type ModelClass, type PrimaryKey, type Repository } from "@webda/models";
|
|
4
|
+
import { ServiceParameters } from "../services/serviceparameters.js";
|
|
5
|
+
import { Service } from "../services/service.js";
|
|
7
6
|
import * as WebdaQL from "@webda/ql";
|
|
7
|
+
import type { WebdaQLString } from "@webda/ql";
|
|
8
|
+
import type { ModelMetadata } from "@webda/compiler";
|
|
9
|
+
/** Error thrown when an item is not found in a store */
|
|
8
10
|
export declare class StoreNotFoundError extends WebdaError.CodeError {
|
|
9
|
-
|
|
11
|
+
/** Create a new StoreNotFoundError
|
|
12
|
+
* @param uuid - the item primary key
|
|
13
|
+
* @param storeName - the store name
|
|
14
|
+
*/
|
|
15
|
+
constructor(uuid: PrimaryKey<any>, storeName: string);
|
|
10
16
|
}
|
|
17
|
+
/** Error thrown when a conditional update fails due to a version/condition mismatch */
|
|
11
18
|
export declare class UpdateConditionFailError extends WebdaError.CodeError {
|
|
12
|
-
|
|
19
|
+
/** Create a new UpdateConditionFailError
|
|
20
|
+
* @param uuid - the item primary key
|
|
21
|
+
* @param conditionField - the condition field name
|
|
22
|
+
* @param condition - the expected condition value
|
|
23
|
+
*/
|
|
24
|
+
constructor(uuid: PrimaryKey<any>, conditionField: string, condition: string | Date);
|
|
13
25
|
}
|
|
14
26
|
interface EventStore {
|
|
15
27
|
/**
|
|
16
28
|
* Target object
|
|
17
29
|
*/
|
|
18
|
-
object:
|
|
30
|
+
object: Model;
|
|
19
31
|
/**
|
|
20
32
|
* Object id
|
|
21
33
|
*/
|
|
22
|
-
object_id:
|
|
34
|
+
object_id: PrimaryKey<any>;
|
|
23
35
|
/**
|
|
24
36
|
* Store emitting
|
|
25
37
|
*/
|
|
26
38
|
store: Store;
|
|
27
|
-
/**
|
|
28
|
-
* Context of the operation
|
|
29
|
-
*/
|
|
30
|
-
context?: OperationContext;
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
33
41
|
* Event called before save of an object
|
|
34
42
|
*/
|
|
35
|
-
export interface
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Event called after save of an object
|
|
39
|
-
*/
|
|
40
|
-
export interface EventStoreSaved extends EventStoreSave {
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Event called before delete of an object
|
|
44
|
-
*/
|
|
45
|
-
export interface EventStoreDelete extends EventStore {
|
|
43
|
+
export interface EventStoreCreated extends EventStore {
|
|
46
44
|
}
|
|
47
45
|
/**
|
|
48
46
|
* Event called after delete of an object
|
|
49
47
|
*/
|
|
50
|
-
export interface EventStoreDeleted extends
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Event called on retrieval of an object
|
|
54
|
-
*/
|
|
55
|
-
export interface EventStoreGet extends EventStore {
|
|
48
|
+
export interface EventStoreDeleted extends EventStore {
|
|
56
49
|
}
|
|
57
50
|
/**
|
|
58
|
-
* Event called
|
|
59
|
-
*/
|
|
60
|
-
export interface EventStoreAction extends EventWithContext {
|
|
61
|
-
/**
|
|
62
|
-
* Name of the action
|
|
63
|
-
*/
|
|
64
|
-
action: string;
|
|
65
|
-
/**
|
|
66
|
-
* Target object unless it is a global action
|
|
67
|
-
*/
|
|
68
|
-
object?: CoreModel;
|
|
69
|
-
/**
|
|
70
|
-
* Model of the object if global action
|
|
71
|
-
*/
|
|
72
|
-
model?: CoreModelDefinition;
|
|
73
|
-
/**
|
|
74
|
-
* Emitting store
|
|
75
|
-
*/
|
|
76
|
-
store: Store;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Event called after action on an object
|
|
80
|
-
*/
|
|
81
|
-
export interface EventStoreActioned extends EventStoreAction {
|
|
82
|
-
/**
|
|
83
|
-
* Result of the action
|
|
84
|
-
*/
|
|
85
|
-
result: any;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Event called before update of an object
|
|
51
|
+
* Event called after update of an object
|
|
89
52
|
*/
|
|
90
|
-
export interface
|
|
53
|
+
export interface EventStoreUpdated extends EventStore {
|
|
91
54
|
/**
|
|
92
55
|
* Update content
|
|
93
56
|
*/
|
|
94
57
|
update: any;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Event called after update of an object
|
|
98
|
-
*/
|
|
99
|
-
export interface EventStoreUpdated extends EventStoreUpdate {
|
|
100
58
|
/**
|
|
101
59
|
* Object uuid
|
|
102
60
|
*/
|
|
103
|
-
object_id:
|
|
61
|
+
object_id: PrimaryKey<any>;
|
|
104
62
|
/**
|
|
105
63
|
* Object before update
|
|
106
64
|
*/
|
|
107
65
|
previous: any;
|
|
108
66
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Event called before patch update of an object
|
|
111
|
-
*/
|
|
112
|
-
export interface EventStorePatchUpdate extends EventStoreUpdate {
|
|
113
|
-
}
|
|
114
67
|
/**
|
|
115
68
|
* Event called after patch update of an object
|
|
116
69
|
*/
|
|
@@ -119,15 +72,15 @@ export interface EventStorePatchUpdated extends EventStoreUpdated {
|
|
|
119
72
|
/**
|
|
120
73
|
* Event called after partial update of an object
|
|
121
74
|
*/
|
|
122
|
-
export interface EventStorePartialUpdated<T extends
|
|
75
|
+
export interface EventStorePartialUpdated<T extends Model = Model> {
|
|
123
76
|
/**
|
|
124
77
|
* Object uuid
|
|
125
78
|
*/
|
|
126
|
-
object_id:
|
|
79
|
+
object_id: PrimaryKey<any>;
|
|
127
80
|
/**
|
|
128
81
|
* Emitting store
|
|
129
82
|
*/
|
|
130
|
-
store: Store<
|
|
83
|
+
store: Store<any>;
|
|
131
84
|
/**
|
|
132
85
|
* Update date
|
|
133
86
|
*/
|
|
@@ -186,169 +139,10 @@ export interface EventStorePartialUpdated<T extends CoreModel = CoreModel> {
|
|
|
186
139
|
deleteAttribute?: string;
|
|
187
140
|
};
|
|
188
141
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Event sent when a query on the store is emitted
|
|
191
|
-
*/
|
|
192
|
-
export interface EventStoreQuery {
|
|
193
|
-
/**
|
|
194
|
-
* Request sent
|
|
195
|
-
*/
|
|
196
|
-
query: string;
|
|
197
|
-
/**
|
|
198
|
-
* Emitting store
|
|
199
|
-
*/
|
|
200
|
-
store: Store;
|
|
201
|
-
/**
|
|
202
|
-
* The parsed query by our grammar
|
|
203
|
-
*/
|
|
204
|
-
parsedQuery: WebdaQL.Query;
|
|
205
|
-
/**
|
|
206
|
-
* Context in which the query was run
|
|
207
|
-
*/
|
|
208
|
-
context: OperationContext;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Event sent when query is resolved
|
|
212
|
-
*/
|
|
213
|
-
export interface EventStoreQueried extends EventStoreQuery {
|
|
214
|
-
/**
|
|
215
|
-
* Results from the query
|
|
216
|
-
*/
|
|
217
|
-
results: CoreModel[];
|
|
218
|
-
/**
|
|
219
|
-
* The next continuation token
|
|
220
|
-
*/
|
|
221
|
-
continuationToken: string;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Event sent when object is created via POST request
|
|
225
|
-
*/
|
|
226
|
-
export interface EventStoreWebCreate extends EventWithContext {
|
|
227
|
-
/**
|
|
228
|
-
* Properties for the object
|
|
229
|
-
*/
|
|
230
|
-
values: any;
|
|
231
|
-
/**
|
|
232
|
-
* Target object
|
|
233
|
-
*/
|
|
234
|
-
object: CoreModel;
|
|
235
|
-
/**
|
|
236
|
-
* Object id
|
|
237
|
-
*/
|
|
238
|
-
object_id: string;
|
|
239
|
-
/**
|
|
240
|
-
* Emitting store
|
|
241
|
-
*/
|
|
242
|
-
store: Store;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Event sent when object is retrieved via GET request
|
|
246
|
-
*/
|
|
247
|
-
export interface EventStoreWebGet extends EventWithContext {
|
|
248
|
-
/**
|
|
249
|
-
* Emitting store
|
|
250
|
-
*/
|
|
251
|
-
store: Store;
|
|
252
|
-
/**
|
|
253
|
-
* Target object
|
|
254
|
-
*/
|
|
255
|
-
object: CoreModel;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Event sent when object is retrieved via GET request
|
|
259
|
-
*/
|
|
260
|
-
export interface EventStoreWebGetNotFound extends EventWithContext {
|
|
261
|
-
/**
|
|
262
|
-
* Emitting store
|
|
263
|
-
*/
|
|
264
|
-
store: Store;
|
|
265
|
-
/**
|
|
266
|
-
* Target object
|
|
267
|
-
*/
|
|
268
|
-
uuid: string;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Event sent when object is updated via PUT request
|
|
272
|
-
*/
|
|
273
|
-
export interface EventStoreWebUpdate extends EventWithContext {
|
|
274
|
-
/**
|
|
275
|
-
* Type of update
|
|
276
|
-
*/
|
|
277
|
-
method: "PATCH" | "PUT";
|
|
278
|
-
/**
|
|
279
|
-
* Updates to do on the object
|
|
280
|
-
*/
|
|
281
|
-
updates: any;
|
|
282
|
-
/**
|
|
283
|
-
* Target object
|
|
284
|
-
*/
|
|
285
|
-
object: CoreModel;
|
|
286
|
-
/**
|
|
287
|
-
* Emitting store
|
|
288
|
-
*/
|
|
289
|
-
store: Store;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Event sent when object is deleted via DELETE request
|
|
293
|
-
*/
|
|
294
|
-
export interface EventStoreWebDelete extends EventWithContext {
|
|
295
|
-
/**
|
|
296
|
-
* Object uuid
|
|
297
|
-
*/
|
|
298
|
-
object_id: string;
|
|
299
|
-
/**
|
|
300
|
-
* Emitting store
|
|
301
|
-
*/
|
|
302
|
-
store: Store;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* @deprecated Store should not be exposed directly anymore
|
|
306
|
-
* You should use the DomainService instead
|
|
307
|
-
*/
|
|
308
|
-
export type StoreExposeParameters = {
|
|
309
|
-
/**
|
|
310
|
-
* URL endpoint to use to expose REST Resources API
|
|
311
|
-
*
|
|
312
|
-
* @default service.getName().toLowerCase()
|
|
313
|
-
*/
|
|
314
|
-
url?: string;
|
|
315
|
-
/**
|
|
316
|
-
* You can restrict any part of the CRUD
|
|
317
|
-
*
|
|
318
|
-
* @default {}
|
|
319
|
-
*/
|
|
320
|
-
restrict?: {
|
|
321
|
-
/**
|
|
322
|
-
* Do not expose the POST
|
|
323
|
-
*/
|
|
324
|
-
create?: boolean;
|
|
325
|
-
/**
|
|
326
|
-
* Do not expose the PUT and PATCH
|
|
327
|
-
*/
|
|
328
|
-
update?: boolean;
|
|
329
|
-
/**
|
|
330
|
-
* Do not expose the GET
|
|
331
|
-
*/
|
|
332
|
-
get?: boolean;
|
|
333
|
-
/**
|
|
334
|
-
* Do not expose the DELETE
|
|
335
|
-
*/
|
|
336
|
-
delete?: boolean;
|
|
337
|
-
/**
|
|
338
|
-
* Do not expose the query endpoint
|
|
339
|
-
*/
|
|
340
|
-
query?: boolean;
|
|
341
|
-
};
|
|
342
|
-
/**
|
|
343
|
-
* For confidentiality sometimes you might prefer to expose query through PUT
|
|
344
|
-
* To avoid GET logging
|
|
345
|
-
*
|
|
346
|
-
* @default "GET"
|
|
347
|
-
*/
|
|
348
|
-
queryMethod?: "PUT" | "GET";
|
|
349
|
-
};
|
|
350
142
|
/**
|
|
351
143
|
* Represent a query result on the Store
|
|
144
|
+
*
|
|
145
|
+
* @internal — Store-internal type. App code queries via `Model.query()` / `useRepository(Model).query()`.
|
|
352
146
|
*/
|
|
353
147
|
export interface StoreFindResult<T> {
|
|
354
148
|
/**
|
|
@@ -368,34 +162,44 @@ export interface StoreFindResult<T> {
|
|
|
368
162
|
*/
|
|
369
163
|
filter?: WebdaQL.Expression | true;
|
|
370
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* A Store is low-level storage service
|
|
167
|
+
*
|
|
168
|
+
* It does not handle any business logic, only CRUD operations
|
|
169
|
+
*
|
|
170
|
+
* @internal — Store-internal contract. App code uses `Repository<T>` from `@webda/models`.
|
|
171
|
+
*/
|
|
172
|
+
export interface StoreInterface<T = any> {
|
|
173
|
+
create(uuid: PrimaryKey<any>, object: any): Promise<any>;
|
|
174
|
+
get(uuid: PrimaryKey<any>): Promise<any>;
|
|
175
|
+
update(uuid: PrimaryKey<any>, object: any): Promise<any>;
|
|
176
|
+
delete(uuid: PrimaryKey<any>): Promise<void>;
|
|
177
|
+
exists(uuid: PrimaryKey<any>): Promise<boolean>;
|
|
178
|
+
setAttribute(uuid: PrimaryKey<any>, attribute: string, value: any): Promise<void>;
|
|
179
|
+
removeAttribute(uuid: PrimaryKey<any>, attribute: string): Promise<void>;
|
|
180
|
+
upsertItemToCollection(uuid: PrimaryKey<any>, collection: string, item: any, index?: number, itemWriteConditionField?: string, itemWriteCondition?: any): Promise<void>;
|
|
181
|
+
deleteItemFromCollection(uuid: PrimaryKey<any>, collection: string, index: number, itemWriteConditionField?: string, itemWriteCondition?: any): Promise<void>;
|
|
182
|
+
find(query: WebdaQLString<T>): Promise<StoreFindResult<any>>;
|
|
183
|
+
query(query: WebdaQLString<T>): Promise<StoreFindResult<any>>;
|
|
184
|
+
iterate(query: WebdaQLString<T>): AsyncGenerator;
|
|
185
|
+
incrementAttributes(uuid: PrimaryKey<any>, info: {
|
|
186
|
+
property: string;
|
|
187
|
+
value?: number;
|
|
188
|
+
}[]): Promise<Date>;
|
|
189
|
+
}
|
|
371
190
|
/**
|
|
372
191
|
* Store parameter
|
|
192
|
+
*
|
|
193
|
+
* @internal — Store configuration schema. Authored in `webda.config`/deployment
|
|
194
|
+
* files; not consumed by app code directly.
|
|
373
195
|
*/
|
|
374
196
|
export declare class StoreParameters extends ServiceParameters {
|
|
375
197
|
/**
|
|
376
|
-
*
|
|
198
|
+
* Models managed by this Store.
|
|
377
199
|
*
|
|
378
|
-
* @default "Webda/
|
|
200
|
+
* @default ["Webda/RegistryEntry"]
|
|
379
201
|
*/
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Additional models
|
|
383
|
-
*
|
|
384
|
-
* Allow this store to manage other models
|
|
385
|
-
*
|
|
386
|
-
* @default []
|
|
387
|
-
*/
|
|
388
|
-
additionalModels?: string[];
|
|
389
|
-
/**
|
|
390
|
-
* async delete
|
|
391
|
-
*/
|
|
392
|
-
asyncDelete: boolean;
|
|
393
|
-
/**
|
|
394
|
-
* Expose the service to an urls
|
|
395
|
-
*
|
|
396
|
-
* @deprecated will probably be removed in 4.0 in favor of Expose annotation
|
|
397
|
-
*/
|
|
398
|
-
expose?: StoreExposeParameters;
|
|
202
|
+
models?: string[];
|
|
399
203
|
/**
|
|
400
204
|
* Allow to load object that does not have the type data
|
|
401
205
|
*
|
|
@@ -434,42 +238,28 @@ export declare class StoreParameters extends ServiceParameters {
|
|
|
434
238
|
* Disable default memory cache
|
|
435
239
|
*/
|
|
436
240
|
noCache?: boolean;
|
|
437
|
-
|
|
241
|
+
/**
|
|
242
|
+
* Load store parameters with defaults for model type, strict mode, and aliases
|
|
243
|
+
* @param params - the service parameters
|
|
244
|
+
* @returns the result
|
|
245
|
+
*/
|
|
246
|
+
load(params: any): this;
|
|
438
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Aggregate `Store.*` event map.
|
|
250
|
+
*
|
|
251
|
+
* @internal — Store-internal type. App code listens on typed repository events
|
|
252
|
+
* via `useRepository(Model).on("Created" | "Updated" | ...)`.
|
|
253
|
+
*/
|
|
439
254
|
export type StoreEvents = {
|
|
440
255
|
"Store.PartialUpdated": EventStorePartialUpdated;
|
|
441
|
-
"Store.
|
|
442
|
-
"Store.Saved": EventStoreSaved;
|
|
443
|
-
"Store.PatchUpdate": EventStorePatchUpdate;
|
|
256
|
+
"Store.Created": EventStoreCreated;
|
|
444
257
|
"Store.PatchUpdated": EventStorePatchUpdated;
|
|
445
|
-
"Store.Update": EventStoreUpdate;
|
|
446
258
|
"Store.Updated": EventStoreUpdated;
|
|
447
|
-
"Store.Delete": EventStoreDelete;
|
|
448
259
|
"Store.Deleted": EventStoreDeleted;
|
|
449
|
-
"Store.Get": EventStoreGet;
|
|
450
|
-
"Store.Query": EventStoreQuery;
|
|
451
|
-
"Store.Queried": EventStoreQueried;
|
|
452
|
-
"Store.WebCreate": EventStoreWebCreate;
|
|
453
|
-
"Store.Action": EventStoreAction;
|
|
454
|
-
"Store.Actioned": EventStoreActioned;
|
|
455
|
-
"Store.WebUpdate": EventStoreWebUpdate;
|
|
456
|
-
"Store.WebGetNotFound": EventStoreWebGetNotFound;
|
|
457
|
-
"Store.WebGet": EventStoreWebGet;
|
|
458
|
-
"Store.WebDelete": EventStoreWebDelete;
|
|
459
260
|
};
|
|
460
|
-
/**
|
|
461
|
-
* A mapping service allow to link two object together
|
|
462
|
-
*
|
|
463
|
-
* Therefore they need to handle the cascadeDelete
|
|
464
|
-
*/
|
|
465
|
-
export interface MappingService<T = any> {
|
|
466
|
-
newModel(object: any): T;
|
|
467
|
-
}
|
|
468
261
|
/**
|
|
469
262
|
* This class handle NoSQL storage and mapping (duplication) between NoSQL object
|
|
470
|
-
* TODO Create the mapping documentation
|
|
471
|
-
*
|
|
472
|
-
* It use basic CRUD, and can expose those 4 to through HTTP
|
|
473
263
|
*
|
|
474
264
|
* It emits events :
|
|
475
265
|
* Store.Save: Before saving the object
|
|
@@ -482,526 +272,95 @@ export interface MappingService<T = any> {
|
|
|
482
272
|
* Store.Action: When an action will be done on an object
|
|
483
273
|
* Store.Actioned: When an action has been done on an object
|
|
484
274
|
*
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
* Parameters
|
|
489
|
-
*
|
|
490
|
-
* map: { ... }
|
|
491
|
-
* expose: { // Enable the HTTP exposure
|
|
492
|
-
* url: '', // The url to expose to by default it is service name in lowercase ( users for example )
|
|
493
|
-
* restrict: {
|
|
494
|
-
* create: true, // Don't expose the POST /users
|
|
495
|
-
* update: true, // Don't expose the PUT /users/{uuid}
|
|
496
|
-
* delete: true, // Don't expose the DELETE /users/{uuid}
|
|
497
|
-
* get: true // Don't expose the GET /users/{uuid}
|
|
498
|
-
* }
|
|
499
|
-
* }
|
|
275
|
+
* @internal — Subclassed by store packages only. App code never references a
|
|
276
|
+
* Store directly: use `useRepository(Model)` or static model methods
|
|
277
|
+
* (`Model.create()`, `Model.query()`, `Model.ref()`).
|
|
500
278
|
* @category CoreServices
|
|
501
279
|
*/
|
|
502
|
-
declare abstract class Store<
|
|
503
|
-
/**
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
/**
|
|
508
|
-
* Contain the reverse map
|
|
509
|
-
*/
|
|
510
|
-
_reverseMap: {
|
|
511
|
-
mapper: MappingService;
|
|
512
|
-
property: string;
|
|
513
|
-
}[];
|
|
514
|
-
/**
|
|
515
|
-
* Contains the current model
|
|
516
|
-
*/
|
|
517
|
-
_model: CoreModelDefinition<T>;
|
|
518
|
-
/**
|
|
519
|
-
* Store teh manager hierarchy with their depth
|
|
520
|
-
*/
|
|
280
|
+
declare abstract class Store<K extends StoreParameters = StoreParameters, E extends StoreEvents = StoreEvents> extends Service<K, E> {
|
|
281
|
+
/** All model classes managed by this store. Index 0 is the legacy "primary" model. */
|
|
282
|
+
_models: ModelClass[];
|
|
283
|
+
/** Metadata for each model in `_models`, keyed by Identifier. */
|
|
284
|
+
_modelMetadatas: Map<string, ModelMetadata>;
|
|
285
|
+
/** Store the manager hierarchy with their depth */
|
|
521
286
|
_modelsHierarchy: {
|
|
522
287
|
[key: string]: number;
|
|
523
288
|
};
|
|
524
289
|
/**
|
|
525
|
-
*
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
*
|
|
290
|
+
* Override the resolved model class for this store at runtime. Used by
|
|
291
|
+
* the abstract `StoreTest` harness so test fixtures can substitute a
|
|
292
|
+
* subclass with extra fields in place of the configured model. In
|
|
293
|
+
* production this is a no-op the framework never calls.
|
|
294
|
+
* @param model - the substitute model class
|
|
530
295
|
*/
|
|
531
|
-
|
|
296
|
+
setModelDefinitionHelper(model: ModelClass): void;
|
|
532
297
|
/**
|
|
533
298
|
* Add metrics counter
|
|
534
299
|
* ' UNION SELECT name, tbl_name as email, "" as col1, "" as col2, "" as col3, "" as col4, "" as col5, "" as col6, "" as col7, "" as col8 FROM sqlite_master --
|
|
535
300
|
* {"email":"' UNION SELECT name as profileImage, tbl_name as email, '' AS column3 FROM sqlite_master --","password":"we"}
|
|
536
301
|
*/
|
|
537
302
|
metrics: {
|
|
538
|
-
cache_invalidations: Counter;
|
|
539
303
|
operations_total: Counter;
|
|
540
304
|
slow_queries_total: Counter;
|
|
541
|
-
cache_hits: Counter;
|
|
542
305
|
queries: Histogram;
|
|
543
306
|
};
|
|
544
307
|
/**
|
|
545
|
-
*
|
|
308
|
+
* Compute and register repositories for all known models based on available stores.
|
|
309
|
+
*
|
|
310
|
+
* Called from `Store.init()` so each store's init triggers a recompute.
|
|
311
|
+
* Cannot be cached: the FIRST store to init (typically `Registry`) would
|
|
312
|
+
* claim every model with its fallback repository, and subsequent
|
|
313
|
+
* stores wouldn't get a chance to claim their configured models.
|
|
314
|
+
* Re-running is idempotent — `registerRepository` overwrites map entries
|
|
315
|
+
* in place, and the resolution loop is deterministic per current
|
|
316
|
+
* service/model state.
|
|
546
317
|
*/
|
|
547
|
-
|
|
318
|
+
static computeStores(): void;
|
|
548
319
|
/**
|
|
549
|
-
* Retrieve the
|
|
320
|
+
* Retrieve the Models and build the models hierarchy map.
|
|
550
321
|
*
|
|
551
|
-
*
|
|
322
|
+
* Walks `parameters.models[]` (the canonical flat list introduced in Task 1).
|
|
323
|
+
* If the list is empty or contains only the default "Webda/RegistryEntry"
|
|
324
|
+
* fallback, the hierarchy stays empty and the store will not claim any model
|
|
325
|
+
* — preserving the pre-migration fallback behaviour for test-only or
|
|
326
|
+
* misconfigured stores.
|
|
552
327
|
*/
|
|
553
328
|
computeParameters(): void;
|
|
329
|
+
/**
|
|
330
|
+
* Log a slow query (placeholder for future implementation)
|
|
331
|
+
* @param _query - the query to execute
|
|
332
|
+
* @param _reason - the reason
|
|
333
|
+
* @param _time - the time
|
|
334
|
+
*/
|
|
554
335
|
logSlowQuery(_query: string, _reason: string, _time: number): void;
|
|
555
336
|
/**
|
|
556
|
-
*
|
|
557
|
-
* @
|
|
337
|
+
* Initialize the store
|
|
338
|
+
* @returns this for chaining
|
|
558
339
|
*/
|
|
559
|
-
|
|
340
|
+
init(): Promise<this>;
|
|
560
341
|
/**
|
|
561
342
|
* @override
|
|
562
343
|
*/
|
|
563
344
|
initMetrics(): void;
|
|
564
345
|
/**
|
|
565
|
-
*
|
|
566
|
-
* @returns
|
|
346
|
+
* All models managed by this store.
|
|
347
|
+
* @returns the array of model classes managed by this store
|
|
567
348
|
*/
|
|
568
|
-
|
|
349
|
+
getModels(): ModelClass[];
|
|
569
350
|
/**
|
|
570
351
|
* Return if a model is handled by the store
|
|
571
|
-
* @param model
|
|
352
|
+
* @param model - the model to use
|
|
572
353
|
* @return distance from the managed class -1 means not managed, 0 manage exactly this model, >0 manage an ancestor model
|
|
573
354
|
*
|
|
355
|
+
* @returns the result number
|
|
574
356
|
*/
|
|
575
|
-
handleModel(model:
|
|
576
|
-
/**
|
|
577
|
-
* Get From Cache or main
|
|
578
|
-
* @param uuid
|
|
579
|
-
* @param raiseIfNotFound
|
|
580
|
-
* @returns
|
|
581
|
-
*/
|
|
582
|
-
_getFromCache(uuid: string, raiseIfNotFound?: boolean): Promise<T>;
|
|
583
|
-
/**
|
|
584
|
-
* Get object from store
|
|
585
|
-
* @param uid
|
|
586
|
-
* @returns
|
|
587
|
-
*/
|
|
588
|
-
getObject(uid: string): Promise<T>;
|
|
589
|
-
/**
|
|
590
|
-
* @override
|
|
591
|
-
*/
|
|
592
|
-
getUrl(url: string, methods: HttpMethodType[]): string;
|
|
593
|
-
static getOpenAPI(): void;
|
|
594
|
-
/**
|
|
595
|
-
* @inheritdoc
|
|
596
|
-
*/
|
|
597
|
-
initRoutes(): void;
|
|
598
|
-
/**
|
|
599
|
-
* OVerwrite the model
|
|
600
|
-
* Used mainly in test
|
|
601
|
-
*/
|
|
602
|
-
setModel(model: CoreModelDefinition<T>): void;
|
|
603
|
-
/**
|
|
604
|
-
* We should ignore exception from the store
|
|
605
|
-
*/
|
|
606
|
-
cacheStorePatchException(): void;
|
|
607
|
-
/**
|
|
608
|
-
* Init a model from the current stored data
|
|
609
|
-
*
|
|
610
|
-
* Initial the reverse map as well
|
|
611
|
-
*
|
|
612
|
-
* @param object
|
|
613
|
-
* @returns
|
|
614
|
-
*/
|
|
615
|
-
protected initModel(object?: any): T;
|
|
616
|
-
/**
|
|
617
|
-
* Get a new model with this data preloaded
|
|
618
|
-
* @param object
|
|
619
|
-
* @returns
|
|
620
|
-
*/
|
|
621
|
-
newModel(object?: any): T;
|
|
622
|
-
/**
|
|
623
|
-
* Add reverse map information
|
|
624
|
-
*
|
|
625
|
-
* @param prop
|
|
626
|
-
* @param cascade
|
|
627
|
-
* @param store
|
|
628
|
-
*/
|
|
629
|
-
addReverseMap(prop: string, store: MappingService): void;
|
|
630
|
-
/**
|
|
631
|
-
* Increment attributes of an object
|
|
632
|
-
*
|
|
633
|
-
* @param uid
|
|
634
|
-
* @param info
|
|
635
|
-
* @returns
|
|
636
|
-
*/
|
|
637
|
-
incrementAttributes<FK extends FilterAttributes<T, number>>(uid: string, info: {
|
|
638
|
-
property: FK;
|
|
639
|
-
value: number;
|
|
640
|
-
}[]): Promise<Date>;
|
|
641
|
-
/**
|
|
642
|
-
* Helper function that call incrementAttributes
|
|
643
|
-
* @param uid
|
|
644
|
-
* @param prop
|
|
645
|
-
* @param value
|
|
646
|
-
* @returns
|
|
647
|
-
*/
|
|
648
|
-
incrementAttribute<FK extends FilterAttributes<T, number>>(uid: string, prop: FK, value: number): Promise<Date>;
|
|
649
|
-
/**
|
|
650
|
-
* Add or update an item to an array in the model
|
|
651
|
-
*
|
|
652
|
-
* @param uid of the model
|
|
653
|
-
* @param prop of the model to add in
|
|
654
|
-
* @param item to add in the array
|
|
655
|
-
* @param index if specified update item in this index
|
|
656
|
-
* @param itemWriteCondition value of the condition to test (in case of update)
|
|
657
|
-
* @param itemWriteConditionField field to read the condition from (in case of update)
|
|
658
|
-
*/
|
|
659
|
-
upsertItemToCollection<FK extends FilterAttributes<T, Array<any>>>(uid: string, prop: FK, item: any, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<Date>;
|
|
660
|
-
/**
|
|
661
|
-
* Remove an item from an array in the model
|
|
662
|
-
*
|
|
663
|
-
* @param uid of the model
|
|
664
|
-
* @param prop of the model to remove from
|
|
665
|
-
* @param index of the item to remove in the array
|
|
666
|
-
* @param itemWriteCondition value of the condition
|
|
667
|
-
* @param itemWriteConditionField field to read the condition from
|
|
668
|
-
*/
|
|
669
|
-
deleteItemFromCollection<FK extends FilterAttributes<T, Array<any>>>(uid: string, prop: FK, index: number, itemWriteCondition: any, itemWriteConditionField?: string): Promise<Date>;
|
|
670
|
-
/**
|
|
671
|
-
* Iterate through the results
|
|
672
|
-
*
|
|
673
|
-
* This can be resource consuming
|
|
674
|
-
*
|
|
675
|
-
* @param query
|
|
676
|
-
* @param context
|
|
677
|
-
*/
|
|
678
|
-
iterate(query?: string, context?: OperationContext): AsyncGenerator<T>;
|
|
679
|
-
/**
|
|
680
|
-
* Query all the results
|
|
681
|
-
*
|
|
682
|
-
*
|
|
683
|
-
* @param query
|
|
684
|
-
* @param context
|
|
685
|
-
* @returns
|
|
686
|
-
* @deprecated use iterate instead
|
|
687
|
-
*/
|
|
688
|
-
queryAll(query: string, context?: OperationContext): Promise<T[]>;
|
|
689
|
-
/**
|
|
690
|
-
* Check that __type Comparison is only used with = and CONTAINS
|
|
691
|
-
* If CONTAINS is used, move __type to __types
|
|
692
|
-
* If __type = store._model, remove it
|
|
693
|
-
*/
|
|
694
|
-
queryTypeUpdater(query: WebdaQL.Query): WebdaQL.Query;
|
|
695
|
-
/**
|
|
696
|
-
* Query store with WebdaQL
|
|
697
|
-
* @param query
|
|
698
|
-
* @param context to apply permission
|
|
699
|
-
*/
|
|
700
|
-
query(query: string, context?: OperationContext): Promise<{
|
|
701
|
-
results: T[];
|
|
702
|
-
continuationToken?: string;
|
|
703
|
-
}>;
|
|
704
|
-
/**
|
|
705
|
-
* Expose query to http
|
|
706
|
-
*/
|
|
707
|
-
httpQuery(ctx: WebContext): Promise<void>;
|
|
708
|
-
/**
|
|
709
|
-
* Handle StoreEvent and update cache based on it
|
|
710
|
-
* Then emit the event, it allows the cache to be updated
|
|
711
|
-
* before listeners are called
|
|
712
|
-
*
|
|
713
|
-
* @param event
|
|
714
|
-
* @param data
|
|
715
|
-
*/
|
|
716
|
-
emitStoreEvent<Key extends keyof StoreEvents>(event: Key, data: E[Key] & {
|
|
717
|
-
emitterId?: string;
|
|
718
|
-
}): Promise<void>;
|
|
719
|
-
/**
|
|
720
|
-
* Save an object
|
|
721
|
-
*
|
|
722
|
-
* @param {Object} Object to save
|
|
723
|
-
* @param {String} Uuid to use, if not specified take the object.uuid or generate one if not found
|
|
724
|
-
* @return {Promise} with saved object
|
|
725
|
-
*
|
|
726
|
-
* Might want to rename to create
|
|
727
|
-
*/
|
|
728
|
-
save(object: any, ctx?: OperationContext): Promise<T>;
|
|
729
|
-
/**
|
|
730
|
-
*
|
|
731
|
-
* @param object
|
|
732
|
-
* @param ctx
|
|
733
|
-
* @returns
|
|
734
|
-
*/
|
|
735
|
-
create(object: any, ctx?: OperationContext): Promise<any>;
|
|
736
|
-
/**
|
|
737
|
-
* Patch an object
|
|
738
|
-
*
|
|
739
|
-
* @param object
|
|
740
|
-
* @param reverseMap
|
|
741
|
-
* @returns
|
|
742
|
-
*/
|
|
743
|
-
patch<FK extends keyof T>(object: Partial<T>, reverseMap?: boolean, conditionField?: FK | null, conditionValue?: any): Promise<T | undefined>;
|
|
744
|
-
/**
|
|
745
|
-
* Check if an UpdateCondition is met
|
|
746
|
-
* @param model
|
|
747
|
-
* @param conditionField
|
|
748
|
-
* @param condition
|
|
749
|
-
* @param uid
|
|
750
|
-
*/
|
|
751
|
-
checkUpdateCondition<CK extends keyof T>(model: T, conditionField?: CK, condition?: any, uid?: string): void;
|
|
752
|
-
/**
|
|
753
|
-
* Check if an UpdateCondition is met
|
|
754
|
-
* @param model
|
|
755
|
-
* @param conditionField
|
|
756
|
-
* @param condition
|
|
757
|
-
* @param uid
|
|
758
|
-
*/
|
|
759
|
-
checkCollectionUpdateCondition<FK extends FilterAttributes<T, Array<any>>, CK extends keyof T>(model: T, collection: FK, conditionField?: CK, condition?: any, index?: number): void;
|
|
760
|
-
/**
|
|
761
|
-
* Update conditionally
|
|
762
|
-
* @param uuid
|
|
763
|
-
* @param updates
|
|
764
|
-
* @param conditionField
|
|
765
|
-
* @param condition
|
|
766
|
-
*/
|
|
767
|
-
conditionalPatch<CK extends keyof T>(uuid: string, updates: Partial<T>, conditionField: CK, condition: any): Promise<boolean>;
|
|
768
|
-
/**
|
|
769
|
-
*
|
|
770
|
-
* @param model
|
|
771
|
-
* @param prop
|
|
772
|
-
* @param item
|
|
773
|
-
* @param index
|
|
774
|
-
* @param itemWriteCondition
|
|
775
|
-
* @param itemWriteConditionField
|
|
776
|
-
* @param updateDate
|
|
777
|
-
*/
|
|
778
|
-
simulateUpsertItemToCollection<FK extends FilterAttributes<T, Array<any>>>(model: T, prop: FK, item: any, updateDate: Date, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
779
|
-
/**
|
|
780
|
-
* Update an object
|
|
781
|
-
*
|
|
782
|
-
* If no attribute can be updated then return undefined
|
|
783
|
-
*
|
|
784
|
-
* @param {Object} Object to save
|
|
785
|
-
* @param {Boolean} reverseMap internal use only, for disable map resolution
|
|
786
|
-
* @return {Promise} with saved object
|
|
787
|
-
*/
|
|
788
|
-
update<CK extends keyof T>(object: any, reverseMap?: boolean, partial?: boolean, conditionField?: CK | null, conditionValue?: any): Promise<T | undefined>;
|
|
789
|
-
/**
|
|
790
|
-
* Manage the store migration for __type case sensitivity
|
|
791
|
-
*/
|
|
792
|
-
v3Migration(): Promise<void>;
|
|
793
|
-
/**
|
|
794
|
-
*
|
|
795
|
-
*/
|
|
796
|
-
recomputeTypeShortId(): Promise<void>;
|
|
797
|
-
/**
|
|
798
|
-
* Ensure model aliases are not used in this store
|
|
799
|
-
*
|
|
800
|
-
* So alias can be cleaned
|
|
801
|
-
*/
|
|
802
|
-
cleanModelAliases(): Promise<void>;
|
|
803
|
-
/**
|
|
804
|
-
* Recompute type case
|
|
805
|
-
*/
|
|
806
|
-
recomputeTypeCase(): Promise<void>;
|
|
357
|
+
handleModel(model: ModelClass | Model): number;
|
|
807
358
|
/**
|
|
808
|
-
*
|
|
359
|
+
* Check that keys are valid
|
|
360
|
+
* All keys of model stored in a Store must have the same type of primary key
|
|
809
361
|
*/
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
* Delete a migration
|
|
813
|
-
* @param name
|
|
814
|
-
*/
|
|
815
|
-
cancelMigration(name: string): Promise<void>;
|
|
816
|
-
/**
|
|
817
|
-
* Get a migration
|
|
818
|
-
* @param name
|
|
819
|
-
*/
|
|
820
|
-
getMigration(name: string): Promise<any>;
|
|
821
|
-
/**
|
|
822
|
-
* Add a migration mechanism to store
|
|
823
|
-
* @param name
|
|
824
|
-
* @param patcher
|
|
825
|
-
*/
|
|
826
|
-
migration(name: string, patcher: (object: T) => Promise<Partial<T> | (() => Promise<void>) | undefined>, batchSize?: number): Promise<void>;
|
|
827
|
-
/**
|
|
828
|
-
* Remove an attribute from an object
|
|
829
|
-
*
|
|
830
|
-
* @param uuid
|
|
831
|
-
* @param attribute
|
|
832
|
-
* @returns
|
|
833
|
-
*/
|
|
834
|
-
removeAttribute<CK extends keyof T>(uuid: string, attribute: CK, itemWriteCondition?: any, itemWriteConditionField?: CK): Promise<void>;
|
|
835
|
-
/**
|
|
836
|
-
* Cascade delete a related object
|
|
837
|
-
*
|
|
838
|
-
* @param obj
|
|
839
|
-
* @param uuid
|
|
840
|
-
* @returns
|
|
841
|
-
*/
|
|
842
|
-
cascadeDelete(obj: CoreModel, _uuid: string): Promise<any>;
|
|
843
|
-
/**
|
|
844
|
-
* Delete an object from the store without condition nor async
|
|
845
|
-
* @param uid to delete
|
|
846
|
-
* @returns
|
|
847
|
-
*/
|
|
848
|
-
forceDelete(uid: string): Promise<void>;
|
|
849
|
-
/**
|
|
850
|
-
* Delete an object
|
|
851
|
-
*
|
|
852
|
-
* @param {String} uuid to delete
|
|
853
|
-
* @param {Boolean} delete sync even if asyncDelete is active
|
|
854
|
-
* @return {Promise} the deletion promise
|
|
855
|
-
*/
|
|
856
|
-
delete<CK extends keyof T>(uid: string | T, writeCondition?: any, writeConditionField?: CK, sync?: boolean): Promise<void>;
|
|
857
|
-
/**
|
|
858
|
-
* By default we cannot know if the store will trigger or not
|
|
859
|
-
*
|
|
860
|
-
* @param id
|
|
861
|
-
* @param callback
|
|
862
|
-
*/
|
|
863
|
-
canTriggerConfiguration(_id: string, _callback: () => void): boolean;
|
|
864
|
-
/**
|
|
865
|
-
* Provide a way to store configuration in store
|
|
866
|
-
* @param {string} id
|
|
867
|
-
* @returns {Promise<Map<string, any>>}
|
|
868
|
-
*/
|
|
869
|
-
getConfiguration(id: string): Promise<{
|
|
870
|
-
[key: string]: any;
|
|
871
|
-
}>;
|
|
872
|
-
/**
|
|
873
|
-
* Upsert the uuid object
|
|
874
|
-
* @param uuid
|
|
875
|
-
* @param data
|
|
876
|
-
*/
|
|
877
|
-
put(uuid: string, data: Partial<T>): Promise<T>;
|
|
878
|
-
/**
|
|
879
|
-
* Get an object
|
|
880
|
-
*
|
|
881
|
-
* @param {String} uuid to get
|
|
882
|
-
* @return {Promise} the object retrieved ( can be undefined if not found )
|
|
883
|
-
*/
|
|
884
|
-
get(uid: string, ctx?: OperationContext, defaultValue?: any): Promise<T>;
|
|
885
|
-
/**
|
|
886
|
-
* Set one attribute in an object
|
|
887
|
-
*
|
|
888
|
-
* this is an helper function that calls patch
|
|
889
|
-
*
|
|
890
|
-
* @param uid of the object
|
|
891
|
-
* @param property to update1
|
|
892
|
-
* @param value new value
|
|
893
|
-
* @returns
|
|
894
|
-
*/
|
|
895
|
-
setAttribute<CK extends keyof T>(uid: string, property: CK, value: any): Promise<void>;
|
|
896
|
-
/**
|
|
897
|
-
* @override
|
|
898
|
-
*/
|
|
899
|
-
protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
|
|
900
|
-
getOpenApiReplacements(): {
|
|
901
|
-
modelName: string;
|
|
902
|
-
};
|
|
903
|
-
/**
|
|
904
|
-
* Handle POST
|
|
905
|
-
* @param ctx
|
|
906
|
-
*/
|
|
907
|
-
httpCreate(ctx: WebContext): Promise<void>;
|
|
908
|
-
/**
|
|
909
|
-
* Create a new object based on the context
|
|
910
|
-
* @param ctx
|
|
911
|
-
* @param model
|
|
912
|
-
*/
|
|
913
|
-
operationCreate(ctx: OperationContext, model: string): Promise<void>;
|
|
914
|
-
/**
|
|
915
|
-
* Handle obect action
|
|
916
|
-
* @param ctx
|
|
917
|
-
*/
|
|
918
|
-
httpAction(ctx: WebContext, actionMethod?: string): Promise<void>;
|
|
919
|
-
/**
|
|
920
|
-
* Handle collection action
|
|
921
|
-
* @param ctx
|
|
922
|
-
*/
|
|
923
|
-
httpGlobalAction(ctx: WebContext, model?: CoreModelDefinition): Promise<void>;
|
|
924
|
-
/**
|
|
925
|
-
* Handle HTTP Update for an object
|
|
926
|
-
*
|
|
927
|
-
* @param ctx context of the request
|
|
928
|
-
*/
|
|
929
|
-
httpUpdate(ctx: WebContext): Promise<void>;
|
|
930
|
-
/**
|
|
931
|
-
* Handle GET on object
|
|
932
|
-
*
|
|
933
|
-
* @param ctx context of the request
|
|
934
|
-
*/
|
|
935
|
-
httpGet(ctx: WebContext): Promise<void>;
|
|
936
|
-
/**
|
|
937
|
-
* Handle HTTP request
|
|
938
|
-
*
|
|
939
|
-
* @param ctx context of the request
|
|
940
|
-
* @returns
|
|
941
|
-
*/
|
|
942
|
-
httpDelete(ctx: WebContext): Promise<void>;
|
|
943
|
-
/**
|
|
944
|
-
* Return the model uuid field
|
|
945
|
-
*/
|
|
946
|
-
getUuidField(): string;
|
|
947
|
-
/**
|
|
948
|
-
* Check if an object exists
|
|
949
|
-
* @abstract
|
|
950
|
-
* @params {String} uuid of the object or the object
|
|
951
|
-
*/
|
|
952
|
-
exists(uid: string | CoreModel): Promise<boolean>;
|
|
953
|
-
/**
|
|
954
|
-
* Search within the store
|
|
955
|
-
*/
|
|
956
|
-
abstract find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
|
|
957
|
-
/**
|
|
958
|
-
* Check if an object exists
|
|
959
|
-
* @abstract
|
|
960
|
-
*/
|
|
961
|
-
abstract _exists(uid: string): Promise<boolean>;
|
|
962
|
-
/**
|
|
963
|
-
* The underlying store should recheck writeCondition only if it does not require
|
|
964
|
-
* another get()
|
|
965
|
-
*
|
|
966
|
-
* @param uid
|
|
967
|
-
* @param writeCondition
|
|
968
|
-
* @param itemWriteConditionField
|
|
969
|
-
*/
|
|
970
|
-
protected abstract _delete(uid: string, writeCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
971
|
-
/**
|
|
972
|
-
* Retrieve an element from the store
|
|
973
|
-
*
|
|
974
|
-
* @param uid to retrieve
|
|
975
|
-
* @param raiseIfNotFound raise an StoreNotFound exception if not found
|
|
976
|
-
*/
|
|
977
|
-
protected abstract _get(uid: string, raiseIfNotFound?: boolean): Promise<T>;
|
|
978
|
-
/**
|
|
979
|
-
* Get an object
|
|
980
|
-
*
|
|
981
|
-
* @param {Array} uuid to gets if undefined then retrieve the all table
|
|
982
|
-
* @return {Promise} the objects retrieved ( can be [] if not found )
|
|
983
|
-
*/
|
|
984
|
-
abstract getAll(list?: string[]): Promise<T[]>;
|
|
985
|
-
protected abstract _update(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
|
|
986
|
-
protected abstract _patch(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
|
|
987
|
-
protected abstract _removeAttribute(uuid: string, attribute: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
988
|
-
/**
|
|
989
|
-
* Save within the store
|
|
990
|
-
* @param object
|
|
991
|
-
*/
|
|
992
|
-
protected abstract _save(object: T): Promise<any>;
|
|
993
|
-
/**
|
|
994
|
-
* Increment the attribute
|
|
995
|
-
* @param uid
|
|
996
|
-
* @param prop
|
|
997
|
-
* @param value
|
|
998
|
-
* @param updateDate
|
|
999
|
-
*/
|
|
1000
|
-
protected abstract _incrementAttributes(uid: string, params: {
|
|
1001
|
-
property: string;
|
|
1002
|
-
value: number;
|
|
1003
|
-
}[], updateDate: Date): Promise<any>;
|
|
1004
|
-
protected abstract _upsertItemToCollection(uid: string, prop: string, item: any, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
|
|
1005
|
-
protected abstract _deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
|
|
362
|
+
checkKeys(): void;
|
|
363
|
+
abstract getRepository<T extends ModelClass>(model: T): Repository<T>;
|
|
1006
364
|
}
|
|
1007
365
|
export { Store };
|
|
366
|
+
//# sourceMappingURL=store.d.ts.map
|