//! 自定义世界领域错误。 //! //! 错误只表达世界创作规则失败,由 adapter 显式映射为 HTTP 或 reducer 错误。 use std::{error::Error, fmt}; #[derive(Clone, Debug, PartialEq, Eq)] pub enum CustomWorldFieldError { MissingProfileId, MissingSessionId, MissingOwnerUserId, MissingPublicWorkCode, MissingAction, MissingWorldName, MissingDraftProfileJson, MissingProfilePayloadJson, MissingSettingText, MissingQuestionSnapshotJson, MissingAnchorContentJson, MissingCreatorIntentReadinessJson, MissingAssetCoverageJson, MissingPendingClarificationsJson, MissingMessageId, MissingMessageText, MissingOperationId, MissingPhaseLabel, InvalidProgressPercent, MissingCardId, MissingCardTitle, MissingCardSummary, MissingLinkedIdsJson, MissingAuthorDisplayName, InvalidDraftProfileJson, InvalidLegacyResultProfileJson, InvalidJsonPayload, } impl fmt::Display for CustomWorldFieldError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Self::MissingProfileId => f.write_str("custom_world.profile_id 不能为空"), Self::MissingSessionId => f.write_str("custom_world.session_id 不能为空"), Self::MissingOwnerUserId => f.write_str("custom_world.owner_user_id 不能为空"), Self::MissingPublicWorkCode => { f.write_str("custom_world_gallery_detail.public_work_code 不能为空") } Self::MissingAction => f.write_str("custom_world_agent_action.action 不能为空"), Self::MissingWorldName => f.write_str("custom_world.world_name 不能为空"), Self::MissingDraftProfileJson => { f.write_str("custom_world.compile.draft_profile_json 不能为空") } Self::MissingProfilePayloadJson => { f.write_str("custom_world.profile_payload_json 不能为空") } Self::MissingSettingText => f.write_str("custom_world.setting_text 不能为空"), Self::MissingQuestionSnapshotJson => { f.write_str("custom_world.question_snapshot_json 不能为空") } Self::MissingAnchorContentJson => { f.write_str("custom_world.anchor_content_json 不能为空") } Self::MissingCreatorIntentReadinessJson => { f.write_str("custom_world.creator_intent_readiness_json 不能为空") } Self::MissingAssetCoverageJson => { f.write_str("custom_world.asset_coverage_json 不能为空") } Self::MissingPendingClarificationsJson => { f.write_str("custom_world.pending_clarifications_json 不能为空") } Self::MissingMessageId => f.write_str("custom_world_agent_message.message_id 不能为空"), Self::MissingMessageText => f.write_str("custom_world_agent_message.text 不能为空"), Self::MissingOperationId => { f.write_str("custom_world_agent_operation.operation_id 不能为空") } Self::MissingPhaseLabel => { f.write_str("custom_world_agent_operation.phase_label 不能为空") } Self::InvalidProgressPercent => f.write_str("progress 必须位于 0~100"), Self::MissingCardId => f.write_str("custom_world_draft_card.card_id 不能为空"), Self::MissingCardTitle => f.write_str("custom_world_draft_card.title 不能为空"), Self::MissingCardSummary => f.write_str("custom_world_draft_card.summary 不能为空"), Self::MissingLinkedIdsJson => { f.write_str("custom_world_draft_card.linked_ids_json 不能为空") } Self::MissingAuthorDisplayName => { f.write_str("custom_world_gallery_entry.author_display_name 不能为空") } Self::InvalidDraftProfileJson => { f.write_str("custom_world.compile.draft_profile_json 不是合法 JSON object") } Self::InvalidLegacyResultProfileJson => { f.write_str("custom_world.compile.legacy_result_profile_json 不是合法 JSON object") } Self::InvalidJsonPayload => f.write_str("custom_world JSON payload 结构非法"), } } } impl Error for CustomWorldFieldError {}