diff --git a/server-rs/crates/api-server/src/editor_project.rs b/server-rs/crates/api-server/src/editor_project.rs index c7571a9c7..9efe4f316 100644 --- a/server-rs/crates/api-server/src/editor_project.rs +++ b/server-rs/crates/api-server/src/editor_project.rs @@ -6708,14 +6708,14 @@ fn fill_missing_media_identity_field( pub(crate) async fn persist_editor_generated_asset( state: &AppState, - input: PersistEditorGeneratedAssetInput, + mut input: PersistEditorGeneratedAssetInput, ) -> Result { let generation_inputs_json = serialize_editor_generation_inputs( input.asset_kind.as_deref(), input.generation_inputs.clone(), )?; let image_sequence_frames_json = - serialize_editor_image_sequence_frames(input.image_sequence_frames.clone())?; + serialize_editor_image_sequence_frames(input.image_sequence_frames.take())?; let object_key = normalize_editor_object_key(input.object_key); let asset_object_id = normalize_optional_string(input.asset_object_id); let image_src = normalize_editor_persisted_media_src(input.image_src, object_key.as_deref())?; diff --git a/server-rs/crates/spacetime-client/src/mapper/editor_project.rs b/server-rs/crates/spacetime-client/src/mapper/editor_project.rs index a54b95794..640a5946a 100644 --- a/server-rs/crates/spacetime-client/src/mapper/editor_project.rs +++ b/server-rs/crates/spacetime-client/src/mapper/editor_project.rs @@ -1260,11 +1260,11 @@ fn map_editor_project_snapshot( fn map_editor_project_resource_snapshot( snapshot: EditorProjectResourceSnapshot, ) -> Result { - let generation_inputs = parse_optional_generation_inputs_json( + let generation_inputs = parse_optional_json( snapshot.generation_inputs_json.as_deref(), "图片画布资源生成输入 JSON", )?; - let image_sequence_frames = parse_optional_generation_inputs_json( + let image_sequence_frames = parse_optional_json( snapshot.image_sequence_frames_json.as_deref(), "图片画布资源序列帧 JSON", )?; @@ -1328,11 +1328,11 @@ fn map_editor_asset_folder_snapshot( fn map_editor_asset_snapshot( snapshot: EditorAssetSnapshot, ) -> Result { - let generation_inputs = parse_optional_generation_inputs_json( + let generation_inputs = parse_optional_json( snapshot.generation_inputs_json.as_deref(), "图片画布素材生成输入 JSON", )?; - let image_sequence_frames = parse_optional_generation_inputs_json( + let image_sequence_frames = parse_optional_json( snapshot.image_sequence_frames_json.as_deref(), "图片画布素材序列帧 JSON", )?; @@ -1371,11 +1371,11 @@ fn map_editor_asset_snapshot( fn map_admin_editor_asset_snapshot( snapshot: AdminEditorAssetSnapshot, ) -> Result { - let generation_inputs = parse_optional_generation_inputs_json( + let generation_inputs = parse_optional_json( snapshot.generation_inputs_json.as_deref(), "后台图片画布素材生成输入 JSON", )?; - let image_sequence_frames = parse_optional_generation_inputs_json( + let image_sequence_frames = parse_optional_json( snapshot.image_sequence_frames_json.as_deref(), "后台图片画布素材序列帧 JSON", )?; @@ -1411,11 +1411,11 @@ fn map_admin_editor_asset_snapshot( fn map_editor_showcase_asset_snapshot( snapshot: EditorShowcaseAssetSnapshot, ) -> Result { - let generation_inputs = parse_optional_generation_inputs_json( + let generation_inputs = parse_optional_json( snapshot.generation_inputs_json.as_deref(), "陶泥儿精选素材生成输入 JSON", )?; - let image_sequence_frames = parse_optional_generation_inputs_json( + let image_sequence_frames = parse_optional_json( snapshot.image_sequence_frames_json.as_deref(), "陶泥儿精选素材序列帧 JSON", )?; @@ -1508,7 +1508,7 @@ fn map_editor_generation_pricing_config_snapshot( } } -fn parse_optional_generation_inputs_json( +fn parse_optional_json( raw_json: Option<&str>, label: &str, ) -> Result, SpacetimeClientError> {