#![allow(clippy::module_name_repetitions)]
use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "lowercase")]
pub enum RefillInterval {
Daily,
Monthly,
}
#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Refill {
pub amount: usize,
pub interval: RefillInterval,
#[serde(skip_serializing)]
pub last_refilled_at: Option<usize>,
}
impl Refill {
#[must_use]
#[rustfmt::skip]
pub fn new(amount: usize, interval: RefillInterval) -> Self {
Self { amount, interval, last_refilled_at: None }
}
}