Add RBAC: admin user management, audit log, runtime settings, delete PC

This commit is contained in:
2026-07-16 17:28:04 +07:00
parent c2148f334d
commit d1128f4aa3
16 changed files with 690 additions and 24 deletions
+14
View File
@@ -74,6 +74,20 @@ def require_admin(user: models.User = Depends(get_current_user)):
return user
def log_action(db: Session, user: Optional[models.User], action: str, details: Optional[str] = None):
try:
entry = models.AuditLog(
user_id=user.id if user else None,
username=user.username if user else None,
action=action,
details=details,
)
db.add(entry)
db.commit()
except Exception:
db.rollback()
def create_default_admin(db: Session) -> Optional[models.User]:
if not settings.CREATE_ADMIN_ON_STARTUP:
return None