101 lines
4.4 KiB
Rust
101 lines
4.4 KiB
Rust
//! 自定义世界领域错误。
|
|
//!
|
|
//! 错误只表达世界创作规则失败,由 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 {}
|