feat: add users and auth tables schema
Made-with: Cursor
This commit is contained in:
21
src/db/schema/subscriptions.ts
Normal file
21
src/db/schema/subscriptions.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { pgTable, uuid, varchar, timestamp } from 'drizzle-orm/pg-core';
|
||||
import { planEnum, subscriptionStatusEnum } from './enums.js';
|
||||
import { users } from './users.js';
|
||||
|
||||
export const subscriptions = pgTable('subscriptions', {
|
||||
id: uuid('id').primaryKey().defaultRandom(),
|
||||
userId: uuid('user_id')
|
||||
.notNull()
|
||||
.references(() => users.id, { onDelete: 'cascade' })
|
||||
.unique(),
|
||||
plan: planEnum('plan').notNull(),
|
||||
status: subscriptionStatusEnum('status').notNull(),
|
||||
startedAt: timestamp('started_at', { withTimezone: true }).notNull(),
|
||||
expiresAt: timestamp('expires_at', { withTimezone: true }),
|
||||
cancelledAt: timestamp('cancelled_at', { withTimezone: true }),
|
||||
paymentProvider: varchar('payment_provider', { length: 50 }),
|
||||
externalId: varchar('external_id', { length: 255 }),
|
||||
});
|
||||
|
||||
export type Subscription = typeof subscriptions.$inferSelect;
|
||||
export type NewSubscription = typeof subscriptions.$inferInsert;
|
||||
Reference in New Issue
Block a user