Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Commit 9355fdf

Browse files
parksjrtylandersonjkeifer
committed
passes product router instead of product to backend
Co-authored-by: Tyler <[email protected]> Co-authored-by: Jarrett Keifer <[email protected]>
1 parent 07b2597 commit 9355fdf

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

src/stapi_fastapi/backends/product_backend.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
from stapi_fastapi.models.opportunity import Opportunity, OpportunityRequest
88
from stapi_fastapi.models.order import Order
9-
from stapi_fastapi.models.product import Product
9+
from stapi_fastapi.routers.product_router import ProductRouter
1010

1111

1212
class ProductBackend(Protocol):
1313
async def search_opportunities(
1414
self,
15-
product: Product,
15+
product_router: ProductRouter,
1616
search: OpportunityRequest,
1717
request: Request,
1818
) -> list[Opportunity]:
@@ -26,7 +26,7 @@ async def search_opportunities(
2626

2727
async def create_order(
2828
self,
29-
product: Product,
29+
product_router: ProductRouter,
3030
search: OpportunityRequest,
3131
request: Request,
3232
) -> Order:

src/stapi_fastapi/routers/product_router.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ async def search_opportunities(
9090
"""
9191
try:
9292
opportunities = await self.product.backend.search_opportunities(
93-
self.product, search, request
93+
self, search, request
9494
)
9595
except ConstraintsException as exc:
9696
raise HTTPException(status.HTTP_422_UNPROCESSABLE_ENTITY, detail=exc.detail)
@@ -111,7 +111,7 @@ async def create_order(
111111
"""
112112
try:
113113
order = await self.product.backend.create_order(
114-
self.product,
114+
self,
115115
payload,
116116
request,
117117
)

tests/backends.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from stapi_fastapi.exceptions import ConstraintsException, NotFoundException
66
from stapi_fastapi.models.opportunity import Opportunity, OpportunityRequest
77
from stapi_fastapi.models.order import Order
8-
from stapi_fastapi.models.product import Product
8+
from stapi_fastapi.routers.product_router import ProductRouter
99

1010

1111
class MockOrderDB(dict[int | str, Order]):
@@ -39,12 +39,18 @@ def __init__(self, orders: MockOrderDB) -> None:
3939
self._orders = orders
4040

4141
async def search_opportunities(
42-
self, product: Product, search: OpportunityRequest, request: Request
42+
self,
43+
product_router: ProductRouter,
44+
search: OpportunityRequest,
45+
request: Request,
4346
) -> list[Opportunity]:
4447
return [o.model_copy(update=search.model_dump()) for o in self._opportunities]
4548

4649
async def create_order(
47-
self, product: Product, payload: OpportunityRequest, request: Request
50+
self,
51+
product_router: ProductRouter,
52+
payload: OpportunityRequest,
53+
request: Request,
4854
) -> Order:
4955
"""
5056
Create a new order.
@@ -57,7 +63,7 @@ async def create_order(
5763
properties={
5864
"filter": payload.filter,
5965
"datetime": payload.datetime,
60-
"product_id": product.id,
66+
"product_id": product_router.product.id,
6167
},
6268
links=[],
6369
)

0 commit comments

Comments
 (0)