# Einstellungen und Datenbanktabellen von Todomator

> Die Einstellungen, die Todomator speichert, die Berechtigungen, die sie schützen, und wofür jede Tabelle des Schemas public da ist.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: de
Content-SHA256: 431d68249bfd1e86086d959f428e4a1adc6922a46d495b2a3eb27515f9c629b1
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## 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](/en/todomator/create-tickets-with-the-api/) |
| `minlogtime` | der kürzeste Zeiteintrag in Minuten (standardmäßig 1) ([Zeiterfassung](/en/todomator/time-tracking/)) |
| `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](/en/todomator/install-todomator/)).
