xendit 0.0.2

Xendit Rust SDK
Documentation
use serde::Serialize;

use crate::common::Currency;

use super::ChannelCategory;

#[derive(Serialize, Clone)]
pub struct GetPayoutChannelsRequestParams {
    currency: Option<Currency>,
    channel_category: Option<Vec<ChannelCategory>>,
    channel_code: Option<String>,
}
impl GetPayoutChannelsRequestParams {
    pub fn new() -> Self {
        Self {
            currency: None,
            channel_category: None,
            channel_code: None,
        }
    }
    pub fn get_currency(&self) -> Option<&Currency> {
        self.currency.as_ref()
    }
    pub fn set_currency(&mut self, currency: Currency) -> &mut Self {
        self.currency = Some(currency);
        self
    }
    pub fn get_channel_category(&self) -> Option<&Vec<ChannelCategory>> {
        self.channel_category.as_ref()
    }
    pub fn set_channel_category(&mut self, channel_category: Vec<ChannelCategory>) -> &mut Self {
        self.channel_category = Some(channel_category);
        self
    }
    pub fn get_channel_code(&self) -> Option<&String> {
        self.channel_code.as_ref()
    }
    pub fn set_channel_code(&mut self, channel_code: String) -> &mut Self {
        self.channel_code = Some(channel_code);
        self
    }
    pub fn build(&self) -> Self {
        self.clone()
    }
}