Einstellungen und Datenbanktabellen von Todomator
Die Einstellungen
Todomator hält seine Konfiguration in der Tabelle cl_config und lädt sie alle 20 Minuten neu. Der Einstellungsbildschirm (Settings/read, Settings/save in schemas/settings.js) bearbeitet diese Schlüssel und braucht die Berechtigung settings:
| Schlüssel | Bedeutung |
|---|---|
name | der Name der Instanz |
color | die Hauptfarbe |
token | das Token der API |
minlogtime | der kürzeste Zeiteintrag in Minuten (standardmäßig 1) (Zeiterfassung) |
backup | wenn aktiv, speichert jede Bearbeitung des Markdowns eines Tickets auch eine Kopie des Textes, mit Benutzer, Adresse und Browser (Tabelle tbl_ticket_backup) |
folderid | ein Standardordner |
Berechtigungen
Eine Person ist Administrator, wenn das Flag sa gesetzt ist oder die Berechtigungsliste admin enthält. admin verwaltet Ordner und die Administrationsbildschirme; settings erlaubt die Einstellungen; bot gehört dem eingebauten Benutzer des API-Tokens. Die Sitzungen liegen in der Tabelle tbl_session, und abgelaufene werden einmal am Tag gelöscht.
Zwei-Faktor-Authentifizierung
Jeder Benutzer hat das Flag is2fa, das die Person beim Ändern des Passworts einschaltet (Users|password). Die Anmeldung hat dann zwei Schritte (plugins/users/index.js): zuerst E-Mail und Passwort; hat das Konto is2fa, sendet Todomator einen sechsstelligen Code per E-Mail (Vorlage templates/mail-2fa.html), der 10 Minuten gültig ist, und die Person schickt ihn zurück, um abzuschließen. Falsche Versuche werden nach 10 Versuchen in 10 Minuten gesperrt. Die Zeile mail der Datei config muss gesetzt sein, damit der Code zugestellt wird.
Die Datenbank
Alles liegt im Schema public von PostgreSQL:
| Tabelle | Was sie enthält |
|---|---|
cl_config | die Konfiguration |
cl_status | die sechs Status eines Tickets |
cl_notification | die Arten von Benachrichtigungen |
tbl_user | die Benutzer: Profil, Passwort-Hash, Berechtigungen und is2fa |
tbl_folder | die Ordner (Kunden und Projekte) |
tbl_tag | die Tags |
tbl_ticket | die Tickets |
tbl_ticket_comment | die Kommentare der Tickets |
tbl_ticket_time | die Zeiteinträge |
tbl_ticket_bookmark | die Lesezeichen jedes Benutzers |
tbl_ticket_unread | der Ungelesen-Zustand pro Benutzer und Ticket |
tbl_ticket_data | freie Daten eines Tickets (data_read / data_save) |
tbl_ticket_backup | Kopien des Markdowns eines Tickets (die Einstellung backup) |
tbl_notification | die Benachrichtigungen der Benutzer |
tbl_file | die hochgeladenen Dateien |
tbl_session | die Sitzungen |
Sichern Sie dieses Schema wie jede andere PostgreSQL-Datenbank. Für ein Update wenden Sie die database_*.sql-Skripte des Repositorys an, die neuer sind als Ihre Version (Todomator installieren).