Skip to main content

lockbook_server_lib/billing/
mod.rs

1pub mod app_store_client;
2pub mod app_store_model;
3pub mod app_store_service;
4pub mod billing_model;
5pub mod billing_service;
6pub mod google_play_client;
7pub mod google_play_model;
8pub mod google_play_service;
9pub mod stripe_client;
10pub mod stripe_error;
11pub mod stripe_model;
12pub mod stripe_service;
13
14use async_trait::async_trait;
15use google_androidpublisher3::api::SubscriptionPurchase;
16use lb_rs::model::api::UpgradeAccountAppStoreError;
17
18use crate::ServerError;
19use crate::config::{AppleConfig, Config};
20
21use self::app_store_client::AppStoreClient;
22use self::app_store_model::{LastTransactionItem, TransactionInfo};
23use self::google_play_client::{GooglePlayClient, SimpleGCPError};
24use self::stripe_client::StripeClient;
25use self::stripe_error::SimplifiedStripeError;
26
27#[derive(Clone)]
28pub struct Nop {}
29
30#[async_trait]
31impl StripeClient for Nop {
32    async fn create_customer(
33        &self, _customer_name: String, _payment_method_id: stripe::PaymentMethodId,
34    ) -> Result<stripe::Customer, SimplifiedStripeError> {
35        todo!()
36    }
37
38    async fn create_payment_method(
39        &self, _card_number: &str, _exp_month: i32, _exp_year: i32, _cvc: &str,
40    ) -> Result<stripe::PaymentMethod, SimplifiedStripeError> {
41        todo!()
42    }
43
44    async fn create_setup_intent(
45        &self, _customer_id: stripe::CustomerId, _payment_method_id: stripe::PaymentMethodId,
46    ) -> Result<stripe::SetupIntent, SimplifiedStripeError> {
47        todo!()
48    }
49
50    async fn create_subscription(
51        &self, _customer_id: stripe::CustomerId, _payment_method_id: &str, _price_id: &str,
52    ) -> Result<stripe::Subscription, SimplifiedStripeError> {
53        todo!()
54    }
55
56    async fn detach_payment_method_from_customer(
57        &self, _payment_method_id: &stripe::PaymentMethodId,
58    ) -> Result<(), SimplifiedStripeError> {
59        todo!()
60    }
61
62    async fn cancel_subscription(
63        &self, _subscription_id: &stripe::SubscriptionId,
64    ) -> Result<(), SimplifiedStripeError> {
65        todo!()
66    }
67
68    async fn get_subscription(
69        &self, _subscription_id: &stripe::SubscriptionId,
70    ) -> Result<stripe::Subscription, SimplifiedStripeError> {
71        todo!()
72    }
73
74    async fn retrieve_invoice(
75        &self, _invoice_id: &stripe::InvoiceId,
76    ) -> Result<stripe::Invoice, SimplifiedStripeError> {
77        todo!()
78    }
79}
80
81#[async_trait]
82impl GooglePlayClient for Nop {
83    async fn acknowledge_subscription(
84        &self, _config: &Config, _purchase_token: &str,
85    ) -> Result<(), SimpleGCPError> {
86        todo!()
87    }
88
89    async fn cancel_subscription(
90        &self, _config: &Config, _purchase_token: &str,
91    ) -> Result<(), SimpleGCPError> {
92        todo!()
93    }
94
95    async fn get_subscription(
96        &self, _config: &Config, _purchase_token: &str,
97    ) -> Result<SubscriptionPurchase, SimpleGCPError> {
98        todo!()
99    }
100}
101
102#[async_trait]
103impl AppStoreClient for Nop {
104    async fn get_sub_status(
105        &self, _config: &AppleConfig, _original_transaction_id: &str,
106    ) -> Result<(LastTransactionItem, TransactionInfo), ServerError<UpgradeAccountAppStoreError>>
107    {
108        todo!()
109    }
110}