#!/usr/bin/env python3
"""Hapus semua posting error dari LEIT account."""
import json, urllib.request, sys
from datetime import datetime, timezone, timedelta

from repliz_client import HEADERS, BASE, ACC
ACCOUNT_ID = ACC.LEIT_THREADS


deleted = 0
skipped = 0

# Dapatkan totalPages
url = f"{BASE}/public/schedule?accountId={ACCOUNT_ID}&page=1&limit=100"
req = urllib.request.Request(url, headers=HEADERS)
resp = urllib.request.urlopen(req)
data = json.loads(resp.read().decode())
total_pages = data.get("totalPages", 1)
print(f"Total pages: {total_pages}")

for page in range(1, total_pages + 1):
    url = f"{BASE}/public/schedule?accountId={ACCOUNT_ID}&page={page}&limit=100"
    req = urllib.request.Request(url, headers=HEADERS)
    resp = urllib.request.urlopen(req)
    data = json.loads(resp.read().decode())
    
    for doc in data.get("docs", []):
        pid = doc.get("_id", doc.get("id", ""))
        status = doc.get("status", "")
        
        if status == "error":
            # Hapus
            del_url = f"{BASE}/public/schedule/{pid}"
            del_req = urllib.request.Request(del_url, headers=HEADERS, method="DELETE")
            try:
                urllib.request.urlopen(del_req)
                deleted += 1
                if deleted % 10 == 0:
                    print(f"  Deleted {deleted} error posts...")
            except Exception as e:
                skipped += 1
                print(f"  Gagal hapus {pid}: {e}")

print(f"\n✅ Selesai! Dihapus: {deleted}, Gagal: {skipped}")

