music timestamps

This commit is contained in:
2025-09-05 12:20:33 +02:00
parent dd19172804
commit fdd667f092
4 changed files with 77 additions and 94 deletions
+13 -11
View File
@@ -201,7 +201,7 @@ exports.generateMusic = onCall(async ({ data = {} }) => {
"Content-Type": "application/json",
Authorization: `Bearer ${SUNO_API_KEY}`,
},
},
}
);
const parsed = response.data;
@@ -220,7 +220,7 @@ exports.generateMusic = onCall(async ({ data = {} }) => {
} catch (error) {
console.error("❌ Erreur lors de la génération de musique:", error);
throw new Error(
`Erreur lors de la génération de musique: ${error.message}`,
`Erreur lors de la génération de musique: ${error.message}`
);
}
});
@@ -249,7 +249,7 @@ exports.getSunoStatus = onCall(async ({ data = {} }) => {
Authorization: `Bearer ${SUNO_API_KEY}`,
},
timeout: 30000, // 30 secondes de timeout
},
}
);
parsed = response.data;
@@ -365,7 +365,7 @@ exports.getSunoTimestamps = onCall(async ({ data = {} }) => {
Authorization: `Bearer ${SUNO_API_KEY}`,
},
timeout: 30000,
},
}
);
parsed = response.data;
console.log("📊 Réponse timestamps Suno API:", parsed?.code, parsed?.msg);
@@ -417,7 +417,7 @@ exports.getSunoTimestamps = onCall(async ({ data = {} }) => {
},
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
},
{ merge: true },
{ merge: true }
);
saved = true;
console.log("💾 Timestamps sauvegardés dans Firestore", {
@@ -427,7 +427,7 @@ exports.getSunoTimestamps = onCall(async ({ data = {} }) => {
} catch (e) {
console.error(
"❌ Échec sauvegarde timestamps Firestore:",
e?.message || e,
e?.message || e
);
}
@@ -453,6 +453,8 @@ exports.getSunoTimestamps = onCall(async ({ data = {} }) => {
}
});
// Removed Firestore onUpdate trigger for timestamps: using callable instead.
/**
* Cloud Function pour recevoir les callbacks de l'API Suno
* Cette fonction est appelée par l'API Suno lorsque la génération
@@ -533,7 +535,7 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
const audioUrls = tracks
.map(
(t) =>
t.audio_url || t.audioUrl || t.stream_audio_url || t.streamAudioUrl,
t.audio_url || t.audioUrl || t.stream_audio_url || t.streamAudioUrl
)
.filter(Boolean)
.slice(0, 2);
@@ -548,7 +550,7 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
has_audio_url: !!t.audio_url,
has_stream_audio_url: !!t.stream_audio_url,
})),
},
}
);
}
@@ -573,14 +575,14 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
},
});
const downloadUrl = `https://firebasestorage.googleapis.com/v0/b/${bucket.name}/o/${encodeURIComponent(
path,
path
)}?alt=media&token=${token}`;
console.log("✅ [SunoCallback] Sauvegardé:", path, "URL:", downloadUrl);
return { path, url: downloadUrl };
} catch (e) {
console.error(
`❌ [SunoCallback] Échec save piste ${index + 1}:`,
e.message,
e.message
);
return null;
}
@@ -600,7 +602,7 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
musicUrls,
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
},
{ merge: true },
{ merge: true }
);
console.log("🏷️ [SunoCallback] Projet marqué GENERATED", {
projectId,