🚧 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
	 Flam3rboy
						Flam3rboy