Skip to content

[06] feat(angular): model route guards #13

Description

@fernandofielmann

Goal

Link Angular route guards to the client navigation routes they protect.

Scope

  • Recognize literal canActivate, canMatch, and canDeactivate arrays on extracted NavigationRoute definitions.
  • Resolve class-based and functional guards through the existing symbol/import registry.
  • Emit GUARDS edges from each resolved guard to its NavigationRoute.
  • Store the original array index as metadata without implying runtime execution order.
  • Omit unique links when a guard reference is unresolved or ambiguous.
  • Keep guard edges out of HTTP and cross-service tracing by default.

Dependencies

Acceptance criteria

  • Class and functional guards resolve across files and standalone imports.
  • Multiple guards preserve their array indices.
  • Duplicate references are handled deterministically.
  • Dynamic arrays, spreads, factories, and ambiguous imports do not create false edges.
  • Sequential and parallel pipelines produce equivalent GUARDS edges.
  • Graph schema, query contracts, and documentation include the new edge semantics.

Validation

  • Add positive, negative, multiple-guard, ambiguity, deduplication, and parity tests.
  • Run Angular extraction and edge suites, lint-ci, and scripts/test.sh.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions