Zadanie z modułu Angular. Repozytorium zawiera kod startowy aplikacji Moonbase Control dla tej lekcji.
Zabezpiecz ścieżkę szczegółów incydentu przed próbą otwarcia incydentu, który nie istnieje.
W aplikacji szczegóły incydentu są dostępne pod ścieżką zawierającą jego id. Użytkownik może jednak wejść bezpośrednio na adres wskazujący incydent, który został usunięty lub nigdy nie istniał.
Twoim zadaniem jest:
- Utworzyć funkcyjny guard sprawdzający, czy incydent o
idznajdującym się w URL istnieje. - Wykorzystać
HttpClientdo wykonania odpowiedniego zapytania do API. - Pozwolić na aktywację ścieżki, jeśli incydent istnieje.
- W przypadku nieistniejącego incydentu przekierować użytkownika do listy incydentów.
- Wyświetlić za pomocą
MatSnackBarinformację, że wskazany incydent nie istnieje. - Przypisać utworzony guard do ścieżki szczegółów incydentu za pomocą
canActivate. Rezultat: wejście na adres istniejącego incydentu otwiera jego szczegóły. Próba wejścia na adres z nieistniejącymidnie aktywuje widoku szczegółów — użytkownik otrzymuje komunikat i zostaje przekierowany do listy incydentów.
- Zrób fork tego repozytorium na swoje konto GitHub.
- Sklonuj swój fork na komputer.
- Zainstaluj zależności:
npm install. - Uruchom aplikację:
npm start. - Jeśli zadanie korzysta z danych z API, uruchom w drugim terminalu mock API:
npm run api.
- Zapisz zmiany w commicie i wypchnij je do swojego forka.
- Otwórz Pull Request z forka do repozytorium
mate-academy/angular_route-guards, do branchamain. - Platforma uruchomi review Twojego Pull Requesta.