{"_id":"@boostercloud/rocket-storage-aws-infrastructure","_rev":"19-61cce14a52b256815acf18780ed7a5f9","name":"@boostercloud/rocket-storage-aws-infrastructure","dist-tags":{"latest":"1.0.5-alpha"},"versions":{"1.0.0":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.0","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.0","maintainers":[{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"604bd48b693311640328649692868b1e50549a01","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.0.tgz","fileCount":1186,"integrity":"sha512-Zc162iZWrT7IQWnLjbfp+7iARdgbGFePBnmTZAnYGY84OcV5bEPyJonIhIn4Pdy1V5xatGjsHaGPU7gRGQ/9Ew==","signatures":[{"sig":"MEUCIG1felHjc/4vEL/XhCl9ui/lFUug2z18670p1NL66ZzSAiEAwI0T0E9Al+55XeTJugh/9NwjM0xMKtSQZfWLHEfkqVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4344535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv05BCRA9TVsSAnZWagAARkQP/3LRz1teplsDhIzHhmSI\n4X4fxgLL/3WECEDTerfujOlqrTaA+qhtB2i1MX4v2C2Q7L0ETMkqXPk1W0oX\nqaNPClzQ9PoFuvKMZRaTKjLmHzJc7ApZizn4qSi/MmlbUR1wrYC53tm3o/1/\n2Ke8/jcGloRAivc2WBZRaP44tlYDalBSOzFlAAgYcmw8u254q4WZDb12Aqap\nrprnH68sAZY27yz76betKDZPYL6MhLSan+2cGOaxNEJT3QenDOyA5IMmeWKv\nzMigzpyXNao0ZAZiOjPu2ckd0vPsHjj6ATxyQnatRgSf1NFXV5O0t3bqZZ5C\nTHRvl6gjOBgONgpbcsKhoGKxFnpArwhPtk2Zbti8OPfWs/bZWBOgaiFwz1Uc\nIBuctTPdmAz0aoBm29ZRqcZ6e8yBLjw46/wPpcJZjOvloHnuxWd4QhodVF+t\nHpNFMhdaKPvfC5intlnXmpMKZhBMy/zDISvi42Orqh29xw0KRQjUZNATA2X8\n97rm+B+lajLh1K4bMnbLA/dNKh6yIidGz7AdejhRU9hKXva83cV/BULM/WT+\n/m4ZL/CF//hCx9M+trlKD8DeYoo9ov2k1d6/X+2I+r7MtuFf9DdEP/xuBaeD\nc93Ai7jCf4/s6Pz+S4N7J+iMrUcIgbtBR1BpT1cg1MxZjXjG1SrXDfIbUNHj\nxjuo\r\n=TOd6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"840037c304c63b5d86508274224111b89c13e157","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"tsc -b tsconfig.json","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","postcompile":"cp -R src/lambdas/s3Operations/node_modules dist/lambdas/s3Operations; cp -R src/lambdas/s3Trigger/node_modules dist/lambdas/s3Trigger","postinstall":"npm --prefix src/lambdas/s3Operations install; npm --prefix src/lambdas/s3Trigger install","testinstall":"rm -rf ./node_modules; rm package-lock.json; npm install --registry http://localhost:4873","localpublish":"npm publish --registry http://localhost:4873"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"7.11.1","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"14.15.1","dependencies":{"tslib":"^2.0.3"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.91.0","@aws-cdk/aws-iam":"1.91.0","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","@aws-cdk/aws-lambda":"1.91.0","@aws-cdk/aws-dynamodb":"1.91.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@aws-cdk/aws-apigateway":"1.91.0","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.16.2","@boostercloud/framework-types":"0.16.2","@typescript-eslint/eslint-plugin":"^2.18.0","@aws-cdk/aws-lambda-event-sources":"1.91.0","@boostercloud/framework-provider-aws-infrastructure":"0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.0_1623150144869_0.9718288693692916","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.1","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.1","maintainers":[{"name":"adrian.gonzalez","email":"adriangonzalez@theagilemonkeys.com"},{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"fd30d80a97764038407470399ded8224b031e359","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.1.tgz","fileCount":1186,"integrity":"sha512-mGaWmXAvQR2JWK4VW+Y43RYG2zRJn/M8VxJWKGtnoQFcCf6ELx4jwWgWoi5G5doUM38wUAIRedxHPMxkNLZ7nw==","signatures":[{"sig":"MEUCIA6pE2CIqjFPHd4gkMK70eOJYVSxBsJUDl5xAh8Cg2CwAiEA9fZM+te62bw/hXB4l504maiXaCjlkzqmu+g9cBThUX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4343764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxxB+CRA9TVsSAnZWagAAiPUP/iP+ZUydVxoEUfTAmW4t\nboSaWMPVUTJ6TX9eR1InaawLJhg/O1lilVB8rxXtKfEh9S5ERZd7f5YTT2Rt\nGiuYNRp+xB6Wo07gCPq2iiGPOnGHzDrCErlSFVEOfcT3ouyUPw8B2jEXzng2\nWaASyW+Oy5/a7ayopHzXGNfelcQ01JAp0vFQHgQRujUFXdrB6qbb4e3Dh6/f\nSFPYQXW1mLFd+6TvFPS0++MVpSKGTIvBLzOpkGI03r6DSopFZJCVrk3m/P1o\nXqPROd7SZ8BRhcun0mpy0hzWhELR3ojauklvFJRVPxhWS8nL8EoklhbcEv1d\nhYF19yhGz0swzXumIWghsRNvUUJHDEqEh9no8zzuCrm9FYuerBUFD+VxOLdY\nonLiTM/kzojuiQ03ip7LUyrRIu+ind8mMl5NtZpkhbgjPgcabP60ZbHtkWWh\nOH1+P/RxBZfTQiyOUSIK2xEcQ17leCOZpLyFzveA0Zq81dX/kKQFpIgVdV5b\nrsgXmFDgYLOQc5Rje3lkRkRoCTHwF199QF3xQLiDZW10WDmba59oG0YX3QlH\nQ2erWQyCeWkVuqDZkEWPOw1CEhy2Lb33Mwkzyt99qd7GQDuhuRdnkId0Zzfj\nrxhh3DeWWvniqaqFFXDqpwzEe6jO6ULiMepaxWdB5/OYD3FzKJTKjXXirvkz\n4GNO\r\n=BjL6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"d6649671690ec3cfe5b3a9702447d89a6c853113","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"tsc -b tsconfig.json","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","postcompile":"cp -R src/lambdas/operations/node_modules dist/lambdas/operations; cp -R src/lambdas/trigger/node_modules dist/lambdas/trigger","postinstall":"npm --prefix src/lambdas/operations install --production --no-bin-links --no-optional; npm --prefix src/lambdas/trigger install --production --no-bin-links --no-optional","testinstall":"rm -rf ./node_modules; rm package-lock.json; npm install --registry http://localhost:4873","localpublish":"npm publish --registry http://localhost:4873"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"7.16.0","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"16.3.0","dependencies":{"tslib":"^2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.91.0","@aws-cdk/aws-iam":"1.91.0","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","@aws-cdk/aws-lambda":"1.91.0","eslint-plugin-import":"^2.23.0","@aws-cdk/aws-dynamodb":"1.91.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@aws-cdk/aws-apigateway":"1.91.0","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.16.2","@boostercloud/framework-types":"0.16.2","@typescript-eslint/eslint-plugin":"^2.18.0","@aws-cdk/aws-lambda-event-sources":"1.91.0","@boostercloud/framework-provider-aws-infrastructure":"0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.1_1623658622178_0.4228110226534001","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.2","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.2","maintainers":[{"name":"adrian.gonzalez","email":"adriangonzalez@theagilemonkeys.com"},{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"695343b2c07d7ac698c36c1691639b9822de04f5","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.2.tgz","fileCount":1186,"integrity":"sha512-2ecDoIne/kvV+MufR+wWtS0mXA1NaqdXmSkLcwit90htHSDAsoSi4zzKyF9mv3n4XupOEqujK6zzQOSNRVN6+A==","signatures":[{"sig":"MEUCIGjWsQ3UJGS20XkGCU2/R04QJGElteBmRfYjfZ3XGjgtAiEAyTrKfIpEDYqUdcdK5PE97QO/3R3yFt4Bki1xhzHUbfw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4344262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxz3RCRA9TVsSAnZWagAAwi0P/1rjkx4FjpS+Uc/tt80x\nUAyuzEQ9zsyhWuc7SOkJVki9kTyohB9hgfvrAtGs6AuCyfZ5bq3bkiujAScY\nUBplL3QaPSHsj1XhkJ06FdwmALC12pPffsSc20ao+M3PY+efuLuR4jpXz/oy\n9ADRICj6QevCalIfsRSzyJ0d5D68MKtEMi3ehnGgohSadOWpJV7DUUJD31UT\njOcelu898fotE6GoWTPeAddYS+xKnh270T0/O84rmH4mYP2fb0jMFrYKjGm5\nx9TwmK/Q8peS6vSP9lT7kB94yJx0ebEpzDomExSc3OmyXdSumza8L36OILMJ\nNM/Xs630nLJd2KpCTfyDU+dzdFKKccYeRNBYYPt++6x/D7IjzsuaRA4KOARl\nzaC3dCMULIvrRxY7Qod2hJmJb/4af5fLRh/ARsituNBbtqzflIrTNMTL6qAZ\n8S1+towKQFY+nCrpiI7yAUgWCuppEa2zqrnWKU+hng7JjX9XW5HBO0uYKVrO\nokP2vQICfY+bEfgj6XsFnMJxTx6QoPua+JY1CqTf6Lzk0k69yWDoM3+OMau+\niauBRsmnamhmvu1KVctb2fXSA6OAEWjI832j+BSPIrrgj/gzDZI025LoONKg\njsv750sf+2Vn2XwhIJoCtJv95k3AQU7vk3dTRaAzY2MX12DLAKzZwJmR3+zp\na3qK\r\n=Krk7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"a1312368335718e9ca49e9ee7faae6e16c44f5bb","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"tsc -b tsconfig.json","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","postcompile":"cp -R src/lambdas/operations/node_modules dist/lambdas/operations; cp -R src/lambdas/trigger/node_modules dist/lambdas/trigger","postinstall":"npm --prefix src/lambdas/operations install --production --no-bin-links --no-optional; npm --prefix src/lambdas/trigger install --production --no-bin-links --no-optional","testinstall":"rm -rf ./node_modules; rm package-lock.json; npm install --registry http://localhost:4873","localpublish":"npm publish --registry http://localhost:4873"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"7.16.0","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"16.3.0","dependencies":{"tslib":"^2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.91.0","@aws-cdk/aws-iam":"1.91.0","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","@aws-cdk/aws-lambda":"1.91.0","eslint-plugin-import":"^2.23.0","@aws-cdk/aws-dynamodb":"1.91.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@aws-cdk/aws-apigateway":"1.91.0","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.16.2","@boostercloud/framework-types":"0.16.2","@typescript-eslint/eslint-plugin":"^2.18.0","@aws-cdk/aws-lambda-event-sources":"1.91.0","@boostercloud/framework-provider-aws-infrastructure":"0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.2_1623670224858_0.9840750367929059","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.3","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.3","maintainers":[{"name":"adrian.gonzalez","email":"adriangonzalez@theagilemonkeys.com"},{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"7ac595177784a1bc476436f5fba7120e9904579a","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.3.tgz","fileCount":1876,"integrity":"sha512-MH5K0lGAO6dXD0IOddNZV8w6ukGrrdJhGiVd32EElxTJBLz3QB6a0eHQ3vn4PhOz0/D/jykLJUT6Wu3CEhLb0w==","signatures":[{"sig":"MEUCIQDWeUhYfug68V4f0dk4Xgn4pyisetcNQjeY2b1+Lx58LQIgXhUhclmeOzSN95yL8Cg6ci7gBJHcU0SEyCSlIyq2Yrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6657910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyNdeCRA9TVsSAnZWagAApMsP/3HaAlsssi9TC5tAYssJ\nvwWStdisKLZV8vVbFuS9NsGdASjcSGWWq3eobObymAEw1STkqFYfuZWO9/b4\ne0fBT12+OEqS4vLqSAzaSnfedEXMkhtuETNzAEWd/jpeMpNY5ZdYJYrU199U\nIE9MY/H+HRoWMKOVJs1ted6wHnOlBk7/+JQhckyh3SrBce0gAF2qXvghqNKv\nnii3KIrcOcfbDm2W8sh8eAWAm7fOBaaY0bJf04cGNkZ74cliLOncr1hRiGXw\nE6t7quZLKgjtRywKJQF987JbXiKb46SPpztdWVnPdPJkVVju1Q54MrhbSiXb\nhqAfQTeKQVt+JOE9rjer41qjXUy8TyWwOromkRg0HpU6BCMxsVENVg2Jv/aQ\niyratpLx3Bt2caXE9yhQ+9aQls9uxzrQNvmNk7ViZd2CSfYhCfQ+oHeO2N8a\n9OxT/3JECt8GxJdzxH5aKEywhHbFzzCelIGAdW5vKijoqWyPhk7D21C6r8vq\nve2lQtFSqKIfdmaFddurYiUoNHiaxkhTGMHIrmzBkFs3fdUp/iZ6JVEPCR5Y\nUXC20GaPBN+coeN3+95FO3+bemHwWlhDVDbQwMYOU9Hp+22UYpXW6EnxK0/c\nQhkSo/WpFmqRIBDqI1fC55FH0fKemrGBlovv4hozqgUhue6D7+jtDAcP1GeG\nbTMQ\r\n=HqLm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"a1d0afec78b572e80fad5b52c7bfb7248af2ab55","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"npm run lambdas:install; tsc -b tsconfig.json; npm run lambdas:postcompile","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","publish:local":"npm publish --registry http://localhost:4873","publish:npmjs":"npm run clean; npm run compile; npm publish","lambdas:install":"npm --prefix src/lambdas/operations install --production --no-bin-links --no-optional; npm --prefix src/lambdas/trigger install --production --no-bin-links --no-optional","lambdas:postcompile":"cp -R src/lambdas/operations/node_modules dist/lambdas/operations; cp -R src/lambdas/trigger/node_modules dist/lambdas/trigger"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"7.16.0","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"16.3.0","dependencies":{"tslib":"^2.0.3","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.91.0","@aws-cdk/aws-iam":"1.91.0","@aws-cdk/aws-lambda":"1.91.0","@aws-cdk/aws-dynamodb":"1.91.0","@aws-cdk/aws-apigateway":"1.91.0","@aws-cdk/aws-lambda-event-sources":"1.91.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","eslint-plugin-import":"^2.23.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.16.2","@boostercloud/framework-types":"0.16.2","@typescript-eslint/eslint-plugin":"^2.18.0","@boostercloud/framework-provider-aws":"0.16.2","@boostercloud/framework-provider-aws-infrastructure":"0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.3_1623775070453_0.2805811414655972","host":"s3://npm-registry-packages"}},"1.0.4-alpha":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.4-alpha","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.4-alpha","maintainers":[{"name":"gjaubert","email":"gonzalo@theagilemonkeys.com"},{"name":"juanjoman","email":"juanjo@theagilemonkeys.com"},{"name":"adrian.theam","email":"adrian@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"adrian.gonzalez","email":"adriangonzalez@theagilemonkeys.com"},{"name":"adayb","email":"aday@theagilemonkeys.com"},{"name":"marcastr0","email":"mario.castro.squella@gmail.com"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"cd70056a2a2888bfff52449ba125625d96a18989","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.4-alpha.tgz","fileCount":2,"integrity":"sha512-jn4Np0Z3FsuCO0RiWANIrGfDzJ+s9V7zShil2ubs7oStWq5gaKJxF4vO8/DxrzBTkckgt3HcGqPY+9Ws6pvkUg==","signatures":[{"sig":"MEUCIQCmYU9j0iNW4YYfFZYE3iQatiLtldgZ1+wl/5kgZWxrnQIgQbngY2GYMGe10IO++E9SgCIQRlrpfeYSneM/L28Jv00=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMJAbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpu7Q/9GpZln/5DVU4OHML8SV7XrLTK8Q+ysW0PaQFRrRkPXfJFL9xk\r\nJccZekhHTD6Q5x1VmARP69kE5ybuKXmLDy369TulLuHNBlcSUr9aGbcU42As\r\nFNKZxOkFEIOZD5fzDq25+HDVn5hggeR7ABKbiecEP5oK0jPWik1sq4RA1q3p\r\na7PWVkbCRNT2kABUjw++2WkGMC3lXKzEMQb/I+FzyECIARoHLORl923KlY3k\r\nUpHH38Ymz/S4XcJkWREYcbqL/BqY+afRqyNqP9/nWz5Gn79ngt5BvRchvI+7\r\nM5TLVT64nCBybfgH9ozBItL7MUrJbNbqQTVRhtE18SqZYOfCMREiN+H36U/B\r\nQH3C6X1YFUzXb0ur0zZi31hLHeP7njzUVh6ySCxAr4UzCAsK8A/GvYf1VOkF\r\niACvXdEAXxO4XQeNp0je+R3JHEUJtgl3StGo4iGW/3nOf3NS2wtgTbs7p/75\r\n2N3V6AgbDSbqkdxQSVEyfTKtIsGLC23wmrFgrBaM/zOhOTv7bC60Nza/60uU\r\n+NTNOlQiimbPMOIKaVmQpswsvYs5wQJftuT4Leo/cYUOPmT7MsISRCk1lUST\r\nkpEftrW0NyJ0nAzZqr3WAjARz8f4KN1+qUn8EVMflMh3f3jS1QSE7W8erZMt\r\nHYfdaFynwtQiBKn8SQaNOpkSzjIpZ8IjvWU=\r\n=nufZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"4969f99b34f6dc7d3c936238b21792b544993677","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"npm run lambdas:install; tsc -b tsconfig.json; npm run lambdas:postcompile","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","publish:local":"npm publish --registry http://localhost:4873","publish:npmjs":"npm run clean; npm run compile; npm publish","lambdas:install":"npm --prefix src/lambdas/operations install --production --no-bin-links --no-optional; npm --prefix src/lambdas/trigger install --production --no-bin-links --no-optional","lambdas:postcompile":"cp -R src/lambdas/operations/node_modules dist/lambdas/operations; cp -R src/lambdas/trigger/node_modules dist/lambdas/trigger"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"8.3.1","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"16.14.0","dependencies":{"tslib":"^2.0.3","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.148.0","@aws-cdk/aws-iam":"1.91.0","@aws-cdk/aws-lambda":"1.148.0","@aws-cdk/aws-dynamodb":"1.91.0","@aws-cdk/aws-apigateway":"1.91.0","@aws-cdk/aws-lambda-event-sources":"1.148.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","eslint-plugin-import":"^2.23.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.26.4","@boostercloud/framework-types":"0.26.4","@typescript-eslint/eslint-plugin":"^2.18.0","@boostercloud/framework-provider-aws":"0.26.4","@boostercloud/framework-provider-aws-infrastructure":"0.26.4"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.4-alpha_1647349787836_0.7546510026130671","host":"s3://npm-registry-packages"}},"1.0.5-alpha":{"name":"@boostercloud/rocket-storage-aws-infrastructure","version":"1.0.5-alpha","keywords":["Booster","plugin","aws","s3","storage"],"author":{"name":"Booster Cloud"},"license":"Apache-2.0","_id":"@boostercloud/rocket-storage-aws-infrastructure@1.0.5-alpha","maintainers":[{"name":"gjaubert","email":"gonzalo@theagilemonkeys.com"},{"name":"juanjoman","email":"juanjo@theagilemonkeys.com"},{"name":"adrian.theam","email":"adrian@theagilemonkeys.com"},{"name":"nickseagull","email":"nikitatchayka+npmjs@outlook.com"},{"name":"alvaroloes","email":"alvaro@booster.cloud"},{"name":"javiertoledo","email":"javier@booster.cloud"},{"name":"charlietfe","email":"carlos@theagilemonkeys.com"},{"name":"laiaperez","email":"laia@theagilemonkeys.com"},{"name":"otoumas","email":"tomas@theagilemonkeys.com"},{"name":"rdiaz_theam","email":"roberto@theagilemonkeys.com"},{"name":"rdoria","email":"rodrigo@theagilemonkeys.com"},{"name":"carlosper88","email":"carlosperez@theagilemonkeys.com"},{"name":"adrian.gonzalez","email":"adriangonzalez@theagilemonkeys.com"},{"name":"adayb","email":"aday@theagilemonkeys.com"},{"name":"marcastr0","email":"mario.castro.squella@gmail.com"}],"homepage":"https://booster.cloud","bugs":{"url":"https://github.com/boostercloud/booster/issues"},"dist":{"shasum":"911a5a037fac78a4cf34a2f6349b866c748806d1","tarball":"https://registry.npmjs.org/@boostercloud/rocket-storage-aws-infrastructure/-/rocket-storage-aws-infrastructure-1.0.5-alpha.tgz","fileCount":1876,"integrity":"sha512-Kz8si+aW6U/smIle9VjA/YXHBzVv4k6jZEFNkEimOnTGOyuFbAjzpYUnEP3hCfX21Rgb2hNX3nGBxymICfPpFg==","signatures":[{"sig":"MEUCIDwfcD17tmVaSUOiQepkg9RLLu/n/Kss3hgwLEsAgWMxAiEAnm/cs1U3eHSZhXVZ3UJhR0easX3ktiouWc1mN1ZsyQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6657217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMJwLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTWw//eY5MQkaszwt8nrBPJVxdrzbk/oICjPxuUXnlaGHgWt7nlgeK\r\nZZCtjspheWypgyErpHEMzFcKXhI9HzhDD3iS+ly7qeOn1IGkdi0VfjuoDqY6\r\nRrBoeAlJZwT1g+wvgmTwgymGX/zFfHsVQThf5QoTnCokvXBZ7m6Qpn9rohZV\r\nKWB39l9VbpyNUdyhIhEBz2T4Uu+T3AX1n2jiQjGRCalZD20XPcrZA9M5Zvfv\r\nX5Id6DSPt1Az6smb+wHt9Wpv0l35eupnalxyrt0P0e7Yds+eW9kgWUu2ZAMg\r\nrTah1KOVBlCGzP/xvZZVKmPKLKuN/DSlTe2TTi2vvORw9LpRTVBCeJFzYNP3\r\ny0bw9Ma4oV4AXCFRCi29KJJr1u4RAhKmfjn3ZmQCu2NROYaF/sf+O6FrZ5ct\r\npatwHRUFuXcE3qamBhgU40ViPpG++iVHHt9DrTT4jcnWwITWikgEJbD2/mn/\r\n+miIvsXOUs6JCXGJQCAIjnR5oraV3B2q5GgV8sM6iNvG324UerYGKQ36RM8m\r\nSoJeVIy6VqFdLTB+d7yPof8hBPCeFgeuWK6OtujTjxlPcAiTMfLLrNT30lTI\r\nPop3jEkcJ2sip6gJfURc7Dak1aXnyGsJaYv/fzBKHEsEwdV0ozHTtBtYWg3j\r\nRrnPmYWL68BMZ0hBoUZsi1JYmoQ4NiOiQTc=\r\n=Si6X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4969f99b34f6dc7d3c936238b21792b544993677","scripts":{"test":"nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"","clean":"rimraf ./dist tsconfig.tsbuildinfo","compile":"npm run lambdas:install; tsc -b tsconfig.json; npm run lambdas:postcompile","lint:fix":"eslint --quiet --fix --ext '.js,.ts' **/*.ts","lint:check":"eslint --ext '.js,.ts' **/*.ts","publish:local":"npm publish --registry http://localhost:4873","publish:npmjs":"npm run clean; npm run compile; npm publish","lambdas:install":"npm --prefix src/lambdas/operations install --production --no-bin-links --no-optional; npm --prefix src/lambdas/trigger install --production --no-bin-links --no-optional","lambdas:postcompile":"cp -R src/lambdas/operations/node_modules dist/lambdas/operations; cp -R src/lambdas/trigger/node_modules dist/lambdas/trigger"},"_npmUser":{"name":"otoumas","email":"tomas@theagilemonkeys.com"},"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"_npmVersion":"8.3.1","description":"AWS S3 Storage rocket","directories":{},"_nodeVersion":"16.14.0","dependencies":{"tslib":"^2.0.3","@aws-cdk/core":"1.91.0","@aws-cdk/aws-s3":"1.91.0","@aws-cdk/aws-iam":"1.91.0","@aws-cdk/aws-lambda":"1.91.0","@aws-cdk/aws-dynamodb":"1.91.0","@aws-cdk/aws-apigateway":"1.91.0","@aws-cdk/aws-lambda-event-sources":"1.91.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.0","chai":"4.2.0","faker":"5.1.0","mocha":"^7.0.1","sinon":"9.2.3","eslint":"^6.8.0","rimraf":"^3.0.1","aws-sdk":"2.764.0","ts-node":"^8.6.2","prettier":"^1.19.1","sinon-chai":"3.5.0","typescript":"^3.9.3","velocityjs":"^2.0.0","@types/chai":"^4.2.15","@types/nedb":"^1.8.11","@types/node":"^15.12.2","@types/faker":"5.1.5","@types/mocha":"^5.2.7","chai-as-promised":"7.1.1","metadata-booster":"0.3.1","@types/aws-lambda":"8.10.48","eslint-plugin-import":"^2.23.0","eslint-config-prettier":"^6.10.0","eslint-plugin-prettier":"^3.1.2","@types/chai-as-promised":"^7.1.3","@typescript-eslint/parser":"^2.18.0","@boostercloud/framework-core":"0.16.2","@boostercloud/framework-types":"0.16.2","@typescript-eslint/eslint-plugin":"^2.18.0","@boostercloud/framework-provider-aws":"0.16.2","@boostercloud/framework-provider-aws-infrastructure":"0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/rocket-storage-aws-infrastructure_1.0.5-alpha_1647352843008_0.09974869174575152","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-06-08T11:02:24.456Z","modified":"2026-06-17T11:30:44.649Z","1.0.0":"2021-06-08T11:02:25.091Z","1.0.1":"2021-06-14T08:17:02.442Z","1.0.2":"2021-06-14T11:30:25.087Z","1.0.3":"2021-06-15T16:37:50.655Z","1.0.4-alpha":"2022-03-15T13:09:47.980Z","1.0.5-alpha":"2022-03-15T14:00:43.469Z"},"bugs":{"url":"https://github.com/boostercloud/booster/issues"},"author":{"name":"Booster Cloud"},"license":"Apache-2.0","homepage":"https://booster.cloud","keywords":["Booster","plugin","aws","s3","storage"],"repository":{"url":"git+https://github.com/boostercloud/rocket-storage-aws-infrastructure.git","type":"git"},"description":"AWS S3 Storage rocket","maintainers":[{"email":"alvaro@booster.cloud","name":"alvaroloes"},{"email":"javier@booster.cloud","name":"javiertoledo"},{"email":"labs@theagilemonkeys.com","name":"agilemonkeys"},{"email":"mario.castro.squella@gmail.com","name":"marcastr0"},{"email":"andreduarte@theagilemonkeys.com","name":"andreduarte-am"}],"readme":"# Storage Rocket for AWS\n\nThis package is a configurable rocket to add a storage API based on S3 to your Booster applications.\n\n## Overview\n\nThis rocket generates an Api Gateway API to access an AWS S3 bucket. It provides the following methods:\n\n- `presignedPost`: Returns a presigned post url and the necessary form params. With this url files can be uploaded directly to S3. \n- `presignedGet`: Returns a presigned get url to download a file. With this url files can be downloaded directly from S3.\n- `upload`: Method to upload small files through the lambda function\n- `download`: Method to download small files through the lambda function\n- `remove`: Method to remove a file from S3 bucket\n\nThese endpoints may be secured via JWT Token. \n\n## Usage\n\nInstall this package as a `devDependency` in your project (It's a `devDependency` because it's only used during deployment, so we don't want this code to be uploaded to the project lambdas)\n\n```sh\nnpm install --save-dev @boostercloud/rocket-storage-aws-infrastructure\n```\n\nIn your Booster config file, pass a `RocketDescriptor` array to the AWS' `Provider` initializer configuring the storage rocket:\n\n```typescript\nimport { Booster } from '@boostercloud/framework-core'\nimport { BoosterConfig } from '@boostercloud/framework-types'\nimport * as AWS from '@boostercloud/framework-provider-aws'\n\nBooster.configure('environment', (config: BoosterConfig): void => {\n  config.appName = 'app-name'\n  config.tokenVerifier = {\n    issuer: string,\n    jwksUri: string,\n    rolesClaim: string\n  }\n  config.provider = Provider([{\n    packageName: '@boostercloud/rocket-storage-aws-infrastructure',\n    parameters: {\n      bucketName: 'bucketName',\n      fileAcl?: 'public-read',\n      authParams?: {\n        download?: []\n        presignedGet?: []\n        presignedPost?: ['Admin', 'CreatorRole'],\n        upload?: [],\n        remove?: [],\n      },\n    },\n  },])\n})\n```\n`bucketName` Specifies the bucket that will be created. It can't preexist. This is a limitation from AWS CDK.\n\n`fileAcl` Optional parameter to change the ACL of the files uploaded, default value is `public-read`.\n\nIf a method is not added to the `authParams` then that method will be public. \n\nIf at least one method is authenticated, then a tokenVerifier object must exist in the config object.\n\n`authParams` Parameter to set the different authorization roles for each of the endpoints. It is an optional parameter.\n\nIf a method is added to the `authParams` with an empty array in `authorizedRoles` then this method just needs an authenticated user.\n\nIf a method is added to the `authParams` with a non-empty array in `authorizedRoles` then this method is just available for the specified roles.\n\nEvery time a Put or Delete actions take place un the specified bucket a new event is generated in the event store.\n\n### PresignedPost Usage\nThe method presignedPost can be used with the following curl: \n```sh\ncurl -X POST --location {httpUrl}/storage/presignedPost \n    -H Content-Type: application/json; charset=utf-8\n    -H Authorization: Bearer {token}\n    -d  {\n          \"key\": \"s3/file/key\"\n        }\n```\n\nThis returns the following payload: \n```sh\n{\n  \"url\": \"https://s3.amazonaws.com/XXXXXXXXXXXXX\",\n  \"fields\": {\n    \"key\": \"${key}\",\n    \"acl\": \"public-read\",\n    \"bucket\": \"${bucket}\",\n    \"X-Amz-Algorithm\": \"XXXXXXXXXXXXX\",\n    \"X-Amz-Credential\": \"XXXXXXXXXXXXX\",\n    \"X-Amz-Date\": \"XXXXXXXXXXXXX\",\n    \"X-Amz-Security-Token\": \"XXXXXXXXXXXXX\",\n    \"Policy\": \"XXXXXXXXXXXXX\",\n    \"X-Amz-Signature\": \"XXXXXXXXXXXXX\"\n  },\n  \"fileUrl\": \"https://${bucket}.s3.amazonaws.com/${key}\"\n}\n```\n\nThat can be used in a new post rest call: \n```sh\ncurl --location --request POST \"${url}\" \\\n--form 'key=\"${key}\"' \\\n--form 'acl=\"public-read\"' \\\n--form 'bucketMethods=\"${bucketName}\"' \\\n--form 'X-Amz-Algorithm=\"XXXXXXXXXXXXX\"' \\\n--form 'X-Amz-Credential=\"XXXXXXXXXXXXX\"' \\\n--form 'X-Amz-Date=\"XXXXXXXXXXXXX\"' \\\n--form 'X-Amz-Security-Token=\"XXXXXXXXXXXXX\"' \\\n--form 'Policy=\"XXXXXXXXXXXXX\"' \\\n--form 'X-Amz-Signature=\"XXXXXXXXXXXXX\"' \\\n--form \"file=${selectFileToUpload}\"\n```\n\nNode example: \n```typescript\nconst { createReadStream } = require(\"fs\");\nconst FormData = require(\"form-data\");\n\nfunction uploadFile({url, fields, fileUrl}): string {\n  const form = new FormData();\n  Object.entries(fields).forEach(([field, value]) => {\n    form.append(field, value);\n  });\n  form.append(\"file\", createReadStream(\"path/to/a/file\"));\n  form.submit(url, (err, res) => {\n    //handle the response pseudoCode\n    // if (res.status === '204') {\n    //   return fileUrl\n    // }\n    // return error\n  });\n  \n}\n```\n\n### PresignedGet Usage\nThe method presignedGet can be used with the following curl: \n```shell\ncurl -X POST --location {httpUrl}/storage/presignedGet \n    -H Content-Type: application/json; charset=utf-8\n    -H Authorization: Bearer {token}\n    -d  {\n          \"key\": \"s3/file/key\"\n        }\n```\n\nThis returns the following payload:\n```shell\n{\n  \"url\": \"https://${bucket}.s3.amazonaws.com/${key}?AWSAccessKeyId=XXXX&Expires=XXXXX&Signature=XXXX&x-amz-security-token=XXXXXXX\"\n}\n```\nWith that Url the file can be downloaded\n\n### Upload usage\nThe method upload can be used with the following curl: \n````shell\ncurl -X POST --location \"{httpUrl}/storage/upload\" \\\n    -H Content-Type: application/json; charset=utf-8 \\\n    -H Authorization: Bearer {token} \\\n    -d {\n          \"key\": \"s3/file/key\",\n          \"fileContent\": \"this is the content of the file\"\n      }\n````\nThis returns the following payload:\n```shell\n{\n  \"url\": \"https://${bucket}.s3.amazonaws.com/${key}\"\n}\n```\n\n### Download usage\nThe method download can be used with the following curl:\n````shell\ncurl -X POST --location \"{httpUrl}/storage/download\" \\\n    -H Content-Type: application/json; charset=utf-8 \\\n    -H Authorization: Bearer {token} \\\n    -d {\n          \"key\": \"s3/file/key\",\n      }\n````\nThis returns the following payload:\n```shell\n{\n  \"file\": {\n    \"type\": \"Buffer\",\n    \"data\": [116,101,32,102,105,108,101]\n  }\n}\n```\n\n### Remove usage\nThe method remove can be used with the following curl:\n````shell\ncurl -X POST --location \"{httpUrl}/storage/remove\" \\\n    -H Content-Type: application/json; charset=utf-8 \\\n    -H Authorization: Bearer {token} \\\n    -d {\n          \"key\": \"s3/file/key\",\n      }\n````\nThis returns the following payload:\n```shell\n{}\n```\n\n","readmeFilename":"README.md"}