pub struct SqliteSubscriptionRepository { /* private fields */ }Available on crate feature
sqlite only.Implementations§
Source§impl SqliteSubscriptionRepository
impl SqliteSubscriptionRepository
pub const fn new(pool: Pool<SqliteConnectionManager>) -> Self
pub fn create_plan( &self, input: CreateSubscriptionPlan, ) -> Result<SubscriptionPlan>
pub fn get_plan(&self, id: Uuid) -> Result<Option<SubscriptionPlan>>
pub fn get_plan_by_code(&self, code: &str) -> Result<Option<SubscriptionPlan>>
pub fn list_plans( &self, filter: SubscriptionPlanFilter, ) -> Result<Vec<SubscriptionPlan>>
pub fn update_plan( &self, id: Uuid, input: UpdateSubscriptionPlan, ) -> Result<SubscriptionPlan>
pub fn activate_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
pub fn archive_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
pub fn create_subscription( &self, input: CreateSubscription, ) -> Result<Subscription>
pub fn get_subscription( &self, id: SubscriptionId, ) -> Result<Option<Subscription>>
pub fn get_subscription_by_number( &self, number: &str, ) -> Result<Option<Subscription>>
pub fn list_subscriptions( &self, filter: SubscriptionFilter, ) -> Result<Vec<Subscription>>
pub fn update_subscription( &self, id: SubscriptionId, input: UpdateSubscription, ) -> Result<Subscription>
pub fn pause_subscription( &self, id: SubscriptionId, input: PauseSubscription, ) -> Result<Subscription>
pub fn resume_subscription(&self, id: SubscriptionId) -> Result<Subscription>
pub fn cancel_subscription( &self, id: SubscriptionId, input: CancelSubscription, ) -> Result<Subscription>
pub fn skip_billing_cycle( &self, id: SubscriptionId, input: SkipBillingCycle, ) -> Result<Subscription>
pub fn create_billing_cycle( &self, input: CreateBillingCycle, ) -> Result<BillingCycle>
pub fn get_billing_cycle(&self, id: Uuid) -> Result<Option<BillingCycle>>
pub fn list_billing_cycles( &self, filter: BillingCycleFilter, ) -> Result<Vec<BillingCycle>>
pub fn update_billing_cycle_status( &self, id: Uuid, status: BillingCycleStatus, payment_id: Option<String>, failure_reason: Option<String>, ) -> Result<BillingCycle>
pub fn record_event( &self, subscription_id: SubscriptionId, event_type: SubscriptionEventType, description: &str, data: Option<Value>, triggered_by: Option<&str>, ) -> Result<SubscriptionEvent>
pub fn get_subscription_events( &self, subscription_id: SubscriptionId, limit: Option<u32>, ) -> Result<Vec<SubscriptionEvent>>
Trait Implementations§
Source§impl Debug for SqliteSubscriptionRepository
impl Debug for SqliteSubscriptionRepository
Source§impl SubscriptionRepository for SqliteSubscriptionRepository
impl SubscriptionRepository for SqliteSubscriptionRepository
Source§fn create_plan(&self, input: CreateSubscriptionPlan) -> Result<SubscriptionPlan>
fn create_plan(&self, input: CreateSubscriptionPlan) -> Result<SubscriptionPlan>
Create a subscription plan
Source§fn get_plan(&self, id: Uuid) -> Result<Option<SubscriptionPlan>>
fn get_plan(&self, id: Uuid) -> Result<Option<SubscriptionPlan>>
Get a subscription plan by ID
Source§fn get_plan_by_code(&self, code: &str) -> Result<Option<SubscriptionPlan>>
fn get_plan_by_code(&self, code: &str) -> Result<Option<SubscriptionPlan>>
Get a subscription plan by code
Source§fn list_plans(
&self,
filter: SubscriptionPlanFilter,
) -> Result<Vec<SubscriptionPlan>>
fn list_plans( &self, filter: SubscriptionPlanFilter, ) -> Result<Vec<SubscriptionPlan>>
List subscription plans matching a filter
Source§fn update_plan(
&self,
id: Uuid,
input: UpdateSubscriptionPlan,
) -> Result<SubscriptionPlan>
fn update_plan( &self, id: Uuid, input: UpdateSubscriptionPlan, ) -> Result<SubscriptionPlan>
Update a subscription plan
Source§fn activate_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
fn activate_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
Activate a subscription plan
Source§fn archive_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
fn archive_plan(&self, id: Uuid) -> Result<SubscriptionPlan>
Archive a subscription plan
Source§fn create_subscription(&self, input: CreateSubscription) -> Result<Subscription>
fn create_subscription(&self, input: CreateSubscription) -> Result<Subscription>
Create a subscription
Source§fn get_subscription(&self, id: SubscriptionId) -> Result<Option<Subscription>>
fn get_subscription(&self, id: SubscriptionId) -> Result<Option<Subscription>>
Get a subscription by ID
Source§fn get_subscription_by_number(
&self,
number: &str,
) -> Result<Option<Subscription>>
fn get_subscription_by_number( &self, number: &str, ) -> Result<Option<Subscription>>
Get a subscription by number
Source§fn list_subscriptions(
&self,
filter: SubscriptionFilter,
) -> Result<Vec<Subscription>>
fn list_subscriptions( &self, filter: SubscriptionFilter, ) -> Result<Vec<Subscription>>
List subscriptions matching a filter
Source§fn update_subscription(
&self,
id: SubscriptionId,
input: UpdateSubscription,
) -> Result<Subscription>
fn update_subscription( &self, id: SubscriptionId, input: UpdateSubscription, ) -> Result<Subscription>
Update a subscription
Source§fn cancel_subscription(
&self,
id: SubscriptionId,
input: CancelSubscription,
) -> Result<Subscription>
fn cancel_subscription( &self, id: SubscriptionId, input: CancelSubscription, ) -> Result<Subscription>
Cancel a subscription
Source§fn pause_subscription(
&self,
id: SubscriptionId,
input: PauseSubscription,
) -> Result<Subscription>
fn pause_subscription( &self, id: SubscriptionId, input: PauseSubscription, ) -> Result<Subscription>
Pause a subscription
Source§fn resume_subscription(&self, id: SubscriptionId) -> Result<Subscription>
fn resume_subscription(&self, id: SubscriptionId) -> Result<Subscription>
Resume a paused subscription
Source§fn create_billing_cycle(
&self,
input: CreateBillingCycle,
) -> Result<BillingCycle>
fn create_billing_cycle( &self, input: CreateBillingCycle, ) -> Result<BillingCycle>
Create a billing cycle
Source§fn get_billing_cycle(&self, id: Uuid) -> Result<Option<BillingCycle>>
fn get_billing_cycle(&self, id: Uuid) -> Result<Option<BillingCycle>>
Get a billing cycle by ID
Source§fn list_billing_cycles(
&self,
filter: BillingCycleFilter,
) -> Result<Vec<BillingCycle>>
fn list_billing_cycles( &self, filter: BillingCycleFilter, ) -> Result<Vec<BillingCycle>>
List billing cycles matching a filter
Source§fn update_billing_cycle_status(
&self,
id: Uuid,
status: BillingCycleStatus,
) -> Result<BillingCycle>
fn update_billing_cycle_status( &self, id: Uuid, status: BillingCycleStatus, ) -> Result<BillingCycle>
Update the status of a billing cycle
Source§fn skip_billing_cycle(
&self,
id: SubscriptionId,
input: SkipBillingCycle,
) -> Result<Subscription>
fn skip_billing_cycle( &self, id: SubscriptionId, input: SkipBillingCycle, ) -> Result<Subscription>
Skip a billing cycle
Source§fn record_event(
&self,
subscription_id: SubscriptionId,
event_type: SubscriptionEventType,
notes: Option<String>,
) -> Result<SubscriptionEvent>
fn record_event( &self, subscription_id: SubscriptionId, event_type: SubscriptionEventType, notes: Option<String>, ) -> Result<SubscriptionEvent>
Record a subscription event
Source§fn get_subscription_events(
&self,
subscription_id: SubscriptionId,
) -> Result<Vec<SubscriptionEvent>>
fn get_subscription_events( &self, subscription_id: SubscriptionId, ) -> Result<Vec<SubscriptionEvent>>
Get all events for a subscription
Auto Trait Implementations§
impl !RefUnwindSafe for SqliteSubscriptionRepository
impl !UnwindSafe for SqliteSubscriptionRepository
impl Freeze for SqliteSubscriptionRepository
impl Send for SqliteSubscriptionRepository
impl Sync for SqliteSubscriptionRepository
impl Unpin for SqliteSubscriptionRepository
impl UnsafeUnpin for SqliteSubscriptionRepository
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more