Added job delete over RF.
This commit is contained in:
@@ -400,6 +400,29 @@ def handle_job_post(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
|||||||
else:
|
else:
|
||||||
send_blank_response(conn, req, status_code=404)
|
send_blank_response(conn, req, status_code=404)
|
||||||
|
|
||||||
|
def handle_job_delete(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
||||||
|
spl = [x for x in req.path.split("/") if x.strip() != ""]
|
||||||
|
if (len(spl) == 2) and (spl[1].isdigit()):
|
||||||
|
jid = int(spl[1])
|
||||||
|
logging.debug(f"Asked to delete job {jid}")
|
||||||
|
with db.transaction() as storage:
|
||||||
|
username = ax25.Address(conn.remote_callsign).call.upper().strip()
|
||||||
|
if jid in storage.user_jobs[username]:
|
||||||
|
logging.debug(f"User {username} is authorized to delete job {jid}")
|
||||||
|
if jid in storage.jobs:
|
||||||
|
del storage.jobs[jid]
|
||||||
|
storage.user_jobs[username].remove(jid)
|
||||||
|
logging.debug(f"Deleted job {jid}")
|
||||||
|
send_blank_response(conn, req, status_code=200, payload=f"Deleted job {jid}")
|
||||||
|
else:
|
||||||
|
if jid in storage.jobs:
|
||||||
|
logging.error(f"Job with no owner detected: {jid}")
|
||||||
|
send_blank_response(conn, req, status_code=500, payload="Job not owned by any user.")
|
||||||
|
else:
|
||||||
|
send_blank_response(conn, req, status_code=404)
|
||||||
|
else:
|
||||||
|
send_blank_response(conn, req, 400, payload="bad delete job request")
|
||||||
|
|
||||||
def job_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
def job_root_handler(req: Request, conn: PacketServerConnection, db: ZODB.DB):
|
||||||
logging.debug(f"{req} being processed by job_root_handler")
|
logging.debug(f"{req} being processed by job_root_handler")
|
||||||
if not user_authorized(conn, db):
|
if not user_authorized(conn, db):
|
||||||
|
|||||||
Reference in New Issue
Block a user