import { pgTable, uuid, text, boolean, timestamp, primaryKey, uniqueIndex, index, } from 'drizzle-orm/pg-core'; export const authProviders = pgTable('auth_providers', { id: uuid('id').primaryKey(), userId: uuid('user_id').notNull(), providerType: text('provider_type').notNull(), providerUserId: text('provider_user_id').notNull(), email: text('email'), passwordHash: text('password_hash'), emailVerified: boolean('email_verified').default(false).notNull(), phoneVerified: boolean('phone_verified').default(false).notNull(), createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(), updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), }, (table) => { return { uniqueProviderUserCombo: uniqueIndex('auth_providers_provider_type_provider_user_id') .on(table.providerType, table.providerUserId), uniqueProviderAndUserEmail: uniqueIndex('auth_providers_provider_type_user_id_email') .on(table.providerType, table.userId, table.email), userIdIdx: index('auth_providers_user_id_idx').on(table.userId), }; });