Básicamente, los Guards te permiten realizar verificaciones antes de que se active una ruta. Esto es crucial para implementar funcionalidades como:
Autenticación: Asegurarte de que solo los usuarios logueados puedan acceder a ciertas páginas.
Autorización: Verificar si un usuario tiene los permisos necesarios para ver una sección específica de la aplicación.
Prevención de pérdida de datos: Evitar que los usuarios abandonen una página con cambios sin guardar.
Resolución de datos: Cargar datos necesarios antes de que se muestre un componente.
TIPOS DE GUARDS EN ANGULAR
Este Guard decide si un usuario puede o no acceder a una ruta.
Verifica si un usuario esta autenticado para darle acceso a la ruta.
Este Guard decide si un usuario puede o no acceder a una ruta que depende de otra es decir es una ruta hija de otra, como los administradores o tipos de administradores.
Permite proteger a un usuario cuando decide abandonar una página, como mostrar una confirmación si tiene cambios o no guardados.
Este decide si una ruta debe cargarse o no por defecto.
arquitectura para configuraciones de hosting y keys
src/
├── app/
│ ├── firebase/
│ │ ├── firebase-config.ts
│ │ ├── firestore.ts
│ │ └── KEYS-FIREBASE/
│ │ ├── app-web/
│ │ ├── dev.ts
│ │ ├── prod.ts
│ │ └── pruebas.ts
│ │ └── app-admin/
│ │ ├── dev.ts
│ │ └── prod.ts
│ ├── ...
│ └── ...
├── environments/
│ ├── environment.ts
│ └── environment.prod.ts
├── ...
└── ...