meme/misc/rm karma

This commit is contained in:
2025-05-20 11:14:08 -04:00
parent 5c351a6e0f
commit 0d58ae2a96
8 changed files with 67 additions and 299 deletions

View File

@ -16,6 +16,7 @@ class Meme(FastAPI):
self.constants = constants
self.endpoints: dict = {
"memes/get_meme/{id:path}": self.get_meme_by_id,
"memes/random": self.random_meme,
"memes/list_memes": self.list_memes,
}
@ -31,7 +32,17 @@ class Meme(FastAPI):
return Response(status_code=404, content="Not found")
return Response(content=meme_image, media_type="image/png")
async def random_meme(self, request: Request) -> Response:
"""Get random meme (image)"""
meme_image = await self.meme_util.get_random_meme()
if not meme_image:
return Response(status_code=404, content="Not found")
return Response(content=meme_image, media_type="image/png")
async def list_memes(self, page: int, request: Request) -> Response:
"""Get meme (image) by id"""
meme_list = await self.meme_util.list_memes(page)
return JSONResponse(content={"memes": meme_list})
page_count = await self.meme_util.get_page_count()
return JSONResponse(
content={"paging": {"current": page, "of": page_count}, "memes": meme_list}
)