use sea_orm::ActiveValue;

/// 从 SeaORM ActiveValue<i32> 中安全提取 version 值。
/// Set(v) / Unchanged(v) → 返回 v
/// NotSet → 返回 1（首次版本号）
/// 绝不 panic。
pub fn safe_version(val: &ActiveValue<i32>) -> i32 {
    match val {
        ActiveValue::Set(v) | ActiveValue::Unchanged(v) => *v,
        ActiveValue::NotSet => 1,
    }
}

/// 安全递增 version：基于当前值 +1，绝不 panic。
pub fn bump_version(current: &ActiveValue<i32>) -> i32 {
    safe_version(current) + 1
}
