use serde::{Deserialize, Serialize};

use crate::entities::{Address, Scheme};

#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub(crate) struct Client {
    pub(crate) address: Address,
    pub(crate) vat: Option<String>,
    pub(crate) deleted: bool,
    pub(crate) scheme: Scheme,
}

impl Client {
    #[cfg(test)]
    pub(crate) fn new(address: Address, vat: Option<String>, scheme: Scheme) -> Self {
        Self {
            address,
            vat,
            deleted: false,
            scheme,
        }
    }
}
