// src/server/features/system/db/role_session_policies.table.ts
// Таблица политик сессий по ролям (авторазлогин)

import { mysqlTable, varchar, int, timestamp, uniqueIndex } from 'drizzle-orm/mysql-core';

export const roleSessionPoliciesTable = mysqlTable('role_session_policies', {
  id: varchar('id', { length: 36 }).primaryKey().$defaultFn(() => crypto.randomUUID()),
  role: varchar('role', { length: 50 }).notNull(),
  logoutTime: varchar('logout_time', { length: 5 }),
  inactivityTimeout: int('inactivity_timeout'),
  sessionDuration: int('session_duration'),
  createdAt: timestamp('created_at').notNull().defaultNow(),
  updatedAt: timestamp('updated_at').notNull().defaultNow().onUpdateNow(),
}, (table) => ({
  uniqueRole: uniqueIndex('unique_session_policy_role').on(table.role),
}));
