Skip to content

Commit 59174fa

Browse files
committed
update modern-di-fastapi
1 parent 2e452db commit 59174fa

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

app/api/decks.py

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

33
import fastapi
44
from advanced_alchemy.exceptions import NotFoundError
5-
from modern_di_fastapi import FromDI
5+
from modern_di_fastapi import Provide
66
from sqlalchemy import orm
77
from starlette import status
88

@@ -15,7 +15,7 @@
1515

1616
@ROUTER.get("/decks/")
1717
async def list_decks(
18-
decks_service: DecksService = FromDI(ioc.IOCContainer.decks_service),
18+
decks_service: DecksService = Provide(ioc.IOCContainer.decks_service),
1919
) -> schemas.Decks:
2020
objects = await decks_service.list()
2121
return typing.cast(schemas.Decks, {"items": objects})
@@ -24,7 +24,7 @@ async def list_decks(
2424
@ROUTER.get("/decks/{deck_id}/")
2525
async def get_deck(
2626
deck_id: int,
27-
decks_service: DecksService = FromDI(ioc.IOCContainer.decks_service),
27+
decks_service: DecksService = Provide(ioc.IOCContainer.decks_service),
2828
) -> schemas.Deck:
2929
instance = await decks_service.get_one_or_none(
3030
models.Deck.id == deck_id,
@@ -40,7 +40,7 @@ async def get_deck(
4040
async def update_deck(
4141
deck_id: int,
4242
data: schemas.DeckCreate,
43-
decks_service: DecksService = FromDI(ioc.IOCContainer.decks_service),
43+
decks_service: DecksService = Provide(ioc.IOCContainer.decks_service),
4444
) -> schemas.Deck:
4545
try:
4646
instance = await decks_service.update(data=data.model_dump(), item_id=deck_id)
@@ -53,7 +53,7 @@ async def update_deck(
5353
@ROUTER.post("/decks/")
5454
async def create_deck(
5555
data: schemas.DeckCreate,
56-
decks_service: DecksService = FromDI(ioc.IOCContainer.decks_service),
56+
decks_service: DecksService = Provide(ioc.IOCContainer.decks_service),
5757
) -> schemas.Deck:
5858
instance = await decks_service.create(data)
5959
return typing.cast(schemas.Deck, instance)
@@ -62,7 +62,7 @@ async def create_deck(
6262
@ROUTER.get("/decks/{deck_id}/cards/")
6363
async def list_cards(
6464
deck_id: int,
65-
cards_service: CardsService = FromDI(ioc.IOCContainer.cards_service),
65+
cards_service: CardsService = Provide(ioc.IOCContainer.cards_service),
6666
) -> schemas.Cards:
6767
objects = await cards_service.list(models.Card.deck_id == deck_id)
6868
return typing.cast(schemas.Cards, {"items": objects})
@@ -71,7 +71,7 @@ async def list_cards(
7171
@ROUTER.get("/cards/{card_id}/")
7272
async def get_card(
7373
card_id: int,
74-
cards_service: CardsService = FromDI(ioc.IOCContainer.cards_service),
74+
cards_service: CardsService = Provide(ioc.IOCContainer.cards_service),
7575
) -> schemas.Card:
7676
instance = await cards_service.get_one_or_none(models.Card.id == card_id)
7777
if not instance:
@@ -83,7 +83,7 @@ async def get_card(
8383
async def create_cards(
8484
deck_id: int,
8585
data: list[schemas.CardCreate],
86-
cards_service: CardsService = FromDI(ioc.IOCContainer.cards_service),
86+
cards_service: CardsService = Provide(ioc.IOCContainer.cards_service),
8787
) -> schemas.Cards:
8888
objects = await cards_service.create_many(
8989
data=[models.Card(**card.model_dump(), deck_id=deck_id) for card in data],
@@ -95,7 +95,7 @@ async def create_cards(
9595
async def update_cards(
9696
deck_id: int,
9797
data: list[schemas.Card],
98-
cards_service: CardsService = FromDI(ioc.IOCContainer.cards_service),
98+
cards_service: CardsService = Provide(ioc.IOCContainer.cards_service),
9999
) -> schemas.Cards:
100100
objects = await cards_service.upsert_many(
101101
data=[models.Card(**card.model_dump(exclude={"deck_id"}), deck_id=deck_id) for card in data],

app/application.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import typing
33

44
import fastapi
5-
import modern_di
65
import modern_di_fastapi
76
from advanced_alchemy.exceptions import DuplicateKeyError, ForeignKeyError
87

@@ -21,10 +20,8 @@ def __init__(self) -> None:
2120
title=settings.service_name,
2221
debug=settings.debug,
2322
lifespan=self.lifespan_manager,
24-
dependencies=[fastapi.Depends(modern_di_fastapi.enter_di_request_scope)],
2523
)
26-
self.di_container = modern_di.Container(scope=modern_di.Scope.APP)
27-
modern_di_fastapi.save_di_container(self.app, self.di_container)
24+
self.di_container = modern_di_fastapi.setup_di(self.app)
2825
include_routers(self.app)
2926
self.app.add_exception_handler(
3027
ForeignKeyError,

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)