"""Private file guards for the documents application.""" from __future__ import annotations from common.private_files.registry import register from .models import ManagedDocument from .permissions import user_has_document_permission def _document_version_guard(version, user) -> bool: document = getattr(version, "document", None) if document is None: return False return user_has_document_permission( user, document, required_permission=ManagedDocument.PERMISSION_VIEW, ) register("documents", "DocumentVersion", "file", _document_version_guard) register("documents", "DocumentVersion", "thumbnail", _document_version_guard)