Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def post(self):
- '''
- Adds a new user to the database.
- RESPONSE STATUS CODE:
- * Returns 201 if the user is created
- * Return 400 if the body is not well formed
- * Return 409 if invalid ID
- * Return 415 if unsupported media type
- * Return 500 if cannot access the database
- '''
- if JSON != request.headers.get('Content-Type',''):
- return create_error_response(415, "Unsupported Media Type",
- "Use a JSON compatible format")
- request_body = request.get_json(force=True)
- if not request_body:
- return create_error_response(415, "Unsupported Media Type",
- "Use a JSON compatible format",
- )
- data = request.data
- req = json.loads(data)
- nick = None
- email = None
- password =None
- for key in req.keys():
- if (key == "additionalName"):
- nick = req['additionalName']
- elif (key == "email"):
- email = req['email']
- elif (key == "password"):
- password = req['password']
- if (nick == None or email == None or password == None):
- return create_error_response(400, "Wrong request format",
- "Missing headline or user"
- )
- new_user = None
- try:
- new_user = g.con.add_user(nick, email, password, 1)
- except ValueError:
- return create_error_response(400, "Wrong request format",
- "Missing headline or user"
- )
- except sqlite3.IntegrityError:
- # Unexisting user
- return create_error_response(409, "Invalid used id. User doesn't exist",
- "Invalid user id"
- )
- if (new_user):
- return Response(
- status=201,
- headers={"Location": api.url_for(User,
- user_id=new_user)})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement