Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Utwórz gałąź hw02-express z gałęzi master
✅ Wykonane: Utworzono nową gałąź hw02-express.
✅ Wykonane:
Moduły zostały wymienione w package.json.
Są już załadowane w app.js i używane do logowania, obsługi CORS oraz JSON.
3. Routing REST API
REST API ma wspierać następujące trasy:
GET /api/contacts
Wywołuje listContacts().
Zwraca wszystkie kontakty ze statusem 200. ✅ Wykonane.
GET /api/contacts/:id
Wywołuje getById(contactId).
Zwraca kontakt, jeśli istnieje, lub błąd 404. ✅ Wykonane.
POST /api/contacts
Waliduje name, email, phone.
Dodaje kontakt za pomocą addContact().
Zwraca nowy kontakt ze statusem 201. ✅ Wykonane.
DELETE /api/contacts/:id
Wywołuje removeContact(contactId).
Zwraca komunikat o usunięciu lub błąd 404. ✅ Wykonane.
PUT /api/contacts/:id
Waliduje dane.
Wywołuje updateContact(contactId, body).
Zwraca zaktualizowany kontakt lub błąd 404. ✅ Wykonane.
4. Walidacja danych
Walidacja odbywa się przy użyciu modułu Joi. Wszystkie wymagane pola są sprawdzane w trasach POST i PUT. W przypadku błędnych danych odpowiednie komunikaty i kody statusu są zwracane.
✅ Wykonane.
Wszystkie wymagane funkcje (listContacts, getById, addContact, removeContact, updateContact) zostały zaimplementowane w contactsService.js.
✅ Wykonane.
Obsługa błędów została dodana w app.js:
Middleware dla błędów 404 (brak trasy).
Middleware dla błędów serwera (status 500).
✅ Wykonane.
Kod spełnia kryteria techniczne
Nazwy zmiennych, funkcji i metod są w notacji CamelCase.
Używane są angielskie nazwy.
Kod jest zgodny z opisanym zadaniem.
Brak komentarzy w kodzie.
Kod działa w aktualnej wersji LTS Node.js.
✅ Wykonane.
Pull Request
Wykonaj polecenie, aby dodać i wysłać zmiany:
bash
Skopiuj kod
git add .
git commit -m "Implement REST API for contacts"
git push origin hw02-express
Otwórz repozytorium na GitHubie.
Utwórz Pull Request z gałęzi hw02-express do master.
✅ Do wykonania: Jeśli jeszcze nie wysłałeś PR, musisz to zrobić i podać mentorowi link.
Testy w Postmanie
Przetestuj wszystkie trasy w Postmanie:
GET /api/contacts – Wszystkie kontakty.
GET /api/contacts/:id – Pojedynczy kontakt (dla istniejącego i nieistniejącego ID).
POST /api/contacts – Dodanie kontaktu z prawidłowymi i nieprawidłowymi danymi.
DELETE /api/contacts/:id – Usunięcie kontaktu (dla istniejącego i nieistniejącego ID).
PUT /api/contacts/:id – Aktualizacja kontaktu (dla istniejącego i nieistniejącego ID oraz bez danych).
✅ Do wykonania: Sprawdź każdą trasę, aby upewnić się, że działa zgodnie z opisem.