nuxt-api-endpointlisted
Install: claude install-skill Auriaz/nuxt-stack-starter
# 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.md` oraz `content/docs/ARCHITECTURE.md`.
- `server/api/*` to tylko kontroler HTTP (parse -> validate -> use-case -> DTO).
- Logika biznesowa należy do `domain/*`.
## Procedura
1. Dodaj/rozszerz schemat Valibot w `shared/schemas/*`.
2. Upewnij się, że typy DTO są dostępne przez `shared/types/*`.
3. Zaimplementuj use-case w `domain/*` (bez zależności od UI).
4. W kontrolerze `server/api/*`:
- odczytaj input (`getQuery`/`readBody`),
- zwaliduj przez Valibot,
- wywołaj use-case,
- zwróć dane w standardowym formacie API.
5. Jeśli endpoint dotyka DB, użyj repository `server/repositories/*`.
6. 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` (mapowanie `issues[]`).
- Sprawdź uprawnienia i błędy domenowe (`DomainError` -> status/code/message).