Impostazioni e tabelle del database di Todomator
Le impostazioni
Todomator conserva la sua configurazione nella tabella cl_config e la ricarica ogni 20 minuti. La schermata delle impostazioni (Settings/read, Settings/save in schemas/settings.js) modifica queste chiavi e richiede il permesso settings:
| Chiave | Significato |
|---|---|
name | il nome dell’istanza |
color | il colore principale |
token | il token dell’API |
minlogtime | l’inserimento di tempo più breve, in minuti (1 per impostazione predefinita) (tracciamento del tempo) |
backup | quando è attivo, ogni modifica del Markdown di un ticket memorizza anche una copia del testo, con utente, indirizzo e browser (tabella tbl_ticket_backup) |
folderid | una cartella predefinita |
Permessi
Una persona è amministratrice quando il flag sa è impostato o quando l’elenco dei permessi contiene admin. admin gestisce le cartelle e le schermate di amministrazione; settings consente le impostazioni; bot appartiene all’utente integrato del token dell’API. Le sessioni vivono nella tabella tbl_session e quelle scadute vengono eliminate una volta al giorno.
Autenticazione a due fattori
Ogni utente ha il flag is2fa, che la persona attiva quando cambia la password (Users|password). L’accesso ha quindi due passaggi (plugins/users/index.js): prima e-mail e password; se l’account ha is2fa, Todomator invia per e-mail un codice di sei cifre (modello templates/mail-2fa.html) valido 10 minuti, e la persona lo rimanda per concludere. I tentativi errati sono bloccati dopo 10 tentativi in 10 minuti. La riga mail del file config deve essere impostata perché il codice venga consegnato.
Il database
Tutto vive nello schema public di PostgreSQL:
| Tabella | Cosa contiene |
|---|---|
cl_config | la configurazione |
cl_status | i sei stati di un ticket |
cl_notification | i tipi di notifica |
tbl_user | gli utenti: profilo, hash della password, permessi e is2fa |
tbl_folder | le cartelle (clienti e progetti) |
tbl_tag | i tag |
tbl_ticket | i ticket |
tbl_ticket_comment | i commenti dei ticket |
tbl_ticket_time | gli inserimenti di tempo |
tbl_ticket_bookmark | i segnalibri di ogni utente |
tbl_ticket_unread | lo stato di non letto per utente e ticket |
tbl_ticket_data | dati liberi di un ticket (data_read / data_save) |
tbl_ticket_backup | copie del Markdown di un ticket (l’impostazione backup) |
tbl_notification | le notifiche degli utenti |
tbl_file | i file caricati |
tbl_session | le sessioni |
Fai il backup di questo schema come di qualsiasi altro database PostgreSQL. Per un aggiornamento, applica gli script database_*.sql del repository più recenti della tua versione (installare Todomator).