def post(self): deserialized = request.get_json().copy() errors = {} if not user_validator.is_valid(deserialized): errors.update(handle_validation_errors( user_validator.iter_errors(deserialized))) if deserialized.get('password', None) != \ deserialized.get('confirmPassword', None): errors['confirmPassword'] = '******' if deserialized.get('email', None) != \ deserialized.get('confirmEmail', None): errors['confirmEmail'] = 'Must match email' if User.exists_by_username(deserialized.get('username', '')): errors['username'] = '******' if User.exists_by_email(deserialized.get('email', '')): errors['email'] = 'Email is already registered' if errors != {}: return dumps(errors), 400 deserialized['password'] = bcrypt.generate_password_hash( deserialized['password']) del deserialized['confirmPassword'] del deserialized['confirmEmail'] user = User.create(deserialized) mail.send_message(subject='Thanks For Registering!', recipients=[deserialized['email']], body=render_template('registration_email.html')) return dumps(user.serialized)
def post(self): deserialized = request.get_json() if not game_validator.is_valid(deserialized): errors = handle_validation_errors( game_validator.iter_errors(deserialized)) return dumps(errors), 400 else: errors = {} for player in ['x_player_id', 'o_player_id']: if not User.exists_by_id(deserialized[player]): errors[player] = 'Player does not exist' if errors != {}: return dumps(errors), 400 game = Game.create(deserialized) return dumps(game.serialized)
def post(self): deserialized = request.get_json() if not turn_validator.is_valid(deserialized): errors = handle_validation_errors( turn_validator.iter_errors(deserialized)) return dumps(errors), 400 position_occupied = Turn.query.filter( Turn.position == deserialized['position'], Turn.game_id == deserialized['game_id']).count() > 0 if position_occupied: return "{} occupied".format(deserialized['position']), 400 game = Game.query.get_or_404(deserialized['game_id']) deserialized['turn_number'] = len(game.game_turns) + 1 turn = Turn(**deserialized) db.session.add(turn) db.session.commit() return dumps(turn.serialize)
def post(self): deserialized = request.get_json().copy() errors = {} if not user_validator.is_valid(deserialized): errors.update( handle_validation_errors( user_validator.iter_errors(deserialized))) if deserialized.get('password', None) != \ deserialized.get('confirmPassword', None): errors['confirmPassword'] = '******' if deserialized.get('email', None) != \ deserialized.get('confirmEmail', None): errors['confirmEmail'] = 'Must match email' if User.exists_by_username(deserialized.get('username', '')): errors['username'] = '******' if User.exists_by_email(deserialized.get('email', '')): errors['email'] = 'Email is already registered' if errors != {}: return dumps(errors), 400 deserialized['password'] = bcrypt.generate_password_hash( deserialized['password']) del deserialized['confirmPassword'] del deserialized['confirmEmail'] user = User.create(deserialized) mail.send_message(subject='Thanks For Registering!', recipients=[deserialized['email']], body=render_template('registration_email.html')) return dumps(user.serialized)