from flask import request from flask_login import current_user from app.extensions import db from app.models.audit_log import AuditLog class AuditService: def log(self, action, target_type, target_id=None, details=''): entry = AuditLog( user_id=current_user.id if getattr(current_user, 'is_authenticated', False) else None, action=action, target_type=target_type, target_id=target_id, remote_addr=request.remote_addr if request else None, details=details, ) db.session.add(entry) db.session.commit() return entry