"""访问日志服务。""" from datetime import datetime from app.models.access_log import AccessLog from sqlalchemy.orm import Session class AccessLogService: def __init__(self, session: Session) -> None: self._session = session def record( self, *, knowledge_base_id: str, document_id: str | None = None, path: str, user_agent: str | None = None, request_type: str | None = None, ) -> None: """记录一次访问。""" log = AccessLog( knowledge_base_id=knowledge_base_id, document_id=document_id, path=path, accessed_at=datetime.now().strftime("%Y-%m-%d %H:%M:%S"), user_agent=user_agent[:500] if user_agent else None, request_type=request_type, ) self._session.add(log) self._session.commit()