@@ -109,24 +109,26 @@ async def get_items_count_for_user(user_id: str, db: AsyncSession) -> int | None
109109
110110
111111async def get_items_count_for_users (
112- user_id : str ,
113112 db : AsyncSession ,
114113) -> Sequence [tuple [CoreUser , int ]]:
115114 result = await db .execute (
116115 select (
117116 models_greencode .Membership .user ,
118117 func .count (models_greencode .Membership ),
119- ).where (
120- models_greencode .Membership .user_id == user_id ,
121- ),
118+ ).group_by (models_greencode .Membership .user ),
122119 )
123120 return result .scalars ().all ()
124121
125122
126123async def create_membership (
127- membership : models_greencode .Membership ,
124+ item_id : str ,
125+ user_id : str ,
128126 db : AsyncSession ,
129127) -> models_greencode .Membership :
128+ membership = models_greencode .Membership (
129+ item_id = item_id ,
130+ user_id = user_id ,
131+ )
130132 db .add (membership )
131133 try :
132134 await db .commit ()
@@ -136,10 +138,11 @@ async def create_membership(
136138 return membership
137139
138140
139- async def delete_membership (membership_id : str , db : AsyncSession ):
141+ async def delete_membership (item_id : str , user_id , db : AsyncSession ):
140142 await db .execute (
141143 delete (models_greencode .Membership ).where (
142- models_greencode .Membership .id == membership_id ,
144+ models_greencode .Membership .user_id == user_id ,
145+ models_greencode .Membership .item_id == item_id ,
143146 ),
144147 )
145148 try :
0 commit comments