39 lines
1 KiB
Python
39 lines
1 KiB
Python
import os
|
|
|
|
from flask import Blueprint, render_template
|
|
from .auth import oidc
|
|
from .port_utils import get_user_ports
|
|
from dotenv import load_dotenv
|
|
|
|
main = Blueprint('main', __name__)
|
|
|
|
load_dotenv()
|
|
|
|
|
|
@main.route("/")
|
|
@oidc.require_login
|
|
def home():
|
|
username = oidc.user_getfield("preferred_username")
|
|
server_path = f"./servers/mc-{username}"
|
|
has_server = os.path.exists(server_path)
|
|
return render_template("home.html", has_server=has_server)
|
|
|
|
|
|
@main.route('/setup')
|
|
@oidc.require_login
|
|
def setup():
|
|
return render_template('setup.html')
|
|
|
|
|
|
@main.route('/dashboard')
|
|
@oidc.require_login
|
|
def dashboard():
|
|
username = oidc.user_getfield('preferred_username')
|
|
server_path = f"./servers/mc-{username}"
|
|
has_server = os.path.exists(server_path)
|
|
ip = os.getenv("SERVER_IP")
|
|
ports = get_user_ports(username)
|
|
if (has_server):
|
|
return render_template('dashboard.html', username=username, ip=ip, ports=ports)
|
|
else:
|
|
return render_template('setup.html', username=username, ip=ip, ports=ports)
|