File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed
Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -41,3 +41,13 @@ async def update_nominee_info(
4141 .where (NomineeInfo .computing_id == info .computing_id )
4242 .values (info .to_update_dict ())
4343 )
44+
45+ async def delete_nominee_info (
46+ db_session : AsyncSession ,
47+ computing_id : str ,
48+ ):
49+ await db_session .execute (
50+ sqlalchemy
51+ .delete (NomineeInfo )
52+ .where (NomineeInfo .computing_id == computing_id )
53+ )
Original file line number Diff line number Diff line change 88 NomineeInfoUpdateParams ,
99)
1010from nominees .tables import NomineeInfo
11- from utils .shared_models import DetailModel
11+ from utils .shared_models import DetailModel , SuccessResponse
1212from utils .urls import admin_or_raise
1313
1414router = APIRouter (
@@ -95,6 +95,20 @@ async def get_nominee_info(
9595
9696 return JSONResponse (nominee_info .serialize ())
9797
98+ @router .delete (
99+ "/{computing_id:str}" ,
100+ description = "Nominee info is always publically tied to election, so be careful!" ,
101+ operation_id = "delete_nominee"
102+ )
103+ async def delete_nominee_info (
104+ request : Request ,
105+ db_session : database .DBSession ,
106+ computing_id : str
107+ ):
108+ await admin_or_raise (request , db_session )
109+ await nominees .crud .delete_nominee_info (db_session , computing_id )
110+ await db_session .commit ()
111+
98112@router .patch (
99113 "/{computing_id:str}" ,
100114 description = "Will create or update nominee info. Returns an updated copy of their nominee info." ,
You can’t perform that action at this time.
0 commit comments