Skip to content

feat(sites): refactor semantico de sedes - site_type y separacion de carrier vs sede #16

Description

@alexandervazquez98

Pre-flight Checks

  • I have searched existing issues and this is not a duplicate
  • I understand this issue needs status:approved before a PR can be opened

Problem Description

El nodo SiteGroup (Sede) tiene un campo wan_type con valores: mpls, sdwan, aviat_carrier, fiber. Esto mezcla dos conceptos distintos:

  1. Tipo de site: ¿Es una sede corporativa? ¿Una red de carrier? ¿Un datacenter?
  2. Tecnologia WAN: MPLS, SD-WAN, Microonda — que deberia pertenecer al ENLACE, no a la sede

El resultado es semanticamente incorrecto: "esta sede es de tipo MPLS" no tiene sentido. Lo correcto es "esta sede tiene un enlace WAN de tipo MPLS" — y eso ya se modela en el edge.

Ademas, los carriers (operadoras) merecen un tipo de nodo propio o al menos una categoria clara, ya que su comportamiento en topologia es diferente a una sede: no tienen equipos propios observables, son el "cloud" de conectividad.

Proposed Solution

Refactorizar el modelo de SiteGroup con dos campos separados:

1. Tipo de sitio (site_type):

  • headquarters — Sede corporativa principal
  • branch — Sucursal
  • datacenter — Centro de datos
  • carrier — Red de operadora / carrier (cloud de conectividad)
  • pop — Punto de presencia
  • other — Otro

2. Eliminar wan_type del SiteGroup — la tecnologia WAN la define el edge que conecta la sede, no la sede en si.

Los sitios tipo carrier deberían tener un estilo visual diferente en el canvas (fondo de color distinto, sin equipos internos requeridos) para distinguirlos de las sedes corporativas.

Esto hace el sistema verdaderamente generico y correcto semanticamente para cualquier usuario.

Affected Area

Frontend — GraphBuilder SiteGroup.tsx, PropertiesPanel (siteGroup panel), types/api.ts, backend models/schemas

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions