baichun-framework-core 0.1.0

Core module for Baichun-Rust framework
Documentation
use serde::{Deserialize, Serialize};

/// 通用状态枚举
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u8)]
pub enum Status {
    /// 禁用
    Disable = 0,
    /// 启用
    Enable = 1,
}

impl Default for Status {
    fn default() -> Self {
        Status::Enable
    }
}

/// 性别枚举
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u8)]
pub enum Gender {
    /// 未知
    Unknown = 0,
    ///    Male = 1,
    ///    Female = 2,
}

impl Default for Gender {
    fn default() -> Self {
        Gender::Unknown
    }
}

/// 删除标记
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u8)]
pub enum DeleteFlag {
    /// 正常
    Normal = 0,
    /// 已删除
    Deleted = 1,
}

impl Default for DeleteFlag {
    fn default() -> Self {
        DeleteFlag::Normal
    }
}

/// 响应状态码
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u16)]
pub enum ResponseCode {
    /// 成功
    Success = 200,
    /// 错误请求
    BadRequest = 400,
    /// 未授权
    Unauthorized = 401,
    /// 禁止访问
    Forbidden = 403,
    /// 未找到
    NotFound = 404,
    /// 服务器错误
    ServerError = 500,
}

impl Default for ResponseCode {
    fn default() -> Self {
        ResponseCode::Success
    }
}

/// 业务状态
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(i32)]
pub enum BusinessStatus {
    /// 成功
    Success = 0,
    /// 失败
    Fail = 1,
    /// 错误
    Error = 2,
    /// 警告
    Warning = 3,
}

impl Default for BusinessStatus {
    fn default() -> Self {
        BusinessStatus::Success
    }
}

/// 操作类型
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[repr(u8)]
pub enum OperationType {
    /// 其他
    Other = 0,
    /// 新增
    Insert = 1,
    /// 修改
    Update = 2,
    /// 删除
    Delete = 3,
    /// 授权
    Grant = 4,
    /// 导出
    Export = 5,
    /// 导入
    Import = 6,
    /// 强退
    ForceLogout = 7,
    /// 生成代码
    GenCode = 8,
    /// 清空数据
    Clean = 9,
}

impl Default for OperationType {
    fn default() -> Self {
        OperationType::Other
    }
}