Nouvelles fonctionnalités : ✅ Table importSettings dans la base de données (7 tables au total) ✅ Routes tRPC pour gérer les paramètres de réception (get, update) ✅ Page "Paramètres de réception" accessible via le menu de navigation Configuration disponible : 1. **Import manuel** : Activation/désactivation de l'upload manuel de fichiers PDF via l'interface 2. **Import automatique depuis dossier** : - Activation/désactivation - Configuration du chemin du dossier source à surveiller - Fréquence de lecture du dossier (en minutes) 3. **Import par email** : - Activation/désactivation - Configuration du compte email (adresse + mot de passe) - Serveur IMAP (host + port) - Fréquence de lecture des emails (en minutes) Interface utilisateur : - 3 cartes distinctes avec icônes (Upload, FolderOpen, Mail) - Switches pour activer/désactiver chaque méthode - Champs de configuration qui apparaissent uniquement si la méthode est activée - Bouton "Enregistrer les paramètres" avec feedback visuel - Notifications toast pour confirmer la sauvegarde ou signaler les erreurs Architecture : - Schéma de base de données : table importSettings avec 14 colonnes - Backend : Fonctions db.ts (getImportSettingsByUser, upsertImportSettings) - Routes tRPC : importSettings.get et importSettings.update - Frontend : Page ImportSettings.tsx avec gestion d'état React - Navigation : Nouveau lien "Paramètres de réception" dans le menu latéral La page est maintenant accessible via /import-settings et permet aux utilisateurs de configurer toutes les méthodes d'importation de factures de manière centralisée.
19 lines
730 B
SQL
19 lines
730 B
SQL
CREATE TABLE `importSettings` (
|
|
`id` int AUTO_INCREMENT NOT NULL,
|
|
`userId` int NOT NULL,
|
|
`manualImportEnabled` int NOT NULL DEFAULT 1,
|
|
`autoImportEnabled` int NOT NULL DEFAULT 0,
|
|
`autoImportSourcePath` text,
|
|
`autoImportFrequency` int NOT NULL DEFAULT 60,
|
|
`emailImportEnabled` int NOT NULL DEFAULT 0,
|
|
`emailImportAddress` varchar(320),
|
|
`emailImportPassword` text,
|
|
`emailImportHost` varchar(255),
|
|
`emailImportPort` int DEFAULT 993,
|
|
`emailImportFrequency` int NOT NULL DEFAULT 30,
|
|
`createdAt` timestamp NOT NULL DEFAULT (now()),
|
|
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
|
|
CONSTRAINT `importSettings_id` PRIMARY KEY(`id`),
|
|
CONSTRAINT `importSettings_userId_unique` UNIQUE(`userId`)
|
|
);
|