feat: Implement Database Service and ViewModels for Messages and Support Requests
- Added DatabaseService to handle database operations for messages and support requests. - Created IDatabaseService interface to define the contract for database operations. - Developed ViewModels for Dashboard, Messages, and Support pages to manage data and commands. - Implemented XAML views for Dashboard, Messages, and Support, including data binding and UI elements. - Created SQL script for setting up the database schema and inserting test data.
This commit is contained in:
52
database_setup.sql
Normal file
52
database_setup.sql
Normal file
@@ -0,0 +1,52 @@
|
||||
-- Script SQL pour créer la base de données TravelMate Admin
|
||||
-- À exécuter dans MySQL/MariaDB
|
||||
|
||||
-- Créer la base de données
|
||||
CREATE DATABASE IF NOT EXISTS travelmateadmin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
USE travelmateadmin;
|
||||
|
||||
-- Table des messages
|
||||
CREATE TABLE IF NOT EXISTS messages (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nom VARCHAR(100) NOT NULL,
|
||||
prenom VARCHAR(100) NOT NULL,
|
||||
email VARCHAR(255) NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
done BOOLEAN DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_done (done),
|
||||
INDEX idx_created_at (created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Table des demandes support
|
||||
CREATE TABLE IF NOT EXISTS support_requests (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
nom VARCHAR(100) NOT NULL,
|
||||
prenom VARCHAR(100) NOT NULL,
|
||||
account_email VARCHAR(255) NOT NULL,
|
||||
contact_email VARCHAR(255) NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
done BOOLEAN DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_done (done),
|
||||
INDEX idx_created_at (created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Données de test pour messages
|
||||
INSERT INTO messages (nom, prenom, email, message, done, created_at) VALUES
|
||||
('Dupont', 'Jean', 'jean.dupont@example.com', 'Je souhaite effacer toutes mes données personnelles conformément au RGPD.', FALSE, NOW() - INTERVAL 2 DAY),
|
||||
('Martin', 'Sophie', 'sophie.martin@example.com', 'Pouvez-vous supprimer mon compte et toutes les informations associées ?', FALSE, NOW() - INTERVAL 1 DAY),
|
||||
('Bernard', 'Pierre', 'pierre.bernard@example.com', 'Demande de suppression de données RGPD', TRUE, NOW() - INTERVAL 5 DAY),
|
||||
('Dubois', 'Marie', 'marie.dubois@example.com', 'Bonjour, je voudrais avoir des informations sur vos services.', FALSE, NOW() - INTERVAL 3 HOUR);
|
||||
|
||||
-- Données de test pour support_requests
|
||||
INSERT INTO support_requests (nom, prenom, account_email, contact_email, message, done, created_at) VALUES
|
||||
('Petit', 'Lucas', 'lucas.petit@example.com', 'lucas.contact@example.com', 'Je n''arrive pas à me connecter à mon compte depuis hier.', FALSE, NOW() - INTERVAL 1 DAY),
|
||||
('Roux', 'Emma', 'emma.roux@example.com', 'emma.pro@example.com', 'Mon mot de passe ne fonctionne plus, pouvez-vous m''aider ?', FALSE, NOW() - INTERVAL 6 HOUR),
|
||||
('Moreau', 'Thomas', 'thomas.moreau@example.com', 'thomas.m@example.com', 'Problème de synchronisation des données', TRUE, NOW() - INTERVAL 4 DAY),
|
||||
('Simon', 'Julie', 'julie.simon@example.com', 'julie.s@example.com', 'Question sur la facturation de mon abonnement', FALSE, NOW() - INTERVAL 2 HOUR);
|
||||
|
||||
-- Afficher un résumé
|
||||
SELECT 'Messages créés:' AS info, COUNT(*) AS count FROM messages
|
||||
UNION ALL
|
||||
SELECT 'Support créés:', COUNT(*) FROM support_requests;
|
||||
Reference in New Issue
Block a user