use crate::{BillingScopeId, GatewayAccountId, GatewayProviderKey};
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GatewayLifecycleAccount {
billing_scope_id: BillingScopeId,
gateway_account_id: GatewayAccountId,
provider_key: GatewayProviderKey,
}
impl GatewayLifecycleAccount {
pub fn new(
billing_scope_id: BillingScopeId,
gateway_account_id: GatewayAccountId,
provider_key: GatewayProviderKey,
) -> Self {
Self {
billing_scope_id,
gateway_account_id,
provider_key,
}
}
pub const fn billing_scope_id(&self) -> BillingScopeId {
self.billing_scope_id
}
pub const fn gateway_account_id(&self) -> GatewayAccountId {
self.gateway_account_id
}
pub const fn provider_key(&self) -> &GatewayProviderKey {
&self.provider_key
}
}
#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
pub struct GatewayAccountReconciliationCandidate {
billing_scope_id: BillingScopeId,
gateway_account_id: GatewayAccountId,
}
impl GatewayAccountReconciliationCandidate {
pub const fn new(
billing_scope_id: BillingScopeId,
gateway_account_id: GatewayAccountId,
) -> Self {
Self {
billing_scope_id,
gateway_account_id,
}
}
pub const fn billing_scope_id(self) -> BillingScopeId {
self.billing_scope_id
}
pub const fn gateway_account_id(self) -> GatewayAccountId {
self.gateway_account_id
}
}