from fastapi import HTTPException, status
from sqlalchemy.orm import Session


def get_or_404(db: Session, model, record_id: str, label: str = "Record"):
    record = db.get(model, record_id)
    if not record:
        raise HTTPException(
            status_code=status.HTTP_404_NOT_FOUND,
            detail=f"{label} with id '{record_id}' not found",
        )
    return record
