namespace MiGu.Server.Configs;

public record ChargePriorityRule(string Id, string Condition, double Weight);

public record ChargePolicy(
    bool AllowMidTaskCharge,
    int IdleChargeAfterSec,
    List<ChargePriorityRule> Priority)
{
    public static ChargePolicy Default() => new(
        AllowMidTaskCharge: false,
        IdleChargeAfterSec: 300,
        Priority: new List<ChargePriorityRule>
        {
            new("CP1", "soc<0.2", 100),
            new("CP2", "idle>5min", 30)
        });
}
