fix list and improve cloud functions

This commit is contained in:
Thomas Demirdjian
2025-10-01 15:29:24 +02:00
parent 2908afc259
commit 0bc186413b
18 changed files with 382 additions and 299 deletions
+10 -12
View File
@@ -490,18 +490,16 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
// 1) Récupérer le projectId associé au taskId
let projectId = null;
try {
const projSnap = await db
.collection("projects")
.where("sunoTaskId", "==", taskId)
.limit(1)
.get();
if (!projSnap.empty) {
projectId = projSnap.docs[0].id;
}
} catch (e) {
console.error("❌ [SunoCallback] Erreur lookup project par taskId:", e);
const projSnap = await db
.collection("projects")
.where("sunoTaskId", "==", taskId)
.limit(1)
.get();
if (projSnap.empty) {
throw new Error("Aucun projet trouvé pour ce taskId");
}
projectId = projSnap.docs[0].id;
const { userId } = projSnap.docs[0].data() || {};
if (!projectId) {
console.warn("⚠️ [SunoCallback] Aucun projet trouvé pour", { taskId });
@@ -540,7 +538,7 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
console.log(`⬇️ [SunoCallback] Téléchargement piste ${index + 1}`);
const resp = await axios.get(url, { responseType: "arraybuffer" });
const buffer = Buffer.from(resp.data);
const path = `musics/${projectId}/sound${index + 1}.mp3`;
const path = `users/${userId}/projects/${projectId}/task-${taskId}-${index + 1}.mp3`;
const token = require("crypto").randomUUID();
const file = bucket.file(path);
await file.save(buffer, {