@@ -26,6 +26,7 @@ class RadAPIError(BaseModel):
2626 detail : str
2727
2828e404_response = {404 : {'model' : RadAPIError , 'description' : 'Item not found' }}
29+ e409_response = {409 : {'model' : RadAPIError , 'description' : 'Item already exists' }}
2930
3031# Our API router and routes
3132router = APIRouter ()
@@ -79,19 +80,19 @@ async def get_group(groupname: str):
7980 raise HTTPException (404 , 'Given group does not exist' )
8081 return group
8182
82- @router .post ('/nas' , tags = ['nas' ], status_code = 201 , response_model = Nas )
83+ @router .post ('/nas' , tags = ['nas' ], status_code = 201 , response_model = Nas , responses = { ** e409_response } )
8384async def post_nas (nas : Nas , response : Response ):
8485 if nas_repo .exists (nas .nasname ):
85- raise HTTPException (422 , 'Given NAS already exists' )
86+ raise HTTPException (409 , 'Given NAS already exists' )
8687
8788 nas_repo .add (nas )
8889 response .headers ['Location' ] = f'{ API_URL } /nas/{ nas .nasname } '
8990 return nas
9091
91- @router .post ('/users' , tags = ['users' ], status_code = 201 , response_model = User )
92+ @router .post ('/users' , tags = ['users' ], status_code = 201 , response_model = User , responses = { ** e409_response } )
9293async def post_user (user : User , response : Response ):
9394 if user_repo .exists (user .username ):
94- raise HTTPException (422 , 'Given user already exists' )
95+ raise HTTPException (409 , 'Given user already exists' )
9596
9697 for group in user .groups :
9798 if not group_repo .exists (group .groupname ):
@@ -101,10 +102,10 @@ async def post_user(user: User, response: Response):
101102 response .headers ['Location' ] = f'{ API_URL } /users/{ user .username } '
102103 return user
103104
104- @router .post ('/groups' , tags = ['groups' ], status_code = 201 , response_model = Group )
105+ @router .post ('/groups' , tags = ['groups' ], status_code = 201 , response_model = Group , responses = { ** e409_response } )
105106async def post_group (group : Group , response : Response ):
106107 if group_repo .exists (group .groupname ):
107- raise HTTPException (422 , 'Given group already exists' )
108+ raise HTTPException (409 , 'Given group already exists' )
108109
109110 for user in group .users :
110111 if not user_repo .exists (user .username ):
0 commit comments