fix: align puzzle and big fish persistence json fields

This commit is contained in:
2026-04-24 20:51:46 +08:00
parent 664586393d
commit 58e5bb24f1
2 changed files with 134 additions and 40 deletions

View File

@@ -462,17 +462,7 @@ pub async fn execute_puzzle_agent_action(
let candidates_json = serde_json::to_string(
&candidates
.iter()
.map(|candidate| {
json!({
"candidateId": candidate.candidate_id,
"imageSrc": candidate.image_src,
"assetId": candidate.asset_id,
"prompt": candidate.prompt,
"actualPrompt": candidate.actual_prompt,
"sourceType": candidate.source_type,
"selected": candidate.selected,
})
})
.map(to_puzzle_generated_image_candidate)
.collect::<Vec<_>>(),
)
.map_err(|error| {
@@ -1473,6 +1463,21 @@ struct PuzzleDownloadedImage {
bytes: Vec<u8>,
}
fn to_puzzle_generated_image_candidate(
candidate: &PuzzleGeneratedImageCandidateRecord,
) -> PuzzleGeneratedImageCandidate {
// SpacetimeDB ???????? module-puzzle ??????????? snake_case ????HTTP ????????? camelCase?
PuzzleGeneratedImageCandidate {
candidate_id: candidate.candidate_id.clone(),
image_src: candidate.image_src.clone(),
asset_id: candidate.asset_id.clone(),
prompt: candidate.prompt.clone(),
actual_prompt: candidate.actual_prompt.clone(),
source_type: candidate.source_type.clone(),
selected: candidate.selected,
}
}
struct GeneratedPuzzleAssetResponse {
image_src: String,
asset_id: String,