Ajustes y tablas de base de datos de Todomator
Los ajustes
Todomator guarda su configuración en la tabla cl_config y la recarga cada 20 minutos. La pantalla de ajustes (Settings/read, Settings/save en schemas/settings.js) edita estas claves y necesita el permiso settings:
| Clave | Significado |
|---|---|
name | el nombre de la instancia |
color | el color principal |
token | el token de la API |
minlogtime | la entrada de tiempo más corta, en minutos (1 por defecto) (control de tiempo) |
backup | cuando está activado, cada edición del Markdown de un ticket guarda también una copia del texto, con el usuario, la dirección y el navegador (tabla tbl_ticket_backup) |
folderid | una carpeta por defecto |
Permisos
Una persona es administradora cuando la bandera sa está activada o cuando la lista de permisos contiene admin. admin gestiona las carpetas y las pantallas de administración; settings permite los ajustes; bot pertenece al usuario integrado del token de la API. Las sesiones viven en la tabla tbl_session y las caducadas se borran una vez al día.
Autenticación de dos factores
Cada usuario tiene la bandera is2fa, que la persona activa al cambiar la contraseña (Users|password). El inicio de sesión tiene entonces dos pasos (plugins/users/index.js): primero correo y contraseña; si la cuenta tiene is2fa, Todomator envía por correo un código de seis dígitos (plantilla templates/mail-2fa.html) que vale 10 minutos, y la persona lo devuelve para terminar. Los intentos erróneos se bloquean tras 10 intentos en 10 minutos. La línea mail del archivo config debe estar definida para que el código se entregue.
La base de datos
Todo vive en el esquema public de PostgreSQL:
| Tabla | Qué contiene |
|---|---|
cl_config | la configuración |
cl_status | los seis estados de un ticket |
cl_notification | los tipos de notificación |
tbl_user | los usuarios: perfil, hash de la contraseña, permisos e is2fa |
tbl_folder | las carpetas (clientes y proyectos) |
tbl_tag | las etiquetas |
tbl_ticket | los tickets |
tbl_ticket_comment | los comentarios de los tickets |
tbl_ticket_time | las entradas de tiempo |
tbl_ticket_bookmark | los marcadores de cada usuario |
tbl_ticket_unread | el estado de no leído por usuario y ticket |
tbl_ticket_data | datos libres de un ticket (data_read / data_save) |
tbl_ticket_backup | copias del Markdown de un ticket (el ajuste backup) |
tbl_notification | las notificaciones de los usuarios |
tbl_file | los archivos que se subieron |
tbl_session | las sesiones |
Haz copia de seguridad de este esquema como de cualquier otra base de datos PostgreSQL. Para actualizar, aplica los scripts database_*.sql del repositorio que sean más nuevos que tu versión (instalar Todomator).