Beispiel #1
0
 def create_user(self):
     """Helper function creates user for tests"""
     user = Users(username=self.test_user,
                  name=self.test_user_name,
                  email=self.test_user_email,
                  password=generate_password_hash(self.test_user_password))
     user.add()
 def post(self):
     raw_dict = request.get_json(force=True)
     try:
             schema.validate(raw_dict)
             user_dict = raw_dict['data']['attributes']
             user = Users(user_dict['email'], user_dict['name'])
             user.add(user)            
             query = Users.query.get(user.id)
             results = schema.dump(query).data                
             return results, 201
         
     except ValidationError as err:
             resp = jsonify({"error": err.messages})
             resp.status_code = 403
             return resp               
             
     except SQLAlchemyError as e:
             db.session.rollback()
             resp = jsonify({"error": str(e)})
             resp.status_code = 403
             return resp
Beispiel #3
0
 def user_register():
     """The function registers a new user"""
     try:
         data, error = request.json, {
             'Error': 'Username already exists',
             'e': 409
         }
         if validation(data, ['username', 'name', 'password', 'email']) \
                 and valid_register() and query_username(error, False):
             user = Users(valid_data['username'],
                          generate_password_hash(valid_data['password']),
                          valid_data['name'], valid_data['email'])
             user.add()
             return jsonify({'username': user.user_username}), 201
         return format_error['error']
     except Exception as ex:
         excepts = {
             'KeyError': {
                 'Error': str(ex).strip('\'') + ' key is ' + 'missing',
                 'e': 400
             },
             'IntegrityError': {
                 'Error': 'Email already exists',
                 'e': '409'
             },
             'BadRequest': {
                 'Error': 'All fields keys are required',
                 'e': 400
             },
             'ValueError': {
                 'Error': str(ex),
                 'e': 400
             }
         }
         handle_exceptions(type(ex).__name__, excepts)
         return format_error['error']