import os
import json

import requests
import urllib3
from dotenv import load_dotenv

load_dotenv()

HOST = os.getenv("CPANEL_HOST")
USER = os.getenv("CPANEL_USER")
TOKEN = os.getenv("CPANEL_TOKEN")

ROOT_DOMAIN = "grupoddm.ia.br"
SUBDOMAIN = "deploy-teste"
DOCUMENT_ROOT = "apps/deploy-teste"

headers = {
    "Authorization": f"cpanel {USER}:{TOKEN}"
}

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

url = f"{HOST}/execute/SubDomain/addsubdomain"

params = {
    "domain": SUBDOMAIN,
    "rootdomain": ROOT_DOMAIN,
    "dir": DOCUMENT_ROOT,
    "disallowdot": "1",
}

response = requests.get(
    url,
    headers=headers,
    params=params,
    verify=False,
    timeout=30,
)

print("HTTP:", response.status_code)

try:
    data = response.json()
except ValueError:
    print(response.text)
    raise SystemExit()

print(json.dumps(data, indent=2, ensure_ascii=False))

if response.status_code == 200 and data.get("status") == 1:
    print()
    print("SUBDOMÍNIO CRIADO!")
    print(f"https://{SUBDOMAIN}.{ROOT_DOMAIN}")
    print(f"Document root: /home/{USER}/{DOCUMENT_ROOT}")
else:
    print()
    print("NÃO CRIOU O SUBDOMÍNIO.")