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
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']