#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Tempatkan ulang 3 entri growth SS yang slotnya keburu terisi (6, 9, 13 Okt 11:00)."""
import json, sys, time, datetime
from repliz_client import get_client

SS = "6a335b9ec5ff4ce3a3225c2a"
h = json.load(open("growth_threads_hasil_20261005.json"))
sisa = [x for x in h if x["status"] == "SKIP-slot-terisi" and x["akun"] == "ss"]

c = get_client()
docs, page = [], 1
while True:
    r = c.get_schedules(page=page, limit=100)
    d = r.get("docs") or []
    docs.extend(d)
    if not d or len(docs) >= (r.get("totalDocs") or 0) or page > 40:
        break
    page += 1

terisi = set()
for d in docs:
    aid = (d.get("account") or {}).get("_id") or d.get("accountId")
    if aid != SS or d.get("status") in ("error", "draft", "canceled"):
        continue
    terisi.add((d.get("scheduleAt") or "")[:16])

KANDIDAT = [14, 17, 23]   # WIB
for x in sisa:
    tgl = x["tgl"]
    iso_pakai = None
    for jam in KANDIDAT:
        iso = f"{tgl}T{jam-7:02d}:00"
        if (SS, iso) not in terisi:
            iso_pakai = (iso, jam)
            break
    if not iso_pakai:
        print("⛔ tidak ada slot kosong", tgl)
        continue
    iso, jam = iso_pakai
    res = c.create_schedule(SS, x["text"], f"{iso}:00.000Z",
                            title=f"Growth ss {x['tipe']} {tgl}", topic="Growth ss",
                            type_="text", medias=[], replies=[])
    sid = res.get("scheduleId") or res.get("_id") or res.get("id")
    terisi.add((SS, iso))
    print(f"{tgl} {jam:02d}:00 WIB -> {sid}")
    time.sleep(0.4)
