Enforce user locks for AI updates

This commit is contained in:
diyaa
2026-09-13 21:20:57 +02:00
parent a39bdbe6fc
commit ae88c6e533
15 changed files with 507 additions and 59 deletions
@@ -64,32 +64,18 @@ public final class SongProjectGenerationDirector: Sendable {
return project
}
return SongProject(
id: seedProject.id,
title: generatedProject.title,
idea: normalizedIdea,
duration: generatedProject.duration,
conversationMode: discussionMode,
languages: generatedProject.languages,
dialects: generatedProject.dialects,
arabicPronunciationSettings: generatedProject.arabicPronunciationSettings,
genres: generatedProject.genres,
moods: generatedProject.moods,
emotionalArc: generatedProject.emotionalArc,
bpm: generatedProject.bpm,
key: generatedProject.key,
scale: generatedProject.scale,
maqam: generatedProject.maqam,
sections: generatedProject.sections,
instruments: generatedProject.instruments,
vocalists: generatedProject.vocalists,
lyrics: generatedProject.lyrics,
productionDirections: generatedProject.productionDirections,
sunoOutput: generatedProject.sunoOutput,
versions: seedProject.versions,
createdAt: seedProject.createdAt,
let update = SongProjectAIUpdateMerger().apply(
snapshot: SongProjectSnapshot(project: generatedProject),
changedScopes: SongProjectUpdateScope.allCases,
to: seedProject,
updatedAt: generatedAt
)
var project = update.project
project.title = generatedProject.title
project.idea = normalizedIdea
project.conversationMode = discussionMode
project.moods = generatedProject.moods
return project
}
}