feat: add saas_network to docker-compose and http_client for internal API calls
All checks were successful
DEPLOY_MULTI_BRACH/pipeline/head This commit looks good
All checks were successful
DEPLOY_MULTI_BRACH/pipeline/head This commit looks good
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
60
app/common/http_client.py
Normal file
60
app/common/http_client.py
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
import urllib.request
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
BACKOFFICE_URL = os.getenv('BACKOFFICE_URL', 'http://django_app_backoffice:8000')
|
||||||
|
COMUNICACIONES_URL = os.getenv('COMUNICACIONES_URL', 'http://django_app_comunicaciones:8000')
|
||||||
|
DOCUMENTACION_URL = os.getenv('DOCUMENTACION_URL', 'http://django_app_documentacion:8000')
|
||||||
|
|
||||||
|
|
||||||
|
def _post(url, payload):
|
||||||
|
data = json.dumps(payload).encode('utf-8')
|
||||||
|
req = urllib.request.Request(
|
||||||
|
url, data=data,
|
||||||
|
headers={'Content-Type': 'application/json'},
|
||||||
|
method='POST'
|
||||||
|
)
|
||||||
|
with urllib.request.urlopen(req, timeout=10) as resp:
|
||||||
|
return json.loads(resp.read())
|
||||||
|
|
||||||
|
|
||||||
|
# --- Backoffice ---
|
||||||
|
def backoffice_obtener_usuario(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/usuarios/obtener/', params)
|
||||||
|
|
||||||
|
def backoffice_crear_usuario(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/usuarios/guardar/', params)
|
||||||
|
|
||||||
|
def backoffice_obtener_cliente(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/clientes/obtener/', params)
|
||||||
|
|
||||||
|
def backoffice_crear_cliente(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/clientes/guardar/', params)
|
||||||
|
|
||||||
|
def backoffice_obtener_contrato(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/contratos/obtener/', params)
|
||||||
|
|
||||||
|
def backoffice_crear_contrato(params):
|
||||||
|
return _post(f'{BACKOFFICE_URL}/api/contratos/guardar/', params)
|
||||||
|
|
||||||
|
|
||||||
|
# --- Comunicaciones ---
|
||||||
|
def comunicaciones_enviar_email(params):
|
||||||
|
return _post(f'{COMUNICACIONES_URL}/api/email/enviar/', params)
|
||||||
|
|
||||||
|
def comunicaciones_enviar_sms(params):
|
||||||
|
return _post(f'{COMUNICACIONES_URL}/api/sms/enviar/', params)
|
||||||
|
|
||||||
|
def comunicaciones_registrar_webhook(params):
|
||||||
|
return _post(f'{COMUNICACIONES_URL}/api/webhooks/registrar/', params)
|
||||||
|
|
||||||
|
|
||||||
|
# --- Documentacion ---
|
||||||
|
def documentacion_generar_pdf(params):
|
||||||
|
return _post(f'{DOCUMENTACION_URL}/api/generation/pdf/', params)
|
||||||
|
|
||||||
|
def documentacion_obtener_template(params):
|
||||||
|
return _post(f'{DOCUMENTACION_URL}/api/templates/obtener/', params)
|
||||||
|
|
||||||
|
def documentacion_guardar_documento(params):
|
||||||
|
return _post(f'{DOCUMENTACION_URL}/api/storage/guardar/', params)
|
||||||
@@ -36,6 +36,13 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- saas_network
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
saas_network:
|
||||||
|
external: true
|
||||||
|
|||||||
Reference in New Issue
Block a user