Nuxt API Endpoint
Kiedy używać
- Gdy dodajesz nowy endpoint w
server/api/*. - Gdy refaktorujesz endpoint i chcesz zachować zgodność z architekturą warstwową.
Zasady projektu
- Przeczytaj i stosuj:
.cursor/remember.mdorazcontent/docs/ARCHITECTURE.md. server/api/*to tylko kontroler HTTP (parse -> validate -> use-case -> DTO).- Logika biznesowa należy do
domain/*.
Procedura
- Dodaj/rozszerz schemat Valibot w
shared/schemas/*. - Upewnij się, że typy DTO są dostępne przez
shared/types/*. - Zaimplementuj use-case w
domain/*(bez zależności od UI). - W kontrolerze
server/api/*:- odczytaj input (
getQuery/readBody), - zwaliduj przez Valibot,
- wywołaj use-case,
- zwróć dane w standardowym formacie API.
- odczytaj input (
- Jeśli endpoint dotyka DB, użyj repository
server/repositories/*. - Dodaj/aktualizuj
app/composables/resources/*jako jedyne miejsce wywołań API po stronie UI.
Walidacja
- Lint i typecheck dla zmienionych plików.
- Sprawdź przypadek
422 VALIDATION_ERROR(mapowanieissues[]). - Sprawdź uprawnienia i błędy domenowe (
DomainError-> status/code/message).