Merge pull request #16427 from mozilla/firestore-cacheable-ttl

fix(type-cacheable): caching TTL
This commit is contained in:
Julian Poyourow 2024-02-14 10:40:48 -08:00 коммит произвёл GitHub
Родитель 9d2b26eecc 5b03fa14e3
Коммит b77e28e5af
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -8,6 +8,8 @@ import cacheManager, {
CacheManagerOptions,
} from '@type-cacheable/core';
const DEFAULT_TTL = 300; // Seconds
export class FirestoreAdapter implements CacheClient {
constructor(firestoreClient: Firestore, collectionName: string) {
this.firestoreClient = firestoreClient;
@ -37,12 +39,17 @@ export class FirestoreAdapter implements CacheClient {
}
public async set(cacheKey: string, value: any, ttl?: number): Promise<any> {
ttl ||= DEFAULT_TTL;
const expiry = new Date();
expiry.setSeconds(expiry.getSeconds() + ttl);
await this.firestoreClient
.collection(this.collectionName)
.doc(cacheKey)
.set({
value,
ttl: ttl || 0,
ttl: expiry,
updatedAt: new Date(),
});
}