diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-25 18:24:21 +1000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-25 23:35:18 +1000 |
commit | f44f5d7ac2d24ff836c2e1d4b2fa58da04b13052 (patch) | |
tree | a6655c41bb3db79c30fd876b06ee60fe9cf70c9b /cdn/src/util/Storage.ts | |
parent | Allow edited_timestamp to passthrough in handleMessage (diff) | |
download | server-f44f5d7ac2d24ff836c2e1d4b2fa58da04b13052.tar.xz |
Refactor to mono-repo + upgrade packages
Diffstat (limited to 'cdn/src/util/Storage.ts')
-rw-r--r-- | cdn/src/util/Storage.ts | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/cdn/src/util/Storage.ts b/cdn/src/util/Storage.ts deleted file mode 100644 index 89dd5634..00000000 --- a/cdn/src/util/Storage.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { FileStorage } from "./FileStorage"; -import path from "path"; -import fse from "fs-extra"; -import { bgCyan, black } from "picocolors"; -import { S3 } from "@aws-sdk/client-s3"; -import { S3Storage } from "./S3Storage"; -process.cwd(); - -export interface Storage { - set(path: string, data: Buffer): Promise<void>; - get(path: string): Promise<Buffer | null>; - delete(path: string): Promise<void>; -} - -let storage: Storage; - -if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) { - let location = process.env.STORAGE_LOCATION; - if (location) { - location = path.resolve(location); - } else { - location = path.join(process.cwd(), "files"); - } - console.log(`[CDN] storage location: ${bgCyan(`${black(location)}`)}`); - fse.ensureDirSync(location); - process.env.STORAGE_LOCATION = location; - - storage = new FileStorage(); -} else if (process.env.STORAGE_PROVIDER === "s3") { - const region = process.env.STORAGE_REGION, - bucket = process.env.STORAGE_BUCKET; - - if (!region) { - console.error( - `[CDN] You must provide a region when using the S3 storage provider.` - ); - process.exit(1); - } - - if (!bucket) { - console.error( - `[CDN] You must provide a bucket when using the S3 storage provider.` - ); - process.exit(1); - } - - // in the S3 provider, this should be the root path in the bucket - let location = process.env.STORAGE_LOCATION; - - if (!location) { - console.warn( - `[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...` - ); - location = undefined; - } - - const client = new S3({ region }); - - storage = new S3Storage(client, bucket, location); -} - -export { storage }; |