upd: introduce a separate ./cache dir and cache video thumbnails there

This commit is contained in:
ShittyKopper 2024-01-04 19:55:02 +03:00
parent bc24e6a294
commit a3c302e756
4 changed files with 41 additions and 0 deletions

View file

@ -16,6 +16,7 @@ const _filename = fileURLToPath(import.meta.url);
const _dirname = dirname(_filename);
const path = Path.resolve(_dirname, '../../../../files');
const cachePath = Path.resolve(_dirname, '../../../../cache');
@Injectable()
export class InternalStorageService {
@ -30,11 +31,26 @@ export class InternalStorageService {
return Path.resolve(path, key);
}
@bindThis
public resolveCachePath(key: string) {
return Path.resolve(cachePath, key);
}
@bindThis
public existsCache(key: string) {
return fs.existsSync(this.resolveCachePath(key));
}
@bindThis
public read(key: string) {
return fs.createReadStream(this.resolvePath(key));
}
@bindThis
public readCache(key: string) {
return fs.createReadStream(this.resolveCachePath(key));
}
@bindThis
public saveFromPath(key: string, srcPath: string) {
fs.mkdirSync(path, { recursive: true });
@ -49,8 +65,19 @@ export class InternalStorageService {
return `${this.config.url}/files/${key}`;
}
@bindThis
public saveCacheFromBuffer(key: string, data: Buffer) {
fs.mkdirSync(cachePath, { recursive: true });
fs.writeFileSync(this.resolveCachePath(key), data);
}
@bindThis
public del(key: string) {
fs.unlink(this.resolvePath(key), () => {});
}
@bindThis
public delCache(key: string) {
fs.unlink(this.resolveCachePath(key), () => {});
}
}