CREATE DATABASE IF NOT EXISTS ascenso_salud_2026
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

USE ascenso_salud_2026;

CREATE TABLE IF NOT EXISTS usuarios (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(120) NOT NULL,
  email VARCHAR(160) NOT NULL UNIQUE,
  password VARCHAR(255) NULL,
  google_id VARCHAR(255) NULL,
  rol ENUM('admin', 'publico') NOT NULL DEFAULT 'publico',
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_usuarios_google_id (google_id),
  INDEX idx_usuarios_rol (rol)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS documentos (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  titulo VARCHAR(255) NOT NULL,
  nombre_archivo VARCHAR(255) NOT NULL,
  tamanio VARCHAR(50) NOT NULL,
  fecha_subida DATE NOT NULL,
  usuario_id INT UNSIGNED NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  CONSTRAINT fk_documentos_usuario
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
    ON UPDATE CASCADE
    ON DELETE RESTRICT,
  INDEX idx_documentos_fecha (fecha_subida),
  INDEX idx_documentos_usuario (usuario_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Cree el primer administrador desde PHP usando password_hash().
-- Ejemplo de INSERT, reemplace el hash por uno generado:
-- INSERT INTO usuarios (nombre, email, password, rol)
-- VALUES ('Administrador', 'admin@dominio.com', '$2y$10$hash_generado', 'admin');
