# Настройки и таблици на базата данни на Todomator

> Настройките, които Todomator пази, правата, които ги защитават, и за какво служи всяка таблица на схемата public.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: bg
Content-SHA256: 942c4dfc26d276dba23b8e651780a80734acee4f26af750215d64f12c6d4a44c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Настройките

Todomator пази конфигурацията си в таблицата `cl_config` и я презарежда на всеки 20 минути. Екранът за настройки (`Settings/read`, `Settings/save` в `schemas/settings.js`) редактира тези ключове и изисква правото `settings`:

| Ключ | Значение |
|---|---|
| `name` | името на инстанцията |
| `color` | основният цвят |
| `token` | токенът на [API](/en/todomator/create-tickets-with-the-api/) |
| `minlogtime` | най-краткият запис на време, в минути (по подразбиране 1) ([проследяване на времето](/en/todomator/time-tracking/)) |
| `backup` | когато е включено, всяко редактиране на Markdown на тикет съхранява и копие на текста, с потребителя, адреса и браузъра (таблица `tbl_ticket_backup`) |
| `folderid` | папка по подразбиране |

## Права

Човек е администратор, когато флагът `sa` е зададен или когато списъкът с права съдържа `admin`. `admin` управлява папките и екраните за администриране; `settings` позволява настройките; `bot` принадлежи на вградения потребител на токена на API. Сесиите живеят в таблицата `tbl_session`, а изтеклите се изтриват веднъж дневно.

## Двуфакторно удостоверяване

Всеки потребител има флага `is2fa`, който човекът включва при смяна на паролата (`Users|password`). Влизането има тогава две стъпки (`plugins/users/index.js`): първо имейл и парола; ако акаунтът има `is2fa`, Todomator изпраща по имейл шестцифрен код (шаблон `templates/mail-2fa.html`), валиден 10 минути, и човекът го връща, за да завърши. Грешните опити се блокират след 10 опита за 10 минути. Редът `mail` във файла `config` трябва да е зададен, за да бъде доставен кодът.

## Базата данни

Всичко живее в схемата `public` на PostgreSQL:

| Таблица | Какво съдържа |
|---|---|
| `cl_config` | конфигурацията |
| `cl_status` | шестте състояния на тикета |
| `cl_notification` | типовете известия |
| `tbl_user` | потребителите: профил, хеш на паролата, права и `is2fa` |
| `tbl_folder` | папките (клиенти и проекти) |
| `tbl_tag` | етикетите |
| `tbl_ticket` | тикетите |
| `tbl_ticket_comment` | коментарите на тикетите |
| `tbl_ticket_time` | записите на време |
| `tbl_ticket_bookmark` | отметките на всеки потребител |
| `tbl_ticket_unread` | състоянието на непрочетено на потребител и тикет |
| `tbl_ticket_data` | свободни данни на тикет (`data_read` / `data_save`) |
| `tbl_ticket_backup` | копия на Markdown на тикет (настройката `backup`) |
| `tbl_notification` | известията на потребителите |
| `tbl_file` | файловете, които са качени |
| `tbl_session` | сесиите |

Правете резервно копие на тази схема като на всяка друга база данни PostgreSQL. За актуализация приложете скриптовете `database_*.sql` на хранилището, които са по-нови от вашата версия ([инсталиране на Todomator](/en/todomator/install-todomator/)).
