@@ -174,6 +174,99 @@ async def update_advertiser(
174174 raise HTTPException (status_code = 422 , detail = str (error ))
175175
176176
177+ @module .router .post (
178+ "/greencode/item/{item_id}/me" ,
179+ status_code = 204 ,
180+ )
181+ async def create_current_user_membership (
182+ item_id : str ,
183+ db : AsyncSession = Depends (get_db ),
184+ user : models_core .CoreUser = Depends (is_user_an_ecl_member ),
185+ ):
186+ """
187+ Create a new membership for item_id and user_id.
188+
189+ """
190+
191+ try :
192+ return await cruds_greencode .create_membership (
193+ db = db ,
194+ item_id = item_id ,
195+ user_id = user .id ,
196+ )
197+ except ValueError as error :
198+ raise HTTPException (status_code = 422 , detail = str (error ))
199+
200+
201+ @module .router .delete (
202+ "/greencode/item/{item_id}/me" ,
203+ status_code = 204 ,
204+ )
205+ async def delete_current_user_membership (
206+ item_id : str ,
207+ db : AsyncSession = Depends (get_db ),
208+ user : models_core .CoreUser = Depends (is_user_an_ecl_member ),
209+ ):
210+ """
211+ Delete membership for item_id and user_id.
212+
213+ **The user must be from greencode group to use this endpoint**
214+ """
215+
216+ try :
217+ await cruds_greencode .delete_membership (item_id = item_id , user_id = user .id , db = db )
218+ except ValueError as error :
219+ raise HTTPException (status_code = 422 , detail = str (error ))
220+
221+
222+ @module .router .post (
223+ "/greencode/item/{item_id}/{user_id}" ,
224+ status_code = 204 ,
225+ )
226+ async def create_membership (
227+ item_id : str ,
228+ user_id : str ,
229+ db : AsyncSession = Depends (get_db ),
230+ user : models_core .CoreUser = Depends (is_user_a_member_of (GroupType .greencode )),
231+ ):
232+ """
233+ Create a new membership for item_id and user_id.
234+
235+ **The user must be from greencode group to use this endpoint**
236+ """
237+
238+ try :
239+ return await cruds_greencode .create_membership (
240+ db = db ,
241+ item_id = item_id ,
242+ user_id = user_id ,
243+ )
244+ except ValueError as error :
245+ raise HTTPException (status_code = 422 , detail = str (error ))
246+
247+
248+ @module .router .delete (
249+ "/greencode/item/{item_id}/{user_id}" ,
250+ status_code = 204 ,
251+ )
252+ async def delete_membership (
253+ item_id : str ,
254+ user_id : str ,
255+ db : AsyncSession = Depends (get_db ),
256+ user : models_core .CoreUser = Depends (is_user_a_member_of (GroupType .greencode )),
257+ ):
258+ """
259+ Delete membership for item_id and user_id.
260+
261+ **The user must be from greencode group to use this endpoint**
262+ """
263+
264+ try :
265+ await cruds_greencode .delete_membership (item_id = item_id , user_id = user_id , db = db )
266+ except ValueError as error :
267+ raise HTTPException (status_code = 422 , detail = str (error ))
268+
269+
177270@module .router .get (
178271 "/greencode/completion/all" ,
179272 response_model = list [schemas_greencode .Completion ],
@@ -275,96 +368,3 @@ async def get_user_completion(
275368 total_count = total_count ,
276369 )
277370 return completion
278-
279-
280- @module .router .post (
281- "/greencode/completion/{item_id}/me" ,
282- status_code = 204 ,
283- )
284- async def create_current_user_membership (
285- item_id : str ,
286- db : AsyncSession = Depends (get_db ),
287- user : models_core .CoreUser = Depends (is_user_an_ecl_member ),
288- ):
289- """
290- Create a new membership for item_id and user_id.
291-
292- """
293-
294- try :
295- return await cruds_greencode .create_membership (
296- db = db ,
297- item_id = item_id ,
298- user_id = user .id ,
299- )
300- except ValueError as error :
301- raise HTTPException (status_code = 422 , detail = str (error ))
302-
303-
304- @module .router .delete (
305- "/greencode/completion/{item_id}/me" ,
306- status_code = 204 ,
307- )
308- async def delete_current_user_membership (
309- item_id : str ,
310- db : AsyncSession = Depends (get_db ),
311- user : models_core .CoreUser = Depends (is_user_an_ecl_member ),
312- ):
313- """
314- Delete membership for item_id and user_id.
315-
316- **The user must be from greencode group to use this endpoint**
317- """
318-
319- try :
320- await cruds_greencode .delete_membership (item_id = item_id , user_id = user .id , db = db )
321- except ValueError as error :
322- raise HTTPException (status_code = 422 , detail = str (error ))
323-
324-
325- @module .router .post (
326- "/greencode/completion/{item_id}/{user_id}" ,
327- status_code = 204 ,
328- )
329- async def create_membership (
330- item_id : str ,
331- user_id : str ,
332- db : AsyncSession = Depends (get_db ),
333- user : models_core .CoreUser = Depends (is_user_a_member_of (GroupType .greencode )),
334- ):
335- """
336- Create a new membership for item_id and user_id.
337-
338- **The user must be from greencode group to use this endpoint**
339- """
340-
341- try :
342- return await cruds_greencode .create_membership (
343- db = db ,
344- item_id = item_id ,
345- user_id = user_id ,
346- )
347- except ValueError as error :
348- raise HTTPException (status_code = 422 , detail = str (error ))
349-
350-
351- @module .router .delete (
352- "/greencode/completion/{item_id}/{user_id}" ,
353- status_code = 204 ,
354- )
355- async def delete_membership (
356- item_id : str ,
357- user_id : str ,
358- db : AsyncSession = Depends (get_db ),
359- user : models_core .CoreUser = Depends (is_user_a_member_of (GroupType .greencode )),
360- ):
361- """
362- Delete membership for item_id and user_id.
363-
364- **The user must be from greencode group to use this endpoint**
365- """
366-
367- try :
368- await cruds_greencode .delete_membership (item_id = item_id , user_id = user_id , db = db )
369- except ValueError as error :
370- raise HTTPException (status_code = 422 , detail = str (error ))
0 commit comments