diff --git a/run.py b/run.py
index 0f2bde1..6e2abc0 100644
--- a/run.py
+++ b/run.py
@@ -451,6 +451,20 @@ async def ws_job(request, websocket, job_id):
await websocket.recv()
+@app.websocket('/apps-ws')
+async def ws_apps(request, websocket):
+ # subscribe(websocket, f"job-{job.id}")
+
+ await websocket.send(ujson.dumps({
+ "action": "init_apps",
+ "data": map(model_to_dict, Repo.select().order_by(Repo.name))
+ }))
+
+ while True:
+ # do nothing with input but wait
+ await websocket.recv()
+
+
def require_token():
def decorator(f):
@wraps(f)
@@ -615,6 +629,12 @@ async def job(request, job_id):
return {"job": job[0], 'relative_path_to_root': '../', 'path': request.path}
+@app.route('/apps/')
+@jinja.template('apps.html')
+async def apps(request):
+ return {'relative_path_to_root': '../', 'path': request.path}
+
+
@app.route('/')
@jinja.template('index.html')
async def index(request):
diff --git a/templates/apps.html b/templates/apps.html
new file mode 100644
index 0000000..7811aa5
--- /dev/null
+++ b/templates/apps.html
@@ -0,0 +1,44 @@
+<% extends "base.html" %>
+
+<% block content %>
+
+
+
Apps
+
+
+
+ App |
+
+
+ {{app.name}} |
+
+
+
+
+
+<% endblock %>
+
+<% block javascript %>
+
+<% endblock %>
diff --git a/templates/menu.html b/templates/menu.html
index c7e55f4..abb4ed8 100644
--- a/templates/menu.html
+++ b/templates/menu.html
@@ -16,6 +16,10 @@
Home
+
+
+ Apps
+