#!/bin/bash
CYAN='\033[0;36m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color

# Baca variabel dari file
domain=$(cat /etc/data/domain)
userpanel=$(cat /etc/data/userpanel)
passpanel=$(cat /etc/data/passpanel)

# Dapatkan port yang digunakan oleh proses Python
port=$(netstat -tunlp | grep 'python' | awk '{split($4, a, ":"); print a[2]}')

# Validasi variabel
if [[ -z "$domain" || -z "$userpanel" || -z "$passpanel" || -z "$port" ]]; then
  echo "⛔ Error: Salah satu variabel tidak diisi dengan benar."
  exit 1
fi

# Instal token menggunakan curl
response=$(curl -s -X 'POST' \
  "https://${domain}/api/admin/token" \
  -H 'accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d "grant_type=password&username=${userpanel}&password=${passpanel}&scope=&client_id=&client_secret=")

# Periksa apakah curl berhasil
if [[ $? -ne 0 ]]; then
  echo "⛔ Error: Gagal melakukan request token."
  exit 1
fi

# Simpan response ke file JSON
echo "$response" > /etc/data/token.json

# Periksa apakah file JSON valid
if jq empty /etc/data/token.json 2>/dev/null; then
    echo -e "${CYAN}
██████╗░░█████╗░███╗░░██╗███████╗
██╔══██╗██╔══██╗████╗░██║██╔════╝
██║░░██║██║░░██║██╔██╗██║█████╗░░
██║░░██║██║░░██║██║╚████║██╔══╝░░
██████╔╝╚█████╔╝██║░╚███║███████╗
╚═════╝░░╚════╝░╚═╝░░╚══╝╚══════╝${NC}"
    echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
    echo -e "${GREEN}🏆 Token berhasil disimpan di /etc/data/token.json${NC}"
    echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
  echo ""
else
  echo "⛔ Error: Response tidak valid atau bukan JSON."
  echo "💬 Response dari server:"
  cat /etc/data/token.json
  exit 1
fi