1111
1212
1313async def get_items (db : AsyncSession ) -> Sequence [models_greencode .GreenCodeItem ]:
14+ """Return all items."""
1415 result = await db .execute (
1516 select (models_greencode .GreenCodeItem ).options (
1617 selectinload (models_greencode .GreenCodeItem .memberships ).selectinload (
@@ -25,6 +26,8 @@ async def get_user_items(
2526 db : AsyncSession ,
2627 user_id : str ,
2728) -> Sequence [models_greencode .GreenCodeItem ]:
29+ """ "Return all items for a user_id."""
30+
2831 result = await db .execute (
2932 select (models_greencode .GreenCodeItem ).where (
3033 models_greencode .GreenCodeItem .memberships .any (
@@ -39,6 +42,7 @@ async def get_item_by_qr_code_content(
3942 db : AsyncSession ,
4043 qr_code_content : Sequence [str ],
4144) -> models_greencode .GreenCodeItem | None :
45+ """Return an item by qr code content."""
4246 result = await db .execute (
4347 select (models_greencode .GreenCodeItem ).where (
4448 models_greencode .GreenCodeItem .qr_code_content == qr_code_content ,
@@ -51,6 +55,7 @@ async def get_item_by_id(
5155 db : AsyncSession ,
5256 item_id : Sequence [str ],
5357) -> models_greencode .GreenCodeItem | None :
58+ """Return an item by item_id."""
5459 result = await db .execute (
5560 select (models_greencode .GreenCodeItem ).where (
5661 models_greencode .GreenCodeItem .id == item_id ,
@@ -63,6 +68,7 @@ async def create_item(
6368 item : models_greencode .GreenCodeItem ,
6469 db : AsyncSession ,
6570) -> models_greencode .GreenCodeItem :
71+ """Create an item."""
6672 db .add (item )
6773 try :
6874 await db .commit ()
@@ -73,6 +79,7 @@ async def create_item(
7379
7480
7581async def delete_item (item_id : str , db : AsyncSession ):
82+ """Delete an item."""
7683 await db .execute (
7784 delete (models_greencode .GreenCodeItem ).where (
7885 models_greencode .GreenCodeItem .id == item_id ,
@@ -90,6 +97,7 @@ async def update_item(
9097 item_update : schemas_greencode .ItemUpdate ,
9198 db : AsyncSession ,
9299):
100+ """Update an item."""
93101 await db .execute (
94102 update (models_greencode .GreenCodeItem )
95103 .where (models_greencode .GreenCodeItem .id == item_id )
@@ -103,11 +111,13 @@ async def update_item(
103111
104112
105113async def get_items_count (db : AsyncSession ) -> int :
114+ """Return the total number of items."""
106115 result = await db .execute (select (models_greencode .GreenCodeItem .id ))
107116 return len (result .scalars ().all ())
108117
109118
110119async def get_items_count_for_user (user_id : str , db : AsyncSession ) -> int :
120+ """Return the total number of items discovered by a user by user_id."""
111121 result = await db .execute (
112122 select (models_greencode .GreenCodeMembership ).where (
113123 models_greencode .GreenCodeMembership .user_id == user_id ,
@@ -119,6 +129,7 @@ async def get_items_count_for_user(user_id: str, db: AsyncSession) -> int:
119129async def get_greencode_users (
120130 db : AsyncSession ,
121131) -> list [CoreUser ]:
132+ """Return all users who have discovered at least an item."""
122133 result = await db .execute (
123134 select (
124135 models_greencode .GreenCodeMembership ,
@@ -137,6 +148,7 @@ async def create_membership(
137148 user_id : str ,
138149 db : AsyncSession ,
139150) -> models_greencode .GreenCodeMembership :
151+ """Create a membership. Make user_id discover item_id."""
140152 membership = models_greencode .GreenCodeMembership (
141153 id = str (uuid .uuid4 ()),
142154 item_id = item_id ,
@@ -152,6 +164,7 @@ async def create_membership(
152164
153165
154166async def delete_membership (item_id : str , user_id , db : AsyncSession ):
167+ """Delete a membership. Make user_id undiscover item_id."""
155168 await db .execute (
156169 delete (models_greencode .GreenCodeMembership ).where (
157170 models_greencode .GreenCodeMembership .user_id == user_id ,
0 commit comments