清理角色动作持久化映射冗余
通用 JSON 解析辅助函数改用准确命名并与 active mapper 保持一致。 持久化序列帧时直接消费输入字段,避免深拷贝完整帧数组。
This commit is contained in:
@@ -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<EditorGeneratedAssetRecord, AppError> {
|
||||
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())?;
|
||||
|
||||
@@ -1260,11 +1260,11 @@ fn map_editor_project_snapshot(
|
||||
fn map_editor_project_resource_snapshot(
|
||||
snapshot: EditorProjectResourceSnapshot,
|
||||
) -> Result<EditorProjectResourceRecord, SpacetimeClientError> {
|
||||
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<EditorAssetRecord, SpacetimeClientError> {
|
||||
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<AdminEditorAssetRecord, SpacetimeClientError> {
|
||||
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<EditorShowcaseAssetRecord, SpacetimeClientError> {
|
||||
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<Option<serde_json::Value>, SpacetimeClientError> {
|
||||
|
||||
Reference in New Issue
Block a user