mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-06 10:11:31 +00:00
Track subscription status
This commit is contained in:
1 parent
c6a1fc18d6
commit
66981c4d2c
4 files changed
+11
No files matched your search
@@ -41,6 +41,9 @@ CREATE TABLE user_subscriptions (
|
||||
|
||||
maybe_stripe_customer_id VARCHAR(255) DEFAULT NULL,
|
||||
|
||||
-- Subscription object status enum as string
|
||||
maybe_stripe_subscription_status VARCHAR(32) DEFAULT NULL,
|
||||
|
||||
maybe_stripe_is_production BOOLEAN DEFAULT NULL,
|
||||
|
||||
-- ========== VECTOR CLOCK ==========
|
||||
@@ -73,6 +76,7 @@ CREATE TABLE user_subscriptions (
|
||||
UNIQUE KEY (maybe_stripe_subscription_id),
|
||||
KEY index_subscription_category (subscription_category),
|
||||
KEY index_subscription_product_key (subscription_product_key),
|
||||
KEY index_maybe_stripe_subscription_status (maybe_stripe_subscription_status),
|
||||
KEY fk_maybe_user_token (maybe_user_token)
|
||||
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
|
||||
+1
@@ -49,6 +49,7 @@ pub async fn customer_subscription_created_handler(
|
||||
subscription_product_key: "todo",
|
||||
maybe_stripe_product_id: Some(&summary.stripe_product_id),
|
||||
maybe_stripe_customer_id: Some(&summary.stripe_customer_id),
|
||||
maybe_stripe_subscription_status: Some(summary.stripe_subscription_status.as_str()),
|
||||
maybe_stripe_is_production: Some(summary.stripe_is_production),
|
||||
subscription_created_at: summary.subscription_period_start,
|
||||
subscription_expires_at: summary.subscription_period_end,
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ pub async fn customer_subscription_updated_handler(
|
||||
subscription_product_key: "todo",
|
||||
maybe_stripe_product_id: Some(&summary.stripe_product_id),
|
||||
maybe_stripe_customer_id: Some(&summary.stripe_customer_id),
|
||||
maybe_stripe_subscription_status: Some(summary.stripe_subscription_status.as_str()),
|
||||
maybe_stripe_is_production: Some(summary.stripe_is_production),
|
||||
subscription_created_at: summary.subscription_period_start,
|
||||
subscription_expires_at: summary.subscription_period_end,
|
||||
|
||||
+5
@@ -22,6 +22,7 @@ pub struct UpsertSubscriptionByStripeId <'a> {
|
||||
|
||||
pub maybe_stripe_product_id: Option<&'a str>,
|
||||
pub maybe_stripe_customer_id: Option<&'a str>,
|
||||
pub maybe_stripe_subscription_status: Option<&'a str>,
|
||||
pub maybe_stripe_is_production: Option<bool>,
|
||||
|
||||
pub subscription_created_at: NaiveDateTime,
|
||||
@@ -54,6 +55,7 @@ SET
|
||||
|
||||
maybe_stripe_product_id = ?,
|
||||
maybe_stripe_customer_id = ?,
|
||||
maybe_stripe_subscription_status = ?,
|
||||
maybe_stripe_is_production = ?,
|
||||
|
||||
subscription_created_at = ?,
|
||||
@@ -63,6 +65,7 @@ SET
|
||||
|
||||
ON DUPLICATE KEY UPDATE
|
||||
subscription_expires_at = ?,
|
||||
maybe_stripe_subscription_status = ?,
|
||||
maybe_user_token = COALESCE(NULLIF(?, ''), maybe_user_token),
|
||||
|
||||
version = version + 1
|
||||
@@ -77,6 +80,7 @@ ON DUPLICATE KEY UPDATE
|
||||
|
||||
self.maybe_stripe_product_id,
|
||||
self.maybe_stripe_customer_id,
|
||||
self.maybe_stripe_subscription_status,
|
||||
self.maybe_stripe_is_production,
|
||||
|
||||
self.subscription_created_at,
|
||||
@@ -84,6 +88,7 @@ ON DUPLICATE KEY UPDATE
|
||||
|
||||
// Upsert
|
||||
self.subscription_expires_at,
|
||||
self.maybe_stripe_subscription_status,
|
||||
self.maybe_user_token,
|
||||
);
|
||||
|
||||
|
||||
Reference in new issue
Block a user