summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/main.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/backend/main.py b/backend/main.py
index cbd7b10..e2c7163 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -135,7 +135,7 @@ class FinishRequestData(BaseModel):
class OverrideMachineData(BaseModel):
block: int
machine_id: int
- status: int # according to class Status
+ disabled: bool
class Status(Enum):
@@ -542,6 +542,27 @@ def override_status(data: OverrideMachineData, response: fastapi.Response, admin
response.status_code = fastapi.status.HTTP_401_UNAUTHORIZED
return "Unauthorised."
+ cursor.execute("SELECT * FROM admin_cookies WHERE cookie = ?", (admin_auth,))
+ rows = cursor.fetchall()
+
+ if len(rows) > 0:
+ if (data.disabled):
+ machine_status[data.block - 1][data.machine_id - 1] = Status.OUTOFSERVICE
+ else:
+ cursor.execute("SELECT * FROM timers WHERE ((block = ?) AND (machine = ?))", (data.block, data.machine_id))
+ rows = cursor.fetchall()
+
+ if len(rows) > 0:
+ machine_status[data.block - 1][data.machine_id - 1] = Status.RUNNING
+ else:
+ machine_status[data.block - 1][data.machine_id - 1] = Status.EMPTY
+
+ response.status_code = fastapi.status.HTTP_200_OK
+ return "Set!"
+ else:
+ response.status_code = fastapi.status.HTTP_403_FORBIDDEN
+ return "Forbidden."
+
# --- change admin password
@app.post("/admin_change_password", response_class=PlainTextResponse)