You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
794 B

from fastapi import APIRouter
from starlette.requests import Request
from tortoise.queryset import QuerySet
from models.task import Task
from helper import respond_to
task_router = APIRouter(prefix='/task')
@task_router.get("/")
def read_root():
return {"Hello": "World"}
@task_router.get('/list', summary="列出所有任务")
async def index(request: Request, page_no: int = 1, page_size: int = 20):
"""
列出所有任务
:param page_no: 1
:param page_size: 20
:return:
"""
offset = (page_no - 1) * page_size
query = QuerySet(Task).filter(is_canceled=False, is_valid=True, is_active=True)
count = await query.count()
tasks = await query.limit(page_size).offset(offset)
return respond_to(code=200, data=dict(count=count, data=tasks))