Exemplo n.º 1
0
    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)}
Exemplo n.º 2
0
    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"}]}
Exemplo n.º 3
0
    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"}]}
Exemplo n.º 4
0
    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)}
Exemplo n.º 5
0
    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)}
Exemplo n.º 6
0
    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}
Exemplo n.º 7
0
    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}
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
        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')
Exemplo n.º 10
0
        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')