-- Posting otomatis lewat API resmi Meta (Instagram dan Threads).
-- Jalankan SEKALI (cadangkan database dulu). Tidak mengubah tugas yang sudah ada.

CREATE TABLE akun_sosial (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  klien_id INT UNSIGNED NOT NULL,
  platform ENUM('instagram','threads') NOT NULL,
  akun_id VARCHAR(40) NOT NULL,                 -- ID akun (angka) dari Meta
  token_enc TEXT NOT NULL,                      -- token terenkripsi, bukan teks asli
  token_akhir VARCHAR(4) NOT NULL,              -- 4 karakter terakhir, untuk ditampilkan
  berlaku_sampai DATETIME NULL,
  diperbarui_pada DATETIME NULL,
  aktif TINYINT(1) NOT NULL DEFAULT 1,
  dibuat TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY uq_klien_platform (klien_id, platform),
  CONSTRAINT fk_akun_klien FOREIGN KEY (klien_id) REFERENCES klien(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

ALTER TABLE tugas
  ADD COLUMN tayang_status   VARCHAR(12)  NULL,   -- NULL=belum, proses, berhasil, gagal, dilewati
  ADD COLUMN tayang_id       VARCHAR(64)  NULL,   -- ID posting dari Meta
  ADD COLUMN tayang_pada     DATETIME     NULL,
  ADD COLUMN tayang_galat    VARCHAR(500) NULL,
  ADD COLUMN tayang_mulai    DATETIME     NULL,
  ADD KEY idx_tayang_status (tayang_status);

-- Tugas yang sudah selesai sebelum fitur ini ada jangan sampai terposting otomatis.
UPDATE tugas SET tayang_status = 'dilewati' WHERE status = 'selesai' AND tayang_status IS NULL;
