wip: black
This commit is contained in:
1
packages/console/core/migrations/0049_noisy_domino.sql
Normal file
1
packages/console/core/migrations/0049_noisy_domino.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE `billing` ADD `subscription_coupon_id` varchar(28);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE `payment` ADD `enrichment` json;
|
||||
1288
packages/console/core/migrations/meta/0049_snapshot.json
Normal file
1288
packages/console/core/migrations/meta/0049_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1295
packages/console/core/migrations/meta/0050_snapshot.json
Normal file
1295
packages/console/core/migrations/meta/0050_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -344,6 +344,20 @@
|
||||
"when": 1767917785224,
|
||||
"tag": "0048_mean_frank_castle",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 49,
|
||||
"version": "5",
|
||||
"when": 1767922954153,
|
||||
"tag": "0049_noisy_domino",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 50,
|
||||
"version": "5",
|
||||
"when": 1767931290031,
|
||||
"tag": "0050_bumpy_mephistopheles",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,9 @@ if (amountInCents !== 20000) {
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
const subscriptionData = await Billing.stripe().subscriptions.retrieve(subscription.id, { expand: ["discounts"] })
|
||||
const couponID = subscriptionData.discounts[0]?.coupon?.id
|
||||
|
||||
// Check if subscription is already tied to another workspace
|
||||
const existingSubscription = await Database.use((tx) =>
|
||||
tx
|
||||
@@ -122,6 +125,7 @@ await Database.transaction(async (tx) => {
|
||||
.set({
|
||||
customerID,
|
||||
subscriptionID,
|
||||
subscriptionCouponID: couponID,
|
||||
paymentMethodID,
|
||||
paymentMethodLast4,
|
||||
paymentMethodType,
|
||||
@@ -143,6 +147,10 @@ await Database.transaction(async (tx) => {
|
||||
customerID,
|
||||
invoiceID,
|
||||
paymentID,
|
||||
enrichment: {
|
||||
type: "subscription",
|
||||
couponID,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -171,6 +171,9 @@ export namespace Billing {
|
||||
workspaceID,
|
||||
id: Identifier.create("payment"),
|
||||
amount: amountInMicroCents,
|
||||
enrichment: {
|
||||
type: "credit",
|
||||
},
|
||||
})
|
||||
})
|
||||
return amountInMicroCents
|
||||
|
||||
@@ -22,6 +22,7 @@ export const BillingTable = mysqlTable(
|
||||
timeReloadError: utc("time_reload_error"),
|
||||
timeReloadLockedTill: utc("time_reload_locked_till"),
|
||||
subscriptionID: varchar("subscription_id", { length: 28 }),
|
||||
subscriptionCouponID: varchar("subscription_coupon_id", { length: 28 }),
|
||||
},
|
||||
(table) => [
|
||||
...workspaceIndexes(table),
|
||||
@@ -54,6 +55,15 @@ export const PaymentTable = mysqlTable(
|
||||
paymentID: varchar("payment_id", { length: 255 }),
|
||||
amount: bigint("amount", { mode: "number" }).notNull(),
|
||||
timeRefunded: utc("time_refunded"),
|
||||
enrichment: json("enrichment").$type<
|
||||
| {
|
||||
type: "subscription"
|
||||
couponID?: string
|
||||
}
|
||||
| {
|
||||
type: "credit"
|
||||
}
|
||||
>(),
|
||||
},
|
||||
(table) => [...workspaceIndexes(table)],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user