推进 SpacetimeDB adapter 与 client 收口
This commit is contained in:
@@ -575,18 +575,12 @@ pub(crate) fn map_runtime_setting_procedure_result(
|
||||
result: RuntimeSettingProcedureResult,
|
||||
) -> Result<RuntimeSettingsRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 runtime settings 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("runtime settings 快照"))?;
|
||||
|
||||
Ok(build_runtime_setting_record(map_runtime_setting_snapshot(
|
||||
snapshot,
|
||||
@@ -620,16 +614,12 @@ pub(crate) fn map_auth_store_snapshot_import_procedure_result(
|
||||
result: AuthStoreSnapshotImportProcedureResult,
|
||||
) -> Result<AuthStoreSnapshotImportRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure ??????".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let record = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB procedure ???????".to_string())
|
||||
})?;
|
||||
let record = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("认证快照导入结果"))?;
|
||||
|
||||
Ok(AuthStoreSnapshotImportRecord {
|
||||
imported_user_count: record.imported_user_count,
|
||||
@@ -642,11 +632,7 @@ pub(crate) fn map_runtime_browse_history_procedure_result(
|
||||
result: RuntimeBrowseHistoryProcedureResult,
|
||||
) -> Result<Vec<RuntimeBrowseHistoryRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
Ok(result
|
||||
@@ -662,18 +648,12 @@ pub(crate) fn map_runtime_profile_dashboard_procedure_result(
|
||||
result: RuntimeProfileDashboardProcedureResult,
|
||||
) -> Result<RuntimeProfileDashboardRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile dashboard 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile dashboard 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_dashboard_record(
|
||||
map_runtime_profile_dashboard_snapshot(snapshot),
|
||||
@@ -684,11 +664,7 @@ pub(crate) fn map_runtime_profile_wallet_ledger_procedure_result(
|
||||
result: RuntimeProfileWalletLedgerProcedureResult,
|
||||
) -> Result<Vec<RuntimeProfileWalletLedgerEntryRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
Ok(result
|
||||
@@ -706,18 +682,12 @@ pub(crate) fn map_runtime_profile_wallet_adjustment_procedure_result(
|
||||
result: RuntimeProfileWalletAdjustmentProcedureResult,
|
||||
) -> Result<RuntimeProfileDashboardRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile dashboard 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile dashboard 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_dashboard_record(
|
||||
map_runtime_profile_dashboard_snapshot(snapshot),
|
||||
@@ -728,18 +698,12 @@ pub(crate) fn map_runtime_profile_recharge_center_procedure_result(
|
||||
result: RuntimeProfileRechargeCenterProcedureResult,
|
||||
) -> Result<RuntimeProfileRechargeCenterRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile recharge center 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile recharge center 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_recharge_center_record(
|
||||
map_runtime_profile_recharge_center_snapshot(snapshot),
|
||||
@@ -756,23 +720,15 @@ pub(crate) fn map_runtime_profile_recharge_order_procedure_result(
|
||||
SpacetimeClientError,
|
||||
> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let center = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile recharge center 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let order = result.order.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile recharge order 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let center = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile recharge center 快照"))?;
|
||||
let order = result
|
||||
.order
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile recharge order 快照"))?;
|
||||
|
||||
Ok((
|
||||
build_runtime_profile_recharge_center_record(map_runtime_profile_recharge_center_snapshot(
|
||||
@@ -788,18 +744,12 @@ pub(crate) fn map_runtime_referral_invite_center_procedure_result(
|
||||
result: RuntimeReferralInviteCenterProcedureResult,
|
||||
) -> Result<RuntimeReferralInviteCenterRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 referral invite center 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("referral invite center 快照"))?;
|
||||
|
||||
Ok(build_runtime_referral_invite_center_record(
|
||||
map_runtime_referral_invite_center_snapshot(snapshot),
|
||||
@@ -810,18 +760,12 @@ pub(crate) fn map_runtime_referral_redeem_procedure_result(
|
||||
result: RuntimeReferralRedeemProcedureResult,
|
||||
) -> Result<RuntimeReferralRedeemRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 referral redeem 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("referral redeem 快照"))?;
|
||||
|
||||
Ok(build_runtime_referral_redeem_record(
|
||||
map_runtime_referral_redeem_snapshot(snapshot),
|
||||
@@ -832,18 +776,12 @@ pub(crate) fn map_runtime_profile_reward_code_redeem_procedure_result(
|
||||
result: RuntimeProfileRewardCodeRedeemProcedureResult,
|
||||
) -> Result<RuntimeProfileRewardCodeRedeemRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 reward redeem 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("reward redeem 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_reward_code_redeem_record(
|
||||
map_runtime_profile_reward_code_redeem_snapshot(snapshot),
|
||||
@@ -854,16 +792,12 @@ pub(crate) fn map_runtime_profile_redeem_code_admin_procedure_result(
|
||||
result: RuntimeProfileRedeemCodeAdminProcedureResult,
|
||||
) -> Result<RuntimeProfileRedeemCodeRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB procedure 未返回 redeem code 快照".to_string())
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("redeem code 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_redeem_code_record(
|
||||
map_runtime_profile_redeem_code_snapshot(snapshot),
|
||||
@@ -874,18 +808,12 @@ pub(crate) fn map_runtime_profile_play_stats_procedure_result(
|
||||
result: RuntimeProfilePlayStatsProcedureResult,
|
||||
) -> Result<RuntimeProfilePlayStatsRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let snapshot = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 profile play stats 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("profile play stats 快照"))?;
|
||||
|
||||
Ok(build_runtime_profile_play_stats_record(
|
||||
map_runtime_profile_play_stats_snapshot(snapshot),
|
||||
@@ -896,11 +824,7 @@ pub(crate) fn map_runtime_snapshot_procedure_result(
|
||||
result: RuntimeSnapshotProcedureResult,
|
||||
) -> Result<Option<RuntimeSnapshotRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
result
|
||||
@@ -915,11 +839,8 @@ pub(crate) fn map_runtime_snapshot_procedure_result(
|
||||
pub(crate) fn map_runtime_snapshot_required_procedure_result(
|
||||
result: RuntimeSnapshotProcedureResult,
|
||||
) -> Result<RuntimeSnapshotRecord, SpacetimeClientError> {
|
||||
map_runtime_snapshot_procedure_result(result)?.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 runtime snapshot 快照".to_string(),
|
||||
)
|
||||
})
|
||||
map_runtime_snapshot_procedure_result(result)?
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("runtime snapshot 快照"))
|
||||
}
|
||||
|
||||
pub(crate) fn map_runtime_snapshot_delete_procedure_result(
|
||||
@@ -932,11 +853,7 @@ pub(crate) fn map_runtime_profile_save_archive_list_procedure_result(
|
||||
result: RuntimeProfileSaveArchiveProcedureResult,
|
||||
) -> Result<Vec<RuntimeProfileSaveArchiveRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
result
|
||||
@@ -955,23 +872,15 @@ pub(crate) fn map_runtime_profile_save_archive_resume_procedure_result(
|
||||
result: RuntimeProfileSaveArchiveProcedureResult,
|
||||
) -> Result<(RuntimeProfileSaveArchiveRecord, RuntimeSnapshotRecord), SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let archive = result.record.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 save archive 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let snapshot = result.current_snapshot.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回恢复后的 runtime snapshot".to_string(),
|
||||
)
|
||||
})?;
|
||||
let archive = result
|
||||
.record
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("save archive 快照"))?;
|
||||
let snapshot = result
|
||||
.current_snapshot
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("恢复后的 runtime snapshot"))?;
|
||||
|
||||
Ok((
|
||||
build_runtime_profile_save_archive_record(map_runtime_profile_save_archive_snapshot(
|
||||
@@ -1004,11 +913,7 @@ pub(crate) fn map_custom_world_profile_list_result(
|
||||
result: CustomWorldProfileListResult,
|
||||
) -> Result<Vec<CustomWorldLibraryEntryRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
result
|
||||
@@ -1022,11 +927,7 @@ pub(crate) fn map_custom_world_library_detail_result(
|
||||
result: CustomWorldLibraryMutationResult,
|
||||
) -> Result<CustomWorldLibraryMutationRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let entry = result
|
||||
@@ -1048,11 +949,7 @@ pub(crate) fn map_custom_world_gallery_list_result(
|
||||
result: CustomWorldGalleryListResult,
|
||||
) -> Result<Vec<CustomWorldGalleryEntryRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
Ok(result
|
||||
@@ -1066,18 +963,12 @@ pub(crate) fn map_custom_world_library_mutation_result(
|
||||
result: CustomWorldLibraryMutationResult,
|
||||
) -> Result<CustomWorldLibraryMutationRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let entry = result
|
||||
.entry
|
||||
.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB 未返回 custom world entry".to_string())
|
||||
})
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("custom world entry"))
|
||||
.and_then(map_custom_world_library_entry_from_profile_snapshot)?;
|
||||
let gallery_entry = result
|
||||
.gallery_entry
|
||||
@@ -1094,26 +985,16 @@ pub(crate) fn map_custom_world_publish_world_result(
|
||||
result: CustomWorldPublishWorldResult,
|
||||
) -> Result<CustomWorldPublishWorldRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let compiled_record = result
|
||||
.compiled_record
|
||||
.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 published profile compile 快照".to_string(),
|
||||
)
|
||||
})
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("published profile compile 快照"))
|
||||
.and_then(map_custom_world_published_profile_compile_snapshot)?;
|
||||
let entry = result
|
||||
.entry
|
||||
.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB 未返回 custom world entry".to_string())
|
||||
})
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("custom world entry"))
|
||||
.and_then(map_custom_world_library_entry_from_profile_snapshot)?;
|
||||
let gallery_entry = result
|
||||
.gallery_entry
|
||||
@@ -1121,9 +1002,7 @@ pub(crate) fn map_custom_world_publish_world_result(
|
||||
.transpose()?;
|
||||
let session_stage = result
|
||||
.session_stage
|
||||
.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB 未返回 session stage".to_string())
|
||||
})
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("session stage"))
|
||||
.map(map_rpg_agent_stage)?;
|
||||
|
||||
Ok(CustomWorldPublishWorldRecord {
|
||||
@@ -1138,18 +1017,12 @@ pub(crate) fn map_custom_world_agent_session_procedure_result(
|
||||
result: CustomWorldAgentSessionProcedureResult,
|
||||
) -> Result<CustomWorldAgentSessionRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let session = result.session.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 custom world agent session 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let session = result
|
||||
.session
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("custom world agent session 快照"))?;
|
||||
|
||||
map_custom_world_agent_session_snapshot(session)
|
||||
}
|
||||
@@ -1158,17 +1031,11 @@ pub(crate) fn map_custom_world_agent_operation_procedure_result(
|
||||
result: CustomWorldAgentOperationProcedureResult,
|
||||
) -> Result<CustomWorldAgentOperationRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let operation = result.operation.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 custom world agent operation 快照".to_string(),
|
||||
)
|
||||
SpacetimeClientError::missing_snapshot("custom world agent operation 快照")
|
||||
})?;
|
||||
|
||||
Ok(map_custom_world_agent_operation_snapshot(operation))
|
||||
@@ -1178,11 +1045,7 @@ pub(crate) fn map_custom_world_works_list_result(
|
||||
result: CustomWorldWorksListResult,
|
||||
) -> Result<Vec<CustomWorldWorkSummaryRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
result
|
||||
@@ -1196,18 +1059,12 @@ pub(crate) fn map_custom_world_draft_card_detail_result(
|
||||
result: CustomWorldDraftCardDetailResult,
|
||||
) -> Result<CustomWorldDraftCardDetailRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let card = result.card.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 custom world card detail 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let card = result
|
||||
.card
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("custom world card detail 快照"))?;
|
||||
|
||||
map_custom_world_draft_card_detail_snapshot(card)
|
||||
}
|
||||
@@ -1216,17 +1073,11 @@ pub(crate) fn map_custom_world_agent_action_execute_result(
|
||||
result: CustomWorldAgentActionExecuteResult,
|
||||
) -> Result<CustomWorldAgentActionExecuteRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let operation = result.operation.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 custom world action operation 快照".to_string(),
|
||||
)
|
||||
SpacetimeClientError::missing_snapshot("custom world action operation 快照")
|
||||
})?;
|
||||
|
||||
Ok(CustomWorldAgentActionExecuteRecord {
|
||||
@@ -1238,18 +1089,12 @@ pub(crate) fn map_puzzle_agent_session_procedure_result(
|
||||
result: PuzzleAgentSessionProcedureResult,
|
||||
) -> Result<PuzzleAgentSessionRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let session_json = result.session_json.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 puzzle agent session 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let session_json = result
|
||||
.session_json
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("puzzle agent session 快照"))?;
|
||||
let session: DomainPuzzleAgentSessionSnapshot =
|
||||
serde_json::from_str(&session_json).map_err(|error| {
|
||||
SpacetimeClientError::Runtime(format!("puzzle agent session_json 非法: {error}"))
|
||||
@@ -1261,16 +1106,12 @@ pub(crate) fn map_puzzle_work_procedure_result(
|
||||
result: PuzzleWorkProcedureResult,
|
||||
) -> Result<PuzzleWorkProfileRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let item_json = result.item_json.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB procedure 未返回 puzzle work 快照".to_string())
|
||||
})?;
|
||||
let item_json = result
|
||||
.item_json
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("puzzle work 快照"))?;
|
||||
let item: DomainPuzzleWorkProfile = serde_json::from_str(&item_json).map_err(|error| {
|
||||
SpacetimeClientError::Runtime(format!("puzzle work item_json 非法: {error}"))
|
||||
})?;
|
||||
@@ -1281,18 +1122,12 @@ pub(crate) fn map_puzzle_works_procedure_result(
|
||||
result: PuzzleWorksProcedureResult,
|
||||
) -> Result<Vec<PuzzleWorkProfileRecord>, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let items_json = result.items_json.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure(
|
||||
"SpacetimeDB procedure 未返回 puzzle works 快照".to_string(),
|
||||
)
|
||||
})?;
|
||||
let items_json = result
|
||||
.items_json
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("puzzle works 快照"))?;
|
||||
let items: Vec<DomainPuzzleWorkProfile> =
|
||||
serde_json::from_str(&items_json).map_err(|error| {
|
||||
SpacetimeClientError::Runtime(format!("puzzle works items_json 非法: {error}"))
|
||||
@@ -1304,16 +1139,12 @@ pub(crate) fn map_puzzle_run_procedure_result(
|
||||
result: PuzzleRunProcedureResult,
|
||||
) -> Result<PuzzleRunRecord, SpacetimeClientError> {
|
||||
if !result.ok {
|
||||
return Err(SpacetimeClientError::Procedure(
|
||||
result
|
||||
.error_message
|
||||
.unwrap_or_else(|| "SpacetimeDB procedure 返回未知错误".to_string()),
|
||||
));
|
||||
return Err(SpacetimeClientError::procedure_failed(result.error_message));
|
||||
}
|
||||
|
||||
let run_json = result.run_json.ok_or_else(|| {
|
||||
SpacetimeClientError::Procedure("SpacetimeDB procedure 未返回 puzzle run 快照".to_string())
|
||||
})?;
|
||||
let run_json = result
|
||||
.run_json
|
||||
.ok_or_else(|| SpacetimeClientError::missing_snapshot("puzzle run 快照"))?;
|
||||
let run: DomainPuzzleRunSnapshot = serde_json::from_str(&run_json).map_err(|error| {
|
||||
SpacetimeClientError::Runtime(format!("puzzle run run_json 非法: {error}"))
|
||||
})?;
|
||||
@@ -3214,7 +3045,7 @@ pub(crate) fn parse_big_fish_creation_stage(
|
||||
"ready_to_publish" => Ok(BigFishCreationStage::ReadyToPublish),
|
||||
"published" => Ok(BigFishCreationStage::Published),
|
||||
other => Err(SpacetimeClientError::Runtime(format!(
|
||||
"big fish creation stage `{other}` ??????"
|
||||
"big fish creation stage `{other}` 当前尚未支持"
|
||||
))),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user