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

Commit a54e282

Browse files
author
Phil Varner
committed
fix Failure(e) to Failure(Some(e))
1 parent 122164c commit a54e282

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

bin/server.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from stapi_fastapi.backends.product_backend import ProductBackend
99
from stapi_fastapi.backends.root_backend import RootBackend
10+
from stapi_fastapi.exceptions import failure_with
1011
from stapi_fastapi.models.conformance import CORE
1112
from stapi_fastapi.models.opportunity import (
1213
Opportunity,
@@ -75,7 +76,7 @@ async def search_opportunities(
7576
[o.model_copy(update=search.model_dump()) for o in self._opportunities]
7677
)
7778
except Exception as e:
78-
return Failure(e)
79+
return failure_with(e)
7980

8081
async def create_order(
8182
self, product_router: ProductRouter, payload: OrderRequest, request: Request
@@ -111,7 +112,7 @@ async def create_order(
111112
self._orders[order.id] = order
112113
return Success(order)
113114
except Exception as e:
114-
return Failure(e)
115+
return failure_with(e)
115116

116117

117118
class MyOpportunityProperties(OpportunityProperties):

src/stapi_fastapi/exceptions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
from typing import Any, Optional
22

33
from fastapi import HTTPException, status
4+
from returns.maybe import Some
5+
from returns.result import Failure
6+
7+
8+
def failure_with(e: Exception) -> Failure[Some[Exception]]:
9+
return Failure(Some(e))
410

511

612
class StapiException(HTTPException):

tests/backends.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from stapi_fastapi.backends.product_backend import ProductBackend
99
from stapi_fastapi.backends.root_backend import RootBackend
10-
from stapi_fastapi.exceptions import ConstraintsException
10+
from stapi_fastapi.exceptions import ConstraintsException, failure_with
1111
from stapi_fastapi.models.opportunity import Opportunity, OpportunityRequest
1212
from stapi_fastapi.models.order import (
1313
Order,
@@ -99,7 +99,7 @@ async def create_order(
9999
self._orders[order.id] = order
100100
return Success(order)
101101
else:
102-
return Failure(
102+
return failure_with(
103103
ConstraintsException(
104104
f"not allowed: payload {payload.model_dump_json()} not in {[p.model_dump_json() for p in self._allowed_payloads]}"
105105
)

0 commit comments

Comments
 (0)