@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
package/lib/services/binary.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -12,7 +11,6 @@ import * as path from "path";
|
|
|
12
11
|
import { Readable } from "stream";
|
|
13
12
|
import { Core, Counter, WebdaError } from "../index.js";
|
|
14
13
|
import { NotEnumerable } from "../models/coremodel.js";
|
|
15
|
-
import { Store } from "../stores/store.js";
|
|
16
14
|
import { Service, ServiceParameters } from "./service.js";
|
|
17
15
|
/**
|
|
18
16
|
* Emitted if binary does not exist
|
|
@@ -76,7 +74,7 @@ export class BinaryFile {
|
|
|
76
74
|
resolve();
|
|
77
75
|
});
|
|
78
76
|
stream.on("data", chunk => {
|
|
79
|
-
|
|
77
|
+
const buffer = Buffer.from(chunk);
|
|
80
78
|
hash.update(buffer);
|
|
81
79
|
challenge.update(buffer);
|
|
82
80
|
});
|
|
@@ -211,6 +209,7 @@ export class Binary extends BinaryMap {
|
|
|
211
209
|
async delete() {
|
|
212
210
|
await this.__store.delete(this.model, this.attribute);
|
|
213
211
|
this.set({});
|
|
212
|
+
this.empty = true;
|
|
214
213
|
}
|
|
215
214
|
/**
|
|
216
215
|
* Return undefined if no hash
|
|
@@ -267,7 +266,7 @@ export class BinariesImpl extends Array {
|
|
|
267
266
|
assign(model, attribute) {
|
|
268
267
|
this.model = model;
|
|
269
268
|
this.attribute = attribute;
|
|
270
|
-
for (
|
|
269
|
+
for (const binary of model[attribute] || []) {
|
|
271
270
|
this.push(binary);
|
|
272
271
|
}
|
|
273
272
|
this.__service = Core.get().getBinaryStore(model, attribute);
|
|
@@ -330,14 +329,11 @@ __decorate([
|
|
|
330
329
|
export class BinaryParameters extends ServiceParameters {
|
|
331
330
|
constructor(params, _service) {
|
|
332
331
|
super(params);
|
|
333
|
-
if (this.expose) {
|
|
334
|
-
this.expose.restrict = this.expose.restrict || {};
|
|
335
|
-
}
|
|
336
|
-
this.map ?? (this.map = {});
|
|
337
332
|
// Store all models in it by default
|
|
338
333
|
this.models ?? (this.models = {
|
|
339
334
|
"*": ["*"]
|
|
340
335
|
});
|
|
336
|
+
this.maxFileSize ?? (this.maxFileSize = 10 * 1024 * 1024);
|
|
341
337
|
}
|
|
342
338
|
}
|
|
343
339
|
/**
|
|
@@ -386,65 +382,6 @@ export class BinaryService extends Service {
|
|
|
386
382
|
help: "Number of binary metadata updated"
|
|
387
383
|
});
|
|
388
384
|
}
|
|
389
|
-
/**
|
|
390
|
-
* Redirect to the temporary link to S3 object
|
|
391
|
-
* or return it if returnInfo=true
|
|
392
|
-
*
|
|
393
|
-
* @param ctx of the request
|
|
394
|
-
* @param returnInfo
|
|
395
|
-
*/
|
|
396
|
-
async httpGet(context) {
|
|
397
|
-
const returnInfo = context.getHttpContext().getRelativeUri().endsWith("/url");
|
|
398
|
-
const { uuid, index, property } = context.getParameters();
|
|
399
|
-
let targetStore = this._verifyMapAndStore(context);
|
|
400
|
-
let object = await targetStore.get(uuid);
|
|
401
|
-
if (!object || (Array.isArray(object[property]) && object[property].length <= index)) {
|
|
402
|
-
throw new WebdaError.NotFound("Object does not exist or attachment does not exist");
|
|
403
|
-
}
|
|
404
|
-
await object.checkAct(context, "get_binary");
|
|
405
|
-
const file = Array.isArray(object[property]) ? object[property][index] : object[property];
|
|
406
|
-
await this.emitSync("Binary.Get", {
|
|
407
|
-
object: file,
|
|
408
|
-
service: this,
|
|
409
|
-
context: context
|
|
410
|
-
});
|
|
411
|
-
let url = await this.getRedirectUrlFromObject(file, context);
|
|
412
|
-
// No url, we return the file
|
|
413
|
-
if (url === null) {
|
|
414
|
-
if (returnInfo) {
|
|
415
|
-
// Redirect to same url without /url
|
|
416
|
-
context.write({
|
|
417
|
-
Location: context
|
|
418
|
-
.getHttpContext()
|
|
419
|
-
.getAbsoluteUrl()
|
|
420
|
-
.replace(/\/url$/, ""),
|
|
421
|
-
Map: file
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
else {
|
|
425
|
-
// Output
|
|
426
|
-
context.writeHead(200, {
|
|
427
|
-
"Content-Type": file.mimetype === undefined ? "application/octet-steam" : file.mimetype,
|
|
428
|
-
"Content-Length": file.size
|
|
429
|
-
});
|
|
430
|
-
let readStream = await this.get(file);
|
|
431
|
-
await new Promise((resolve, reject) => {
|
|
432
|
-
// We replaced all the event handlers with a simple call to readStream.pipe()
|
|
433
|
-
context._stream.on("finish", resolve);
|
|
434
|
-
context._stream.on("error", reject);
|
|
435
|
-
readStream.pipe(context._stream);
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
else if (returnInfo) {
|
|
440
|
-
context.write({ Location: url, Map: file });
|
|
441
|
-
}
|
|
442
|
-
else {
|
|
443
|
-
context.writeHead(302, {
|
|
444
|
-
Location: url
|
|
445
|
-
});
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
385
|
/**
|
|
449
386
|
* Get a UrlFromObject
|
|
450
387
|
*
|
|
@@ -462,7 +399,7 @@ export class BinaryService extends Service {
|
|
|
462
399
|
let key = Object.keys(this.parameters.models).find(k => k === modelName);
|
|
463
400
|
if (key) {
|
|
464
401
|
// Explicit model
|
|
465
|
-
|
|
402
|
+
const attributes = this.parameters.models[key];
|
|
466
403
|
if (attributes.includes(attribute)) {
|
|
467
404
|
return 2;
|
|
468
405
|
}
|
|
@@ -475,7 +412,7 @@ export class BinaryService extends Service {
|
|
|
475
412
|
if (!key) {
|
|
476
413
|
return -1;
|
|
477
414
|
}
|
|
478
|
-
|
|
415
|
+
const attributes = this.parameters.models[key];
|
|
479
416
|
if (attributes.includes(attribute)) {
|
|
480
417
|
return 1;
|
|
481
418
|
}
|
|
@@ -510,8 +447,8 @@ export class BinaryService extends Service {
|
|
|
510
447
|
service: this
|
|
511
448
|
});
|
|
512
449
|
this.metrics.download.inc();
|
|
513
|
-
|
|
514
|
-
|
|
450
|
+
const readStream = await this._get(info);
|
|
451
|
+
const writeStream = fs.createWriteStream(filename);
|
|
515
452
|
return new Promise((resolve, reject) => {
|
|
516
453
|
writeStream.on("finish", _src => {
|
|
517
454
|
return resolve();
|
|
@@ -530,45 +467,6 @@ export class BinaryService extends Service {
|
|
|
530
467
|
readStream.pipe(writeStream);
|
|
531
468
|
});
|
|
532
469
|
}
|
|
533
|
-
/**
|
|
534
|
-
* @override
|
|
535
|
-
*/
|
|
536
|
-
resolve() {
|
|
537
|
-
super.resolve();
|
|
538
|
-
this.initMap(this.parameters.map);
|
|
539
|
-
return this;
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Init the declared maps, adding reverse maps
|
|
543
|
-
*
|
|
544
|
-
* @param map
|
|
545
|
-
*/
|
|
546
|
-
initMap(map) {
|
|
547
|
-
if (map == undefined || map._init) {
|
|
548
|
-
return;
|
|
549
|
-
}
|
|
550
|
-
this._lowercaseMaps = {};
|
|
551
|
-
Object.keys(map).forEach(prop => {
|
|
552
|
-
this._lowercaseMaps[prop.toLowerCase()] = prop;
|
|
553
|
-
let reverseStore = this._webda.getService(prop);
|
|
554
|
-
if (reverseStore === undefined || !(reverseStore instanceof Store)) {
|
|
555
|
-
this._webda.log("WARN", "Can't setup mapping as store ", prop, " doesn't exist");
|
|
556
|
-
map[prop]["-onerror"] = "NoStore";
|
|
557
|
-
return;
|
|
558
|
-
}
|
|
559
|
-
for (let i in map[prop]) {
|
|
560
|
-
reverseStore.addReverseMap(map[prop][i], this);
|
|
561
|
-
}
|
|
562
|
-
// Cascade delete
|
|
563
|
-
reverseStore.on("Store.Deleted", async (evt) => {
|
|
564
|
-
let infos = [];
|
|
565
|
-
if (evt.object[map[prop]]) {
|
|
566
|
-
infos.push(...evt.object[map[prop]]);
|
|
567
|
-
}
|
|
568
|
-
await Promise.all(infos.map(info => this.cascadeDelete(info, evt.object.getUuid())));
|
|
569
|
-
});
|
|
570
|
-
});
|
|
571
|
-
}
|
|
572
470
|
/**
|
|
573
471
|
* Based on the raw Map init a BinaryMap
|
|
574
472
|
* @param obj
|
|
@@ -602,27 +500,13 @@ export class BinaryService extends Service {
|
|
|
602
500
|
if (this.handleBinary(object.__type, property) !== -1) {
|
|
603
501
|
return;
|
|
604
502
|
}
|
|
605
|
-
// DELETE_IN_4.0.0
|
|
606
|
-
const name = object.getStore().getName();
|
|
607
|
-
let map = this.parameters.map[this._lowercaseMaps[name.toLowerCase()]];
|
|
608
|
-
if (map === undefined) {
|
|
609
|
-
throw new Error("Unknown mapping");
|
|
610
|
-
}
|
|
611
|
-
if (Array.isArray(map) && map.indexOf(property) === -1) {
|
|
612
|
-
throw new Error("Unknown mapping");
|
|
613
|
-
}
|
|
614
|
-
/*
|
|
615
|
-
// END_DELETE_IN_4.0.0
|
|
616
503
|
throw new Error("Unknown mapping");
|
|
617
|
-
// DELETE_IN_4.0.0
|
|
618
|
-
*/
|
|
619
|
-
// END_DELETE_IN_4.0.0
|
|
620
504
|
}
|
|
621
505
|
/**
|
|
622
506
|
* Ensure events are sent correctly after an upload and update the BinaryFileInfo in targetted object
|
|
623
507
|
*/
|
|
624
508
|
async uploadSuccess(object, property, file) {
|
|
625
|
-
|
|
509
|
+
const object_uid = object.getUuid();
|
|
626
510
|
// Check if the file is already in the array then skip
|
|
627
511
|
if (Array.isArray(object[property]) && object[property].find(i => i.hash === file.hash)) {
|
|
628
512
|
return;
|
|
@@ -635,7 +519,9 @@ export class BinaryService extends Service {
|
|
|
635
519
|
const relations = this.getWebda().getApplication().getRelations(object);
|
|
636
520
|
const cardinality = (relations.binaries || []).find(p => p.attribute === property)?.cardinality || "MANY";
|
|
637
521
|
if (cardinality === "MANY") {
|
|
638
|
-
await object
|
|
522
|
+
await object
|
|
523
|
+
.getStore()
|
|
524
|
+
.upsertItemToCollection(object_uid, property, file);
|
|
639
525
|
}
|
|
640
526
|
else {
|
|
641
527
|
await object.getStore().setAttribute(object_uid, property, file);
|
|
@@ -656,12 +542,14 @@ export class BinaryService extends Service {
|
|
|
656
542
|
* @returns
|
|
657
543
|
*/
|
|
658
544
|
async deleteSuccess(object, property, index) {
|
|
659
|
-
|
|
545
|
+
const info = (index !== undefined ? object[property][index] : object[property]);
|
|
660
546
|
const relations = this.getWebda().getApplication().getRelations(object);
|
|
661
547
|
const cardinality = (relations.binaries || []).find(p => p.attribute === property)?.cardinality || "MANY";
|
|
662
548
|
let update;
|
|
663
549
|
if (cardinality === "MANY") {
|
|
664
|
-
update = object
|
|
550
|
+
update = object
|
|
551
|
+
.getStore()
|
|
552
|
+
.deleteItemFromCollection(object.getUuid(), property, index, info.hash, "hash");
|
|
665
553
|
}
|
|
666
554
|
else {
|
|
667
555
|
object.getStore().removeAttribute(object.getUuid(), property);
|
|
@@ -678,178 +566,26 @@ export class BinaryService extends Service {
|
|
|
678
566
|
* @param req
|
|
679
567
|
* @returns
|
|
680
568
|
*/
|
|
681
|
-
async
|
|
682
|
-
|
|
683
|
-
|
|
569
|
+
async getFile(req) {
|
|
570
|
+
const { size } = req.getParameters();
|
|
571
|
+
let { mimetype, name } = req.getParameters();
|
|
572
|
+
if (size > this.parameters.maxFileSize) {
|
|
573
|
+
throw new WebdaError.BadRequest("File too big");
|
|
574
|
+
}
|
|
575
|
+
const file = await req.getRawInput(size ?? this.parameters.maxFileSize);
|
|
576
|
+
mimetype ?? (mimetype = "application/octet-stream");
|
|
577
|
+
name ?? (name = "data.bin");
|
|
684
578
|
return new MemoryBinaryFile(Buffer.from(file), {
|
|
685
|
-
mimetype
|
|
686
|
-
size
|
|
687
|
-
name:
|
|
579
|
+
mimetype,
|
|
580
|
+
size,
|
|
581
|
+
name: name,
|
|
582
|
+
hash: crypto.createHash("md5").update(file).digest("hex"),
|
|
583
|
+
challenge: crypto
|
|
584
|
+
.createHash("md5")
|
|
585
|
+
.update("WEBDA" + file)
|
|
586
|
+
.digest("hex")
|
|
688
587
|
});
|
|
689
588
|
}
|
|
690
|
-
/**
|
|
691
|
-
* @override
|
|
692
|
-
*/
|
|
693
|
-
initRoutes() {
|
|
694
|
-
if (!this.parameters.expose) {
|
|
695
|
-
return;
|
|
696
|
-
}
|
|
697
|
-
this._initRoutes();
|
|
698
|
-
}
|
|
699
|
-
/**
|
|
700
|
-
* Init the Binary system routes
|
|
701
|
-
*
|
|
702
|
-
* Making sure parameters.expose exists prior
|
|
703
|
-
*/
|
|
704
|
-
_initRoutes() {
|
|
705
|
-
let url;
|
|
706
|
-
let name = this.getOperationName();
|
|
707
|
-
if (!this.parameters.expose.restrict.get) {
|
|
708
|
-
url = this.parameters.expose.url + "/{store}/{uuid}/{property}/{index}";
|
|
709
|
-
this.addRoute(url, ["GET"], this.httpGet, {
|
|
710
|
-
get: {
|
|
711
|
-
operationId: `get${name}Binary`,
|
|
712
|
-
description: "Download a binary linked to an object",
|
|
713
|
-
summary: "Download a binary",
|
|
714
|
-
responses: {
|
|
715
|
-
"200": {
|
|
716
|
-
description: "Binary stream"
|
|
717
|
-
},
|
|
718
|
-
"403": {
|
|
719
|
-
description: "You don't have permissions"
|
|
720
|
-
},
|
|
721
|
-
"404": {
|
|
722
|
-
description: "Object does not exist or attachment does not exist"
|
|
723
|
-
},
|
|
724
|
-
"412": {
|
|
725
|
-
description: "Provided hash does not match"
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
});
|
|
730
|
-
this.addRoute(url + "/url", ["GET"], this.httpGet, {
|
|
731
|
-
get: {
|
|
732
|
-
operationId: `get${name}BinaryInfo`,
|
|
733
|
-
description: "Return the url and information of a binary linked to an object",
|
|
734
|
-
summary: "GetInfo of a binary",
|
|
735
|
-
responses: {
|
|
736
|
-
"200": {
|
|
737
|
-
description: "Url and BinaryMap"
|
|
738
|
-
},
|
|
739
|
-
"403": {
|
|
740
|
-
description: "You don't have permissions"
|
|
741
|
-
},
|
|
742
|
-
"404": {
|
|
743
|
-
description: "Object does not exist or attachment does not exist"
|
|
744
|
-
},
|
|
745
|
-
"412": {
|
|
746
|
-
description: "Provided hash does not match"
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
}
|
|
750
|
-
});
|
|
751
|
-
}
|
|
752
|
-
if (!this.parameters.expose.restrict.create) {
|
|
753
|
-
// No need the index to add file
|
|
754
|
-
url = this.parameters.expose.url + "/{store}/{uuid}/{property}";
|
|
755
|
-
this.addRoute(url, ["POST"], this.httpRoute, {
|
|
756
|
-
post: {
|
|
757
|
-
operationId: `add${name}Binary`,
|
|
758
|
-
description: "Add a binary linked to an object",
|
|
759
|
-
summary: "Add a binary",
|
|
760
|
-
responses: {
|
|
761
|
-
"200": {
|
|
762
|
-
description: ""
|
|
763
|
-
},
|
|
764
|
-
"403": {
|
|
765
|
-
description: "You don't have permissions"
|
|
766
|
-
},
|
|
767
|
-
"404": {
|
|
768
|
-
description: "Object does not exist or attachment does not exist"
|
|
769
|
-
},
|
|
770
|
-
"412": {
|
|
771
|
-
description: "Provided hash does not match"
|
|
772
|
-
}
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
});
|
|
776
|
-
}
|
|
777
|
-
if (!this.parameters.expose.restrict.create) {
|
|
778
|
-
// Add file with challenge
|
|
779
|
-
url = this.parameters.expose.url + "/upload/{store}/{uuid}/{property}";
|
|
780
|
-
this.addRoute(url, ["PUT"], this.httpChallenge, {
|
|
781
|
-
put: {
|
|
782
|
-
operationId: `put${name}Binary`,
|
|
783
|
-
description: "Add a binary to an object after challenge",
|
|
784
|
-
summary: "Add a binary",
|
|
785
|
-
responses: {
|
|
786
|
-
"204": {
|
|
787
|
-
description: ""
|
|
788
|
-
},
|
|
789
|
-
"403": {
|
|
790
|
-
description: "You don't have permissions"
|
|
791
|
-
},
|
|
792
|
-
"404": {
|
|
793
|
-
description: "Object does not exist or attachment does not exist"
|
|
794
|
-
},
|
|
795
|
-
"412": {
|
|
796
|
-
description: "Provided hash does not match"
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
}
|
|
800
|
-
});
|
|
801
|
-
}
|
|
802
|
-
if (!this.parameters.expose.restrict.delete) {
|
|
803
|
-
// Need hash to avoid concurrent delete
|
|
804
|
-
url = this.parameters.expose.url + "/{store}/{uuid}/{property}/{index}/{hash}";
|
|
805
|
-
this.addRoute(url, ["DELETE"], this.httpRoute, {
|
|
806
|
-
delete: {
|
|
807
|
-
operationId: `delete${name}Binary`,
|
|
808
|
-
description: "Delete a binary linked to an object",
|
|
809
|
-
summary: "Delete a binary",
|
|
810
|
-
responses: {
|
|
811
|
-
"204": {
|
|
812
|
-
description: ""
|
|
813
|
-
},
|
|
814
|
-
"403": {
|
|
815
|
-
description: "You don't have permissions"
|
|
816
|
-
},
|
|
817
|
-
"404": {
|
|
818
|
-
description: "Object does not exist or attachment does not exist"
|
|
819
|
-
},
|
|
820
|
-
"412": {
|
|
821
|
-
description: "Provided hash does not match"
|
|
822
|
-
}
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
if (!this.parameters.expose.restrict.metadata) {
|
|
828
|
-
// Need hash to avoid concurrent delete
|
|
829
|
-
url = this.parameters.expose.url + "/{store}/{uuid}/{property}/{index}/{hash}";
|
|
830
|
-
this.addRoute(url, ["PUT"], this.httpRoute, {
|
|
831
|
-
put: {
|
|
832
|
-
operationId: `update${name}BinaryMetadata`,
|
|
833
|
-
description: "Update a binary metadata linked to an object",
|
|
834
|
-
summary: "Update a binary metadata",
|
|
835
|
-
responses: {
|
|
836
|
-
"204": {
|
|
837
|
-
description: ""
|
|
838
|
-
},
|
|
839
|
-
"403": {
|
|
840
|
-
description: "You don't have permissions"
|
|
841
|
-
},
|
|
842
|
-
"404": {
|
|
843
|
-
description: "Object does not exist or attachment does not exist"
|
|
844
|
-
},
|
|
845
|
-
"412": {
|
|
846
|
-
description: "Provided hash does not match"
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
|
-
});
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
589
|
/**
|
|
854
590
|
* Return the name of the service for OpenAPI
|
|
855
591
|
* @returns
|
|
@@ -862,125 +598,20 @@ export class BinaryService extends Service {
|
|
|
862
598
|
* @param ctx
|
|
863
599
|
* @returns
|
|
864
600
|
*/
|
|
865
|
-
|
|
601
|
+
verifyMapAndStore(ctx) {
|
|
866
602
|
// Check for model
|
|
867
|
-
if (ctx.parameter("model")) {
|
|
868
|
-
|
|
869
|
-
throw new WebdaError.NotFound("Model not managed by this store");
|
|
870
|
-
}
|
|
871
|
-
return this.getWebda().getModelStore(this.getWebda().getModel(ctx.parameter("model")));
|
|
872
|
-
}
|
|
873
|
-
let store = ctx.parameter("store").toLowerCase();
|
|
874
|
-
// To avoid any problem lowercase everything
|
|
875
|
-
let map = this.parameters.map[this._lowercaseMaps[store]];
|
|
876
|
-
if (map === undefined) {
|
|
877
|
-
throw new WebdaError.NotFound("Unknown map");
|
|
878
|
-
}
|
|
879
|
-
if (!map.includes(ctx.parameter("property"))) {
|
|
880
|
-
throw new WebdaError.NotFound("Unknown property");
|
|
603
|
+
if (this.handleBinary(ctx.parameter("model"), ctx.parameter("property")) === -1) {
|
|
604
|
+
throw new WebdaError.NotFound("Model not managed by this store");
|
|
881
605
|
}
|
|
882
|
-
|
|
883
|
-
if (targetStore === undefined) {
|
|
884
|
-
throw new WebdaError.NotFound("Unknown store");
|
|
885
|
-
}
|
|
886
|
-
return targetStore;
|
|
606
|
+
return this.getWebda().getModelStore(this.getWebda().getModel(ctx.parameter("model")));
|
|
887
607
|
}
|
|
888
608
|
/**
|
|
889
609
|
* By default no challenge is managed so throws 404
|
|
890
610
|
*
|
|
891
|
-
* @param ctx
|
|
892
611
|
*/
|
|
893
|
-
async putRedirectUrl(
|
|
612
|
+
async putRedirectUrl(...args) {
|
|
894
613
|
// Dont handle the redirect url
|
|
895
614
|
throw new WebdaError.NotFound("No redirect url");
|
|
896
615
|
}
|
|
897
|
-
/**
|
|
898
|
-
* Mechanism to add a data based on challenge
|
|
899
|
-
*/
|
|
900
|
-
async httpChallenge(ctx) {
|
|
901
|
-
let body = await ctx.getRequestBody();
|
|
902
|
-
if (!body.hash || !body.challenge) {
|
|
903
|
-
throw new WebdaError.BadRequest("Missing hash or challenge");
|
|
904
|
-
}
|
|
905
|
-
// First verify if map exist
|
|
906
|
-
let targetStore = this._verifyMapAndStore(ctx);
|
|
907
|
-
// Get the object
|
|
908
|
-
let object = await targetStore.get(ctx.parameter("uuid"), ctx);
|
|
909
|
-
if (object === undefined) {
|
|
910
|
-
throw new WebdaError.NotFound("Object does not exist");
|
|
911
|
-
}
|
|
912
|
-
await object.checkAct(ctx, "attach_binary");
|
|
913
|
-
let url = await this.putRedirectUrl(ctx);
|
|
914
|
-
let base64String = Buffer.from(body.hash, "hex").toString("base64");
|
|
915
|
-
ctx.write({
|
|
916
|
-
...url,
|
|
917
|
-
done: url === undefined,
|
|
918
|
-
md5: base64String
|
|
919
|
-
});
|
|
920
|
-
}
|
|
921
|
-
/**
|
|
922
|
-
* Manage the different routes
|
|
923
|
-
* @param ctx
|
|
924
|
-
*/
|
|
925
|
-
async httpRoute(ctx) {
|
|
926
|
-
// First verify if map exist
|
|
927
|
-
let targetStore = this._verifyMapAndStore(ctx);
|
|
928
|
-
// Get the object
|
|
929
|
-
let object = await targetStore.get(ctx.parameter("uuid"), ctx);
|
|
930
|
-
if (object === undefined) {
|
|
931
|
-
throw new WebdaError.NotFound("Object does not exist");
|
|
932
|
-
}
|
|
933
|
-
const { property, index } = ctx.getParameters();
|
|
934
|
-
// Current file - would be empty on creation
|
|
935
|
-
const file = Array.isArray(object[property]) ? object[property][index] : object[property];
|
|
936
|
-
// Check permissions
|
|
937
|
-
let action = "unknown";
|
|
938
|
-
if (ctx.getHttpContext().getMethod() === "DELETE") {
|
|
939
|
-
action = "detach_binary";
|
|
940
|
-
}
|
|
941
|
-
else if (ctx.getHttpContext().getMethod() === "POST") {
|
|
942
|
-
action = "attach_binary";
|
|
943
|
-
}
|
|
944
|
-
else if (ctx.getHttpContext().getMethod() === "PUT") {
|
|
945
|
-
action = "update_binary_metadata";
|
|
946
|
-
}
|
|
947
|
-
await object.checkAct(ctx, action);
|
|
948
|
-
// Now do the action
|
|
949
|
-
if (ctx.getHttpContext().getMethod() === "POST") {
|
|
950
|
-
await this.store(object, property, await this._getFile(ctx));
|
|
951
|
-
}
|
|
952
|
-
else {
|
|
953
|
-
if (file.hash !== ctx.parameter("hash")) {
|
|
954
|
-
throw new WebdaError.BadRequest("Hash does not match");
|
|
955
|
-
}
|
|
956
|
-
if (ctx.getHttpContext().getMethod() === "DELETE") {
|
|
957
|
-
await this.delete(object, property, index);
|
|
958
|
-
}
|
|
959
|
-
else if (ctx.getHttpContext().getMethod() === "PUT") {
|
|
960
|
-
let metadata = await ctx.getRequestBody();
|
|
961
|
-
// Limit metadata to 4kb
|
|
962
|
-
if (JSON.stringify(metadata).length >= 4096) {
|
|
963
|
-
throw new WebdaError.BadRequest("Metadata is too big: 4kb max");
|
|
964
|
-
}
|
|
965
|
-
let evt = {
|
|
966
|
-
service: this,
|
|
967
|
-
object: file,
|
|
968
|
-
target: object
|
|
969
|
-
};
|
|
970
|
-
await this.emitSync("Binary.MetadataUpdate", {
|
|
971
|
-
...evt,
|
|
972
|
-
metadata
|
|
973
|
-
});
|
|
974
|
-
file.metadata = metadata;
|
|
975
|
-
// Update mapper on purpose
|
|
976
|
-
await object.getStore().patch({
|
|
977
|
-
[object.__class.getUuidField()]: object.getUuid(),
|
|
978
|
-
[property]: object[property]
|
|
979
|
-
}, false);
|
|
980
|
-
this.metrics.metadataUpdate.inc();
|
|
981
|
-
await this.emitSync("Binary.MetadataUpdated", evt);
|
|
982
|
-
}
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
616
|
}
|
|
986
617
|
//# sourceMappingURL=binary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
|