Skip to content

Commit

Permalink
fix Failure(e) to Failure(Some(e))
Browse files Browse the repository at this point in the history
  • Loading branch information
philvarner committed Nov 22, 2024
1 parent 122164c commit a54e282
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
5 changes: 3 additions & 2 deletions bin/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

from stapi_fastapi.backends.product_backend import ProductBackend
from stapi_fastapi.backends.root_backend import RootBackend
from stapi_fastapi.exceptions import failure_with
from stapi_fastapi.models.conformance import CORE
from stapi_fastapi.models.opportunity import (
Opportunity,
Expand Down Expand Up @@ -75,7 +76,7 @@ async def search_opportunities(
[o.model_copy(update=search.model_dump()) for o in self._opportunities]
)
except Exception as e:
return Failure(e)
return failure_with(e)

async def create_order(
self, product_router: ProductRouter, payload: OrderRequest, request: Request
Expand Down Expand Up @@ -111,7 +112,7 @@ async def create_order(
self._orders[order.id] = order
return Success(order)
except Exception as e:
return Failure(e)
return failure_with(e)


class MyOpportunityProperties(OpportunityProperties):
Expand Down
6 changes: 6 additions & 0 deletions src/stapi_fastapi/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
from typing import Any, Optional

from fastapi import HTTPException, status
from returns.maybe import Some
from returns.result import Failure


def failure_with(e: Exception) -> Failure[Some[Exception]]:
return Failure(Some(e))


class StapiException(HTTPException):
Expand Down
4 changes: 2 additions & 2 deletions tests/backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from stapi_fastapi.backends.product_backend import ProductBackend
from stapi_fastapi.backends.root_backend import RootBackend
from stapi_fastapi.exceptions import ConstraintsException
from stapi_fastapi.exceptions import ConstraintsException, failure_with
from stapi_fastapi.models.opportunity import Opportunity, OpportunityRequest
from stapi_fastapi.models.order import (
Order,
Expand Down Expand Up @@ -99,7 +99,7 @@ async def create_order(
self._orders[order.id] = order
return Success(order)
else:
return Failure(
return failure_with(
ConstraintsException(
f"not allowed: payload {payload.model_dump_json()} not in {[p.model_dump_json() for p in self._allowed_payloads]}"
)
Expand Down

0 comments on commit a54e282

Please sign in to comment.