| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # -*- coding: utf-8 -*-
- from datetime import datetime, time, timedelta
- from typing import Optional
- from uuid import UUID
- from fastapi import APIRouter, HTTPException, Path, Query, Body
- router = APIRouter()
- @router.get('/{item_id}')
- async def read_items(
- item_id: int = Path(..., title='The ID of the item to get'),
- q: Optional[str] = Query(None, alias='item-query'),
- ):
- results = {'item_id': item_id}
- if q:
- results.update({'q': q})
- return results
- @router.put('/{item_id}')
- async def update_item(
- item_id: UUID,
- start_datetime: Optional[datetime] = Body(None),
- end_datetime: Optional[datetime] = Body(None),
- repeat_at: Optional[time] = Body(None),
- process_after: Optional[timedelta] = Body(None),
- ):
- start_process = start_datetime + process_after
- duration = end_datetime - start_process
- return {
- "item_id": item_id,
- "start_datetime": start_datetime,
- "end_datetime": end_datetime,
- "repeat_at": repeat_at,
- "process_after": process_after,
- "start_process": start_process,
- "duration": duration,
- }
|