# Ρυθμίσεις και πίνακες βάσης δεδομένων του Todomator

> Οι ρυθμίσεις που κρατά το Todomator, τα δικαιώματα που τις προστατεύουν και σε τι χρησιμεύει κάθε πίνακας του σχήματος public.

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

## Οι ρυθμίσεις

Το Todomator κρατά τη διαμόρφωσή του στον πίνακα `cl_config` και την ξαναφορτώνει κάθε 20 λεπτά. Η οθόνη ρυθμίσεων (`Settings/read`, `Settings/save` στο `schemas/settings.js`) επεξεργάζεται αυτά τα κλειδιά και απαιτεί το δικαίωμα `settings`:

| Κλειδί | Σημασία |
|---|---|
| `name` | το όνομα της εγκατάστασης |
| `color` | το κύριο χρώμα |
| `token` | το 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` ανήκει στον ενσωματωμένο χρήστη του token του API. Οι συνεδρίες ζουν στον πίνακα `tbl_session` και οι ληγμένες διαγράφονται μία φορά την ημέρα.

## Έλεγχος ταυτότητας δύο παραγόντων

Κάθε χρήστης έχει τη σημαία `is2fa`, την οποία το άτομο ενεργοποιεί όταν αλλάζει τον κωδικό (`Users|password`). Η σύνδεση έχει τότε δύο βήματα (`plugins/users/index.js`): πρώτα email και κωδικός· αν ο λογαριασμός έχει `is2fa`, το Todomator στέλνει με email έναν εξαψήφιο κωδικό (πρότυπο `templates/mail-2fa.html`) που ισχύει 10 λεπτά και το άτομο τον στέλνει πίσω για να ολοκληρώσει. Οι λάθος προσπάθειες μπλοκάρονται μετά από 10 προσπάθειες σε 10 λεπτά. Η γραμμή `mail` του αρχείου `config` πρέπει να έχει οριστεί για να παραδοθεί ο κωδικός.

## Η βάση δεδομένων

Όλα βρίσκονται στο σχήμα `public` της PostgreSQL:

| Πίνακας | Τι περιέχει |
|---|---|
| `cl_config` | η διαμόρφωση |
| `cl_status` | οι έξι καταστάσεις ενός δελτίου |
| `cl_notification` | οι τύποι ειδοποίησης |
| `tbl_user` | οι χρήστες: προφίλ, hash κωδικού, δικαιώματα και `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/)).
