[AB-xxx] initial experience leaderboard version

This commit is contained in:
Sheldan
2024-03-25 20:39:21 +01:00
parent 8f9b7eba16
commit bc0c3a18d7
46 changed files with 17561 additions and 1 deletions

View File

@@ -0,0 +1,3 @@
FROM alpine:3.19.0
ADD resources /python/resources
ADD python /python

View File

@@ -0,0 +1,16 @@
from __main__ import app
import requests
import logging
import os
backend_host = os.getenv('BACKEND_HOST')
backend_port = os.getenv('BACKEND_PORT')
server_url = f'http://{backend_host}:{backend_port}/servers/v1'
@app.route('/servers/v1/<serverId>/info')
def get_server_info(serverId):
server = requests.get(f'{server_url}/{serverId}/info')
logging.info(f'returning server info')
return server.text, server.status_code

View File

@@ -0,0 +1,3 @@
FROM alpine:3.19.0
ADD resources /python/resources
ADD python /python

View File

@@ -0,0 +1,30 @@
from __main__ import app
from flask import request, render_template
import requests
import logging
import os
backend_host = os.getenv('BACKEND_HOST')
backend_port = os.getenv('BACKEND_PORT')
leaderboard_url = f'http://{backend_host}:{backend_port}/experience/v1/leaderboards'
@app.route('/experience/v1/leaderboards/<serverId>')
def get_leaderboard(serverId):
page = int(request.args.get('page', 0, type=int))
size = int(request.args.get('size', 25, type=int))
leaderboard = requests.get(f'{leaderboard_url}/{serverId}?page={page}&size={size}')
logging.info(f'returning leaderboard for server')
return leaderboard.text, leaderboard.status_code
@app.route('/experience/v1/leaderboards/<serverId>/config')
def get_experience_config(serverId):
leaderboard = requests.get(f'{leaderboard_url}/{serverId}/config')
logging.info(f'returning experience config for server')
return leaderboard.text, leaderboard.status_code
@app.route('/experience/leaderboards/<serverId>')
def render_index(serverId):
return render_template('experience/leaderboards/index.html', serverId=serverId)