🔥 Remove legacy billing system (paddle) (#1583)

This commit is contained in:
Luke Vella 2025-02-27 11:14:49 +00:00 committed by GitHub
parent 5f49502922
commit 01758f81ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 12 additions and 378 deletions

View file

@ -0,0 +1,11 @@
-- DropTable
DROP TABLE "user_payment_data";
-- AlterEnum
BEGIN;
CREATE TYPE "subscription_status_new" AS ENUM ('incomplete', 'incomplete_expired', 'active', 'paused', 'trialing', 'past_due', 'canceled', 'unpaid');
ALTER TABLE "subscriptions" ALTER COLUMN "status" TYPE "subscription_status_new" USING ("status"::text::"subscription_status_new");
ALTER TYPE "subscription_status" RENAME TO "subscription_status_old";
ALTER TYPE "subscription_status_new" RENAME TO "subscription_status";
DROP TYPE "subscription_status_old";
COMMIT;

View file

@ -73,7 +73,6 @@ enum SubscriptionStatus {
past_due
canceled
unpaid
deleted // @deprecated - Only used in UserPaymentData which is also deprecated
@@map("subscription_status")
}
@ -100,18 +99,6 @@ model PaymentMethod {
@@map("payment_methods")
}
model UserPaymentData {
userId String @id @map("user_id")
subscriptionId String @map("subscription_id")
planId String @map("plan_id")
endDate DateTime @map("end_date")
status SubscriptionStatus
updateUrl String @map("update_url")
cancelUrl String @map("cancel_url")
@@map("user_payment_data")
}
model Subscription {
id String @id
priceId String @map("price_id")

View file

@ -142,27 +142,8 @@ async function main() {
},
});
const proUserLegacy = await prisma.user.create({
data: {
name: "Pro User Legacy",
email: "dev+prolegacy@rallly.co",
},
});
await prisma.userPaymentData.create({
data: {
userId: proUserLegacy.id,
status: "active",
endDate: dayjs().add(1, "year").toDate(),
planId: "pro_123",
updateUrl: "https://example.com/update",
cancelUrl: "https://example.com/cancel",
subscriptionId: "sub_123",
},
});
await Promise.all(
[freeUser, proUser, proUserLegacy].map(async (user) => {
[freeUser, proUser].map(async (user) => {
Array.from({ length: 20 }).forEach(async () => {
await createPollForUser(user.id);
});