-- 015 (L32-L33): clínicas multi-cirujano y API del registro
CREATE TABLE IF NOT EXISTS clinicas (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(200) NOT NULL,
  slug VARCHAR(200) NOT NULL UNIQUE,
  provincia VARCHAR(60) NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS clinica_cirujanos (
  clinica_id BIGINT UNSIGNED NOT NULL,
  cirujano_id BIGINT UNSIGNED NOT NULL,
  PRIMARY KEY (clinica_id, cirujano_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE users ADD COLUMN IF NOT EXISTS clinica_id BIGINT UNSIGNED NULL;

CREATE TABLE IF NOT EXISTS api_keys (
  id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  titular VARCHAR(200) NOT NULL,
  clave CHAR(48) NOT NULL UNIQUE,
  ambito ENUM('registro') NOT NULL DEFAULT 'registro',
  activa TINYINT(1) NOT NULL DEFAULT 1,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE api_keys ADD COLUMN IF NOT EXISTS ambito ENUM('registro') NOT NULL DEFAULT 'registro', ADD COLUMN IF NOT EXISTS activa TINYINT(1) NOT NULL DEFAULT 1, ADD COLUMN IF NOT EXISTS titular VARCHAR(200) NULL, ADD COLUMN IF NOT EXISTS clave VARCHAR(64) NULL;
ALTER TABLE api_keys MODIFY clave VARCHAR(64) NOT NULL;
