"""Audit logging service.""" from datetime import datetime, timezone from sqlalchemy.orm import Session from app.models.db_models import AuditLog, CardLog def create_audit_log( db: Session, action: str, resource_type: str, operator: str, resource_id: str = "", ip_address: str = "", details: str = "", ) -> AuditLog: """Create an audit log entry.""" log = AuditLog( action=action, resource_type=resource_type, resource_id=resource_id, operator=operator, ip_address=ip_address, details=details, created_at=datetime.now(timezone.utc), ) db.add(log) db.commit() db.refresh(log) return log def create_card_log( db: Session, action: str, status: str, operator: str, card_id: str = "", cardholder_id: str = "", request_data: str = "", response_data: str = "", ) -> CardLog: """Create a card operation log entry.""" log = CardLog( card_id=card_id, cardholder_id=cardholder_id, action=action, status=status, operator=operator, request_data=request_data, response_data=response_data, created_at=datetime.now(timezone.utc), ) db.add(log) db.commit() db.refresh(log) return log