-- =============================================
-- Migration: Système de Dénonciations
-- mySupport - Plateforme de Service Client Intelligent
-- =============================================

-- Table des dénonciations
CREATE TABLE IF NOT EXISTS denonciations (
    id INT PRIMARY KEY AUTO_INCREMENT,
    entreprise_id INT NOT NULL,
    client_id INT NULL,
    
    -- Type de dénonciation
    type ENUM('texte', 'audio', 'photo', 'video') NOT NULL DEFAULT 'texte',
    
    -- Contenu
    titre VARCHAR(255),
    description TEXT,
    fichier_path VARCHAR(500),
    fichier_type VARCHAR(100),
    fichier_taille INT,
    
    -- Métadonnées
    categorie VARCHAR(100),
    localisation VARCHAR(255),
    anonyme BOOLEAN DEFAULT FALSE,
    
    -- Statut
    statut ENUM('nouveau', 'en_cours', 'traite', 'rejete', 'archive') DEFAULT 'nouveau',
    priorite ENUM('basse', 'normale', 'haute', 'urgente') DEFAULT 'normale',
    
    -- Traitement
    agent_id INT NULL,
    notes_internes TEXT,
    date_traitement DATETIME NULL,
    
    -- Canal source
    canal ENUM('widget', 'whatsapp', 'mobile', 'web') DEFAULT 'widget',
    
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    FOREIGN KEY (entreprise_id) REFERENCES entreprises(id) ON DELETE CASCADE,
    FOREIGN KEY (client_id) REFERENCES clients(id) ON DELETE SET NULL,
    FOREIGN KEY (agent_id) REFERENCES users(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- Ajouter colonne pour activer/désactiver les dénonciations par entreprise
-- Note: Exécuter ces commandes séparément, ignorer l'erreur si la colonne existe déjà
ALTER TABLE entreprises ADD COLUMN denonciations_enabled BOOLEAN DEFAULT TRUE;
ALTER TABLE entreprises ADD COLUMN denonciations_config TEXT NULL;

-- Index pour recherche rapide
CREATE INDEX idx_denonciations_entreprise ON denonciations(entreprise_id);
CREATE INDEX idx_denonciations_statut ON denonciations(statut);
CREATE INDEX idx_denonciations_type ON denonciations(type);
CREATE INDEX idx_denonciations_date ON denonciations(created_at);
