def post(self): args = self.post_parser.parse_args() validate_args = self.validate_post(args) if validate_args: return validate_args issuer = request.api_user note = args.get("note") source = args.get("server") uuid = args.get("uuid") player = MinecraftPlayer.find_or_create_player(uuid) note = Note(issuer=issuer, issuer_old=issuer.name, target=player, username=player.mcname, note=note, server=source).save() return {'note': construct_local_note_data(note)}
def get(self): args = self.get_parser.parse_args() validate_args = self.validate_get(args) if validate_args: return validate_args uuid = args.get("uuid") mcname = args.get("name") if uuid: try: player = MinecraftPlayer.find_or_create_player(uuid) except NoSuchUserException, e: return {'error': [{"message": e.message}]} except ConnectionError: return {'error': [{"message": "failed to contact mojang"}]}
def post(self): args = self.post_parser.parse_args() validate_args = self.validate_post(args) if validate_args: return validate_args issuer = request.api_user reason = args.get("reason") source = args.get("server") uuid = args.get("uuid") player = MinecraftPlayer.find_or_create_player(uuid) if len(Ban.objects(target=player, active=True)) > 0: return {'error': [{'message': "the user is already banned", 'identifier': "anathema.bans.add:user_already_exists"}]} ban = Ban(issuer=issuer, issuer_old=issuer.name, target=player, username=player.mcname, reason=reason, server=source, watching=[issuer]).save() return {'ban': construct_local_ban_data(ban)}
def post(self): args = self.post_parser.parse_args() uuid = args.get("uuid") player = MinecraftPlayer.find_or_create_player(uuid) if not verify_ip_address(args["ip"].decode("ascii")): return {'error': [{"message": "ip is not valid"}]} ip = args["ip"] player_ips = PlayerIpsModel.objects(player=player).first() if not player_ips: player_ips = PlayerIpsModel(player=player, ips=[ip]) player_ips.save() player_ips.update_last_login_and_add_entry(ip) ip_players = IpPlayersModel.objects(ip=ip).first() if not ip_players: ip_players = IpPlayersModel(ip=ip, players=[player]) ip_players.save() ip_players.update_last_login_and_add_entry(player) return {"success": True}
def register_pool(username): if current_user.is_authenticated(): flash("You are already logged in. Log out to register another account.", category="alert") return redirect(url_for('static_pages.landing_page')) if User.objects(name=username).first() is not None: flash("This user is already registered.", category="alert") return redirect(url_for('auth.login')) #Is verified auth_check = check_authenticated_ip(request.remote_addr, username=username) if auth_check: form = RegistrationForm(request.form) if request.method == "GET": return render_template('register_3.html', username=username, form=form, title="Step 3 - Register") elif request.method == "POST": if form.validate(): uuid = auth_check.uuid.hex player = MinecraftPlayer.find_or_create_player(uuid, auth_check.username) user = User( name=username, hash=bcrypt.hashpw(form.password.data, bcrypt.gensalt()), mail=form.mail.data, minecraft_player=player) user.save() flash("Registration complete!", category="success") return redirect(url_for('auth.login')) return render_template('register_3.html', username=username, form=form, title="Step 3 - Register") #Is not verified else: if request.method == "GET": return render_template('register_2.html', username=username, title="Waiting... - Step 2 - Register") else: abort(405)
validate_args = self.validate_get(args) if validate_args: return validate_args uuid = args.get("uuid") mcname = args.get("name") if uuid: try: player = MinecraftPlayer.find_or_create_player(uuid) except NoSuchUserException, e: return {'error': [{"message": e.message}]} except ConnectionError: return {'error': [{"message": "failed to contact mojang"}]} return {'uuid': player.uuid, 'name': player.mcname} if mcname: try: uuid, mcname = uuid_utils.lookup_uuid_name(mcname) except NoSuchUserException, e: return {'error': [{"message": e.message}]} except ConnectionError: return {'error': [{"message": "failed to contact mojang"}]} player = MinecraftPlayer.find_or_create_player(uuid, mcname) return {'uuid': player.uuid, 'name': player.mcname} rest_api.add_resource(UUIDApi, '/uuid') register_api_access_token('uuid.get', permission='api.uuid.get')