continue subscriptions and coins

This commit is contained in:
Thomas Demirdjian
2025-11-05 15:39:15 +01:00
parent a58eeac079
commit 5f777f3b6d
25 changed files with 1994 additions and 222 deletions
+7 -6
View File
@@ -1,5 +1,6 @@
const { onDocumentCreated } = require("firebase-functions/v2/firestore");
const admin = require("firebase-admin");
const { FieldValue } = require("firebase-admin/firestore");
const logger = require("firebase-functions/logger");
const { generateImageV2 } = require("../helpers/gemini");
const { generatePicturePrompt } = require("../helpers/prompts");
@@ -129,7 +130,7 @@ async function performCoverGeneration(project) {
options,
},
coverStatus: "GENERATED",
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
},
{ merge: true }
);
@@ -178,14 +179,14 @@ exports.onTaskCreateGenerateCover = onDocumentCreated(
status: "CANCELLED",
error:
"La personnalisation de la pochette avec une photo n'est plus disponible.",
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
});
return;
}
await refList.projects.doc(projectId).update({
coverStatus: "GENERATING",
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
});
project = (await refList.projects.doc(projectId).get())?.data() || null;
@@ -212,12 +213,12 @@ exports.onTaskCreateGenerateCover = onDocumentCreated(
});
await refList.projects.doc(projectId).update({
coverStatus: "GENERATED",
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
});
await event.data.ref.update({
status: "CANCELLED",
error: "Cover already generated",
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
});
return;
}
@@ -231,7 +232,7 @@ exports.onTaskCreateGenerateCover = onDocumentCreated(
await event.data.ref.update({
status: "DONE",
coverUrl,
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
updatedAt: FieldValue.serverTimestamp(),
});
logger.info("📦 [Task] Marked DONE", {
taskId: event?.params?.taskId,