8
8
from app .repositories .decks import CardsRepository , DecksRepository
9
9
10
10
11
- ROUTER : typing .Final = fastapi .APIRouter ()
11
+ async def init_di_context () -> typing .AsyncIterator [None ]:
12
+ async with container_context ():
13
+ yield
14
+
15
+
16
+ ROUTER : typing .Final = fastapi .APIRouter (dependencies = [fastapi .Depends (init_di_context )])
12
17
13
18
14
19
@ROUTER .get ("/decks/" )
15
- @container_context ()
16
20
async def list_decks (
17
21
decks_repo : DecksRepository = fastapi .Depends (ioc .IOCContainer .decks_repo ),
18
22
) -> schemas .Decks :
@@ -21,7 +25,6 @@ async def list_decks(
21
25
22
26
23
27
@ROUTER .get ("/decks/{deck_id}/" )
24
- @container_context ()
25
28
async def get_deck (
26
29
deck_id : int ,
27
30
decks_repo : DecksRepository = fastapi .Depends (ioc .IOCContainer .decks_repo ),
@@ -34,7 +37,6 @@ async def get_deck(
34
37
35
38
36
39
@ROUTER .put ("/decks/{deck_id}/" )
37
- @container_context ()
38
40
async def update_deck (
39
41
deck_id : int ,
40
42
data : schemas .DeckCreate ,
@@ -50,7 +52,6 @@ async def update_deck(
50
52
51
53
52
54
@ROUTER .post ("/decks/" )
53
- @container_context ()
54
55
async def create_deck (
55
56
data : schemas .DeckCreate ,
56
57
decks_repo : DecksRepository = fastapi .Depends (ioc .IOCContainer .decks_repo ),
@@ -61,7 +62,6 @@ async def create_deck(
61
62
62
63
63
64
@ROUTER .get ("/decks/{deck_id}/cards/" )
64
- @container_context ()
65
65
async def list_cards (
66
66
deck_id : int ,
67
67
cards_repo : CardsRepository = fastapi .Depends (ioc .IOCContainer .cards_repo ),
@@ -71,7 +71,6 @@ async def list_cards(
71
71
72
72
73
73
@ROUTER .get ("/cards/{card_id}/" )
74
- @container_context ()
75
74
async def get_card (
76
75
card_id : int ,
77
76
cards_repo : CardsRepository = fastapi .Depends (ioc .IOCContainer .cards_repo ),
@@ -83,7 +82,6 @@ async def get_card(
83
82
84
83
85
84
@ROUTER .post ("/decks/{deck_id}/cards/" )
86
- @container_context ()
87
85
async def create_cards (
88
86
deck_id : int ,
89
87
data : list [schemas .CardCreate ],
@@ -96,7 +94,6 @@ async def create_cards(
96
94
97
95
98
96
@ROUTER .put ("/decks/{deck_id}/cards/" )
99
- @container_context ()
100
97
async def update_cards (
101
98
deck_id : int ,
102
99
data : list [schemas .Card ],
0 commit comments