ForgeTodomator
pl

Todomator

Ustawienia i tabele bazy danych Todomatora

Todomator · todomator@1.7 todomatorsettingsdatabasepermissions

Ustawienia

Todomator przechowuje konfigurację w tabeli cl_config i przeładowuje ją co 20 minut. Ekran ustawień (Settings/read, Settings/save w schemas/settings.js) edytuje te klucze i wymaga uprawnienia settings:

KluczZnaczenie
namenazwa instancji
colorkolor główny
tokentoken API
minlogtimenajkrótszy wpis czasu, w minutach (domyślnie 1) (śledzenie czasu)
backupgdy włączone, każda edycja Markdown zgłoszenia zapisuje też kopię tekstu, z użytkownikiem, adresem i przeglądarką (tabela tbl_ticket_backup)
folderidfolder domyślny

Uprawnienia

Osoba jest administratorem, gdy ustawiona jest flaga sa lub lista uprawnień zawiera admin. admin zarządza folderami i ekranami administracji; settings zezwala na ustawienia; bot należy do wbudowanego użytkownika tokenu API. Sesje znajdują się w tabeli tbl_session, a wygasłe są usuwane raz dziennie.

Uwierzytelnianie dwuskładnikowe

Każdy użytkownik ma flagę is2fa, którą osoba włącza przy zmianie hasła (Users|password). Logowanie ma wtedy dwa kroki (plugins/users/index.js): najpierw e-mail i hasło; jeśli konto ma is2fa, Todomator wysyła e-mailem sześciocyfrowy kod (szablon templates/mail-2fa.html) ważny 10 minut, a osoba odsyła go, aby zakończyć. Błędne próby są blokowane po 10 próbach w ciągu 10 minut. Aby kod został dostarczony, wiersz mail pliku config musi być ustawiony.

Baza danych

Wszystko znajduje się w schemacie public PostgreSQL:

TabelaCo zawiera
cl_configkonfiguracja
cl_statussześć statusów zgłoszenia
cl_notificationtypy powiadomień
tbl_userużytkownicy: profil, skrót hasła, uprawnienia i is2fa
tbl_folderfoldery (klienci i projekty)
tbl_tagtagi
tbl_ticketzgłoszenia
tbl_ticket_commentkomentarze zgłoszeń
tbl_ticket_timewpisy czasu
tbl_ticket_bookmarkzakładki każdego użytkownika
tbl_ticket_unreadstan nieprzeczytania na użytkownika i zgłoszenie
tbl_ticket_datadowolne dane zgłoszenia (data_read / data_save)
tbl_ticket_backupkopie Markdown zgłoszenia (ustawienie backup)
tbl_notificationpowiadomienia użytkowników
tbl_filepliki, które zostały wysłane
tbl_sessionsesje

Rób kopię zapasową tego schematu jak każdej innej bazy PostgreSQL. Przy aktualizacji zastosuj skrypty database_*.sql z repozytorium, które są nowsze niż Twoja wersja (instalacja Todomatora).