@@ -30,18 +30,21 @@ async def lifespan(_: FastAPI) -> AsyncIterator[Never]:
30
30
31
31
@router .get ("/" , tags = ["todos" ])
32
32
async def all () -> Todos :
33
+ """Gets all todos"""
33
34
todos = get_todos ()
34
35
return await todos .all ()
35
36
36
37
37
38
@router .get ("/search" , tags = ["todos" ])
38
39
async def search (name : str | None = None , status : TodoStatus | None = None ) -> Todos :
40
+ """Searches for todos by name and/or status"""
39
41
todos = get_todos ()
40
42
return await todos .search (name , status )
41
43
42
44
43
45
@router .get ("/{id}" , tags = ["todos" ])
44
46
async def one (id : str ) -> Todo :
47
+ """Gets a todo by id"""
45
48
todos = get_todos ()
46
49
return await todos .one (id )
47
50
@@ -53,6 +56,7 @@ class CreateTodo(BaseModel):
53
56
54
57
@router .post ("/" , tags = ["todos" ])
55
58
async def create (todo : CreateTodo ) -> TodoDocument :
59
+ """Creates a todo"""
56
60
todos = get_todos ()
57
61
return await todos .create (todo .id , todo .name )
58
62
@@ -63,11 +67,13 @@ class UpdateTodo(BaseModel):
63
67
64
68
@router .patch ("/{id}" , tags = ["todos" ])
65
69
async def update (id : str , todo : UpdateTodo ) -> Todo :
70
+ """Updates a todo's status"""
66
71
todos = get_todos ()
67
72
return await todos .update (id , todo .status )
68
73
69
74
70
75
@router .delete ("/{id}" , tags = ["todos" ])
71
76
async def delete (id : str ) -> None :
77
+ """Deletes a todo"""
72
78
todos = get_todos ()
73
79
return await todos .delete (id )
0 commit comments