File size: 1,301 Bytes
5111c4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from fastapi import APIRouter, HTTPException, status, Depends
from app.services.order_service import OrderService
from app.models.orders import Order, OrderStatus
from typing import List

router = APIRouter()

@router.post("/", response_model=Order, status_code=status.HTTP_201_CREATED)
async def create_order(order: Order, service: OrderService = Depends(OrderService)):
    return await service.create_order(order)

@router.get("/{order_id}", response_model=Order)
async def get_order(order_id: int, service: OrderService = Depends(OrderService)):
    return await service.get_order(order_id)

@router.put("/{order_id}/status", response_model=Order)
async def update_order_status(

    order_id: int, 

    status: OrderStatus,

    service: OrderService = Depends(OrderService)

):
    return await service.update_status(order_id, status)

@router.get("/status/{status}", response_model=List[Order])
async def get_orders_by_status(

    status: OrderStatus,

    service: OrderService = Depends(OrderService)

):
    return await service.get_orders_by_status(status)

@router.get("/daily/{date}", response_model=List[Order])
async def get_daily_orders(

    date: str,

    service: OrderService = Depends(OrderService)

):
    return await service.get_daily_orders(date)