collab: Add billing_subscriptions table (#15448)

This PR adds a new `billing_subscriptions` table to the database, as
well as some accompanying models/queries.

In this table we store a minimal amount of data from Stripe:

- The Stripe customer ID
- The Stripe subscription ID
- The status of the Stripe subscription

This should be enough for interactions with the Stripe API (e.g., to
[create a customer portal
session](https://docs.stripe.com/api/customer_portal/sessions/create)),
as well as determine whether a subscription is active (based on the
`status`).

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-07-29 14:32:13 -04:00 committed by GitHub
parent 0702ed5cd6
commit 085d41b121
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 215 additions and 0 deletions

View file

@ -45,6 +45,7 @@ use tokio::sync::{Mutex, OwnedMutexGuard};
pub use tests::TestDb;
pub use ids::*;
pub use queries::billing_subscriptions::CreateBillingSubscriptionParams;
pub use queries::contributors::ContributorSelector;
pub use sea_orm::ConnectOptions;
pub use tables::user::Model as User;