@ -188,7 +188,6 @@ class ItemBatchIn(BaseModel):
)
)
@sync_to_async
def collection_list_common (
def collection_list_common (
queryset : CollectionQuerySet ,
queryset : CollectionQuerySet ,
user : UserType ,
user : UserType ,
@ -248,7 +247,7 @@ def has_write_access(
response_model_exclude_unset = True ,
response_model_exclude_unset = True ,
dependencies = PERMISSIONS_READ ,
dependencies = PERMISSIONS_READ ,
)
)
async def list_multi (
def list_multi (
data : ListMulti ,
data : ListMulti ,
stoken : t . Optional [ str ] = None ,
stoken : t . Optional [ str ] = None ,
limit : int = 50 ,
limit : int = 50 ,
@ -261,18 +260,18 @@ async def list_multi(
Q ( members__collectionType__uid__in = data . collectionTypes ) | Q ( members__collectionType__isnull = True )
Q ( members__collectionType__uid__in = data . collectionTypes ) | Q ( members__collectionType__isnull = True )
)
)
return await collection_list_common ( queryset , user , stoken , limit , prefetch )
return collection_list_common ( queryset , user , stoken , limit , prefetch )
@collection_router.get ( " / " , response_model = CollectionListResponse , dependencies = PERMISSIONS_READ )
@collection_router.get ( " / " , response_model = CollectionListResponse , dependencies = PERMISSIONS_READ )
async def collection_list (
def collection_list (
stoken : t . Optional [ str ] = None ,
stoken : t . Optional [ str ] = None ,
limit : int = 50 ,
limit : int = 50 ,
prefetch : Prefetch = PrefetchQuery ,
prefetch : Prefetch = PrefetchQuery ,
user : UserType = Depends ( get_authenticated_user ) ,
user : UserType = Depends ( get_authenticated_user ) ,
queryset : CollectionQuerySet = Depends ( get_collection_queryset ) ,
queryset : CollectionQuerySet = Depends ( get_collection_queryset ) ,
) :
) :
return await collection_list_common ( queryset , user , stoken , limit , prefetch )
return collection_list_common ( queryset , user , stoken , limit , prefetch )
def process_revisions_for_item ( item : models . CollectionItem , revision_data : CollectionItemRevisionInOut ) :
def process_revisions_for_item ( item : models . CollectionItem , revision_data : CollectionItemRevisionInOut ) :
@ -341,8 +340,8 @@ def _create(data: CollectionIn, user: UserType):
@collection_router.post ( " / " , status_code = status . HTTP_201_CREATED , dependencies = PERMISSIONS_READWRITE )
@collection_router.post ( " / " , status_code = status . HTTP_201_CREATED , dependencies = PERMISSIONS_READWRITE )
async def create ( data : CollectionIn , user : UserType = Depends ( get_authenticated_user ) ) :
def create ( data : CollectionIn , user : UserType = Depends ( get_authenticated_user ) ) :
await sync_to_async ( _create ) ( data , user )
_create ( data , user )
@collection_router.get ( " / {collection_uid} / " , response_model = CollectionOut , dependencies = PERMISSIONS_READ )
@collection_router.get ( " / {collection_uid} / " , response_model = CollectionOut , dependencies = PERMISSIONS_READ )
@ -407,7 +406,6 @@ def item_get(
return CollectionItemOut . from_orm_context ( obj , Context ( user , prefetch ) )
return CollectionItemOut . from_orm_context ( obj , Context ( user , prefetch ) )
@sync_to_async
def item_list_common (
def item_list_common (
queryset : CollectionItemQuerySet ,
queryset : CollectionItemQuerySet ,
user : UserType ,
user : UserType ,
@ -425,7 +423,7 @@ def item_list_common(
@item_router.get ( " /item/ " , response_model = CollectionItemListResponse , dependencies = PERMISSIONS_READ )
@item_router.get ( " /item/ " , response_model = CollectionItemListResponse , dependencies = PERMISSIONS_READ )
async def item_list (
def item_list (
queryset : CollectionItemQuerySet = Depends ( get_item_queryset ) ,
queryset : CollectionItemQuerySet = Depends ( get_item_queryset ) ,
stoken : t . Optional [ str ] = None ,
stoken : t . Optional [ str ] = None ,
limit : int = 50 ,
limit : int = 50 ,
@ -436,7 +434,7 @@ async def item_list(
if not withCollection :
if not withCollection :
queryset = queryset . filter ( parent__isnull = True )
queryset = queryset . filter ( parent__isnull = True )
response = await item_list_common ( queryset , user , stoken , limit , prefetch )
response = item_list_common ( queryset , user , stoken , limit , prefetch )
return response
return response