user_router.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from fastapi import APIRouter, Query
  2. from server.spider.result_model import PaginationResponse
  3. from server.spider.twitter_db import DatabaseHandler
  4. router = APIRouter()
  5. @router.get("/list", response_model=PaginationResponse)
  6. async def read_users(page: int = Query(1, description="当前页码"),
  7. page_size: int = Query(10, description="每页显示的记录数")):
  8. """获取用户列表"""
  9. db_handler = DatabaseHandler()
  10. user_list, total_records = await db_handler.get_all_user(page, page_size)
  11. # 计算总页数
  12. total_pages = (total_records + page_size - 1) // page_size
  13. return {
  14. "items": user_list,
  15. "total_records": total_records,
  16. "current_page": page,
  17. "total_pages": total_pages
  18. }
  19. @router.get("/twitter", response_model=PaginationResponse)
  20. async def get_twitter_list(page: int = Query(1, description="当前页码"),
  21. page_size: int = Query(10, description="每页显示的记录数")):
  22. """获取Twitter列表"""
  23. db_handler = DatabaseHandler()
  24. twitter_list, total_records = await db_handler.get_all_twitter(page, page_size)
  25. # 计算总页数
  26. total_pages = (total_records + page_size - 1) // page_size
  27. return {
  28. "items": twitter_list,
  29. "total_records": total_records,
  30. "current_page": page,
  31. "total_pages": total_pages
  32. }