from sqlalchemy.orm import Session

from flyway.domain.actor import Actor
from flyway.models import AuditLog


def record(session: Session, actor: Actor, action: str, entity: str, entity_id, detail: str = "") -> None:
    session.add(AuditLog(
        user_id=actor.user_id, username=actor.username, action=action,
        entity=entity, entity_id=str(entity_id), detail=detail,
    ))
