@@ -126,11 +126,13 @@ def get(id_user):
126126 # Parse numbers
127127 try :
128128 id_user = int (id_user )
129+
129130 except ValueError :
130131 return Failures .not_a_number ('idUser' , id_user )
131132
132133 # Validate user exists, is validated and is not blocked
133134 user = user_service .get_user (id_user )
135+
134136 if user is None :
135137 return Failures .unknown_user_id (id_user )
136138
@@ -153,8 +155,11 @@ class GetUserByEmail(Resource):
153155
154156 @staticmethod
155157 def get (email ):
158+ # TODO: Validate the format of the email address before attempting database IO
159+
156160 # Validate user exists, is validated and is not blocked
157161 user = user_service .get_user_by_email (email )
162+
158163 if user is None :
159164 return Failures .unknown_user_email (email )
160165
@@ -179,6 +184,7 @@ class GetUserByScreenname(Resource):
179184 def get (screen_name ):
180185 # Validate user exists, is validated and is not blocked
181186 user = user_service .get_user_by_screen_name (screen_name )
187+
182188 if user is None :
183189 return Failures .unknown_user_screen_name (screen_name )
184190
@@ -198,6 +204,9 @@ def get(screen_name):
198204
199205
200206class DoInfoChange (Resource ):
207+ """
208+ Update the screen name in the user profile.
209+ """
201210
202211 @staticmethod
203212 def post (id_user ):
@@ -210,22 +219,27 @@ def post(id_user):
210219 if not validation .is_valid ():
211220 return validation .get_validation_response ()
212221
213- # Parse numbers
222+ # Validate the id parameter as an integer
214223 try :
215224 id_user = int (id_user )
225+
216226 except ValueError :
217227 return Failures .not_a_number ('idUser' , id_user )
218228
219229 # Validate user exists, is validated and is not blocked
220230 user = user_service .get_user (id_user )
231+
221232 if user is None :
222233 return Failures .unknown_user_id (id_user )
223234
235+ # Attempt to retrieve the proposed screen name to ensure that it is available
224236 user_by_email = user_service .get_user_by_screen_name (screen_name )
237+
225238 if user_by_email is not None :
226239 if user .id != user_by_email .id :
227240 return Failures .screen_name_already_in_use (screen_name )
228241
242+ # The screen name is available, Assign it to the user profile
229243 user .screen_name = screen_name
230244 db .session .commit ()
231245
0 commit comments