refactor: update Svelte components to use runes, snippets, and improved reactivity patterns.
This commit is contained in:
@@ -321,6 +321,7 @@ POSTGRES_PORT="${POSTGRES_PORT:-5432}"
|
||||
POSTGRES_DB="${POSTGRES_DB:-anexo76_core}"
|
||||
POSTGRES_USER="${POSTGRES_USER:-postgres}"
|
||||
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-postgres}"
|
||||
BACKEND_URL="${BACKEND_URL:-http://localhost:8000}"
|
||||
|
||||
DEMO_USERNAME="demo"
|
||||
DEMO_PASSWORD="demo123"
|
||||
@@ -785,25 +786,6 @@ fi
|
||||
|
||||
echo -e "${GREEN}✓ Tenant ID: ${TENANT_ID}${NC}"
|
||||
|
||||
# Insertar company si no existe
|
||||
COMPANY_EXISTS=$(exec_pg_sql "SELECT COUNT(*) FROM a76.company WHERE tenant_id = ${TENANT_ID};")
|
||||
COMPANY_EXISTS=$(echo "$COMPANY_EXISTS" | xargs)
|
||||
|
||||
if [ "$COMPANY_EXISTS" = "0" ]; then
|
||||
exec_pg_sql "INSERT INTO a76.company (tenant_id, name, rfc, is_service_company, created_at, updated_at) VALUES (${TENANT_ID}, '${COMPANY_NAME}', '${COMPANY_RFC}', false, now(), now());" >/dev/null
|
||||
exec_pg_sql_client "INSERT INTO a76.company (tenant_id, name, rfc, is_service_company, created_at, updated_at) VALUES (${TENANT_ID}, '${COMPANY_NAME}', '${COMPANY_RFC}', false, now(), now());" >/dev/null
|
||||
echo -e "${GREEN}✓ Company creada (Hub y Cliente)${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Company ya existe para este tenant${NC}"
|
||||
fi
|
||||
|
||||
# Obtener información de la company
|
||||
COMPANY_INFO=$(exec_pg_sql "SELECT id, name FROM a76.company WHERE tenant_id = ${TENANT_ID} LIMIT 1;")
|
||||
COMPANY_ID=$(exec_pg_sql "SELECT id FROM a76.company WHERE tenant_id = ${TENANT_ID} LIMIT 1;" | xargs)
|
||||
|
||||
echo -e "${GREEN}✓ Company: ${COMPANY_INFO}${NC}"
|
||||
echo -e "${GREEN}✓ Company ID: ${COMPANY_ID}${NC}"
|
||||
|
||||
# Agregar tenant_id al usuario demo en Keycloak
|
||||
echo -e "\n${YELLOW}Asignando tenant_id al usuario demo...${NC}"
|
||||
|
||||
@@ -818,14 +800,71 @@ curl -s -X PUT "${KEYCLOAK_URL}/admin/realms/${KEYCLOAK_REALM}/users/${USER_ID}"
|
||||
|
||||
echo -e "${GREEN}✓ Atributo tenant_id asignado al usuario${NC}"
|
||||
|
||||
|
||||
|
||||
# Obtener token de demo user para usar la API con su tenant
|
||||
echo "Obteniendo token de usuario demo..."
|
||||
DEMO_TOKEN_RESPONSE=$(curl -s -X POST "${KEYCLOAK_URL}/realms/${KEYCLOAK_REALM}/protocol/openid-connect/token" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-d "username=${DEMO_USERNAME}" \
|
||||
-d "password=${DEMO_PASSWORD}" \
|
||||
-d "grant_type=password" \
|
||||
-d "client_id=anexo76-backend" \
|
||||
-d "client_secret=${BACKEND_SECRET}")
|
||||
|
||||
DEMO_ACCESS_TOKEN=$(echo "$DEMO_TOKEN_RESPONSE" | jq -r '.access_token // empty')
|
||||
|
||||
if [ -z "$DEMO_ACCESS_TOKEN" ]; then
|
||||
echo -e "${RED}✗ Error: No se pudo obtener el token de usuario demo${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Insertar company si no existe
|
||||
COMPANY_EXISTS=$(exec_pg_sql "SELECT COUNT(*) FROM a76.company WHERE tenant_id = ${TENANT_ID};")
|
||||
COMPANY_EXISTS=$(echo "$COMPANY_EXISTS" | xargs)
|
||||
|
||||
if [ "$COMPANY_EXISTS" = "0" ]; then
|
||||
echo " → Creando company mediante API..."
|
||||
CREATE_COMPANY_RESPONSE=$(curl -s -w "\n%{http_code}" -X POST "${BACKEND_URL}/api/v1/a76/company" \
|
||||
-H "Authorization: Bearer ${DEMO_ACCESS_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"name\": \"${COMPANY_NAME}\",
|
||||
\"rfc\": \"${COMPANY_RFC}\",
|
||||
\"is_service_company\": false
|
||||
}")
|
||||
|
||||
HTTP_CODE=$(echo "$CREATE_COMPANY_RESPONSE" | tail -n1)
|
||||
RESPONSE_BODY=$(echo "$CREATE_COMPANY_RESPONSE" | head -n -1)
|
||||
|
||||
if [ "$HTTP_CODE" = "201" ]; then
|
||||
COMPANY_ID=$(echo "$RESPONSE_BODY" | jq -r '.id // empty')
|
||||
echo -e "${GREEN}✓ Company creada exitosamente via API (Hub, Cliente replicado por DB trigger o servicio asíncrono)${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Error al crear company via API (HTTP ${HTTP_CODE})${NC}"
|
||||
echo "Respuesta: $RESPONSE_BODY"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Company ya existe para este tenant${NC}"
|
||||
# Obtener información de la company existente
|
||||
COMPANY_ID=$(exec_pg_sql "SELECT id FROM a76.company WHERE tenant_id = ${TENANT_ID} LIMIT 1;" | xargs)
|
||||
fi
|
||||
|
||||
COMPANY_INFO=$(exec_pg_sql "SELECT name FROM a76.company WHERE id = ${COMPANY_ID} AND tenant_id = ${TENANT_ID} LIMIT 1;")
|
||||
echo -e "${GREEN}✓ Company: ${COMPANY_INFO}${NC}"
|
||||
echo -e "${GREEN}✓ Company ID: ${COMPANY_ID}${NC}"
|
||||
|
||||
# Agregar relación usuario-tenant en la base de datos
|
||||
echo -e "\n${YELLOW}Creando relación usuario-tenant en la base de datos...${NC}"
|
||||
|
||||
exec_pg_sql "INSERT INTO core.user_tenants (keycloak_user_id, tenant_id, company_id, role, is_active, created_at, updated_at) VALUES ('${USER_ID}', ${TENANT_ID}, 1, 'admin', true, now(), now()) ON CONFLICT (keycloak_user_id, tenant_id, company_id) DO UPDATE SET is_active = true, updated_at = CURRENT_TIMESTAMP;" >/dev/null
|
||||
exec_pg_sql_client "INSERT INTO core.user_tenants (keycloak_user_id, tenant_id, company_id, role, is_active, created_at, updated_at) VALUES ('${USER_ID}', ${TENANT_ID}, 1, 'admin', true, now(), now()) ON CONFLICT (keycloak_user_id, tenant_id, company_id) DO UPDATE SET is_active = true, updated_at = CURRENT_TIMESTAMP;" >/dev/null
|
||||
exec_pg_sql "INSERT INTO core.user_tenants (keycloak_user_id, tenant_id, company_id, role, is_active, created_at, updated_at) VALUES ('${USER_ID}', ${TENANT_ID}, ${COMPANY_ID}, 'admin', true, now(), now()) ON CONFLICT (keycloak_user_id, tenant_id, company_id) DO UPDATE SET is_active = true, updated_at = CURRENT_TIMESTAMP;" >/dev/null
|
||||
exec_pg_sql_client "INSERT INTO core.user_tenants (keycloak_user_id, tenant_id, company_id, role, is_active, created_at, updated_at) VALUES ('${USER_ID}', ${TENANT_ID}, ${COMPANY_ID}, 'admin', true, now(), now()) ON CONFLICT (keycloak_user_id, tenant_id, company_id) DO UPDATE SET is_active = true, updated_at = CURRENT_TIMESTAMP;" >/dev/null
|
||||
|
||||
echo -e "${GREEN}✓ Relación usuario-tenant creada en la base de datos (Hub y Cliente)${NC}"
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# 9. Crear licencia Enterprise para el tenant
|
||||
###############################################################################
|
||||
|
||||
Reference in New Issue
Block a user