collab: Add kind and period start/end timestamps to billing_subscriptions
(#28796)
This PR updates the `billing_subscriptions` table with some new columns - `kind` - The kind of the description (used to denote Zed Pro vs existing) - `stripe_current_period_start` - The Stripe timestamp of when the subscriptions current period starts - `stripe_current_period_end` - The Stripe timestamp of when the subscriptions current period ends Release Notes: - N/A Co-authored-by: Mikayla <mikayla@zed.dev>
This commit is contained in:
parent
92dc812aea
commit
149cdeca29
6 changed files with 71 additions and 4 deletions
|
@ -9,10 +9,13 @@ pub struct Model {
|
|||
#[sea_orm(primary_key)]
|
||||
pub id: BillingSubscriptionId,
|
||||
pub billing_customer_id: BillingCustomerId,
|
||||
pub kind: Option<SubscriptionKind>,
|
||||
pub stripe_subscription_id: String,
|
||||
pub stripe_subscription_status: StripeSubscriptionStatus,
|
||||
pub stripe_cancel_at: Option<DateTime>,
|
||||
pub stripe_cancellation_reason: Option<StripeCancellationReason>,
|
||||
pub stripe_current_period_start: Option<i64>,
|
||||
pub stripe_current_period_end: Option<i64>,
|
||||
pub created_at: DateTime,
|
||||
}
|
||||
|
||||
|
@ -34,6 +37,14 @@ impl Related<super::billing_customer::Entity> for Entity {
|
|||
|
||||
impl ActiveModelBehavior for ActiveModel {}
|
||||
|
||||
#[derive(Eq, PartialEq, Copy, Clone, Debug, EnumIter, DeriveActiveEnum, Hash, Serialize)]
|
||||
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum SubscriptionKind {
|
||||
#[sea_orm(string_value = "zed_pro")]
|
||||
ZedPro,
|
||||
}
|
||||
|
||||
/// The status of a Stripe subscription.
|
||||
///
|
||||
/// [Stripe docs](https://docs.stripe.com/api/subscriptions/object#subscription_object-status)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue