-- =========================================================
-- SCHEMA: Tabella whitelist per IP fidati
-- =========================================================
-- IP che non devono mai essere bloccati
-- =========================================================

-- Drop tabella se esiste (solo per ambiente di sviluppo)
DROP TABLE IF EXISTS whitelist CASCADE;

-- Crea tabella whitelist
CREATE TABLE whitelist (
    id VARCHAR PRIMARY KEY DEFAULT gen_random_uuid(),
    ip_address TEXT NOT NULL UNIQUE,
    comment TEXT,
    reason TEXT,
    created_by TEXT,
    active BOOLEAN NOT NULL DEFAULT TRUE,
    created_at TIMESTAMP NOT NULL DEFAULT NOW()
);

-- Indici per performance
CREATE INDEX IF NOT EXISTS whitelist_ip_idx ON whitelist(ip_address);
CREATE INDEX IF NOT EXISTS whitelist_active_idx ON whitelist(active);

-- Commento tabella
COMMENT ON TABLE whitelist IS 'IP fidati che non devono mai essere bloccati dal sistema';

-- Verifica
SELECT 'Tabella whitelist creata con successo!' AS status;
