Réglages et tables de base de données de Todomator
Les réglages
Todomator conserve sa configuration dans la table cl_config et la recharge toutes les 20 minutes. L’écran des réglages (Settings/read, Settings/save dans schemas/settings.js) modifie ces clés et demande la permission settings :
| Clé | Signification |
|---|---|
name | le nom de l’instance |
color | la couleur principale |
token | le jeton de l’API |
minlogtime | la saisie de temps la plus courte, en minutes (1 par défaut) (suivi du temps) |
backup | quand il est activé, chaque modification du Markdown d’un ticket enregistre aussi une copie du texte, avec l’utilisateur, l’adresse et le navigateur (table tbl_ticket_backup) |
folderid | un dossier par défaut |
Permissions
Une personne est administratrice quand l’indicateur sa est activé ou quand la liste des permissions contient admin. admin gère les dossiers et les écrans d’administration ; settings autorise les réglages ; bot appartient à l’utilisateur intégré du jeton de l’API. Les sessions vivent dans la table tbl_session et les sessions expirées sont supprimées une fois par jour.
Authentification à deux facteurs
Chaque utilisateur a l’indicateur is2fa, que la personne active en changeant le mot de passe (Users|password). La connexion se fait alors en deux étapes (plugins/users/index.js) : d’abord e-mail et mot de passe ; si le compte a is2fa, Todomator envoie par e-mail un code à six chiffres (modèle templates/mail-2fa.html) valable 10 minutes, et la personne le renvoie pour terminer. Les tentatives erronées sont bloquées après 10 essais en 10 minutes. La ligne mail du fichier config doit être définie pour que le code soit livré.
La base de données
Tout vit dans le schéma public de PostgreSQL :
| Table | Ce qu’elle contient |
|---|---|
cl_config | la configuration |
cl_status | les six statuts d’un ticket |
cl_notification | les types de notification |
tbl_user | les utilisateurs : profil, hachage du mot de passe, permissions et is2fa |
tbl_folder | les dossiers (clients et projets) |
tbl_tag | les étiquettes |
tbl_ticket | les tickets |
tbl_ticket_comment | les commentaires des tickets |
tbl_ticket_time | les saisies de temps |
tbl_ticket_bookmark | les signets de chaque utilisateur |
tbl_ticket_unread | l’état de non-lu par utilisateur et par ticket |
tbl_ticket_data | données libres d’un ticket (data_read / data_save) |
tbl_ticket_backup | copies du Markdown d’un ticket (le réglage backup) |
tbl_notification | les notifications des utilisateurs |
tbl_file | les fichiers envoyés |
tbl_session | les sessions |
Sauvegardez ce schéma comme n’importe quelle autre base de données PostgreSQL. Pour une mise à jour, appliquez les scripts database_*.sql du dépôt plus récents que votre version (installer Todomator).