import { relations } from 'drizzle-orm' import { pgTable, text, timestamp, index } from 'drizzle-orm/pg-core' import { users } from './user' export const sessions = pgTable( 'sessions', { id: text('id').primaryKey(), expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(), token: text('token').notNull().unique(), createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(), updatedAt: timestamp('updated_at', { withTimezone: true }) .notNull() .$onUpdate(() => new Date()), ipAddress: text('ip_address'), userAgent: text('user_agent'), userId: text('user_id') .notNull() .references(() => users.id, { onDelete: 'cascade' }) }, table => [index('sessions_user_id_idx').on(table.userId)] ) export const sessionsRelations = relations(sessions, ({ one }) => ({ user: one(users, { fields: [sessions.userId], references: [users.id] }) }))