@webda/core 4.0.0-beta.1 → 4.0.0-beta.2
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/lib/application.d.ts +20 -8
- package/lib/application.d.ts.map +1 -0
- package/lib/application.js +65 -38
- package/lib/application.js.map +1 -1
- package/lib/application.spec.d.ts +1 -0
- package/lib/application.spec.d.ts.map +1 -0
- package/lib/application.spec.js +57 -43
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +14 -11
- package/lib/core.d.ts.map +1 -0
- package/lib/core.js +101 -77
- package/lib/core.js.map +1 -1
- package/lib/core.spec.d.ts +1 -0
- package/lib/core.spec.d.ts.map +1 -0
- package/lib/core.spec.js +96 -67
- package/lib/core.spec.js.map +1 -1
- package/lib/errors.d.ts +59 -60
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +92 -108
- package/lib/errors.js.map +1 -1
- package/lib/errors.spec.d.ts +1 -0
- package/lib/errors.spec.d.ts.map +1 -0
- package/lib/errors.spec.js +1 -1
- package/lib/errors.spec.js.map +1 -1
- package/lib/index.d.ts +6 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +6 -2
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.d.ts.map +1 -0
- package/lib/models/aclmodel.js +8 -9
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.d.ts +1 -0
- package/lib/models/aclmodel.spec.d.ts.map +1 -0
- package/lib/models/aclmodel.spec.js +3 -3
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +10 -1
- package/lib/models/coremodel.d.ts.map +1 -0
- package/lib/models/coremodel.js +33 -27
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.d.ts +1 -0
- package/lib/models/coremodel.spec.d.ts.map +1 -0
- package/lib/models/coremodel.spec.js +33 -31
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.d.ts +1 -0
- package/lib/models/deployment.d.ts.map +1 -0
- package/lib/models/ident.d.ts +17 -2
- package/lib/models/ident.d.ts.map +1 -0
- package/lib/models/ident.js +0 -14
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.d.ts +1 -0
- package/lib/models/ident.spec.d.ts.map +1 -0
- package/lib/models/ident.spec.js +1 -20
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +1 -0
- package/lib/models/ownermodel.d.ts.map +1 -0
- package/lib/models/ownermodel.spec.d.ts +1 -0
- package/lib/models/ownermodel.spec.d.ts.map +1 -0
- package/lib/models/ownermodel.spec.js +57 -33
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/relations.d.ts +1 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +3 -3
- package/lib/models/relations.js.map +1 -1
- package/lib/models/relations.spec.d.ts +2 -0
- package/lib/models/relations.spec.d.ts.map +1 -0
- package/lib/models/relations.spec.js +10 -17
- package/lib/models/relations.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +1 -0
- package/lib/models/rolemodel.d.ts.map +1 -0
- package/lib/models/rolemodel.js +2 -2
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.d.ts +1 -0
- package/lib/models/rolemodel.spec.d.ts.map +1 -0
- package/lib/models/rolemodel.spec.js +5 -1
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/simpleuser.d.ts +47 -0
- package/lib/models/simpleuser.d.ts.map +1 -0
- package/lib/models/simpleuser.js +84 -0
- package/lib/models/simpleuser.js.map +1 -0
- package/lib/models/test.d.ts +11 -0
- package/lib/models/test.d.ts.map +1 -0
- package/lib/models/test.js +7 -0
- package/lib/models/test.js.map +1 -0
- package/lib/models/user.d.ts +2 -35
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +3 -74
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.d.ts +1 -0
- package/lib/models/user.spec.d.ts.map +1 -0
- package/lib/models/user.spec.js +7 -6
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +1 -0
- package/lib/queues/filequeue.d.ts.map +1 -0
- package/lib/queues/filequeue.js +5 -5
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.d.ts +1 -0
- package/lib/queues/filequeue.spec.d.ts.map +1 -0
- package/lib/queues/filequeue.spec.js +11 -5
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +14 -0
- package/lib/queues/memoryqueue.d.ts.map +1 -0
- package/lib/queues/memoryqueue.js +38 -7
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.d.ts +1 -0
- package/lib/queues/memoryqueue.spec.d.ts.map +1 -0
- package/lib/queues/memoryqueue.spec.js +18 -7
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +1 -0
- package/lib/queues/pubsubservice.d.ts.map +1 -0
- package/lib/queues/queue.spec.d.ts +3 -2
- package/lib/queues/queue.spec.d.ts.map +1 -0
- package/lib/queues/queue.spec.js +3 -3
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +1 -0
- package/lib/queues/queueservice.d.ts.map +1 -0
- package/lib/queues/queueservice.js +7 -7
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/rest/restdomainservice.d.ts +63 -0
- package/lib/rest/restdomainservice.d.ts.map +1 -0
- package/lib/rest/restdomainservice.js +687 -0
- package/lib/rest/restdomainservice.js.map +1 -0
- package/lib/rest/restdomainservice.spec.d.ts +2 -0
- package/lib/rest/restdomainservice.spec.d.ts.map +1 -0
- package/lib/rest/restdomainservice.spec.js +124 -0
- package/lib/rest/restdomainservice.spec.js.map +1 -0
- package/lib/{router.d.ts → rest/router.d.ts} +6 -4
- package/lib/rest/router.d.ts.map +1 -0
- package/lib/{router.js → rest/router.js} +33 -23
- package/lib/rest/router.js.map +1 -0
- package/lib/rest/router.spec.d.ts +2 -0
- package/lib/rest/router.spec.d.ts.map +1 -0
- package/lib/{router.spec.js → rest/router.spec.js} +54 -28
- package/lib/rest/router.spec.js.map +1 -0
- package/lib/services/asyncevents.d.ts +1 -0
- package/lib/services/asyncevents.d.ts.map +1 -0
- package/lib/services/asyncevents.js +4 -4
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.d.ts +1 -0
- package/lib/services/asyncevents.spec.d.ts.map +1 -0
- package/lib/services/asyncevents.spec.js +10 -10
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +2 -1
- package/lib/services/authentication.d.ts.map +1 -0
- package/lib/services/authentication.js +26 -25
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.d.ts +1 -0
- package/lib/services/authentication.spec.d.ts.map +1 -0
- package/lib/services/authentication.spec.js +24 -24
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +13 -85
- package/lib/services/binary.d.ts.map +1 -0
- package/lib/services/binary.js +38 -407
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +19 -22
- package/lib/services/binary.spec.d.ts.map +1 -0
- package/lib/services/binary.spec.js +87 -374
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -2
- package/lib/services/cloudbinary.d.ts.map +1 -0
- package/lib/services/cloudbinary.js +1 -1
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +1 -8
- package/lib/services/cloudbinary.spec.d.ts.map +1 -0
- package/lib/services/cloudbinary.spec.js +4 -130
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +10 -1
- package/lib/services/configuration.d.ts.map +1 -0
- package/lib/services/configuration.js +22 -7
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.d.ts +1 -0
- package/lib/services/configuration.spec.d.ts.map +1 -0
- package/lib/services/configuration.spec.js +60 -17
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +2 -1
- package/lib/services/cron.d.ts.map +1 -0
- package/lib/services/cron.js +10 -10
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.d.ts +1 -0
- package/lib/services/cron.spec.d.ts.map +1 -0
- package/lib/services/cron.spec.js +2 -2
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +3 -2
- package/lib/services/cryptoservice.d.ts.map +1 -0
- package/lib/services/cryptoservice.js +29 -30
- package/lib/services/cryptoservice.js.map +1 -1
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.d.ts.map +1 -0
- package/lib/services/cryptoservice.spec.js +17 -17
- package/lib/services/cryptoservice.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +2 -2
- package/lib/services/debugmailer.d.ts.map +1 -0
- package/lib/services/debugmailer.js +1 -2
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.d.ts +1 -0
- package/lib/services/debugmailer.spec.d.ts.map +1 -0
- package/lib/services/debugmailer.spec.js +6 -3
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/domainservice.d.ts +167 -47
- package/lib/services/domainservice.d.ts.map +1 -0
- package/lib/services/domainservice.js +520 -750
- package/lib/services/domainservice.js.map +1 -1
- package/lib/services/domainservice.spec.d.ts +1 -0
- package/lib/services/domainservice.spec.d.ts.map +1 -0
- package/lib/services/domainservice.spec.js +222 -31
- package/lib/services/domainservice.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +8 -5
- package/lib/services/filebinary.d.ts.map +1 -0
- package/lib/services/filebinary.js +34 -32
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +12 -8
- package/lib/services/filebinary.spec.d.ts.map +1 -0
- package/lib/services/filebinary.spec.js +132 -119
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +2 -1
- package/lib/services/fileconfiguration.d.ts.map +1 -0
- package/lib/services/fileconfiguration.js +1 -1
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.d.ts +1 -0
- package/lib/services/fileconfiguration.spec.d.ts.map +1 -0
- package/lib/services/fileconfiguration.spec.js +65 -27
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +2 -1
- package/lib/services/invitationservice.d.ts.map +1 -0
- package/lib/services/invitationservice.js +19 -16
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.d.ts +1 -0
- package/lib/services/invitationservice.spec.d.ts.map +1 -0
- package/lib/services/invitationservice.spec.js +73 -22
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +1 -0
- package/lib/services/kubernetesconfiguration.d.ts.map +1 -0
- package/lib/services/kubernetesconfiguration.js +0 -2
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +1 -0
- package/lib/services/kubernetesconfiguration.spec.d.ts.map +1 -0
- package/lib/services/kubernetesconfiguration.spec.js +67 -8
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +1 -0
- package/lib/services/mailer.d.ts.map +1 -0
- package/lib/services/mailer.js +3 -3
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.d.ts +1 -0
- package/lib/services/mailer.spec.d.ts.map +1 -0
- package/lib/services/mailer.spec.js +18 -4
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +1 -0
- package/lib/services/notificationservice.d.ts.map +1 -0
- package/lib/services/notificationservice.js +1 -1
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.d.ts +1 -0
- package/lib/services/notificationservice.spec.d.ts.map +1 -0
- package/lib/services/notificationservice.spec.js +8 -3
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +6 -3
- package/lib/services/oauth.d.ts.map +1 -0
- package/lib/services/oauth.js +11 -8
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.d.ts +1 -0
- package/lib/services/oauth.spec.d.ts.map +1 -0
- package/lib/services/oauth.spec.js +39 -15
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/prometheus.d.ts +1 -0
- package/lib/services/prometheus.d.ts.map +1 -0
- package/lib/services/prometheus.spec.d.ts +1 -0
- package/lib/services/prometheus.spec.d.ts.map +1 -0
- package/lib/services/prometheus.spec.js +38 -19
- package/lib/services/prometheus.spec.js.map +1 -1
- package/lib/services/resource.d.ts +16 -1
- package/lib/services/resource.d.ts.map +1 -0
- package/lib/services/resource.js +17 -3
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.d.ts +1 -0
- package/lib/services/resource.spec.d.ts.map +1 -0
- package/lib/services/resource.spec.js +38 -20
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +2 -2
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/service.js +13 -23
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.d.ts +1 -0
- package/lib/services/service.spec.d.ts.map +1 -0
- package/lib/services/service.spec.js +58 -40
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +10 -3
- package/lib/stores/aggregator.d.ts.map +1 -0
- package/lib/stores/aggregator.js +6 -6
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +2 -1
- package/lib/stores/file.d.ts.map +1 -0
- package/lib/stores/file.js +13 -13
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +5 -11
- package/lib/stores/file.spec.d.ts.map +1 -0
- package/lib/stores/file.spec.js +20 -114
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +2 -1
- package/lib/stores/mapper.d.ts.map +1 -0
- package/lib/stores/mapper.js +12 -12
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.d.ts +1 -0
- package/lib/stores/mapper.spec.d.ts.map +1 -0
- package/lib/stores/mapper.spec.js +24 -17
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +1 -0
- package/lib/stores/memory.d.ts.map +1 -0
- package/lib/stores/memory.js +15 -15
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +7 -13
- package/lib/stores/memory.spec.d.ts.map +1 -0
- package/lib/stores/memory.spec.js +117 -182
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/modelmapper.d.ts +1 -0
- package/lib/stores/modelmapper.d.ts.map +1 -0
- package/lib/stores/modelmapper.js +8 -10
- package/lib/stores/modelmapper.js.map +1 -1
- package/lib/stores/store.d.ts +3 -144
- package/lib/stores/store.d.ts.map +1 -0
- package/lib/stores/store.js +53 -653
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +11 -19
- package/lib/stores/store.spec.d.ts.map +1 -0
- package/lib/stores/store.spec.js +89 -258
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/test.d.ts +109 -6
- package/lib/test.d.ts.map +1 -0
- package/lib/test.js +245 -22
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +10 -2
- package/lib/unpackedapplication.d.ts.map +1 -0
- package/lib/unpackedapplication.js +81 -30
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.d.ts +1 -0
- package/lib/utils/abstractdeployer.d.ts.map +1 -0
- package/lib/utils/abstractdeployer.spec.d.ts +1 -0
- package/lib/utils/abstractdeployer.spec.d.ts.map +1 -0
- package/lib/utils/case.d.ts +1 -0
- package/lib/utils/case.d.ts.map +1 -0
- package/lib/utils/case.spec.d.ts +1 -0
- package/lib/utils/case.spec.d.ts.map +1 -0
- package/lib/utils/context.d.ts +37 -17
- package/lib/utils/context.d.ts.map +1 -0
- package/lib/utils/context.js +48 -41
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.d.ts +1 -0
- package/lib/utils/context.spec.d.ts.map +1 -0
- package/lib/utils/context.spec.js +25 -14
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +3 -2
- package/lib/utils/cookie.d.ts.map +1 -0
- package/lib/utils/cookie.js +2 -2
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.d.ts +1 -0
- package/lib/utils/cookie.spec.d.ts.map +1 -0
- package/lib/utils/cookie.spec.js +20 -10
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +1 -0
- package/lib/utils/esm.d.ts.map +1 -0
- package/lib/utils/httpcontext.d.ts +1 -0
- package/lib/utils/httpcontext.d.ts.map +1 -0
- package/lib/utils/httpcontext.js +7 -7
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.d.ts +1 -0
- package/lib/utils/httpcontext.spec.d.ts.map +1 -0
- package/lib/utils/httpcontext.spec.js +7 -7
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +1 -0
- package/lib/utils/logger.d.ts.map +1 -0
- package/lib/utils/logger.spec.d.ts +1 -0
- package/lib/utils/logger.spec.d.ts.map +1 -0
- package/lib/utils/logger.spec.js +5 -5
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.d.ts +1 -0
- package/lib/utils/serializers.d.ts.map +1 -0
- package/lib/utils/serializers.js +8 -8
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.d.ts +1 -0
- package/lib/utils/serializers.spec.d.ts.map +1 -0
- package/lib/utils/serializers.spec.js +6 -8
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +2 -5
- package/lib/utils/session.d.ts.map +1 -0
- package/lib/utils/session.js +1 -11
- package/lib/utils/session.js.map +1 -1
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.d.ts.map +1 -0
- package/lib/utils/session.spec.js +22 -12
- package/lib/utils/session.spec.js.map +1 -1
- package/lib/utils/throttler.d.ts +1 -4
- package/lib/utils/throttler.d.ts.map +1 -0
- package/lib/utils/throttler.js +1 -9
- package/lib/utils/throttler.js.map +1 -1
- package/lib/utils/throttler.spec.d.ts +1 -0
- package/lib/utils/throttler.spec.d.ts.map +1 -0
- package/lib/utils/throttler.spec.js +4 -6
- package/lib/utils/throttler.spec.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -0
- package/lib/utils/waiter.d.ts.map +1 -0
- package/lib/utils/waiter.js +2 -2
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.d.ts +1 -0
- package/lib/utils/waiter.spec.d.ts.map +1 -0
- package/lib/utils/waiter.spec.js +6 -6
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +20 -16
- package/test/config.json +6 -90
- package/test/data/.env +1 -0
- package/webda.module.json +658 -408
- package/lib/router.js.map +0 -1
- package/lib/router.spec.d.ts +0 -1
- package/lib/router.spec.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/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/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
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { CoreModel } from "../models/coremodel.js";
|
|
2
|
-
import MapperService,
|
|
2
|
+
import { MapperService, MapperParameters, MapUpdates } from "./mapper.js";
|
|
3
3
|
export declare class AggregatorParameters extends MapperParameters {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
*/
|
|
7
7
|
key: string;
|
|
8
|
+
/**
|
|
9
|
+
* Store an aggregate of the fields
|
|
10
|
+
*
|
|
11
|
+
* @default Registry
|
|
12
|
+
*/
|
|
13
|
+
target: string;
|
|
8
14
|
constructor(params: any);
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
@@ -14,7 +20,7 @@ export declare class AggregatorParameters extends MapperParameters {
|
|
|
14
20
|
*
|
|
15
21
|
* @WebdaModda Aggregator
|
|
16
22
|
*/
|
|
17
|
-
|
|
23
|
+
declare class AggregatorService<T extends AggregatorParameters = AggregatorParameters> extends MapperService<T> {
|
|
18
24
|
/**
|
|
19
25
|
* Create index if not existing
|
|
20
26
|
*
|
|
@@ -39,3 +45,4 @@ export default class AggregatorService<T extends AggregatorParameters = Aggregat
|
|
|
39
45
|
handleMap(object: CoreModel, updates: MapUpdates): Promise<void>;
|
|
40
46
|
}
|
|
41
47
|
export { AggregatorService };
|
|
48
|
+
//# sourceMappingURL=aggregator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/stores/aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvE,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,GAAG;CAIxB;AAED;;;;;;GAMG;AACH,cAAM,iBAAiB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACrG;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B;;OAEG;IACG,eAAe;IAQrB;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU;CA4BvD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/lib/stores/aggregator.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import MapperService,
|
|
1
|
+
import { MapperService, MapperParameters } from "./mapper.js";
|
|
2
2
|
export class AggregatorParameters extends MapperParameters {
|
|
3
3
|
constructor(params) {
|
|
4
4
|
super(params);
|
|
5
|
-
this.
|
|
5
|
+
this.target ?? (this.target = "Registry");
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
@@ -12,7 +12,7 @@ export class AggregatorParameters extends MapperParameters {
|
|
|
12
12
|
*
|
|
13
13
|
* @WebdaModda Aggregator
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
class AggregatorService extends MapperService {
|
|
16
16
|
/**
|
|
17
17
|
* Create index if not existing
|
|
18
18
|
*
|
|
@@ -46,10 +46,10 @@ export default class AggregatorService extends MapperService {
|
|
|
46
46
|
* @returns
|
|
47
47
|
*/
|
|
48
48
|
async handleMap(object, updates) {
|
|
49
|
-
|
|
49
|
+
const mapUpdates = {};
|
|
50
50
|
if (typeof updates === "object") {
|
|
51
51
|
let toUpdate = false;
|
|
52
|
-
for (
|
|
52
|
+
for (const i in updates) {
|
|
53
53
|
if (this.parameters.fields.indexOf(i) >= 0) {
|
|
54
54
|
toUpdate = true;
|
|
55
55
|
}
|
|
@@ -66,7 +66,7 @@ export default class AggregatorService extends MapperService {
|
|
|
66
66
|
updates = object;
|
|
67
67
|
}
|
|
68
68
|
// Create mapper
|
|
69
|
-
|
|
69
|
+
const mapper = {};
|
|
70
70
|
this.parameters.fields.forEach(id => {
|
|
71
71
|
mapper[id] = updates[id];
|
|
72
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/stores/aggregator.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/stores/aggregator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AAEvE,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAYxD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,UAAU,EAAC;IAC7B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,iBAAyE,SAAQ,aAAgB;IACrG;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAW;QACxB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,MAAiB,EAAE,OAAmB;QACpD,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,gBAAgB;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;QACtC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,aAAa;QACb,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;CACF;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/lib/stores/file.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ declare class FileStoreParameters extends StoreParameters {
|
|
|
32
32
|
* @category CoreServices
|
|
33
33
|
* @WebdaModda
|
|
34
34
|
*/
|
|
35
|
-
declare class FileStore<T extends CoreModel, K extends FileStoreParameters = FileStoreParameters> extends Store<T, K> {
|
|
35
|
+
declare class FileStore<T extends CoreModel = CoreModel, K extends FileStoreParameters = FileStoreParameters> extends Store<T, K> {
|
|
36
36
|
static EXTENSION: string;
|
|
37
37
|
/**
|
|
38
38
|
* Load the parameters for a service
|
|
@@ -105,3 +105,4 @@ declare class FileStore<T extends CoreModel, K extends FileStoreParameters = Fil
|
|
|
105
105
|
__clean(): Promise<void>;
|
|
106
106
|
}
|
|
107
107
|
export { FileStore };
|
|
108
|
+
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/stores/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAsB,eAAe,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,cAAM,mBAAoB,SAAQ,eAAe;IAC/C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,cAAM,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,KAAK,CACjH,CAAC,EACD,CAAC,CACF;IACC,MAAM,CAAC,SAAS,SAAW;IAE3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,mBAAmB;IAIhD;;OAEG;IACH,iBAAiB;IAOjB;;;;OAIG;IACH,IAAI,CAAC,GAAG,KAAA;IAIR;;OAEG;IACG,OAAO,CAAC,GAAG,KAAA;IAIjB;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAW7D;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,CAAC;IAQrB;;OAEG;IACG,uBAAuB,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,GAAG,EACvB,uBAAuB,EAAE,MAAM,EAC/B,UAAU,EAAE,IAAI;IAkBlB;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,MAAM;IAO1G;;OAEG;IACG,yBAAyB,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,GAAG,EACvB,uBAAuB,EAAE,MAAM,EAC/B,UAAU,EAAE,IAAI;IAelB;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM;IAOzB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASxG;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAMzG;;OAEG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB3C;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,GAAE,OAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAarE;;OAEG;IACG,oBAAoB,CACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,EAC7C,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,GAAG,CAAC;IAaf;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/lib/stores/file.js
CHANGED
|
@@ -83,7 +83,7 @@ class FileStore extends Store {
|
|
|
83
83
|
* @inheritdoc
|
|
84
84
|
*/
|
|
85
85
|
async _removeAttribute(uuid, attribute, writeCondition, writeConditionField) {
|
|
86
|
-
|
|
86
|
+
const res = await this._get(uuid, true);
|
|
87
87
|
this.checkUpdateCondition(res, writeConditionField, writeCondition);
|
|
88
88
|
delete res[attribute];
|
|
89
89
|
await this._save(res);
|
|
@@ -92,7 +92,7 @@ class FileStore extends Store {
|
|
|
92
92
|
* @inheritdoc
|
|
93
93
|
*/
|
|
94
94
|
async _deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate) {
|
|
95
|
-
|
|
95
|
+
const res = await this._get(uid, true);
|
|
96
96
|
this.checkCollectionUpdateCondition(res, prop, itemWriteConditionField, itemWriteCondition, index);
|
|
97
97
|
res[prop].splice(index, 1);
|
|
98
98
|
res._lastUpdate = updateDate;
|
|
@@ -111,9 +111,9 @@ class FileStore extends Store {
|
|
|
111
111
|
* @inheritdoc
|
|
112
112
|
*/
|
|
113
113
|
async _patch(object, uid, writeCondition, writeConditionField) {
|
|
114
|
-
|
|
114
|
+
const stored = await this._get(uid, true);
|
|
115
115
|
this.checkUpdateCondition(stored, writeConditionField, writeCondition);
|
|
116
|
-
for (
|
|
116
|
+
for (const prop in object) {
|
|
117
117
|
stored[prop] = object[prop];
|
|
118
118
|
}
|
|
119
119
|
return this._save(stored);
|
|
@@ -122,7 +122,7 @@ class FileStore extends Store {
|
|
|
122
122
|
* @override
|
|
123
123
|
*/
|
|
124
124
|
async _update(object, uid, writeCondition, writeConditionField) {
|
|
125
|
-
|
|
125
|
+
const stored = await this._get(uid, true);
|
|
126
126
|
this.checkUpdateCondition(stored, writeConditionField, writeCondition);
|
|
127
127
|
return this._save(this.initModel(object));
|
|
128
128
|
}
|
|
@@ -132,14 +132,14 @@ class FileStore extends Store {
|
|
|
132
132
|
async getAll(uids) {
|
|
133
133
|
if (!uids) {
|
|
134
134
|
uids = [];
|
|
135
|
-
|
|
136
|
-
for (
|
|
135
|
+
const files = fs.readdirSync(this.parameters.folder);
|
|
136
|
+
for (const file in files) {
|
|
137
137
|
uids.push(files[file].substring(0, files[file].length - FileStore.EXTENSION.length));
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
|
|
141
|
-
for (
|
|
142
|
-
|
|
140
|
+
const result = [];
|
|
141
|
+
for (const i in uids) {
|
|
142
|
+
const model = this._get(uids[i]);
|
|
143
143
|
result.push(model);
|
|
144
144
|
}
|
|
145
145
|
return (await Promise.all(result)).filter(f => f !== undefined);
|
|
@@ -148,9 +148,9 @@ class FileStore extends Store {
|
|
|
148
148
|
* @override
|
|
149
149
|
*/
|
|
150
150
|
async _get(uid, raiseIfNotFound = false) {
|
|
151
|
-
|
|
151
|
+
const res = await this.exists(uid);
|
|
152
152
|
if (res) {
|
|
153
|
-
|
|
153
|
+
const data = JSON.parse(fs.readFileSync(this.file(uid)).toString());
|
|
154
154
|
if (data.__type !== this._modelType && this.parameters.strict) {
|
|
155
155
|
return undefined;
|
|
156
156
|
}
|
|
@@ -164,7 +164,7 @@ class FileStore extends Store {
|
|
|
164
164
|
* @override
|
|
165
165
|
*/
|
|
166
166
|
async _incrementAttributes(uid, params, updateDate) {
|
|
167
|
-
|
|
167
|
+
const stored = await this._get(uid, true);
|
|
168
168
|
params.forEach(({ property: prop, value }) => {
|
|
169
169
|
if (stored[prop] === undefined) {
|
|
170
170
|
stored[prop] = 0;
|
package/lib/stores/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/stores/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAmB,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGtF,MAAM,mBAAoB,SAAQ,eAAe;CAiBhD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/stores/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FileStore } from "../index.js";
|
|
2
2
|
import { StoreTest } from "./store.spec.js";
|
|
3
|
-
declare class FileStoreTest extends StoreTest {
|
|
4
|
-
getUserStore():
|
|
5
|
-
getIdentStore():
|
|
6
|
-
getIndex(): Promise<CoreModel>;
|
|
7
|
-
recreateIndex(): Promise<void>;
|
|
3
|
+
declare class FileStoreTest extends StoreTest<FileStore<any>> {
|
|
4
|
+
getUserStore(): Promise<FileStore<any>>;
|
|
5
|
+
getIdentStore(): Promise<FileStore<any>>;
|
|
8
6
|
update(delay?: number): Promise<void>;
|
|
9
7
|
cov(): Promise<void>;
|
|
10
8
|
configuration(): Promise<void>;
|
|
11
|
-
modelActions(): Promise<void>;
|
|
12
9
|
cacheMishit(): Promise<void>;
|
|
13
|
-
modelStaticActions(): Promise<void>;
|
|
14
|
-
httpCRUD(): Promise<void>;
|
|
15
|
-
getURL(): Promise<void>;
|
|
16
|
-
schemaCreate(): Promise<void>;
|
|
17
10
|
computeParams(): void;
|
|
18
11
|
}
|
|
19
12
|
export { FileStoreTest };
|
|
13
|
+
//# sourceMappingURL=file.spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.spec.d.ts","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,SAAS,EAAuC,MAAM,UAAU,CAAC;AAGrF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAYzC,cACM,aAAc,SAAQ,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAIvC,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAgBxC,MAAM,CAAC,KAAK,GAAE,MAAY;IAM1B,GAAG;IA2EH,aAAa;IAeb,WAAW;IASjB,aAAa;CAMd;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/lib/stores/file.spec.js
CHANGED
|
@@ -9,43 +9,36 @@ import * as assert from "assert";
|
|
|
9
9
|
import { existsSync } from "fs";
|
|
10
10
|
import pkg from "fs-extra";
|
|
11
11
|
import * as sinon from "sinon";
|
|
12
|
-
import {
|
|
13
|
-
import { HttpContext } from "../utils/httpcontext.js";
|
|
12
|
+
import { FileStore, ModelMapLoaderImplementation } from "../index.js";
|
|
14
13
|
import { StoreNotFoundError, UpdateConditionFailError } from "./store.js";
|
|
15
14
|
import { StoreTest } from "./store.spec.js";
|
|
16
15
|
const { removeSync } = pkg;
|
|
17
16
|
let FileStoreTest = class FileStoreTest extends StoreTest {
|
|
18
|
-
getUserStore() {
|
|
19
|
-
return this.
|
|
17
|
+
async getUserStore() {
|
|
18
|
+
return this.addService(FileStore, { folder: "./test/data/idents", model: "Webda/User" }, "Users");
|
|
20
19
|
}
|
|
21
|
-
getIdentStore() {
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
async getIdentStore() {
|
|
21
|
+
const identStore = new FileStore(this.webda, "Idents", {
|
|
22
|
+
model: "WebdaTest/Ident",
|
|
23
|
+
folder: "./test/data/idents"
|
|
24
|
+
});
|
|
24
25
|
// @ts-ignore
|
|
25
|
-
|
|
26
|
+
const original = identStore._get.bind(identStore);
|
|
26
27
|
// @ts-ignore
|
|
27
|
-
|
|
28
|
+
identStore._get = async (...args) => {
|
|
28
29
|
await this.sleep(1);
|
|
29
30
|
return original(...args);
|
|
30
31
|
};
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
async getIndex() {
|
|
34
|
-
return this.getService("MemoryAggregators").get("idents-index");
|
|
35
|
-
}
|
|
36
|
-
async recreateIndex() {
|
|
37
|
-
let store = this.getService("MemoryAggregators");
|
|
38
|
-
await store.__clean();
|
|
39
|
-
await this.getService("IdentsIndexer").createAggregate();
|
|
32
|
+
return await identStore.resolve().init();
|
|
40
33
|
}
|
|
41
34
|
async update(delay = 100) {
|
|
42
35
|
// Increase the delay for FileStore
|
|
43
36
|
return super.update(delay);
|
|
44
37
|
}
|
|
45
38
|
async cov() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
const identStore = this.identStore;
|
|
40
|
+
const userStore = this.userStore;
|
|
41
|
+
const user = await userStore.save({});
|
|
49
42
|
let ident = await identStore.save({
|
|
50
43
|
_user: user.getUuid()
|
|
51
44
|
});
|
|
@@ -62,7 +55,8 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
|
|
|
62
55
|
}), StoreNotFoundError);
|
|
63
56
|
await user.refresh();
|
|
64
57
|
assert.strictEqual(user.plop, undefined);
|
|
65
|
-
user.idents
|
|
58
|
+
user.idents ?? (user.idents = []);
|
|
59
|
+
user.idents.push(new ModelMapLoaderImplementation(identStore._model, { uuid: ident.getUuid() }, user));
|
|
66
60
|
userStore["initModel"](user);
|
|
67
61
|
await identStore.delete(user.getUuid());
|
|
68
62
|
}
|
|
@@ -97,17 +91,9 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
|
|
|
97
91
|
assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), UpdateConditionFailError);
|
|
98
92
|
identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 0, null);
|
|
99
93
|
assert.rejects(() => identStore.simulateUpsertItemToCollection(undefined, "__proto__", undefined, new Date()), /Cannot update __proto__: js\/prototype-polluting-assignment/);
|
|
100
|
-
// Add a queryMethod test
|
|
101
|
-
userStore.getParameters().url = "/users";
|
|
102
|
-
userStore.getParameters().expose = {
|
|
103
|
-
queryMethod: "PUT",
|
|
104
|
-
restrict: {}
|
|
105
|
-
};
|
|
106
|
-
userStore.initRoutes();
|
|
107
|
-
userStore.getUrl("/url", ["GET"]);
|
|
108
94
|
}
|
|
109
95
|
async configuration() {
|
|
110
|
-
|
|
96
|
+
const identStore = this.identStore;
|
|
111
97
|
assert.strictEqual(identStore.canTriggerConfiguration("plop", () => { }), false);
|
|
112
98
|
assert.strictEqual(await identStore.getConfiguration("plop"), undefined);
|
|
113
99
|
await identStore.save({ plop: 1, other: true, uuid: "plop" });
|
|
@@ -116,80 +102,15 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
|
|
|
116
102
|
plop: 1
|
|
117
103
|
});
|
|
118
104
|
}
|
|
119
|
-
async modelActions() {
|
|
120
|
-
return super.modelActions();
|
|
121
|
-
}
|
|
122
105
|
async cacheMishit() {
|
|
123
|
-
|
|
124
|
-
|
|
106
|
+
const identStore = this.identStore;
|
|
107
|
+
const ident = await identStore.save({ uuid: "test" });
|
|
125
108
|
await identStore._cacheStore.__clean();
|
|
126
109
|
// @ts-ignore
|
|
127
110
|
await ident.patch({ retest: true });
|
|
128
111
|
}
|
|
129
|
-
async modelStaticActions() {
|
|
130
|
-
let identStore = this.getService("Idents");
|
|
131
|
-
let ctx, executor;
|
|
132
|
-
let eventFired = 0;
|
|
133
|
-
identStore.on("Store.Action", evt => {
|
|
134
|
-
eventFired++;
|
|
135
|
-
});
|
|
136
|
-
ctx = await this.newContext({
|
|
137
|
-
type: "CRUD",
|
|
138
|
-
uuid: "PLOP"
|
|
139
|
-
});
|
|
140
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/index");
|
|
141
|
-
assert.notStrictEqual(executor, undefined);
|
|
142
|
-
await executor.execute(ctx);
|
|
143
|
-
// Our fake index action is just outputing 'indexer'
|
|
144
|
-
assert.strictEqual(ctx.getResponseBody(), "indexer");
|
|
145
|
-
assert.strictEqual(eventFired, 1);
|
|
146
|
-
ctx.resetResponse();
|
|
147
|
-
// Return some infos instead of using ctx
|
|
148
|
-
// @ts-ignore
|
|
149
|
-
identStore._model.index = async () => {
|
|
150
|
-
return "vouzouf";
|
|
151
|
-
};
|
|
152
|
-
await executor.execute(ctx);
|
|
153
|
-
// Our fake index action is just outputing 'indexer'
|
|
154
|
-
assert.strictEqual(ctx.getResponseBody(), "vouzouf");
|
|
155
|
-
}
|
|
156
|
-
async httpCRUD() {
|
|
157
|
-
return await super.httpCRUD();
|
|
158
|
-
}
|
|
159
|
-
async getURL() {
|
|
160
|
-
//assert.strictEqual((<Store<CoreModel>>this.webda.getService("users")).getUrl(), "/users");
|
|
161
|
-
}
|
|
162
|
-
async schemaCreate() {
|
|
163
|
-
let taskStore = this.webda.getService("Tasks");
|
|
164
|
-
let ctx = await this.webda.newWebContext(new HttpContext("webda.io", "GET", "/"));
|
|
165
|
-
let executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
166
|
-
noname: "Task #1"
|
|
167
|
-
});
|
|
168
|
-
this.webda.getModules().schemas["WebdaTest/Task"] = FileUtils.load("./test/schemas/task.json");
|
|
169
|
-
assert.notStrictEqual(executor, undefined);
|
|
170
|
-
ctx.getSession().login("fake_user", "fake_ident");
|
|
171
|
-
await assert.rejects(executor.execute(ctx), WebdaError.BadRequest, "Should reject for bad schema");
|
|
172
|
-
executor = this.getExecutor(ctx, "test.webda.io", "POST", "/tasks", {
|
|
173
|
-
name: "Task #1"
|
|
174
|
-
});
|
|
175
|
-
await executor.execute(ctx);
|
|
176
|
-
let task = JSON.parse(ctx.getResponseBody());
|
|
177
|
-
// It is two because the Saved has been called two
|
|
178
|
-
assert.notStrictEqual(task.uuid, undefined);
|
|
179
|
-
assert.strictEqual(task._autoListener, 2);
|
|
180
|
-
task = await taskStore.get(task.uuid);
|
|
181
|
-
assert.strictEqual(task._autoListener, 1);
|
|
182
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/tasks/${task.uuid}`, {
|
|
183
|
-
test: "plop"
|
|
184
|
-
});
|
|
185
|
-
await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 400);
|
|
186
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PATCH", `/tasks/${task.uuid}`, {
|
|
187
|
-
name: 123
|
|
188
|
-
});
|
|
189
|
-
await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 400);
|
|
190
|
-
}
|
|
191
112
|
computeParams() {
|
|
192
|
-
|
|
113
|
+
const usersStore = this.userStore;
|
|
193
114
|
removeSync(usersStore.getParameters().folder);
|
|
194
115
|
usersStore.computeParameters();
|
|
195
116
|
assert.ok(existsSync(usersStore.getParameters().folder));
|
|
@@ -204,24 +125,9 @@ __decorate([
|
|
|
204
125
|
__decorate([
|
|
205
126
|
test
|
|
206
127
|
], FileStoreTest.prototype, "configuration", null);
|
|
207
|
-
__decorate([
|
|
208
|
-
test
|
|
209
|
-
], FileStoreTest.prototype, "modelActions", null);
|
|
210
128
|
__decorate([
|
|
211
129
|
test
|
|
212
130
|
], FileStoreTest.prototype, "cacheMishit", null);
|
|
213
|
-
__decorate([
|
|
214
|
-
test
|
|
215
|
-
], FileStoreTest.prototype, "modelStaticActions", null);
|
|
216
|
-
__decorate([
|
|
217
|
-
test
|
|
218
|
-
], FileStoreTest.prototype, "httpCRUD", null);
|
|
219
|
-
__decorate([
|
|
220
|
-
test
|
|
221
|
-
], FileStoreTest.prototype, "getURL", null);
|
|
222
|
-
__decorate([
|
|
223
|
-
test("JSON Schema - Create")
|
|
224
|
-
], FileStoreTest.prototype, "schemaCreate", null);
|
|
225
131
|
__decorate([
|
|
226
132
|
test
|
|
227
133
|
], FileStoreTest.prototype, "computeParams", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/stores/mapper.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export declare class MapperParameters extends ServiceParameters {
|
|
|
53
53
|
* Map object to another object
|
|
54
54
|
* @WebdaModda Mapper
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
declare class MapperService<T extends MapperParameters = MapperParameters> extends Service<T> {
|
|
57
57
|
targetStore: Store<CoreModel & {
|
|
58
58
|
[key: string]: any[];
|
|
59
59
|
}>;
|
|
@@ -147,3 +147,4 @@ export default class MapperService<T extends MapperParameters = MapperParameters
|
|
|
147
147
|
recompute(): Promise<void>;
|
|
148
148
|
}
|
|
149
149
|
export { MapperService };
|
|
150
|
+
//# sourceMappingURL=mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/stores/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAU,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAkF,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;gBAEL,MAAM,EAAE,GAAG;CAQxB;AAED;;;GAGG;AACH,cAAM,aAAa,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAEnF,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;IAGzD,aAAa,EAAE,KAAK,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,GAAG;IAI1B;;OAEG;IACH,OAAO,IAAI,IAAI;IAwCf;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAS3C;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;IAkB/E;;;;;;;OAOG;IACG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG;IAW1E;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAkB5E;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAiB5D;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAM5D;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;;OAMG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAE,MAAM,GAAG,MAAM,EAAc;IAoBlG;;;;;;;;OAQG;IACG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU;IAoDtD;;OAEG;IACG,SAAS;CAGhB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/lib/stores/mapper.js
CHANGED
|
@@ -23,7 +23,7 @@ export class MapperParameters extends ServiceParameters {
|
|
|
23
23
|
* Map object to another object
|
|
24
24
|
* @WebdaModda Mapper
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
class MapperService extends Service {
|
|
27
27
|
/**
|
|
28
28
|
* @override
|
|
29
29
|
*/
|
|
@@ -65,7 +65,7 @@ export default class MapperService extends Service {
|
|
|
65
65
|
// Cascade delete when target is destroyed
|
|
66
66
|
if (this.parameters.cascade) {
|
|
67
67
|
this.targetStore[method]("Store.Deleted", async (evt) => {
|
|
68
|
-
|
|
68
|
+
const maps = evt.object[this.parameters.targetAttribute];
|
|
69
69
|
if (!maps) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
@@ -97,12 +97,12 @@ export default class MapperService extends Service {
|
|
|
97
97
|
* @returns mapper object and found = true if updates will impact the mapper
|
|
98
98
|
*/
|
|
99
99
|
createMapper(object, updates) {
|
|
100
|
-
|
|
100
|
+
const mapper = {
|
|
101
101
|
// TODO Move to getFullUuid
|
|
102
102
|
uuid: object.getUuid()
|
|
103
103
|
};
|
|
104
104
|
let found = false;
|
|
105
|
-
for (
|
|
105
|
+
for (const mapperfield of this.parameters.fields) {
|
|
106
106
|
// Create the mapper object
|
|
107
107
|
if (updates[mapperfield] !== undefined) {
|
|
108
108
|
mapper[mapperfield] = updates[mapperfield];
|
|
@@ -123,7 +123,7 @@ export default class MapperService extends Service {
|
|
|
123
123
|
* @returns
|
|
124
124
|
*/
|
|
125
125
|
async _handleUpdatedMap(source, target, updates) {
|
|
126
|
-
|
|
126
|
+
const [mapper, found] = this.createMapper(source, updates);
|
|
127
127
|
// Linked object has not changed, check if map has changed and require updates
|
|
128
128
|
if (!found) {
|
|
129
129
|
// None of the mapped keys has been modified -> return
|
|
@@ -141,7 +141,7 @@ export default class MapperService extends Service {
|
|
|
141
141
|
*/
|
|
142
142
|
_handleUpdatedMapMapper(source, target, mapper) {
|
|
143
143
|
// Remove old reference
|
|
144
|
-
|
|
144
|
+
const i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
|
|
145
145
|
// If not found just add it to the collection
|
|
146
146
|
if (i < 0) {
|
|
147
147
|
return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
|
|
@@ -161,7 +161,7 @@ export default class MapperService extends Service {
|
|
|
161
161
|
if (target[this.parameters.targetAttribute] === undefined) {
|
|
162
162
|
return;
|
|
163
163
|
}
|
|
164
|
-
|
|
164
|
+
const i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
|
|
165
165
|
if (i >= 0) {
|
|
166
166
|
return this.targetStore.deleteItemFromCollection(target.getUuid(), this.parameters.targetAttribute, i, source.getUuid(), "uuid");
|
|
167
167
|
}
|
|
@@ -175,7 +175,7 @@ export default class MapperService extends Service {
|
|
|
175
175
|
*/
|
|
176
176
|
async _handleCreatedMap(source, target) {
|
|
177
177
|
// Add to the object
|
|
178
|
-
|
|
178
|
+
const [mapper] = this.createMapper(source, {});
|
|
179
179
|
return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
@@ -198,8 +198,8 @@ export default class MapperService extends Service {
|
|
|
198
198
|
const props = Array.isArray(property) ? property : [property];
|
|
199
199
|
if (props.find(p => this.isMapped(p)) || this.isMapped("_lastUpdate")) {
|
|
200
200
|
// Not optimal need to reload the object
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
const source = await this.sourceService.getObject(uid);
|
|
202
|
+
const updates = {};
|
|
203
203
|
if (this.isMapped("_lastUpdate")) {
|
|
204
204
|
updates["_lastUpdate"] = updateDate;
|
|
205
205
|
}
|
|
@@ -243,7 +243,7 @@ export default class MapperService extends Service {
|
|
|
243
243
|
if (Array.isArray(attribute)) {
|
|
244
244
|
ids = attribute;
|
|
245
245
|
if (typeof updates == "object" && updates[this.parameters.attribute]) {
|
|
246
|
-
|
|
246
|
+
const refs = updates[this.parameters.attribute];
|
|
247
247
|
toAdd = refs.filter(id => !ids.includes(id));
|
|
248
248
|
toDelete = attribute.filter(id => !refs.includes(id));
|
|
249
249
|
}
|
|
@@ -251,7 +251,7 @@ export default class MapperService extends Service {
|
|
|
251
251
|
else if (typeof attribute === "object") {
|
|
252
252
|
ids = Object.keys(attribute);
|
|
253
253
|
if (typeof updates == "object" && updates[this.parameters.attribute]) {
|
|
254
|
-
|
|
254
|
+
const refs = Object.keys(updates[this.parameters.attribute]);
|
|
255
255
|
toAdd = refs.filter(id => !ids.includes(id));
|
|
256
256
|
toDelete = ids.filter(id => !refs.includes(id));
|
|
257
257
|
}
|