lockbook_server_lib/billing/
mod.rs1pub 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}