arc-web-cli 0.7.2

Create self-contained Arc applications
use arc_core::aggregate::Command;

#[allow(dead_code)]
pub enum UserCommand {
    Register {
        id: String,
        name: String,
        email: String,
        password_hash: String,
    },
    UpdateProfile {
        id: String,
        name: String,
    },
    ChangeEmail {
        id: String,
        email: String,
    },
    ChangePassword {
        id: String,
        password_hash: String,
    },
    Deactivate {
        id: String,
    },
}

impl Command for UserCommand {
    fn aggregate_id(&self) -> &str {
        match self {
            Self::Register { id, .. }
            | Self::UpdateProfile { id, .. }
            | Self::ChangeEmail { id, .. }
            | Self::ChangePassword { id, .. }
            | Self::Deactivate { id } => id,
        }
    }
}