@webda/core 4.0.0-beta.2 → 4.0.0-beta.4
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 +468 -0
- package/lib/application/application.d.ts.map +1 -0
- package/lib/application/application.js +845 -0
- package/lib/application/application.js.map +1 -0
- package/lib/application/deployment.d.ts +93 -0
- package/lib/application/deployment.d.ts.map +1 -0
- package/lib/application/deployment.js +99 -0
- package/lib/application/deployment.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 +500 -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 +196 -0
- package/lib/bin/cli.d.ts.map +1 -0
- package/lib/bin/cli.js +934 -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 +182 -0
- package/lib/contexts/operationcontext.d.ts.map +1 -0
- package/lib/contexts/operationcontext.js +361 -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 +94 -0
- package/lib/core/hooks.d.ts.map +1 -0
- package/lib/core/hooks.js +97 -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/deployers/deployer.d.ts +157 -0
- package/lib/deployers/deployer.d.ts.map +1 -0
- package/lib/deployers/deployer.js +81 -0
- package/lib/deployers/deployer.js.map +1 -0
- package/lib/deployers/git.d.ts +27 -0
- package/lib/deployers/git.d.ts.map +1 -0
- package/lib/deployers/git.js +66 -0
- package/lib/deployers/git.js.map +1 -0
- package/lib/deployers/packager.d.ts +85 -0
- package/lib/deployers/packager.d.ts.map +1 -0
- package/lib/deployers/packager.js +259 -0
- package/lib/deployers/packager.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 +88 -54
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +88 -64
- 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 +67 -0
- package/lib/models/decorator.d.ts.map +1 -0
- package/lib/models/decorator.js +67 -0
- package/lib/models/decorator.js.map +1 -0
- package/lib/models/deployment.d.ts +2 -21
- package/lib/models/deployment.d.ts.map +1 -1
- package/lib/models/encrypted.model.d.ts +46 -0
- package/lib/models/encrypted.model.d.ts.map +1 -0
- package/lib/models/encrypted.model.js +87 -0
- package/lib/models/encrypted.model.js.map +1 -0
- package/lib/models/ident.model.d.ts +128 -0
- package/lib/models/ident.model.d.ts.map +1 -0
- package/lib/models/ident.model.js +207 -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 +113 -0
- package/lib/models/ownermodel.model.js.map +1 -0
- package/lib/models/password.model.d.ts +78 -0
- package/lib/models/password.model.d.ts.map +1 -0
- package/lib/models/password.model.js +171 -0
- package/lib/models/password.model.js.map +1 -0
- package/lib/models/refreshtoken.model.d.ts +30 -0
- package/lib/models/refreshtoken.model.d.ts.map +1 -0
- package/lib/models/refreshtoken.model.js +29 -0
- package/lib/models/refreshtoken.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 +124 -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 +164 -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 +432 -0
- package/lib/services/audit.model.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 +242 -0
- package/lib/services/domainservice.service.d.ts.map +1 -0
- package/lib/services/domainservice.service.js +676 -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 +202 -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/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 +171 -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/services/token.service.d.ts +95 -0
- package/lib/services/token.service.d.ts.map +1 -0
- package/lib/services/token.service.js +182 -0
- package/lib/services/token.service.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 +87 -0
- package/lib/session/manager.model.d.ts.map +1 -0
- package/lib/session/manager.model.js +212 -0
- package/lib/session/manager.model.js.map +1 -0
- package/lib/session/session.d.ts +100 -0
- package/lib/session/session.d.ts.map +1 -0
- package/lib/session/session.js +175 -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 +344 -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 +47 -0
- package/lib/templates/templates.d.ts.map +1 -0
- package/lib/templates/templates.js +101 -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/behavior-fixture.model.d.ts +30 -0
- package/lib/test/behavior-fixture.model.d.ts.map +1 -0
- package/lib/test/behavior-fixture.model.js +63 -0
- package/lib/test/behavior-fixture.model.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/legacyident.fixture.model.d.ts +98 -0
- package/lib/test/legacyident.fixture.model.d.ts.map +1 -0
- package/lib/test/legacyident.fixture.model.js +125 -0
- package/lib/test/legacyident.fixture.model.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 +102 -60
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +3 -6
- package/test/config.json +3 -10
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3755 -2496
- 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 +0 -361
- 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.d.ts +0 -226
- package/lib/services/oauth.d.ts.map +0 -1
- package/lib/services/oauth.js +0 -294
- package/lib/services/oauth.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -2
- package/lib/services/oauth.spec.d.ts.map +0 -1
- package/lib/services/oauth.spec.js +0 -208
- package/lib/services/oauth.spec.js.map +0 -1
- package/lib/services/prometheus.d.ts.map +0 -1
- package/lib/services/prometheus.js +0 -160
- package/lib/services/prometheus.js.map +0 -1
- package/lib/services/prometheus.spec.d.ts +0 -2
- package/lib/services/prometheus.spec.d.ts.map +0 -1
- package/lib/services/prometheus.spec.js +0 -76
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts.map +0 -1
- package/lib/services/resource.js +0 -170
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -2
- package/lib/services/resource.spec.d.ts.map +0 -1
- package/lib/services/resource.spec.js +0 -140
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -2
- package/lib/services/service.spec.d.ts.map +0 -1
- package/lib/services/service.spec.js +0 -286
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -48
- package/lib/stores/aggregator.d.ts.map +0 -1
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/file.d.ts +0 -108
- package/lib/stores/file.d.ts.map +0 -1
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -13
- package/lib/stores/file.spec.d.ts.map +0 -1
- package/lib/stores/file.spec.js +0 -138
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -150
- package/lib/stores/mapper.d.ts.map +0 -1
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -2
- package/lib/stores/mapper.spec.d.ts.map +0 -1
- package/lib/stores/mapper.spec.js +0 -167
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -152
- package/lib/stores/memory.d.ts.map +0 -1
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -14
- package/lib/stores/memory.spec.d.ts.map +0 -1
- package/lib/stores/memory.spec.js +0 -263
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -62
- package/lib/stores/modelmapper.d.ts.map +0 -1
- package/lib/stores/modelmapper.js +0 -197
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -57
- package/lib/stores/store.spec.d.ts.map +0 -1
- package/lib/stores/store.spec.js +0 -737
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -265
- package/lib/test.d.ts.map +0 -1
- package/lib/test.js +0 -622
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts.map +0 -1
- package/lib/unpackedapplication.js +0 -350
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +0 -2
- package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
- package/lib/utils/abstractdeployer.spec.js +0 -21
- package/lib/utils/abstractdeployer.spec.js.map +0 -1
- package/lib/utils/case.d.ts +0 -8
- package/lib/utils/case.d.ts.map +0 -1
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +0 -2
- package/lib/utils/case.spec.d.ts.map +0 -1
- package/lib/utils/case.spec.js +0 -50
- package/lib/utils/case.spec.js.map +0 -1
- package/lib/utils/context.d.ts +0 -482
- package/lib/utils/context.d.ts.map +0 -1
- package/lib/utils/context.js +0 -739
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -10
- package/lib/utils/context.spec.d.ts.map +0 -1
- package/lib/utils/context.spec.js +0 -383
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.d.ts.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -2
- package/lib/utils/cookie.spec.d.ts.map +0 -1
- package/lib/utils/cookie.spec.js +0 -88
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -14
- package/lib/utils/esm.d.ts.map +0 -1
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.d.ts.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -5
- package/lib/utils/httpcontext.spec.d.ts.map +0 -1
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -92
- package/lib/utils/logger.d.ts.map +0 -1
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +0 -2
- package/lib/utils/logger.spec.d.ts.map +0 -1
- package/lib/utils/logger.spec.js +0 -48
- package/lib/utils/logger.spec.js.map +0 -1
- package/lib/utils/serializers.d.ts +0 -162
- package/lib/utils/serializers.d.ts.map +0 -1
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -2
- package/lib/utils/serializers.spec.d.ts.map +0 -1
- package/lib/utils/serializers.spec.js +0 -311
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -123
- package/lib/utils/session.d.ts.map +0 -1
- package/lib/utils/session.js +0 -156
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -2
- package/lib/utils/session.spec.d.ts.map +0 -1
- package/lib/utils/session.spec.js +0 -81
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -99
- package/lib/utils/throttler.d.ts.map +0 -1
- package/lib/utils/throttler.js +0 -160
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -2
- package/lib/utils/throttler.spec.d.ts.map +0 -1
- package/lib/utils/throttler.spec.js +0 -53
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -94
- package/lib/utils/waiter.d.ts.map +0 -1
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -2
- package/lib/utils/waiter.spec.d.ts.map +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { UuidModel } from "@webda/models";
|
|
2
|
+
/**
|
|
3
|
+
* Specific type for registry
|
|
4
|
+
*/
|
|
5
|
+
export class RegistryEntry extends UuidModel {
|
|
6
|
+
/** Create a new RegistryEntry
|
|
7
|
+
* @param data - initial data
|
|
8
|
+
*/
|
|
9
|
+
constructor(data) {
|
|
10
|
+
super(data);
|
|
11
|
+
Object.assign(this, data);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Registry entries are not serializable to DTO
|
|
15
|
+
* @returns the result
|
|
16
|
+
*/
|
|
17
|
+
toDTO() {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* No-op DTO deserialization for registry entries
|
|
22
|
+
* @returns this for chaining
|
|
23
|
+
*/
|
|
24
|
+
fromDTO() {
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Remove an attribute from the registry
|
|
29
|
+
* @param uuid - the unique identifier
|
|
30
|
+
* @param attribute - the attribute name
|
|
31
|
+
* @returns the result
|
|
32
|
+
*/
|
|
33
|
+
static async removeAttribute(uuid, attribute) {
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
return await RegistryEntry.ref(uuid).removeAttribute(attribute);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Set an attribute from the registry
|
|
39
|
+
* @param uuid - the unique identifier
|
|
40
|
+
* @param attribute - the attribute name
|
|
41
|
+
* @param value - the value to set
|
|
42
|
+
* @returns the result
|
|
43
|
+
*/
|
|
44
|
+
static async setAttribute(uuid, attribute, value) {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
return await RegistryEntry.ref(uuid).setAttribute(attribute, value);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Helper for upsert
|
|
50
|
+
* @param uuid - the unique identifier
|
|
51
|
+
* @param data - the data to process
|
|
52
|
+
* @returns the result
|
|
53
|
+
*/
|
|
54
|
+
static async get(uuid, data) {
|
|
55
|
+
return data
|
|
56
|
+
? await RegistryEntry.ref(uuid).upsert(data)
|
|
57
|
+
: await RegistryEntry.ref(uuid).get();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Helper for upsert
|
|
61
|
+
* @param uuid - the unique identifier
|
|
62
|
+
* @param data - the data to process
|
|
63
|
+
* @returns the result
|
|
64
|
+
*/
|
|
65
|
+
static async put(uuid, data) {
|
|
66
|
+
return await RegistryEntry.ref(uuid).upsert(data);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Delete a registry entry by UUID
|
|
70
|
+
* @param uuid - the unique identifier
|
|
71
|
+
* @returns the result
|
|
72
|
+
*/
|
|
73
|
+
static async delete(uuid) {
|
|
74
|
+
return await RegistryEntry.ref(uuid).delete();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if a registry entry exists
|
|
78
|
+
* @param uuid - the unique identifier
|
|
79
|
+
* @returns the result
|
|
80
|
+
*/
|
|
81
|
+
static exists(uuid) {
|
|
82
|
+
return RegistryEntry.ref(uuid).exists();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Perform a conditional patch
|
|
86
|
+
* @param uuid - the unique identifier
|
|
87
|
+
* @param patch - the patch to apply
|
|
88
|
+
* @param conditionField - the condition field name
|
|
89
|
+
* @param conditionValue - the condition value
|
|
90
|
+
* @returns the result
|
|
91
|
+
*/
|
|
92
|
+
static patch(uuid, patch, conditionField, conditionValue) {
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
return RegistryEntry.ref(uuid).patch(patch, conditionField, conditionValue);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Use the registry
|
|
99
|
+
* @returns the result
|
|
100
|
+
*/
|
|
101
|
+
export function useRegistry() {
|
|
102
|
+
return RegistryEntry;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=registry.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.model.js","sourceRoot":"","sources":["../../src/models/registry.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACV,MAAM,eAAe,CAAC;AAGvB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C;;OAEG;IACH,YAAY,IAA8B;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,SAAiB;QAC1D,aAAa;QACb,OAAO,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAM,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,SAAiB,EAAE,KAAU;QACnE,aAAa;QACb,OAAO,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAM,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAU,IAAY,EAAE,IAAQ;QAC9C,OAAO,IAAI;YACT,CAAC,CAAM,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAM,IAAI,CAAC;YACtD,CAAC,CAAoB,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAU,IAAY,EAAE,IAAO;QAC7C,OAAY,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAM,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY;QAC9B,OAAO,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,KAAU,EAAE,cAAsB,EAAE,cAAmB;QAChF,aAAa;QACb,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAO,cAAc,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Model } from "@webda/models";
|
|
2
|
+
import type { IOperationContext } from "../contexts/icontext.js";
|
|
3
|
+
/** Model with role-based access control, mapping actions to required roles */
|
|
4
|
+
declare abstract class RoleModel extends Model {
|
|
5
|
+
abstract getRolesMap(): {
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Whether actions without an explicit role mapping are allowed
|
|
10
|
+
* @returns true if the condition is met
|
|
11
|
+
*/
|
|
12
|
+
isPermissive(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Get the roles for the current user, caching them in the session
|
|
15
|
+
* @param ctx - the operation context
|
|
16
|
+
* @returns the result
|
|
17
|
+
*/
|
|
18
|
+
getRoles(ctx: IOperationContext): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if the user has the required role for the given action
|
|
21
|
+
* @param context - the execution context
|
|
22
|
+
* @param action - the action to check
|
|
23
|
+
* @returns the result
|
|
24
|
+
*/
|
|
25
|
+
canAct(context: IOperationContext, action: string): Promise<string | boolean>;
|
|
26
|
+
}
|
|
27
|
+
export { RoleModel };
|
|
28
|
+
//# sourceMappingURL=rolemodel.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolemodel.model.d.ts","sourceRoot":"","sources":["../../src/models/rolemodel.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIjE,8EAA8E;AAC9E,uBAAe,SAAU,SAAQ,KAAK;IACpC,QAAQ,CAAC,WAAW,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAElD;;;OAGG;IACH,YAAY,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,iBAAiB,gBAYpC;IAED;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAalF;CACF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Model } from "@webda/models";
|
|
2
|
+
import * as WebdaError from "../errors/errors.js";
|
|
3
|
+
import { useContext } from "../contexts/execution.js";
|
|
4
|
+
/** Model with role-based access control, mapping actions to required roles */
|
|
5
|
+
class RoleModel extends Model {
|
|
6
|
+
/**
|
|
7
|
+
* Whether actions without an explicit role mapping are allowed
|
|
8
|
+
* @returns true if the condition is met
|
|
9
|
+
*/
|
|
3
10
|
isPermissive() {
|
|
4
11
|
return false;
|
|
5
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Get the roles for the current user, caching them in the session
|
|
15
|
+
* @param ctx - the operation context
|
|
16
|
+
* @returns the result
|
|
17
|
+
*/
|
|
6
18
|
async getRoles(ctx) {
|
|
7
19
|
if (!ctx.getCurrentUserId()) {
|
|
8
20
|
throw new WebdaError.Forbidden("No user");
|
|
@@ -16,7 +28,13 @@ class RoleModel extends CoreModel {
|
|
|
16
28
|
ctx.getSession().roles = user.getRoles();
|
|
17
29
|
return ctx.getSession().roles;
|
|
18
30
|
}
|
|
19
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Check if the user has the required role for the given action
|
|
33
|
+
* @param context - the execution context
|
|
34
|
+
* @param action - the action to check
|
|
35
|
+
* @returns the result
|
|
36
|
+
*/
|
|
37
|
+
async canAct(context, action) {
|
|
20
38
|
// If this action doesn't require role
|
|
21
39
|
if (!this.getRolesMap()[action]) {
|
|
22
40
|
if (this.isPermissive()) {
|
|
@@ -24,7 +42,7 @@ class RoleModel extends CoreModel {
|
|
|
24
42
|
}
|
|
25
43
|
return "No permission for this action defined";
|
|
26
44
|
}
|
|
27
|
-
const roles = await this.getRoles(
|
|
45
|
+
const roles = await this.getRoles(useContext());
|
|
28
46
|
if (roles.indexOf(this.getRolesMap()[action]) >= 0) {
|
|
29
47
|
return true;
|
|
30
48
|
}
|
|
@@ -32,4 +50,4 @@ class RoleModel extends CoreModel {
|
|
|
32
50
|
}
|
|
33
51
|
}
|
|
34
52
|
export { RoleModel };
|
|
35
|
-
//# sourceMappingURL=rolemodel.js.map
|
|
53
|
+
//# sourceMappingURL=rolemodel.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolemodel.model.js","sourceRoot":"","sources":["../../src/models/rolemodel.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,8EAA8E;AAC9E,MAAe,SAAU,SAAQ,KAAK;IAGpC;;;OAGG;IACH,YAAY;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAsB;QACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,iCAAiC;QACjC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QACxC,yBAAyB;QACzB,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,OAA0B,EAAE,MAAc;QACrD,sCAAsC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,uCAAuC,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Ident } from "./ident.model.js";
|
|
2
|
+
import { ModelRelated, Settable } from "@webda/models";
|
|
3
|
+
import { User } from "./user.model.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simple user offers groups and roles management
|
|
6
|
+
*
|
|
7
|
+
* Groups and roles are defined just as string, no
|
|
8
|
+
* models
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimpleUser extends User {
|
|
11
|
+
/** Create a new SimpleUser
|
|
12
|
+
* @param data - initial data
|
|
13
|
+
*/
|
|
14
|
+
constructor(data?: Settable<SimpleUser>);
|
|
15
|
+
/**
|
|
16
|
+
* Groups for a user
|
|
17
|
+
*/
|
|
18
|
+
_groups: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Roles of the user
|
|
21
|
+
*/
|
|
22
|
+
_roles: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Normal ident
|
|
25
|
+
*/
|
|
26
|
+
readonly _idents: ModelRelated<Ident, User, "_user">;
|
|
27
|
+
/**
|
|
28
|
+
* Return idents
|
|
29
|
+
* @returns the result
|
|
30
|
+
*/
|
|
31
|
+
getIdents(): any;
|
|
32
|
+
/**
|
|
33
|
+
* Add a group for the user
|
|
34
|
+
* @param group - the group name
|
|
35
|
+
* @returns the result
|
|
36
|
+
*/
|
|
37
|
+
addGroup(group: string): void;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @param group - the group name
|
|
41
|
+
* @returns true if the condition is met
|
|
42
|
+
*/
|
|
43
|
+
inGroup(group: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Remove a group from this user
|
|
46
|
+
* @param group - the group name
|
|
47
|
+
*/
|
|
48
|
+
removeGroup(group: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get all groups this user belongs to
|
|
51
|
+
* @returns the list of results
|
|
52
|
+
*/
|
|
53
|
+
getGroups(): string[];
|
|
54
|
+
/**
|
|
55
|
+
* Get all roles assigned to this user
|
|
56
|
+
* @returns the list of results
|
|
57
|
+
*/
|
|
58
|
+
getRoles(): string[];
|
|
59
|
+
/**
|
|
60
|
+
* Add a role to this user if not already present
|
|
61
|
+
* @param role - the role
|
|
62
|
+
*/
|
|
63
|
+
addRole(role: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check if this user has the given role
|
|
66
|
+
* @param role - the role
|
|
67
|
+
* @returns the result
|
|
68
|
+
*/
|
|
69
|
+
hasRole(role: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Remove a role from this user
|
|
72
|
+
* @param role - the role
|
|
73
|
+
*/
|
|
74
|
+
removeRole(role: string): void;
|
|
75
|
+
/** Generated by @webda/content-mapper: include values held in WEBDA_STORAGE. */
|
|
76
|
+
toJSON(): any;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=simpleuser.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleuser.model.d.ts","sourceRoot":"","sources":["../../src/models/simpleuser.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAW,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,IAAI;IAClC;;OAEG;IACH,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAEtC;IACD;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAgF;IACpI;;;OAGG;IACH,SAAS,IACgB,GAAG,CAC3B;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,QAKrB;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK9B;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,QAMxB;IAED;;;OAGG;IACH,SAAS,IAAI,MAAM,EAAE,CAEpB;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,EAAE,CAEnB;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,QAKnB;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,WAEnB;IAED;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,QAMtB;IAED,gFAAgF;IAChF,MAAM,IAAI,GAAG,CAQZ;CACF"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { WEBDA_STORAGE } from "@webda/models";
|
|
2
|
+
import { Ident } from "./ident.model.js";
|
|
3
|
+
import { ModelRelated } from "@webda/models";
|
|
4
|
+
import { User } from "./user.model.js";
|
|
5
|
+
/**
|
|
6
|
+
* Simple user offers groups and roles management
|
|
7
|
+
*
|
|
8
|
+
* Groups and roles are defined just as string, no
|
|
9
|
+
* models
|
|
10
|
+
*/
|
|
11
|
+
export class SimpleUser extends User {
|
|
12
|
+
/** Create a new SimpleUser
|
|
13
|
+
* @param data - initial data
|
|
14
|
+
*/
|
|
15
|
+
constructor(data) {
|
|
16
|
+
super(data);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Groups for a user
|
|
20
|
+
*/
|
|
21
|
+
_groups = [];
|
|
22
|
+
/**
|
|
23
|
+
* Roles of the user
|
|
24
|
+
*/
|
|
25
|
+
_roles = [];
|
|
26
|
+
/**
|
|
27
|
+
* Normal ident
|
|
28
|
+
*/
|
|
29
|
+
_idents = new ModelRelated(Ident, this, "_user");
|
|
30
|
+
/**
|
|
31
|
+
* Return idents
|
|
32
|
+
* @returns the result
|
|
33
|
+
*/
|
|
34
|
+
getIdents() {
|
|
35
|
+
return this._idents;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Add a group for the user
|
|
39
|
+
* @param group - the group name
|
|
40
|
+
* @returns the result
|
|
41
|
+
*/
|
|
42
|
+
addGroup(group) {
|
|
43
|
+
if (this.inGroup(group)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this._groups.push(group);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param group - the group name
|
|
51
|
+
* @returns true if the condition is met
|
|
52
|
+
*/
|
|
53
|
+
inGroup(group) {
|
|
54
|
+
if (group === "all" || group === this.uuid) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return this._groups.includes(group);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Remove a group from this user
|
|
61
|
+
* @param group - the group name
|
|
62
|
+
*/
|
|
63
|
+
removeGroup(group) {
|
|
64
|
+
const ind = this._groups.indexOf(group);
|
|
65
|
+
if (ind < 0) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this._groups.splice(ind, 1);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get all groups this user belongs to
|
|
72
|
+
* @returns the list of results
|
|
73
|
+
*/
|
|
74
|
+
getGroups() {
|
|
75
|
+
return this._groups;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get all roles assigned to this user
|
|
79
|
+
* @returns the list of results
|
|
80
|
+
*/
|
|
81
|
+
getRoles() {
|
|
82
|
+
return this._roles;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Add a role to this user if not already present
|
|
86
|
+
* @param role - the role
|
|
87
|
+
*/
|
|
88
|
+
addRole(role) {
|
|
89
|
+
if (this.hasRole(role)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this._roles.push(role);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Check if this user has the given role
|
|
96
|
+
* @param role - the role
|
|
97
|
+
* @returns the result
|
|
98
|
+
*/
|
|
99
|
+
hasRole(role) {
|
|
100
|
+
return this._roles.indexOf(role) >= 0;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Remove a role from this user
|
|
104
|
+
* @param role - the role
|
|
105
|
+
*/
|
|
106
|
+
removeRole(role) {
|
|
107
|
+
const ind = this._roles.indexOf(role);
|
|
108
|
+
if (ind < 0) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this._roles.splice(ind, 1);
|
|
112
|
+
}
|
|
113
|
+
/** Generated by @webda/content-mapper: include values held in WEBDA_STORAGE. */
|
|
114
|
+
toJSON() {
|
|
115
|
+
const parent = super.toJSON ? super.toJSON() : {};
|
|
116
|
+
const result = parent === this ? {} : parent;
|
|
117
|
+
for (const key of Object.keys(this)) {
|
|
118
|
+
result[key] = this[key];
|
|
119
|
+
}
|
|
120
|
+
Object.assign(result, this[WEBDA_STORAGE]);
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=simpleuser.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpleuser.model.js","sourceRoot":"","sources":["../../src/models/simpleuser.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAW,YAAY,EAAY,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,IAAI;IAClC;;OAEG;IACH,YAAY,IAA2B;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD;;OAEG;IACH,OAAO,GAAa,EAAE,CAAC;IACvB;;OAEG;IACH,MAAM,GAAa,EAAE,CAAC;IACtB;;OAEG;IACM,OAAO,GAAuC,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAuC,CAAC;IACpI;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAc,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAa;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,gFAAgF;IAChF,MAAM;QACJ,MAAM,MAAM,GAAS,KAAK,CAAC,MAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAQ,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAG,IAAY,CAAC,aAAa,CAAC,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { ModelMetadata } from "@webda/compiler";
|
|
2
|
+
import type { Model, ModelClass } from "@webda/models";
|
|
3
|
+
import type { OmitByTypeRecursive } from "@webda/tsc-esm";
|
|
4
|
+
import type { HttpMethodType } from "../contexts/httpcontext.js";
|
|
5
|
+
import type { IContextAware } from "../contexts/icontext.js";
|
|
6
|
+
/**
|
|
7
|
+
* Add the @webda/core metadata on models
|
|
8
|
+
*/
|
|
9
|
+
export type ModelDefinition<T extends Model = Model> = ModelClass<T> & {
|
|
10
|
+
Metadata: ModelMetadata;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Expose parameters for the model
|
|
14
|
+
*/
|
|
15
|
+
export interface ExposeParameters {
|
|
16
|
+
/**
|
|
17
|
+
* If model have parent but you still want it to be exposed as root
|
|
18
|
+
* in domain-like service: DomainService, GraphQL
|
|
19
|
+
*
|
|
20
|
+
* It would create alias for the model in the root too
|
|
21
|
+
*/
|
|
22
|
+
root?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* You can select to not expose some methods like create, update, delete, get, query
|
|
25
|
+
*/
|
|
26
|
+
restrict: {
|
|
27
|
+
/**
|
|
28
|
+
* Create a new object
|
|
29
|
+
*/
|
|
30
|
+
create?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Update an existing object
|
|
33
|
+
*
|
|
34
|
+
* Includes PUT and PATCH
|
|
35
|
+
*/
|
|
36
|
+
update?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Query the object
|
|
39
|
+
*/
|
|
40
|
+
query?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Get a single object
|
|
43
|
+
*/
|
|
44
|
+
get?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Delete an object
|
|
47
|
+
*/
|
|
48
|
+
delete?: boolean;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reference to a user model
|
|
53
|
+
*/
|
|
54
|
+
export interface IUser extends Model {
|
|
55
|
+
/**
|
|
56
|
+
* Get the user email
|
|
57
|
+
*/
|
|
58
|
+
getEmail(): string | undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Define a object that can define permission on attribute level
|
|
62
|
+
*/
|
|
63
|
+
export interface IAttributeLevelPermissionModel extends IContextAware {
|
|
64
|
+
attributePermission(attribute: string | symbol, value: any, action: "READ" | "WRITE"): any;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Define an Action on a model
|
|
68
|
+
*
|
|
69
|
+
* It is basically a method designed to be called by the API or external
|
|
70
|
+
* systems
|
|
71
|
+
*/
|
|
72
|
+
export interface ModelAction {
|
|
73
|
+
/**
|
|
74
|
+
* Method for the route
|
|
75
|
+
*
|
|
76
|
+
* By default ["PUT"]
|
|
77
|
+
*/
|
|
78
|
+
methods?: HttpMethodType[];
|
|
79
|
+
/**
|
|
80
|
+
* Define if the action is global or per object
|
|
81
|
+
*
|
|
82
|
+
* The method that implement the action must be called
|
|
83
|
+
* `_${actionName}`
|
|
84
|
+
*/
|
|
85
|
+
global?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Additional openapi info
|
|
88
|
+
*/
|
|
89
|
+
openapi?: any;
|
|
90
|
+
/**
|
|
91
|
+
* Method of the action
|
|
92
|
+
*/
|
|
93
|
+
method?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Name of the method implementing the action, when the action is exposed
|
|
96
|
+
* under another name with `@Action({ name })`
|
|
97
|
+
*/
|
|
98
|
+
handler?: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Define an export of actions from Model
|
|
102
|
+
*/
|
|
103
|
+
export type ModelActions = {
|
|
104
|
+
[key: string]: ModelAction;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Raw model without methods
|
|
108
|
+
*
|
|
109
|
+
* This is used to represent a model without methods and stripping out the helper methods
|
|
110
|
+
*/
|
|
111
|
+
export type RawModel<T extends object> = Partial<OmitByTypeRecursive<Omit<T, "__dirty" | "Events" | "__type" | "__types" | "_new" | "context">, Function>>;
|
|
112
|
+
export type { ModelGraphBinaryDefinition } from "@webda/compiler";
|
|
113
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB;;WAEG;QACH,GAAG,CAAC,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,KAAK;IAClC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;CAC5F;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAC9C,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,CAAC,CACzG,CAAC;AAEF,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { IOperationContext } from "../contexts/icontext.js";
|
|
2
|
+
import { Password } from "./password.model.js";
|
|
3
|
+
import { type ModelClass, type ModelEvents, type Settable, UuidModel, WEBDA_EVENTS } from "@webda/models";
|
|
4
|
+
export type UserEvents<T> = ModelEvents<T> & {
|
|
5
|
+
Login: {
|
|
6
|
+
user: T;
|
|
7
|
+
};
|
|
8
|
+
Logout: {
|
|
9
|
+
user: T;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* First basic model for User
|
|
14
|
+
* @class
|
|
15
|
+
* @WebdaModel
|
|
16
|
+
*/
|
|
17
|
+
export declare class User extends UuidModel {
|
|
18
|
+
[WEBDA_EVENTS]: UserEvents<this>;
|
|
19
|
+
/** Create a new User
|
|
20
|
+
* @param data - initial data
|
|
21
|
+
*/
|
|
22
|
+
constructor(data?: Settable<User>);
|
|
23
|
+
/**
|
|
24
|
+
* Password credential
|
|
25
|
+
*/
|
|
26
|
+
password?: Password;
|
|
27
|
+
/**
|
|
28
|
+
* Map v3 records (`__password` string) onto the Password behavior shape
|
|
29
|
+
* @param data - raw data
|
|
30
|
+
* @returns the mapped data
|
|
31
|
+
*/
|
|
32
|
+
private static mapV3;
|
|
33
|
+
/**
|
|
34
|
+
* Flag an instance whose data went through the v3 mapping (see {@link V3_PASSWORD_MAPPED})
|
|
35
|
+
* @param instance - the user
|
|
36
|
+
*/
|
|
37
|
+
private static flagV3;
|
|
38
|
+
/**
|
|
39
|
+
* Map v3 records onto the Password behavior before hydration
|
|
40
|
+
* @param data - raw data
|
|
41
|
+
* @param instance - instance to populate
|
|
42
|
+
* @returns the populated instance
|
|
43
|
+
*/
|
|
44
|
+
static deserialize<T extends ModelClass, K extends object = InstanceType<T>>(this: T, data: any, instance?: K): K;
|
|
45
|
+
/**
|
|
46
|
+
* Display name for this user
|
|
47
|
+
* @optional
|
|
48
|
+
* @Frontend
|
|
49
|
+
*/
|
|
50
|
+
displayName: string;
|
|
51
|
+
/**
|
|
52
|
+
* Define the user avatar if exists
|
|
53
|
+
*/
|
|
54
|
+
_avatar?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Contains the locale of the user if known
|
|
57
|
+
*/
|
|
58
|
+
locale?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Contain main user email if exists
|
|
61
|
+
*/
|
|
62
|
+
email?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Return displayable public entry
|
|
65
|
+
* @returns the result
|
|
66
|
+
* @Frontend
|
|
67
|
+
*/
|
|
68
|
+
toPublicEntry(): any;
|
|
69
|
+
/**
|
|
70
|
+
* Get email
|
|
71
|
+
* @returns the result
|
|
72
|
+
*/
|
|
73
|
+
getEmail(): string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Get user groups
|
|
76
|
+
* @returns the list of results
|
|
77
|
+
*/
|
|
78
|
+
getGroups(): string[];
|
|
79
|
+
/**
|
|
80
|
+
* Get roles
|
|
81
|
+
* @returns the list of results
|
|
82
|
+
*/
|
|
83
|
+
getRoles(): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Get display name
|
|
86
|
+
* @returns the result string
|
|
87
|
+
*/
|
|
88
|
+
getDisplayName(): string;
|
|
89
|
+
/**
|
|
90
|
+
* Only the user themselves can act on their own object
|
|
91
|
+
* @param ctx - the operation context
|
|
92
|
+
* @param action - the action to check
|
|
93
|
+
* @returns the result
|
|
94
|
+
*/
|
|
95
|
+
canAct(ctx: IOperationContext, action: string): Promise<string | boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* String representation of the user
|
|
98
|
+
* @returns the result
|
|
99
|
+
*/
|
|
100
|
+
toString(): string;
|
|
101
|
+
protected __hydrateBehaviors(rawData?: any): void;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=user.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../src/models/user.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAsB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE1G,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC3C,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IACnB,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CACrB,CAAC;AACF;;;;GAIG;AACH,qBAAa,IAAK,SAAQ,SAAS;IACjC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC;;OAEG;IACH,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAShC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK;IASpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IASrB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAKhH;IACD;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,aAAa,IAAI,GAAG,CAOnB;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;;OAGG;IACH,SAAS,IAAI,MAAM,EAAE,CAEpB;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,EAAE,CAEnB;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAK9E;IAED;;;OAGG;IACH,QAAQ,WAEP;IACD,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAiBhD;CACF"}
|