Ρυθμίσεις και πίνακες βάσης δεδομένων του Todomator
Οι ρυθμίσεις
Το Todomator κρατά τη διαμόρφωσή του στον πίνακα cl_config και την ξαναφορτώνει κάθε 20 λεπτά. Η οθόνη ρυθμίσεων (Settings/read, Settings/save στο schemas/settings.js) επεξεργάζεται αυτά τα κλειδιά και απαιτεί το δικαίωμα settings:
| Κλειδί | Σημασία |
|---|---|
name | το όνομα της εγκατάστασης |
color | το κύριο χρώμα |
token | το token του API |
minlogtime | η συντομότερη εγγραφή χρόνου, σε λεπτά (1 από προεπιλογή) (καταγραφή χρόνου) |
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).