From 5e86d7ab9c5200d794c3adb2b422d20a2aefd2ce Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 13 Aug 2022 02:00:50 +0200 Subject: restructure to single project --- cdn/src/util/FileStorage.ts | 51 --------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 cdn/src/util/FileStorage.ts (limited to 'cdn/src/util/FileStorage.ts') diff --git a/cdn/src/util/FileStorage.ts b/cdn/src/util/FileStorage.ts deleted file mode 100644 index aee9d345..00000000 --- a/cdn/src/util/FileStorage.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Storage } from "./Storage"; -import fs from "fs"; -import { join, relative, dirname } from "path"; -import { Readable } from "stream"; -//import ExifTransformer = require("exif-be-gone"); -import ExifTransformer from "exif-be-gone"; - -// TODO: split stored files into separate folders named after cloned route - -function getPath(path: string) { - // STORAGE_LOCATION has a default value in start.ts - const root = process.env.STORAGE_LOCATION || "../"; - let filename = join(root, path); - - if (path.indexOf("\0") !== -1 || !filename.startsWith(root)) - throw new Error("invalid path"); - return filename; -} - -export class FileStorage implements Storage { - async get(path: string): Promise { - path = getPath(path); - try { - return fs.readFileSync(path); - } catch (error) { - try { - const files = fs.readdirSync(path); - if (!files.length) return null; - return fs.readFileSync(join(path, files[0])); - } catch (error) { - return null; - } - } - } - - async set(path: string, value: any) { - path = getPath(path); - //fse.ensureDirSync(dirname(path)); - fs.mkdirSync(dirname(path), {recursive: true}); - - value = Readable.from(value); - const cleaned_file = fs.createWriteStream(path); - - return value.pipe(new ExifTransformer()).pipe(cleaned_file); - } - - async delete(path: string) { - //TODO we should delete the parent directory if empty - fs.unlinkSync(getPath(path)); - } -} -- cgit 1.5.1