

-- Table des événements/soirées
CREATE TABLE IF NOT EXISTS evenements (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titre VARCHAR(200) NOT NULL,
    description TEXT,
    date_evenement DATETIME NOT NULL,
    lieu VARCHAR(200),
    tarif DECIMAL(10,2) DEFAULT 4.00,
    places_limitees BOOLEAN DEFAULT 0,
    nombre_places INT,
    statut ENUM('ouvert', 'complet', 'annule', 'termine') DEFAULT 'ouvert',
    helloasso_event_slug VARCHAR(150),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_date (date_evenement),
    INDEX idx_statut (statut)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Table des inscriptions aux événements
CREATE TABLE IF NOT EXISTS inscriptions_evenements (
    id INT AUTO_INCREMENT PRIMARY KEY,
    membre_id INT NOT NULL,
    evenement_id INT NOT NULL,
    statut_paiement ENUM('en_attente', 'paye', 'annule') DEFAULT 'en_attente',
    helloasso_payment_id VARCHAR(100),
    date_inscription DATETIME DEFAULT CURRENT_TIMESTAMP,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (membre_id) REFERENCES membres(id) ON DELETE CASCADE,
    FOREIGN KEY (evenement_id) REFERENCES evenements(id) ON DELETE CASCADE,
    UNIQUE KEY unique_inscription (membre_id, evenement_id),
    INDEX idx_statut_paiement (statut_paiement)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Table des logs HelloAsso (pour synchronisation)
CREATE TABLE IF NOT EXISTS helloasso_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    type ENUM('adhesion', 'evenement') NOT NULL,
    helloasso_id VARCHAR(100) NOT NULL,
    data JSON,
    traite BOOLEAN DEFAULT 0,
    date_reception DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_traite (traite),
    INDEX idx_helloasso_id (helloasso_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Note: Le mot de passe par défaut est "admin123" - CHANGEZ-LE immédiatement après la première connexion!
