# Instellingen en databasetabellen van Todomator

> De instellingen die Todomator bewaart, de rechten die ze beschermen en waarvoor elke tabel van het schema public dient.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: nl
Content-SHA256: 172ab0f61fac72cb6e6664d0710b274705e1fc093ac63add446f886092dc1772
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## De instellingen

Todomator bewaart zijn configuratie in de tabel `cl_config` en laadt die elke 20 minuten opnieuw. Het instellingenscherm (`Settings/read`, `Settings/save` in `schemas/settings.js`) bewerkt deze sleutels en vereist het recht `settings`:

| Sleutel | Betekenis |
|---|---|
| `name` | de naam van de instantie |
| `color` | de hoofdkleur |
| `token` | het token van de [API](/en/todomator/create-tickets-with-the-api/) |
| `minlogtime` | de kortste tijdinvoer, in minuten (standaard 1) ([tijdregistratie](/en/todomator/time-tracking/)) |
| `backup` | wanneer aan, bewaart elke bewerking van de Markdown van een ticket ook een kopie van de tekst, met de gebruiker, het adres en de browser (tabel `tbl_ticket_backup`) |
| `folderid` | een standaardmap |

## Rechten

Een persoon is beheerder wanneer de vlag `sa` is ingesteld of wanneer de lijst met rechten `admin` bevat. `admin` beheert mappen en de beheerschermen; `settings` staat de instellingen toe; `bot` hoort bij de ingebouwde gebruiker van het API-token. De sessies staan in de tabel `tbl_session` en verlopen sessies worden eens per dag verwijderd.

## Tweestapsverificatie

Elke gebruiker heeft de vlag `is2fa`, die de persoon aanzet bij het wijzigen van het wachtwoord (`Users|password`). Het aanmelden heeft dan twee stappen (`plugins/users/index.js`): eerst e-mail en wachtwoord; als het account `is2fa` heeft, mailt Todomator een zescijferige code (sjabloon `templates/mail-2fa.html`) die 10 minuten geldig is, en de persoon stuurt hem terug om af te ronden. Foute pogingen worden geblokkeerd na 10 pogingen in 10 minuten. De regel `mail` van het bestand `config` moet zijn ingesteld om de code te bezorgen.

## De database

Alles staat in het schema `public` van PostgreSQL:

| Tabel | Wat ze bevat |
|---|---|
| `cl_config` | de configuratie |
| `cl_status` | de zes statussen van een ticket |
| `cl_notification` | de soorten meldingen |
| `tbl_user` | de gebruikers: profiel, wachtwoordhash, rechten en `is2fa` |
| `tbl_folder` | de mappen (klanten en projecten) |
| `tbl_tag` | de labels |
| `tbl_ticket` | de tickets |
| `tbl_ticket_comment` | de opmerkingen van de tickets |
| `tbl_ticket_time` | de tijdinvoeren |
| `tbl_ticket_bookmark` | de bladwijzers van elke gebruiker |
| `tbl_ticket_unread` | de ongelezen-status per gebruiker en ticket |
| `tbl_ticket_data` | vrije gegevens van een ticket (`data_read` / `data_save`) |
| `tbl_ticket_backup` | kopieën van de Markdown van een ticket (de instelling `backup`) |
| `tbl_notification` | de meldingen van de gebruikers |
| `tbl_file` | de bestanden die zijn geüpload |
| `tbl_session` | de sessies |

Maak een back-up van dit schema zoals van elke andere PostgreSQL-database. Pas voor een update de `database_*.sql`-scripts van de repository toe die nieuwer zijn dan je versie ([Todomator installeren](/en/todomator/install-todomator/)).
