File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1010from ctenex .domain .order_book .contract .reader import contracts_reader
1111from ctenex .domain .order_book .contract .schemas import ContractGetResponse
1212from ctenex .domain .order_book .order .model import Order
13- from ctenex .domain .order_book .order .schemas import OrderAddRequest , OrderAddResponse
13+ from ctenex .domain .order_book .order .schemas import (
14+ OrderAddRequest ,
15+ OrderAddResponse ,
16+ OrderGetResponse ,
17+ )
1418
1519router = APIRouter (tags = ["exchange" ])
1620
@@ -30,11 +34,11 @@ async def place_order(
3034
3135
3236@router .get ("/orders" )
33- async def get_order (
37+ async def get_orders (
3438 contract_id : ContractCode ,
35- ) -> list [Order ]:
39+ ) -> list [OrderGetResponse ]:
3640 orders : list [Order ] = await matching_engine .get_orders (contract_id )
37- return orders
41+ return [ OrderGetResponse ( ** order . model_dump ( exclude_none = True )) for order in orders ]
3842
3943
4044@router .get ("/supported-contracts" )
Original file line number Diff line number Diff line change 1+ from datetime import datetime
12from decimal import Decimal
23from uuid import UUID
34
@@ -24,3 +25,16 @@ class OrderAddResponse(BaseModel):
2425 price : Decimal | None = None
2526 quantity : Decimal
2627 status : OrderStatus
28+
29+
30+ class OrderGetResponse (BaseModel ):
31+ id : UUID
32+ contract_id : str
33+ trader_id : UUID
34+ side : OrderSide
35+ type : OrderType
36+ price : Decimal | None = None
37+ quantity : Decimal
38+ status : OrderStatus
39+ remaining_quantity : Decimal | None = None
40+ placed_at : datetime
You can’t perform that action at this time.
0 commit comments