推进 server-rs DDD 分层与新接口接线
This commit is contained in:
@@ -1,3 +1,25 @@
|
||||
//! 大鱼吃小鱼领域错误过渡落位。
|
||||
//!
|
||||
//! 错误只表达玩法规则失败,由 HTTP 和 SpacetimeDB adapter 分别映射展示。
|
||||
|
||||
use std::{error::Error, fmt};
|
||||
|
||||
/// 大鱼吃小鱼应用服务错误。
|
||||
///
|
||||
/// 这里不携带 HTTP status 或 SpacetimeDB 字符串错误,避免领域层泄漏 adapter 语义。
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum BigFishApplicationError {
|
||||
MissingSessionId,
|
||||
MissingOwnerUserId,
|
||||
}
|
||||
|
||||
impl fmt::Display for BigFishApplicationError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Self::MissingSessionId => f.write_str("big_fish.session_id 不能为空"),
|
||||
Self::MissingOwnerUserId => f.write_str("big_fish.owner_user_id 不能为空"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Error for BigFishApplicationError {}
|
||||
|
||||
Reference in New Issue
Block a user