-- Colocation Glass Panel (Persian UI)
-- 1) یک دیتابیس بسازید (مثلاً colocation)
-- 2) این فایل را اجرا کنید
-- 3) سپس scripts/seed_admin.php را در مرورگر اجرا کنید و بعد حذفش کنید.

CREATE TABLE IF NOT EXISTS users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(80) NOT NULL,
  email VARCHAR(120) NOT NULL UNIQUE,
  password_hash VARCHAR(255) NOT NULL,
  role ENUM('admin','viewer') NOT NULL DEFAULT 'viewer',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS datacenters (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS servers (
  id INT AUTO_INCREMENT PRIMARY KEY,
  customer_name VARCHAR(120) NOT NULL,
  server_model VARCHAR(120) NOT NULL,
  server_serial VARCHAR(120) NOT NULL UNIQUE,
  rack_number VARCHAR(40) NOT NULL,
  unit_number INT NOT NULL,
  datacenter_id INT NOT NULL,

  ip_range_1 VARCHAR(120) NULL,
  ip_range_2 VARCHAR(120) NULL,
  ip_range_3 VARCHAR(120) NULL,
  ip_range_4 VARCHAR(120) NULL,

  switch_port_name VARCHAR(120) NULL,

  ilo_ip VARCHAR(64) NULL,
  ilo_username VARCHAR(80) NULL,
  ilo_password_enc TEXT NULL,

  billing_traffic_tb DECIMAL(10,2) NULL,
  last_update DATE NULL,
  notes TEXT NULL,

  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  CONSTRAINT fk_servers_dc FOREIGN KEY (datacenter_id) REFERENCES datacenters(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT IGNORE INTO datacenters(name) VALUES
('Tehran-DC-1'),('Tehran-DC-2'),('Shiraz-DC-1');

-- ایندکس‌های مفید
CREATE INDEX IF NOT EXISTS idx_servers_rack ON servers(rack_number);
CREATE INDEX IF NOT EXISTS idx_servers_unit ON servers(unit_number);
CREATE INDEX IF NOT EXISTS idx_servers_updated ON servers(updated_at);
