22from uuid import uuid4
33
44from fastapi import FastAPI , Request
5- from returns .maybe import Maybe , Nothing
5+ from returns .maybe import Maybe
66from returns .result import Failure , Result , Success
77
88from stapi_fastapi .backends .product_backend import ProductBackend
99from stapi_fastapi .backends .root_backend import RootBackend
10- from stapi_fastapi .exceptions import failure_with
1110from stapi_fastapi .models .conformance import CORE
1211from stapi_fastapi .models .opportunity import (
1312 Opportunity ,
@@ -39,24 +38,20 @@ class MockRootBackend(RootBackend):
3938 def __init__ (self , orders : MockOrderDB ) -> None :
4039 self ._orders : MockOrderDB = orders
4140
42- async def get_orders (
43- self , request : Request
44- ) -> Result [OrderCollection , Maybe [Exception ]]:
41+ async def get_orders (self , request : Request ) -> Result [OrderCollection , Exception ]:
4542 """
4643 Show all orders.
4744 """
4845 return Success (OrderCollection (features = list (self ._orders .values ())))
4946
5047 async def get_order (
5148 self , order_id : str , request : Request
52- ) -> Result [Order , Maybe [ Exception ] ]:
49+ ) -> Result [Maybe [ Order ], Exception ]:
5350 """
5451 Show details for order with `order_id`.
5552 """
56- if order := self ._orders .get (order_id ):
57- return Success (order )
5853
59- return Failure ( Nothing )
54+ return Success ( Maybe . from_optional ( self . _orders . get ( order_id )) )
6055
6156
6257class MockProductBackend (ProductBackend ):
@@ -70,17 +65,17 @@ async def search_opportunities(
7065 product_router : ProductRouter ,
7166 search : OpportunityRequest ,
7267 request : Request ,
73- ) -> Result [list [Opportunity ], Maybe [ Exception ] ]:
68+ ) -> Result [list [Opportunity ], Exception ]:
7469 try :
7570 return Success (
7671 [o .model_copy (update = search .model_dump ()) for o in self ._opportunities ]
7772 )
7873 except Exception as e :
79- return failure_with (e )
74+ return Failure (e )
8075
8176 async def create_order (
8277 self , product_router : ProductRouter , payload : OrderRequest , request : Request
83- ) -> Result [Order , Maybe [ Exception ] ]:
78+ ) -> Result [Order , Exception ]:
8479 """
8580 Create a new order.
8681 """
@@ -112,7 +107,7 @@ async def create_order(
112107 self ._orders [order .id ] = order
113108 return Success (order )
114109 except Exception as e :
115- return failure_with (e )
110+ return Failure (e )
116111
117112
118113class MyOpportunityProperties (OpportunityProperties ):
0 commit comments