Django db cleanup: explicitly add it to dependencies.
We can't really add it manually, because some of the deps are auto included as parameters. These were not being decorated which in turn meeant issues.
This commit is contained in:
@@ -26,6 +26,7 @@ from ..utils import (
|
||||
)
|
||||
from ..dependencies import get_collection_queryset, get_item_queryset, get_collection
|
||||
from ..sendfile import sendfile
|
||||
from ..db_hack import django_db_cleanup_decorator
|
||||
|
||||
collection_router = APIRouter(route_class=MsgpackRoute, responses=permission_responses)
|
||||
item_router = APIRouter(route_class=MsgpackRoute, responses=permission_responses)
|
||||
@@ -222,6 +223,7 @@ def collection_list_common(
|
||||
# permissions
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def verify_collection_admin(
|
||||
collection: models.Collection = Depends(get_collection), user: UserType = Depends(get_authenticated_user)
|
||||
):
|
||||
@@ -229,6 +231,7 @@ def verify_collection_admin(
|
||||
raise PermissionDenied("admin_access_required", "Only collection admins can perform this operation.")
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def has_write_access(
|
||||
collection: models.Collection = Depends(get_collection), user: UserType = Depends(get_authenticated_user)
|
||||
):
|
||||
|
||||
@@ -19,6 +19,7 @@ from ..utils import (
|
||||
PERMISSIONS_READ,
|
||||
PERMISSIONS_READWRITE,
|
||||
)
|
||||
from ..db_hack import django_db_cleanup_decorator
|
||||
|
||||
User = get_typed_user_model()
|
||||
invitation_incoming_router = APIRouter(route_class=MsgpackRoute, responses=permission_responses)
|
||||
@@ -86,10 +87,12 @@ class InvitationListResponse(BaseModel):
|
||||
done: bool
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def get_incoming_queryset(user: UserType = Depends(get_authenticated_user)):
|
||||
return default_queryset.filter(user=user)
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def get_outgoing_queryset(user: UserType = Depends(get_authenticated_user)):
|
||||
return default_queryset.filter(fromMember__user=user)
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ from .authentication import get_authenticated_user
|
||||
from ..msgpack import MsgpackRoute
|
||||
from ..utils import get_object_or_404, BaseModel, permission_responses, PERMISSIONS_READ, PERMISSIONS_READWRITE
|
||||
from ..stoken_handler import filter_by_stoken_and_limit
|
||||
from ..db_hack import django_db_cleanup_decorator
|
||||
|
||||
from .collection import get_collection, verify_collection_admin
|
||||
|
||||
@@ -19,10 +20,12 @@ MemberQuerySet = QuerySet[models.CollectionMember]
|
||||
default_queryset: MemberQuerySet = models.CollectionMember.objects.all()
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def get_queryset(collection: models.Collection = Depends(get_collection)) -> MemberQuerySet:
|
||||
return default_queryset.filter(collection=collection)
|
||||
|
||||
|
||||
@django_db_cleanup_decorator
|
||||
def get_member(username: str, queryset: MemberQuerySet = Depends(get_queryset)) -> models.CollectionMember:
|
||||
return get_object_or_404(queryset, user__username__iexact=username)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user