General Information about the Admin Panel
This document provides an overview of the GENTRAIN Admin Panel, a central tool for managing and monitoring the GENTRAIN software.
Purpose & Overview
The Admin Panel is used for the management of pathogens, users, roles, pathogen schemas, and example datasets.
It enables administrators to maintain core data structures and securely control system access.
- Core Components:
- User – Manage user accounts and access rights
- Role – Define and assign user roles
- Pathogen – Manage supported pathogens and their associated schemas
- Log – View audit trails and administrative activity logs
Access & Authentication
- Access is provided through a login with username and password.
- An additional Basic Authentication layer protects the admin area on the server side.
- Each user is assigned a specific role.
- The
superuserrole has extended privileges, including access to log data, user management, and role management.
- The
Sessions & Security
- Sessions are stored server-side in a PostgreSQL-based session store.
- Cookie and session parameters are configured in
backend/admin/src/admin/router.ts:securecookiesSameSite=stricthttpsOnlyenabled
- Environment variables
SESSION_SECRETandCOOKIE_SECRETmust be set to ensure encrypted and secure session cookies.
Components & Extensions
- The Admin Panel is built using AdminJS and uses Prisma as its ORM to interact with the GENTRAIN PostgreSQL database.
- Additional features and extensions include:
- Logger Feature – for tracking administrative actions
- Upload Feature – for file management and administrative workflows
Logging in the Admin Panel
The Admin Panel logs all administrative changes, such as:
- Modifications to users and roles
- Schema updates and upload operations
- System-level actions (creation, deletion, permission changes)
All logs are stored in a dedicated log resource.
Log Access
- The log view is restricted to users with the
superuserrole. - Access control is configured in the relevant admin resource (see
createLoggerResource).
Data Sensitivity & Sanitization
- Log entries may include changes to records, showing both previous and updated field values.
- Sensitive fields (e.g., passwords or confidential identifiers) are automatically sanitized before being displayed or stored.
- Logs exist solely for auditability and security purposes.