-- Atölye kullanıcıları ve audit logları (Farm Monitor)
SET NAMES utf8mb4;

CREATE TABLE IF NOT EXISTS `workshop_users` (
  `id` CHAR(36) NOT NULL PRIMARY KEY,
  `username` VARCHAR(64) NOT NULL,
  `display_name` VARCHAR(120) NOT NULL,
  `password_salt` VARCHAR(64) NOT NULL,
  `password_hash` VARCHAR(128) NOT NULL,
  `role` ENUM('user','superadmin') NOT NULL DEFAULT 'user',
  `active` TINYINT(1) NOT NULL DEFAULT 1,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  UNIQUE KEY `uq_workshop_username` (`username`),
  INDEX `idx_workshop_users_active` (`active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `workshop_audit_logs` (
  `id` VARCHAR(64) NOT NULL PRIMARY KEY,
  `logged_at` DATETIME(3) NOT NULL,
  `level` VARCHAR(16) NOT NULL DEFAULT 'info',
  `category` VARCHAR(64) NOT NULL,
  `message` TEXT NOT NULL,
  `meta_json` TEXT NULL,
  `user_id` CHAR(36) NULL,
  `user_username` VARCHAR(64) NULL,
  `user_display_name` VARCHAR(120) NULL,
  `device_id` VARCHAR(64) NULL,
  `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  INDEX `idx_audit_logged_at` (`logged_at` DESC),
  INDEX `idx_audit_user_id` (`user_id`),
  INDEX `idx_audit_category` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
