🚧 file storage
This commit is contained in:
parent
293894a4f9
commit
4e69d83457
@ -1 +1,2 @@
|
|||||||
STORAGE_LOCATION=files/
|
STORAGE_LOCATION=files/
|
||||||
|
PORT=3003
|
14
package-lock.json
generated
14
package-lock.json
generated
@ -26,7 +26,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/body-parser": "^1.19.0",
|
"@types/body-parser": "^1.19.0",
|
||||||
"@types/btoa": "^1.2.3",
|
"@types/btoa": "^1.2.3",
|
||||||
"@types/express": "^4.17.11",
|
"@types/express": "^4.17.12",
|
||||||
"@types/multer": "^1.4.5",
|
"@types/multer": "^1.4.5",
|
||||||
"@types/node": "^14.17.0",
|
"@types/node": "^14.17.0",
|
||||||
"@types/node-fetch": "^2.5.7",
|
"@types/node-fetch": "^2.5.7",
|
||||||
@ -90,9 +90,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/express": {
|
"node_modules/@types/express": {
|
||||||
"version": "4.17.11",
|
"version": "4.17.12",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz",
|
||||||
"integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
|
"integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/body-parser": "*",
|
"@types/body-parser": "*",
|
||||||
@ -1585,9 +1585,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/express": {
|
"@types/express": {
|
||||||
"version": "4.17.11",
|
"version": "4.17.12",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz",
|
||||||
"integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
|
"integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/body-parser": "*",
|
"@types/body-parser": "*",
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/body-parser": "^1.19.0",
|
"@types/body-parser": "^1.19.0",
|
||||||
"@types/btoa": "^1.2.3",
|
"@types/btoa": "^1.2.3",
|
||||||
"@types/express": "^4.17.11",
|
"@types/express": "^4.17.12",
|
||||||
"@types/multer": "^1.4.5",
|
"@types/multer": "^1.4.5",
|
||||||
"@types/node": "^14.17.0",
|
"@types/node": "^14.17.0",
|
||||||
"@types/node-fetch": "^2.5.7",
|
"@types/node-fetch": "^2.5.7",
|
||||||
|
@ -8,7 +8,7 @@ if (process.env.STORAGE_LOCATION) {
|
|||||||
}
|
}
|
||||||
} else process.env.STORAGE_LOCATION = __dirname + "/../files/";
|
} else process.env.STORAGE_LOCATION = __dirname + "/../files/";
|
||||||
|
|
||||||
const server = new CDNServer();
|
const server = new CDNServer({ port: Number(process.env.PORT) || 3003 });
|
||||||
server
|
server
|
||||||
.start()
|
.start()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
import { Storage } from "./Storage";
|
import { Storage } from "./Storage";
|
||||||
|
import fs from "fs/promises";
|
||||||
|
import { join } from "path";
|
||||||
|
|
||||||
export class FileStorage implements Storage {
|
export class FileStorage implements Storage {
|
||||||
async get(path: string, prefix?: string) {}
|
async get(path: string) {
|
||||||
|
return fs.readFile(join(process.env.STORAGE_LOCATION || "", path), { encoding: "binary" });
|
||||||
|
}
|
||||||
|
|
||||||
async set(path: string, value: any) {}
|
async set(path: string, value: any) {
|
||||||
|
return fs.writeFile(join(process.env.STORAGE_LOCATION || "", path), value, { encoding: "binary" });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { FileStorage } from "./FileStorage";
|
import { FileStorage } from "./FileStorage";
|
||||||
|
|
||||||
export interface Storage {
|
export interface Storage {
|
||||||
set(hash: string, data: any, prefix?: string): Promise<void>;
|
set(path: string, data: any): Promise<void>;
|
||||||
get(hash: string, prefix?: string): Promise<any>;
|
get(path: string): Promise<any>;
|
||||||
}
|
}
|
||||||
|
|
||||||
var storage: Storage;
|
var storage: Storage;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user