From 1ba21da0c5d0c5b737bc7bc87e0bd0a5d6cbcffc Mon Sep 17 00:00:00 2001 From: Yanlong Wang Date: Fri, 31 May 2024 18:26:05 +0800 Subject: [PATCH] fix: pdf cache --- backend/functions/src/services/pdf-extract.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/functions/src/services/pdf-extract.ts b/backend/functions/src/services/pdf-extract.ts index ba87a6c..ee9296a 100644 --- a/backend/functions/src/services/pdf-extract.ts +++ b/backend/functions/src/services/pdf-extract.ts @@ -281,18 +281,21 @@ export class PDFExtractor extends AsyncService { // Don't try again until the next day const expireMixin = extracted ? {} : { expireAt: new Date(Date.now() + 1000 * 3600 * 24) }; const theID = randomUUID(); + await this.firebaseObjectStorage.saveFile(`pdfs/${theID}`, Buffer.from(JSON.stringify(extracted), 'utf-8'), { contentType: 'application/json' }); - - await PDFContent.COLLECTION.doc(theID).set( - { + PDFContent.save( + PDFContent.from({ + _id: theID, src: url.toString(), meta: extracted?.meta || {}, urlDigest: digest, createdAt: new Date(), ...expireMixin - }, { merge: true } - ); + }).degradeForFireStore() + ).catch((r) => { + this.logger.warn(`Unable to cache PDF content for ${url}`, { err: r }); + }); return extracted; }