player, song generation again, home and design fixes
This commit is contained in:
+35
-2
@@ -18,6 +18,8 @@ const {
|
||||
SUNO_STATUS_PATH,
|
||||
} = require("../config/suno");
|
||||
|
||||
const MAX_STORED_MUSIC_TRACKS = 4;
|
||||
|
||||
/**
|
||||
* Marque un projet comme échoué suite à une erreur Suno
|
||||
* @param {string} projectId - Identifiant du projet
|
||||
@@ -673,8 +675,39 @@ exports.sunoCallback = onRequest({ methods: ["POST"] }, async (req, res) => {
|
||||
|
||||
// 4) Mettre à jour le statut du projet
|
||||
try {
|
||||
const musicUrls = [p1?.url, p2?.url].filter(Boolean);
|
||||
await refList.projects.doc(projectId).set(
|
||||
const newMusicUrls = [p1?.url, p2?.url]
|
||||
.filter((url) => typeof url === "string" && url.trim())
|
||||
.map((url) => url.trim());
|
||||
|
||||
const projectRef = refList.projects.doc(projectId);
|
||||
let existingMusicUrls = [];
|
||||
try {
|
||||
const projectSnap = await projectRef.get();
|
||||
const projectData = projectSnap?.data() || {};
|
||||
if (Array.isArray(projectData.musicUrls)) {
|
||||
existingMusicUrls = projectData.musicUrls
|
||||
.filter((url) => typeof url === "string" && url.trim())
|
||||
.map((url) => url.trim());
|
||||
}
|
||||
} catch (readError) {
|
||||
console.error(
|
||||
"⚠️ [SunoCallback] Impossible de récupérer les anciennes musiques:",
|
||||
readError,
|
||||
);
|
||||
}
|
||||
|
||||
const mergedMusicUrls = [...existingMusicUrls, ...newMusicUrls];
|
||||
const uniqueMusicUrls = mergedMusicUrls.filter(
|
||||
(url, index) => mergedMusicUrls.indexOf(url) === index,
|
||||
);
|
||||
const musicUrls =
|
||||
uniqueMusicUrls.length > MAX_STORED_MUSIC_TRACKS
|
||||
? uniqueMusicUrls.slice(
|
||||
uniqueMusicUrls.length - MAX_STORED_MUSIC_TRACKS,
|
||||
)
|
||||
: uniqueMusicUrls;
|
||||
|
||||
await projectRef.set(
|
||||
{
|
||||
musicStatus: "GENERATED",
|
||||
musicUrls,
|
||||
|
||||
Reference in New Issue
Block a user