// src/server/features/personnel/db/employees.table.ts
// Объединенная схема Users и Employees

import { mysqlTable, varchar, boolean, timestamp, mysqlEnum, date, text } from 'drizzle-orm/mysql-core';

export const users = mysqlTable('users', {
  id: varchar('id', { length: 36 }).primaryKey(),
  
  // Auth Fields (nullable для сотрудников без логина)
  username: varchar('username', { length: 50 }).unique(),
  passwordHash: varchar('password_hash', { length: 255 }),
  email: varchar('email', { length: 100 }),
  role: mysqlEnum('role', ['ADMIN', 'MANAGER', 'MAID', 'VIEWER', 'GOD']).default('MANAGER'),
  isSystem: boolean('is_system').notNull().default(false),
  isMaidAlso: boolean('is_maid_also').default(false),

  // Employee Fields (перенесены из employees)
  fullName: varchar('full_name', { length: 255 }),
  position: varchar('position', { length: 100 }),
  birthDate: date('birth_date'),
  address: text('address'),
  phone: varchar('phone', { length: 20 }),
  notes: text('notes'), // Заметки о сотруднике
  isFired: boolean('is_fired').default(false),
  firedReason: text('fired_reason'),

  // Session tracking
  lastActivityAt: timestamp('last_activity_at'),

  // System fields
  createdAt: timestamp('created_at').notNull().defaultNow(),
  updatedAt: timestamp('updated_at').notNull().defaultNow().onUpdateNow(),
  archivedAt: timestamp('archived_at'),
});

// Алиас для обратной совместимости
export const employees = users;
