47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
import requests
|
|
import json
|
|
|
|
TOKEN = "5|jjkR2nojMZ0vnab8iPNCXtbtlRHP90zXtbDC8Z3m2e95cbf4"
|
|
APP_UUID = "y0wccwwsko4socokk804s0ww" # q1site-frontend
|
|
BASE_URL = "https://redbull.rede5.com.br/api/v1"
|
|
|
|
headers = {
|
|
"Authorization": f"Bearer {TOKEN}",
|
|
"Content-Type": "application/json"
|
|
}
|
|
|
|
envs = [
|
|
{"key": "NEXT_PUBLIC_API_URL", "value": "https://api-dev.q1site.com.br/api/v1"},
|
|
{"key": "NEXT_PUBLIC_TENANT_SUBDOMAIN", "value": "q1sites"},
|
|
{"key": "NEXT_PUBLIC_ENVIRONMENT", "value": "production"}
|
|
]
|
|
|
|
def setup_frontend():
|
|
# 1. Listar variáveis atuais
|
|
print("Buscando variáveis existentes...")
|
|
current_envs = requests.get(f"{BASE_URL}/applications/{APP_UUID}/envs", headers=headers).json()
|
|
env_map = {e['key']: e['uuid'] for e in current_envs}
|
|
|
|
for env in envs:
|
|
payload = {
|
|
"key": env["key"],
|
|
"value": env["value"],
|
|
"is_buildtime": True, # CRÍTICO para Next.js
|
|
"is_runtime": True
|
|
}
|
|
|
|
if env["key"] in env_map:
|
|
print(f"Atualizando {env['key']}...")
|
|
requests.patch(f"{BASE_URL}/applications/{APP_UUID}/envs/{env_map[env['key']]}", headers=headers, json=payload)
|
|
else:
|
|
print(f"Criando {env['key']}...")
|
|
requests.post(f"{BASE_URL}/applications/{APP_UUID}/envs", headers=headers, json=payload)
|
|
|
|
# 2. Disparar Deploy (Necessário para reconstruir o Next.js com as novas variáveis)
|
|
print("Disparando novo deploy...")
|
|
deploy_resp = requests.get(f"{BASE_URL}/deploy?uuid={APP_UUID}", headers=headers)
|
|
print(f"Status do Deploy: {deploy_resp.status_code}")
|
|
print(deploy_resp.text)
|
|
|
|
if __name__ == "__main__":
|
|
setup_frontend()
|