Sign in

    thy1016/mooncmd/command does not have a README file

    CommandHandler

    type CommandHandler[S, C, E] = (S, C) -> Result[Array[E], CommandError]

    命令处理程序类型

    Command

    pub trait Command {
    fn type_name() -> String
    }

    命令:用户意图,可失败

    CommandError

    pub(all) suberror CommandError {
    InvalidCommand(String)
    UnregisteredCommand(String)
    Unauthorized(String)
    PreconditionFailed(String)
    NotFound(String)
    Conflict(Int, Int)
    }

    CommandError::to_string

    fn CommandError::to_string(self : CommandError) -> String

    显式晋升 Show::to_string([0079] 隐式晋升已弃会;examples 插值面需要——FR-MC-6 错误面 Show 稳定)

    CommandMessage

    pub struct CommandMessage[C] {
    command : C
    command_id : String
    correlation_id : String
    causation_id : String
    user_id : String?
    timestamp : Int64
    metadata : Json
    }

    带元数据的命令

    CommandMessage::new

    fn[C] CommandMessage::new(command : C) -> CommandMessage[C]

    CommandMessage::with_correlation

    fn[C] CommandMessage::with_correlation(self : CommandMessage[C], correlation_id : String) -> CommandMessage[C]

    CommandMessage::with_user

    fn[C] CommandMessage::with_user(self : CommandMessage[C], user_id : String) -> CommandMessage[C]