src/cache/cache.service.ts
Properties |
|
Methods |
constructor(configService: ConfigService)
|
||||||
|
Defined in src/cache/cache.service.ts:8
|
||||||
|
Parameters :
|
| Public Async add |
add(key: string, data: T, TTL: number)
|
|
Defined in src/cache/cache.service.ts:11
|
Type parameters :
|
|
Returns :
Promise<boolean>
|
| Public Async remove | ||||||
remove(key: string)
|
||||||
|
Defined in src/cache/cache.service.ts:24
|
||||||
|
Parameters :
Returns :
Promise<boolean>
|
| Private Readonly httpService |
Type : HttpService
|
Default value : new HttpService()
|
|
Defined in src/cache/cache.service.ts:7
|
| Private Readonly logger |
Default value : new Logger(CacheService.name)
|
|
Defined in src/cache/cache.service.ts:8
|
import { Injectable, Logger } from '@nestjs/common';
import { HttpService } from '@nestjs/axios';
import { ConfigService } from '@nestjs/config';
@Injectable()
export class CacheService {
private readonly httpService: HttpService = new HttpService(); //DI wont fucking work with this stupid cunt
private readonly logger = new Logger(CacheService.name);
constructor(private readonly configService: ConfigService) {}
public async add<T>(key: string, data: T, TTL = 0): Promise<boolean> {
this.logger.log(`Caching object: ${key}`);
const resp = this.httpService.post('https://cache.file.glass/cache', {
akey: this.configService.get('CACHE_AKEY'),
key,
data: data,
cacheFor: TTL,
});
const parsed = await resp.toPromise();
this.logger.log(`Caching worker response: ${parsed.data}`);
return parsed.data == 'CACHED';
}
public async remove(key: string): Promise<boolean> {
this.logger.log(`Removing object from cache: ${key}`);
const resp = this.httpService.post('https://cache.file.glass/removecache', {
akey: this.configService.get('CACHE_AKEY'),
key,
});
const parsed = await resp.toPromise();
this.logger.log(`Caching worker response: ${parsed.data}`);
return parsed.data == 'CACHE_REMOVED';
}
}