-- Fichier SQL pour créer la base de données kutzenhausen
-- Importez ceci via phpMyAdmin ou en ligne de commande MySQL

CREATE DATABASE IF NOT EXISTS `kutzenhausen` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `kutzenhausen`;

-- --------------------------------------------------------
-- Table des administrateurs (Utilisateurs)
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password_hash` varchar(255) NOT NULL,
  `email` varchar(100) NOT NULL,
  `role` enum('admin','editor') NOT NULL DEFAULT 'admin',
  `created_at` timestamp DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Un utilisateur admin par défaut : admin / admin123!
INSERT INTO `users` (`username`, `password_hash`, `email`, `role`) VALUES
('admin', '$2y$10$Y1A0L5N/B4z9M9oU0b9zOO1O2i1X8P7A5Q6u5c3L3N2X2H2K2P2S2', 'admin@kutzenhausen.fr', 'admin') ON DUPLICATE KEY UPDATE `username`='admin';

-- --------------------------------------------------------
-- Table des Pages (Contenu statique comme le Mot du Maire)
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `pages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `slug` varchar(100) NOT NULL, -- ex: 'mot-du-maire'
  `title` varchar(255) NOT NULL,
  `content` longtext NOT NULL,
  `updated_at` timestamp DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Quelques pages par défaut
INSERT INTO `pages` (`slug`, `title`, `content`) VALUES
('mot-du-maire', 'Le mot du Maire', '<p>Bienvenue sur le nouveau site de Kutzenhausen...</p>'),
('histoire-patrimoine', 'Historique de la commune', '<p>L''histoire de Kutzenhausen remonte à...</p>')
ON DUPLICATE KEY UPDATE `slug`=`slug`;

-- --------------------------------------------------------
-- Table des Actualités (Articles)
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `articles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `content` longtext NOT NULL,
  `excerpt` text, -- Résumé pour l'accueil
  `image` varchar(255) DEFAULT NULL, -- Nom de fichier de l'image
  `category` varchar(50) DEFAULT 'Actualités',
  `is_published` boolean DEFAULT true,
  `created_at` timestamp DEFAULT current_timestamp(),
  `author_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`author_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------
-- Table des Documents (Arrêtés, Bulletins)
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `documents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `type` enum('bulletin','arrete_municipal','arrete_prefectoral','compte_rendu') NOT NULL,
  `file_path` varchar(255) NOT NULL,
  `date_document` date NOT NULL,
  `created_at` timestamp DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
