# Nastavenia a databázové tabuľky Todomatoru

> Nastavenia, ktoré Todomator uchováva, oprávnenia, ktoré ich chránia, a na čo slúži každá tabuľka schémy public.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: sk
Content-SHA256: c96b50b4af7fddf270bd00380d96f705a7f46c2fad858da3098bda4acc207658
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Nastavenia

Todomator uchováva svoju konfiguráciu v tabuľke `cl_config` a každých 20 minút ju načíta znova. Obrazovka nastavení (`Settings/read`, `Settings/save` v `schemas/settings.js`) upravuje tieto kľúče a vyžaduje oprávnenie `settings`:

| Kľúč | Význam |
|---|---|
| `name` | názov inštancie |
| `color` | hlavná farba |
| `token` | token [API](/en/todomator/create-tickets-with-the-api/) |
| `minlogtime` | najkratší záznam času v minútach (predvolene 1) ([sledovanie času](/en/todomator/time-tracking/)) |
| `backup` | keď je zapnuté, každá úprava Markdownu tiketu uloží aj kópiu textu s používateľom, adresou a prehliadačom (tabuľka `tbl_ticket_backup`) |
| `folderid` | predvolený priečinok |

## Oprávnenia

Osoba je správca, keď je nastavený príznak `sa` alebo keď zoznam oprávnení obsahuje `admin`. `admin` spravuje priečinky a administračné obrazovky; `settings` povoľuje nastavenia; `bot` patrí vstavanému používateľovi tokenu API. Relácie žijú v tabuľke `tbl_session` a vypršané sa mažú raz denne.

## Dvojfaktorová autentifikácia

Každý používateľ má príznak `is2fa`, ktorý osoba zapne pri zmene hesla (`Users|password`). Prihlásenie má potom dva kroky (`plugins/users/index.js`): najprv e-mail a heslo; ak má účet `is2fa`, Todomator pošle e-mailom šesťmiestny kód (šablóna `templates/mail-2fa.html`) platný 10 minút a osoba ho pošle späť na dokončenie. Nesprávne pokusy sa blokujú po 10 pokusoch za 10 minút. Aby sa kód doručil, musí byť nastavený riadok `mail` v súbore `config`.

## Databáza

Všetko je v schéme `public` databázy PostgreSQL:

| Tabuľka | Čo obsahuje |
|---|---|
| `cl_config` | konfigurácia |
| `cl_status` | šesť stavov tiketu |
| `cl_notification` | typy oznámení |
| `tbl_user` | používatelia: profil, hash hesla, oprávnenia a `is2fa` |
| `tbl_folder` | priečinky (zákazníci a projekty) |
| `tbl_tag` | štítky |
| `tbl_ticket` | tikety |
| `tbl_ticket_comment` | komentáre tiketov |
| `tbl_ticket_time` | záznamy času |
| `tbl_ticket_bookmark` | záložky každého používateľa |
| `tbl_ticket_unread` | stav neprečítaného na používateľa a tiket |
| `tbl_ticket_data` | voľné dáta tiketu (`data_read` / `data_save`) |
| `tbl_ticket_backup` | kópie Markdownu tiketu (nastavenie `backup`) |
| `tbl_notification` | oznámenia používateľov |
| `tbl_file` | súbory, ktoré boli nahrané |
| `tbl_session` | relácie |

Túto schému zálohujte ako každú inú databázu PostgreSQL. Pri aktualizácii použite skripty `database_*.sql` z repozitára, ktoré sú novšie ako vaša verzia ([inštalácia Todomatoru](/en/todomator/install-todomator/)).
