#!/usr/bin/env python3
import sys
import requests

BASE = "https://ota.46-4-121-190.sslip.io"
UPLOAD_ID = sys.argv[1]

r = requests.post(
    f"{BASE}/authentication",
    json={"strategy": "local", "username": "admin", "password": "353fde0a0fe4e8a0b2799e54"},
)
token = r.json()["accessToken"]
h = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}

r = requests.patch(f"{BASE}/uploads/{UPLOAD_ID}", headers=h, json={"status": "released"})
print("Released:", r.json().get("status"))

uploads_data = requests.get(f"{BASE}/uploads", headers=h).json()
uploads = uploads_data.get("data", uploads_data) if isinstance(uploads_data, dict) else uploads_data
for u in uploads:
    if u["_id"] != UPLOAD_ID and u.get("status") == "released":
        requests.patch(f"{BASE}/uploads/{u['_id']}", headers=h, json={"status": "obsolete"})
        print("Demoted:", u["_id"])

uploads_data = requests.get(f"{BASE}/uploads", headers=h).json()
uploads = uploads_data.get("data", uploads_data) if isinstance(uploads_data, dict) else uploads_data
print("--- final released uploads (should be exactly ONE) ---")
for u in uploads:
    if u.get("status") == "released":
        print(u["_id"], u.get("status"))
