{"_id":"@akmyradov/cloudstorage","_rev":"2-bb07d807e2c5fa573c2aa07cabe85928","name":"@akmyradov/cloudstorage","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@akmyradov/cloudstorage","version":"0.0.1","description":"This is a Cloud Storage npm package that makes it easier with interacting with Cloud Storage providers. eg. Google Cloud Storage","keywords":["cloud storage","storage","google cloud storage"],"main":"index.js","scripts":{"test":"npm run test"},"author":{"name":"Azat Akmyradov"},"license":"ISC","dependencies":{"@google-cloud/storage":"^6.9.5","request":"^2.88.2"},"_id":"@akmyradov/cloudstorage@0.0.1","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-Av4Da+FyojRjjj0cwVArRzRu6WU6g5eE3kVUGUqpUOlUeLuvAnVluSnlCxujQb0ce+YhyI4LNJrSMHd61ZZZlg==","shasum":"35017d1c12e59a80b0637304662e5f2dac30b8d1","tarball":"https://registry.npmjs.org/@akmyradov/cloudstorage/-/cloudstorage-0.0.1.tgz","fileCount":4,"unpackedSize":4843,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwMSd+Dbtt3sugK/dLimc5j/s+JRbX+5uuWQIm0Kp97gIgdLNF8wFVG7pkfxivOHLrWPZ9GdttAwUTNpR9C0OgfCs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRxTHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqcvw/6A3MUgjB3gre4VR/tzYz57vSCm0DDum07QvBXBNZWoA+OM3T+\r\nv+7hsqcUNNCLwD/mqg0e1bdjB7RZXwL/zQr8uvA3ki/bzXU+uZIhrmAUiGdW\r\n95bIeIelMMVg3BYLPyeBmfh59ZQpzQ3LDUNDc82mATS1RqNSvDWylbQ9gDFt\r\n+ctPx/ulU89k1SBX24iV5ZQJXdJ5r2rqQKg2lAw+B1fL79uzkuEwLqOnue6w\r\nPRbmb1MyGuojuCs5elk0CL0aLZ35QKYbDn6QOR3jeysgwT11I9HnheOAZEFh\r\nrKCUs2QaaSgKU4BILs2HFEcmCPrXve0fwXn09UzXhBqMks9nCVPX+lW1QpB9\r\nfa4LUPNgUxrfcqRppNGyNAbSupZE/qeGE28DXzliAaz656+L5Q9sdfPkuNUP\r\nO+3+cSpMlZsbWu3IvXHHA0UJ/KfVlREDfzFenGjt9xbJjjr3HkOp+BfLE0s5\r\nyRqRR3A0VfvnNcSH6b1quomwSzgpIBTYU2ya9RaB/YCRZdGGByKIEl0tC6J+\r\n8GF9RbOAv1mIGzKKStGzxALSw57a+/vPbCaA5ywszncLo16nrVYH2pWPHskN\r\nE0QdXgz6NnDgs0e6D5SK0Od3RIfy6EU/K36hRDNXhr9z2Ta8Hbklj/9nTOay\r\nXIvGUDmtvb2Ae5FnwWa86tABF2c7p/G8X9w=\r\n=QfO7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"azatakmyradov","email":"azat@akmyradov.me"},"directories":{},"maintainers":[{"name":"azatakmyradov","email":"azat@akmyradov.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cloudstorage_0.0.1_1682379975643_0.3179270180727183"},"_hasShrinkwrap":false},"0.0.2":{"name":"@akmyradov/cloudstorage","version":"0.0.2","description":"This is a Cloud Storage npm package that makes it easier with interacting with Cloud Storage providers. eg. Google Cloud Storage","keywords":["cloud storage","storage","google cloud storage"],"main":"index.js","scripts":{"test":"npm run test"},"author":{"name":"Azat Akmyradov"},"license":"ISC","dependencies":{"@google-cloud/storage":"^6.9.5","request":"^2.88.2"},"gitHead":"d1837dda6c155b916799027255adeb145fa832ca","_id":"@akmyradov/cloudstorage@0.0.2","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-nmK4FxTOBxmQNsPqfA4uM7IKBIfmJz5JHxplxlWIMFoKDNOjh1iJQLPxalDPRbRJnmwLmW2EFV8yppvNGx+WNQ==","shasum":"d6189bbcda961ffbde0725f42b588875d71c2266","tarball":"https://registry.npmjs.org/@akmyradov/cloudstorage/-/cloudstorage-0.0.2.tgz","fileCount":5,"unpackedSize":6715,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFL0nlfX544T0HIcHCfgu7GS5ueb55yEIM8q32ZT1WoxAiEAnPCQClNfgJ1x1myWcv8BXYgXKtTOH5/UkmT2Y68N3ac="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRxyJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmozzg/+OcUrdd/3MaOcc5rnm9BSakiawrwA6u0k+pvrHdBh8y7ngxtp\r\nXcA+kwr4pjs2Xea2cMAduchKh/DmFPEtFd+l1+//B48jhO1HRUMpePtFsYmg\r\nF2d4fJVMEeJzL8ktZJZTyft4Tpy3+gb5NPUyi8GOspSQizSpl+/bMX5c9wYP\r\nVW/MnJjjUApSoCypVk8mCrFlKyepkY7KH8UHsH9AZPcLex8KTAtLL5j4smKH\r\ni/IOFWRytqjsD8X9QpxiAVuXsCevtNbQt2FmfpqQH+FL8FgILsD2YmP9vkS1\r\n6mnQmCy3YbPhmi8aK5QkpuAwseZR1EfHd3cEjv7WTH7OJb4tXKmzi3DAQrsb\r\nBQt93RtyD0USuPkPcJHz+esv9KLrF9HMxnuAU5KQs09gLjwdtmmlO/l3uWoq\r\n/TrKC6hopvq4nEg8K4BCaJaNL1p/Smj5fxHO7IMTrvECEGxwME9i67O7Z7r0\r\nLotVnFdO/tXpxiEwpe5zZYo9jUXWXNCltCgAajwE1xzhzxtfjyAuf6xheB6S\r\nnjzSWNGq0pWgv6C6jxvsGKj+qrxl49EKB2s0wfB1imBmmRjidRsdXlkTNUn6\r\nhzSSSUTjjuIQqMqV4eOwz+lRXn/knzV0i81nf59BLdD9WRqIUBKEMH6H7Lz4\r\nIoEkJ+ge1DWAblo+YVS70a/3PRIfoCX4Zls=\r\n=MAU0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"azatakmyradov","email":"azat@akmyradov.me"},"directories":{},"maintainers":[{"name":"azatakmyradov","email":"azat@akmyradov.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cloudstorage_0.0.2_1682381960979_0.5245258993838224"},"_hasShrinkwrap":false},"0.0.3":{"name":"@akmyradov/cloudstorage","version":"0.0.3","description":"This is a Cloud Storage npm package that makes it easier with interacting with Cloud Storage providers. eg. Google Cloud Storage","keywords":["cloud storage","storage","google cloud storage"],"main":"index.js","scripts":{"test":"npm run test"},"author":{"name":"Azat Akmyradov"},"license":"ISC","dependencies":{"@aws-sdk/client-s3":"^3.319.0","@aws-sdk/s3-request-presigner":"^3.319.0","@google-cloud/storage":"^6.9.5","request":"^2.88.2"},"gitHead":"e8bb95c51e8f03028bbc581791af8e84f89d4907","_id":"@akmyradov/cloudstorage@0.0.3","_nodeVersion":"19.7.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-iQHZrlGb0+mh28FyzHxk30eXgsw9FBjZhse8kAJAtRDws2SmTkJxnN4wMhdrU4klFClRPBw71ZVscV7vU131PQ==","shasum":"a8f960d6ac9f9bb9803200cd843a1c5a2612a2c3","tarball":"https://registry.npmjs.org/@akmyradov/cloudstorage/-/cloudstorage-0.0.3.tgz","fileCount":6,"unpackedSize":11979,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKJoXwI1G+YCZBeq0sqB6GD87Edq6wV1cWyAvmG6MblwIgXddqQojlgRG37e+D5rid1Z1xobMDIZNXrMWj8u+QzdA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR1XYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPzQ/+PEJSkPyIkgce9Og2phcsEGRDF11LR0pjKeNEBCyWgVg1VJ/J\r\nFHMcc57uSpBSo/bdzHGLN0kw2KqjpFa2/Fh9ex4x12GFQAKPySPhRTjVNEjl\r\na9cheVOtrQ/wCmtE5sn0PINqcGA1Rp6MgKzHtNrIn66oe4VMBv7FfMTGtv3/\r\nSauGfqOHq7+ZHpeb8ddrW6XDMpSyV6NS7wNhDStajc3IwzTLZgKlVrMjAPFa\r\nnjLli4Q6gR8Hwj69ilzATDwMdhJ0tjhQD/iMsAS79A3Tq1QZAm4py0lRF2P4\r\nlIxsSOZVkz433cYKkLIVPpuV185DEEk395aUgWY/4neGlSURAE+XCNAFmNUs\r\njmKqr9fw5qDDV1SevwD8Eppww9KF6d5Bs71gRSLFmzmY/2uWv8YQpa/1KGPA\r\nglJCRwgxVNwyNK6p/rSLsyc0hD5fLYT6EMpTCl/FHTpzaZgofxt/vjdcLchB\r\nEQhzTbElek8aseYApuvDG398NOXP4IA3AB3oxk+42uQO+DrsGXXol4ZWDr5l\r\nQqATcnwANAVMvYdhBl/EKobEuH2QLSFltLB7HGt+Pz9AbJ4MAfKoJN+X1ORC\r\n8TAxddMXrOPCBHzztdAw42rw7pOdSqbEjbjGhFUE55PAet/P5a8zn5o7nu4u\r\nCTroGKPjaytYDfSc00Wr15/hrs8Fdox6kK8=\r\n=zmQ0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"azatakmyradov","email":"azat@akmyradov.me"},"directories":{},"maintainers":[{"name":"azatakmyradov","email":"azat@akmyradov.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cloudstorage_0.0.3_1682396632656_0.4223091867699835"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-24T23:46:15.584Z","0.0.1":"2023-04-24T23:46:15.790Z","modified":"2023-04-25T04:23:53.065Z","0.0.2":"2023-04-25T00:19:21.130Z","0.0.3":"2023-04-25T04:23:52.905Z"},"maintainers":[{"name":"azatakmyradov","email":"azat@akmyradov.me"}],"description":"This is a Cloud Storage npm package that makes it easier with interacting with Cloud Storage providers. eg. Google Cloud Storage","keywords":["cloud storage","storage","google cloud storage"],"author":{"name":"Azat Akmyradov"},"license":"ISC","readme":"# Cloud Storage Client for NodeJS\n\n\n| Supported Services: |\n| ----------- |\n| Google Cloud Storage | \n | Amazon S3 Storage   |\n| ***More to come...   | \n\n## Features\n\n- Uploading File\n- Deleting File\n- Retrieving File\n- Retrieve as JSON\n- Check if File exists\n- Check if File is missing\n- Retrieve Public URL\n- Download File from Cloud\n\n---\n\n## Installation\n\nRun:\n`\nnpm install @akmyradov/cloudstorage multer\n`\n\nExample for Google Cloud:\n\n```javascript\nimport { Storage, GoogleCloudStorage} from '@akmyradov/cloudstorage';\n\nlet storage = new Storage(new GoogleProvider(\n    'project-id',\n    'bucket-name',\n    'path/to/service-account.json',\n    'destination-folder-path'\n));\n```\n\nExample for Amazon S3 Storage:\n\n```javascript\nimport { Storage, AmazonS3Storage} from '@akmyradov/cloudstorage';\n\nconst storage = new Storage(new AmazonS3Storage(\n    'region-name',\n    'bucket-name',\n    'access-key',\n    'access-secret-key',\n    'destination-folder-path'\n));\n```\n\nTo upload a file (You have to pass 'req' from express):\n```javascript\nstorage.put('save-file-name', req.file).then(file => {\n    console.log(file.publicUrl());\n};\n```\n\nDelete file:\n```javascript\nstorage.delete('file-name').then(response => {\n    console.log('deleted');\n}).catch(error => {\n    console.log(error)\n});\n```\n\nRead File Contents:\n```javascript\nstorage.get('file.txt').then(contents => {\n    console.log(contents);\n}).catch(error => {\n    console.log(error);\n});\n```\n\nRetrieve File Contents as JSON:\n```javascript\nstorage.json('file.json').then(data => {\n    console.log(data);\n}).catch(error => {\n    console.log(error);\n});\n```\n\nCheck if File exists:\n```javascript\nstorage.exists('file-name').then(response => {\n    console.log(response);\n})\n```\n\nCheck if File is missing:\n```javascript\nstorage.missing('file-name').then(response => {\n    console.log(response);\n})\n```\n\nRetrieve File URL:\n```javascript\nstorage.url('file-name').then(url => {\n    console.log(url);\n}).catch(error => {\n    console.log(error);\n})\n```\n\nDownload File:\n```javascript\nstorage.download('file-name').then(file => {\n   file.pipe(res.attachment('file-name'));\n}).catch(error => {\n    console.log(error);\n});\n```\n\n---\n# Contact\nReach out at azat@akmyradov.me","readmeFilename":"README.md"}