GeorgeandClaude Sonnet 5 cf793c88f2 Initial commit: sap-intercompany-viewer
Frontend Angular 22 (standalone, signals, Material 3) para
sap-intercompany-api. Pantallas: log de eventos/intentos, CRUD de
databases, listado/alta/detalle de scenarios.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 08:25:01 -05:00

sap-intercompany-viewer

Frontend (Angular 22, standalone components + signals, Angular Material) para sap-intercompany-api — reemplaza a sap-webhook-viewer (retirado del repo) consolidando en un solo visor todo lo relacionado a la replicación entre bases SAP: log de eventos, bases de datos, y escenarios.

Pantallas

  • /log (default) — eventos recibidos (webhook_events) con filtros por fecha, business object, escenario y estado. Cada fila es expandible: muestra los replication_attempts (escenario, origen → destino, verbo, HTTP status, error, result key). Botón Reprocesar con confirmación explícita (avisa que reintenta TODOS los escenarios y destinos aplicables, no solo el que falló).
  • /databases — listado + alta/edición (diálogo) + activar/desactivar de bases SAP. El password nunca se muestra (la API tampoco lo devuelve); al editar, dejarlo vacío significa "no cambiarlo".
  • /scenarios — listado de escenarios (como scenario:list del CLI del worker).
  • /scenarios/new — alta de escenario (todos los campos de scenario:add, incluido modo payload con routingField). Al crear, la API escribe el scaffold del .ts y esta pantalla redirige al detalle mostrando dónde completar filter/transform.
  • /scenarios/:code — detalle: configuración, destinos (agregar/ quitar), código fuente de filter/transform en solo lectura, y mapeos de valor (listado + alta).

Qué NO hace (deliberado, v1)

  • No edita el .ts de un escenario. Se muestra en solo lectura; la edición de filter/transform es siempre en el editor del usuario (VSCode) — decisión explícita, ver CLAUDE.md en la raíz del repo.
  • No resalta sintaxis en el código fuente mostrado (bloque monoespaciado simple) — para no sumar una dependencia extra en esta v1; se puede agregar Prism/highlight.js más adelante si hace falta.
  • No tiene un formulario de edición completo para un escenario existente — solo activar/desactivar. Editar el resto de los campos (PATCH /scenarios/:code, ya expuesto por la API) queda para una iteración futura si se necesita.

Quick start

npm install
ng serve   # http://localhost:4200 — requiere sap-intercompany-api corriendo en :3001

La URL base de la API está fija en src/app/core/api.ts (http://localhost:3001) — simplificación deliberada para esta v1 (Angular CLI ya no genera environments/ por default); si hace falta apuntar a otro host, cambiar esa constante.

Stack

  • Angular 22, standalone components (sin NgModules), signals para estado local de componente.
  • Angular Material 3 (tema azure-blue). Sin @angular/animations: es un paquete deprecado en esta versión de Angular (reemplazado por animate.enter/animate.leave nativos), y Material 3 no lo necesita para su UI base.
  • HttpClient con un wrapper mínimo (core/api.ts) — sin librerías de manejo de estado (NgRx, etc.), no hace falta para esta escala.
S
Description
No description provided
Readme
127 KiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 53.2%
HTML 33.8%
CSS 11.4%
SCSS 1.6%