import { pgTable, uuid, varchar, timestamp, pgEnum, boolean } from 'drizzle-orm/pg-core' export const userRoleEnum = pgEnum('user_role', [ 'admin', 'manager', 'staff', 'technician', 'instructor', ]) export const users = pgTable('user', { id: uuid('id').primaryKey().defaultRandom(), email: varchar('email', { length: 255 }).notNull().unique(), passwordHash: varchar('password_hash', { length: 255 }).notNull(), firstName: varchar('first_name', { length: 100 }).notNull(), lastName: varchar('last_name', { length: 100 }).notNull(), role: userRoleEnum('role').notNull().default('staff'), employeeNumber: varchar('employee_number', { length: 20 }).unique(), pinHash: varchar('pin_hash', { length: 255 }), isActive: boolean('is_active').notNull().default(true), createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(), updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(), }) export type User = typeof users.$inferSelect export type UserInsert = typeof users.$inferInsert