Пример #1
0
 def post(self):
     user_dict = request.get_json()
     if not user_dict:
         response = {'user': '******'}
         return response, HttpStatus.bad_request_400.value
     errors = user_schema.validate(user_dict)
     if errors:
         return errors, HttpStatus.bad_request_400.value
     user_name = user_dict['username']
     existing_user = User.query.filter_by(username=user_name).first()
     if existing_user is not None:
         response = {
             'user':
             '******'.format(user_name)
         }
         return response, HttpStatus.bad_request_400.value
     try:
         user = User(username=user_name)
         error_message, password_ok = \
             user.check_password_strength_and_hash_if_ok(user_dict['password'])
         if password_ok:
             user.add(user)
             query = User.query.get(user.id)
             dump_result = user_schema.dump(query)
             return dump_result, HttpStatus.created_201.value
         else:
             return {
                 "error": error_message
             }, HttpStatus.bad_request_400.value
     except SQLAlchemyError as e:
         db.session.rollback()
         response = {"error": str(e)}
         return response, HttpStatus.bad_request_400.value