{"_id":"@carichat/storage-gcs","name":"@carichat/storage-gcs","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@carichat/storage-gcs","version":"0.1.1","description":"Shared Google Cloud Storage helpers for Carichat services","main":"./build/index.js","types":"./build/index.d.ts","scripts":{"clean":"del-cli ./build/*","build":"npm run clean && tsc","publishing":"git add . && (git diff --cached --quiet && echo 'No changes to commit' || git commit -m \"Updates\") && npm run pub","pub":"npm version patch && npm run build && npm publish","smoke":"ts-node ./scripts/smoke.ts"},"keywords":["gcs","storage","signed-url"],"author":"","license":"ISC","repository":{"type":"git","url":"git+https://github.com/Kishrich/carichat.git","directory":"packages/storage-gcs"},"bugs":{"url":"https://github.com/Kishrich/carichat/issues"},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^20.11.0","del-cli":"^5.0.0","ts-node":"^10.9.2","typescript":"^5.6.0"},"dependencies":{"@google-cloud/storage":"^7.18.0"},"gitHead":"809961f8b884e34258482120c7d3d6747cfd6be8","_id":"@carichat/storage-gcs@0.1.1","homepage":"https://github.com/Kishrich/carichat#readme","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-TXJ5uxPDR1ng3RTw/8BLFx/dpWIjiVmbYG2QPFFxYF+NpSKXLva4CrtGABja9LcDe8j1TywFIqksxV9OFAKWkA==","shasum":"a820a06a78aab23f04425bb56d1c3f3c2eb7191d","tarball":"https://registry.npmjs.org/@carichat/storage-gcs/-/storage-gcs-0.1.1.tgz","fileCount":10,"unpackedSize":13461,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDm0zp+H4dIsZoaiyQ26gcwy/1pJjzQM1KJvWV6GJDcBQIgfel1F03XEwZARK2LbKvwknYy8jN987DKevef1KPK7o0="}]},"_npmUser":{"name":"kishrich","email":"kishrich890@gmail.com"},"directories":{},"maintainers":[{"name":"kishrich","email":"kishrich890@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storage-gcs_0.1.1_1769739703024_0.7351196744671431"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-30T02:21:42.908Z","0.1.1":"2026-01-30T02:21:43.183Z","modified":"2026-01-30T02:21:43.455Z"},"maintainers":[{"name":"kishrich","email":"kishrich890@gmail.com"}],"description":"Shared Google Cloud Storage helpers for Carichat services","homepage":"https://github.com/Kishrich/carichat#readme","keywords":["gcs","storage","signed-url"],"repository":{"type":"git","url":"git+https://github.com/Kishrich/carichat.git","directory":"packages/storage-gcs"},"bugs":{"url":"https://github.com/Kishrich/carichat/issues"},"license":"ISC","readme":"# @carichat/storage-gcs\n\nShared Google Cloud Storage helpers for Carichat services.\n\n## Install\n\n```bash\nnpm install @carichat/storage-gcs\n```\n\n## Usage\n\n### Create client\n\n```ts\nimport { createGcsClient } from '@carichat/storage-gcs';\n\nconst gcs = createGcsClient({\n  projectId: process.env.GCLOUD_PROJECT,\n});\n```\n\n### Upload a buffer\n\n```ts\nawait gcs.uploadBuffer({\n  bucket: process.env.GCS_BUCKET!,\n  path: `users/${userId}/images/${fileName}`,\n  buffer: file.buffer,\n  contentType: file.mimetype,\n});\n```\n\n### Signed read URL batch with caching\n\n```ts\nconst bucket = process.env.GCS_BUCKET!;\nconst urls = await gcs.getOrSignReadUrls(\n  bucket,\n  imagePaths,\n  gcs.defaultReadTtlSeconds,\n  5 * 60,\n);\n\n// urls is a map: { [path]: signedUrl }\n```\n\n### Signed write URL\n\n```ts\nconst writeUrl = await gcs.signWriteUrl(bucket, objectPath);\n```\n\n## Defaults\n\n- Read TTL: 1 hour\n- Thumb read TTL: 4 hours\n- Write TTL: 15 minutes\n\nYou can override defaults by passing values into `createGcsClient()` or per call.\n\n## Env expectations\n\n- `GOOGLE_APPLICATION_CREDENTIALS` (ADC)\n- `GCS_BUCKET`\n- `GCLOUD_PROJECT`\n\n## Smoke test\n\n```bash\nGCS_BUCKET=your-bucket npm run smoke\n```\n","readmeFilename":"README.md","_rev":"1-28d2cf21d88b6ba07b32b40dcfd27aed"}