20 lines
631 B
Python
20 lines
631 B
Python
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
|