Nastavení a databázové tabulky Todomatoru
Nastavení
Todomator uchovává svou konfiguraci v tabulce cl_config a každých 20 minut ji znovu načítá. Obrazovka nastavení (Settings/read, Settings/save v schemas/settings.js) upravuje tyto klíče a vyžaduje oprávnění settings:
| Klíč | Význam |
|---|---|
name | název instance |
color | hlavní barva |
token | token API |
minlogtime | nejkratší záznam času v minutách (výchozí 1) (sledování času) |
backup | když je zapnuto, každá úprava Markdownu tiketu uloží také kopii textu s uživatelem, adresou a prohlížečem (tabulka tbl_ticket_backup) |
folderid | výchozí složka |
Oprávnění
Osoba je správce, když je nastaven příznak sa nebo když seznam oprávnění obsahuje admin. admin spravuje složky a administrační obrazovky; settings povoluje nastavení; bot patří vestavěnému uživateli tokenu API. Relace žijí v tabulce tbl_session a vypršené se mažou jednou denně.
Dvoufaktorová autentizace
Každý uživatel má příznak is2fa, který osoba zapne při změně hesla (Users|password). Přihlášení má pak dva kroky (plugins/users/index.js): nejprve e-mail a heslo; pokud má účet is2fa, Todomator pošle e-mailem šestimístný kód (šablona templates/mail-2fa.html) platný 10 minut a osoba jej pošle zpět pro dokončení. Špatné pokusy se blokují po 10 pokusech za 10 minut. Aby se kód doručil, musí být nastaven řádek mail v souboru config.
Databáze
Vše je ve schématu public databáze PostgreSQL:
| Tabulka | Co obsahuje |
|---|---|
cl_config | konfigurace |
cl_status | šest stavů tiketu |
cl_notification | typy oznámení |
tbl_user | uživatelé: profil, hash hesla, oprávnění a is2fa |
tbl_folder | složky (zákazníci a projekty) |
tbl_tag | štítky |
tbl_ticket | tikety |
tbl_ticket_comment | komentáře tiketů |
tbl_ticket_time | záznamy času |
tbl_ticket_bookmark | záložky každého uživatele |
tbl_ticket_unread | stav nepřečteného na uživatele a tiket |
tbl_ticket_data | volná data tiketu (data_read / data_save) |
tbl_ticket_backup | kopie Markdownu tiketu (nastavení backup) |
tbl_notification | oznámení uživatelů |
tbl_file | soubory, které byly nahrány |
tbl_session | relace |
Toto schéma zálohujte jako každou jinou databázi PostgreSQL. Při aktualizaci použijte skripty database_*.sql z repozitáře, které jsou novější než vaše verze (instalace Todomatoru).