mirror of
https://github.com/flibusta-apps/book_library_server.git
synced 2025-12-06 15:15:36 +01:00
Add random caching
This commit is contained in:
@@ -54,8 +54,12 @@ async def create_author(data: CreateAuthor):
|
||||
|
||||
|
||||
@author_router.get("/random", response_model=Author)
|
||||
async def get_random_author(allowed_langs: frozenset[str] = Depends(get_allowed_langs)):
|
||||
author_id = await GetRandomAuthorService.get_random_id(allowed_langs)
|
||||
async def get_random_author(
|
||||
request: Request, allowed_langs: frozenset[str] = Depends(get_allowed_langs)
|
||||
):
|
||||
author_id = await GetRandomAuthorService.get_random_id(
|
||||
allowed_langs, request.app.state.redis
|
||||
)
|
||||
|
||||
return (
|
||||
await AuthorDB.objects.select_related(SELECT_RELATED_FIELDS)
|
||||
|
||||
@@ -56,8 +56,12 @@ async def create_book(data: Union[CreateBook, CreateRemoteBook]):
|
||||
|
||||
|
||||
@book_router.get("/random", response_model=BookDetail)
|
||||
async def get_random_book(allowed_langs: frozenset[str] = Depends(get_allowed_langs)):
|
||||
book_id = await GetRandomBookService.get_random_id(allowed_langs)
|
||||
async def get_random_book(
|
||||
request: Request, allowed_langs: frozenset[str] = Depends(get_allowed_langs)
|
||||
):
|
||||
book_id = await GetRandomBookService.get_random_id(
|
||||
allowed_langs, request.app.state.redis
|
||||
)
|
||||
|
||||
book = (
|
||||
await BookDB.objects.select_related(SELECT_RELATED_FIELDS + ["sequences"])
|
||||
|
||||
@@ -28,9 +28,12 @@ async def get_sequences():
|
||||
|
||||
@sequence_router.get("/random", response_model=Sequence)
|
||||
async def get_random_sequence(
|
||||
request: Request,
|
||||
allowed_langs: frozenset[str] = Depends(get_allowed_langs),
|
||||
):
|
||||
sequence_id = await GetRandomSequenceService.get_random_id(allowed_langs)
|
||||
sequence_id = await GetRandomSequenceService.get_random_id(
|
||||
allowed_langs, request.app.state.redis
|
||||
)
|
||||
|
||||
return await SequenceDB.objects.get(id=sequence_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user