Skip to content

Commit a49eebe

Browse files
committed
fix: mark repository handler parameters with NamedDependency
1 parent e2cc25e commit a49eebe

3 files changed

Lines changed: 11 additions & 8 deletions

File tree

‎app/api/cards.py‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
11
import typing
22

33
import litestar
4+
from litestar.di import NamedDependency # noqa: TC002
45
from litestar.params import FromPath # noqa: TC002
56

67
from app import models, schemas
78
from app.repositories import CardsRepository # noqa: TC001
89

910

1011
@litestar.get("/decks/{deck_id:int}/cards/")
11-
async def list_cards(deck_id: FromPath[int], cards_repository: CardsRepository) -> schemas.Cards:
12+
async def list_cards(deck_id: FromPath[int], cards_repository: NamedDependency[CardsRepository]) -> schemas.Cards:
1213
objects = await cards_repository.list_for_deck(deck_id)
1314
return schemas.Cards.from_models(objects)
1415

1516

1617
@litestar.get("/cards/{card_id:int}/")
17-
async def get_card(card_id: FromPath[int], cards_repository: CardsRepository) -> schemas.Card:
18+
async def get_card(card_id: FromPath[int], cards_repository: NamedDependency[CardsRepository]) -> schemas.Card:
1819
instance = await cards_repository.get_one(models.Card.id == card_id)
1920
return schemas.Card.model_validate(instance)
2021

2122

2223
@litestar.post("/decks/{deck_id:int}/cards/")
2324
async def create_cards(
24-
deck_id: FromPath[int], data: list[schemas.CardCreate], cards_repository: CardsRepository
25+
deck_id: FromPath[int], data: list[schemas.CardCreate], cards_repository: NamedDependency[CardsRepository]
2526
) -> schemas.Cards:
2627
objects = await cards_repository.add_cards(deck_id, data)
2728
return schemas.Cards.from_models(objects)
2829

2930

3031
@litestar.put("/decks/{deck_id:int}/cards/")
3132
async def update_cards(
32-
deck_id: FromPath[int], data: list[schemas.Card], cards_repository: CardsRepository
33+
deck_id: FromPath[int], data: list[schemas.Card], cards_repository: NamedDependency[CardsRepository]
3334
) -> schemas.Cards:
3435
objects = await cards_repository.upsert_cards(deck_id, data)
3536
return schemas.Cards.from_models(objects)

‎app/api/decks.py‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
import typing
22

33
import litestar
4+
from litestar.di import NamedDependency # noqa: TC002
45
from litestar.params import FromPath # noqa: TC002
56

67
from app import schemas
78
from app.repositories import DecksRepository # noqa: TC001
89

910

1011
@litestar.get("/decks/")
11-
async def list_decks(decks_repository: DecksRepository) -> schemas.Decks:
12+
async def list_decks(decks_repository: NamedDependency[DecksRepository]) -> schemas.Decks:
1213
objects = await decks_repository.get_many()
1314
return schemas.Decks.from_models(objects)
1415

1516

1617
@litestar.get("/decks/{deck_id:int}/")
17-
async def get_deck(deck_id: FromPath[int], decks_repository: DecksRepository) -> schemas.DeckWithCards:
18+
async def get_deck(deck_id: FromPath[int], decks_repository: NamedDependency[DecksRepository]) -> schemas.DeckWithCards:
1819
instance = await decks_repository.fetch_with_cards(deck_id)
1920
return schemas.DeckWithCards.model_validate(instance)
2021

@@ -23,14 +24,14 @@ async def get_deck(deck_id: FromPath[int], decks_repository: DecksRepository) ->
2324
async def update_deck(
2425
deck_id: FromPath[int],
2526
data: schemas.DeckCreate,
26-
decks_repository: DecksRepository,
27+
decks_repository: NamedDependency[DecksRepository],
2728
) -> schemas.Deck:
2829
instance = await decks_repository.update(data=data.model_dump(), item_id=deck_id)
2930
return schemas.Deck.model_validate(instance)
3031

3132

3233
@litestar.post("/decks/")
33-
async def create_deck(data: schemas.DeckCreate, decks_repository: DecksRepository) -> schemas.Deck:
34+
async def create_deck(data: schemas.DeckCreate, decks_repository: NamedDependency[DecksRepository]) -> schemas.Deck:
3435
instance = await decks_repository.create(data)
3536
return schemas.Deck.model_validate(instance)
3637

‎pyproject.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ isort.no-lines-before = ["standard-library", "local-folder"]
7878
addopts = "--cov=. --cov-report term-missing --cov-fail-under=100"
7979
asyncio_mode = "auto"
8080
asyncio_default_fixture_loop_scope = "function"
81+
filterwarnings = ["error::litestar.exceptions.LitestarDeprecationWarning"]
8182

8283
[tool.coverage.report]
8384
exclude_also = [

0 commit comments

Comments
 (0)