Wysłanie wiadomości to przecież zwykła sprawa… Piszesz, wysyłasz. Pyk!
No nie bardzo, bo jako aspirujący backendowiec wiem, że „pyk” to tylko wierzchołek góry lodowej.
Buduję aplikację mailową. Dodałem teraz funkcję wysyłania wiadomości między użytkownikami. Nic wielkiego, prawda? Ale to, co dzieje się pod spodem, to już zupełnie inna historia. W skrócie:
1️⃣ Zaczyna się od logowania
Użytkownik podaje login i hasło. Jeśli dane się zgadzają, wtedy mechanizm JWT generuje token (taka cyfrowa przepustka)
2️⃣ Wysłanie wiadomości
Użytkownik wysyła wiadomość poprzez zapytanie HTTP
3️⃣ Walidacja
Wykorzystując token JWT, sprawdzam, czy użytkownik jest zalogowany oraz czy ma rolę ADMIN (co obecnie jest wymagane do wysyłania wiadomości, bo ćwiczę w ten sposób mechanizmy bezpieczeństwa). Dodatkowo waliduję, czy treść wiadomości i odbiorca nie są puste
4️⃣ Logika biznesowa
Identyfikuję nadawcę (jeśli nie ma go w bazie to nici z kontaktu), a następnie tworzę wiadomość (id, nadawca, odbiorca, data wysłania) i zapisuje ją pięknie do bazy
5️⃣ Wiadomość wysłana
Teraz mamy nasze “pyk!”. Jeśli nic sie nie wysypie, to user bedzie zadowolony. Jakub również 😉
Z pozoru prosty feature... ale wymaga zrozumienia, jak działają warstwy (kontroler / serwis / repozytorium) oraz szczegółowego ogarnięcia bezpieczeństwa.