Rute API
Toate endpoint-urile Nitro sunt file-based în server/api/. Convenția de nume determină metoda HTTP și parametrul din path ([slug], [id]).
Convenții
*.get.ts→ GET,*.post.ts→ POST,*.put.ts→ PUT, etc.- Parametri dinamici: foldere
[slug],[id] - Răspunsuri JSON; erori via
createError({ statusCode, message }) - Auth: cookie JWT — niveluri public / user / staff / admin
Home & discovery
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/homePayload pagină principală (featured, autori, tag-uri) | Payload pagină principală (featured, autori, tag-uri) | Public |
| GET | /api/home/for-youRecomandări personalizate pentru utilizator autentificat | Recomandări personalizate pentru utilizator autentificat | User |
| GET | /api/poems/randomPoezie aleatoare | Poezie aleatoare | Public |
| GET | /api/authors/randomAutor aleator | Autor aleator | Public |
Poems
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/poemsListă poezii cu filtre, paginare, căutare | Listă poezii cu filtre, paginare, căutare | Public |
| POST | /api/poemsCreare poezie (staff) | Creare poezie (staff) | Staff |
| GET | /api/poems/by-idsPoezii după ID-uri | Poezii după ID-uri | Public |
| GET | /api/poems/:slugDetalii poezie | Detalii poezie | Public |
| PUT | /api/poems/:slugActualizare metadata poezie | Actualizare metadata poezie | Staff |
| DELETE | /api/poems/:slugȘtergere poezie | Ștergere poezie | Staff |
| GET | /api/poems/:slug/insightInsight contextual (AI opțional) | Insight contextual (AI opțional) | Public |
| PUT | /api/poems/:slug/contentActualizare conținut poezie | Actualizare conținut poezie | Staff |
| PUT | /api/poems/:slug/carousel-fontSetări font carousel per poezie | Setări font carousel per poezie | Staff |
Auth (public)
| Method | Path | Descriere | Auth |
|---|---|---|---|
| POST | /api/auth/loginLogin admin (sesiune staff) | Login admin (sesiune staff) | Public |
| GET | /api/auth/meProfil sesiune curentă | Profil sesiune curentă | User |
| POST | /api/auth/logoutLogout | Logout | User |
| GET | /api/auth/google-configClient ID Google (runtime) | Client ID Google (runtime) | Public |
| GET | /api/auth/googleRedirect OAuth Google | Redirect OAuth Google | Public |
| GET | /api/auth/google/callbackCallback OAuth Google | Callback OAuth Google | Public |
User account
| Method | Path | Descriere | Auth |
|---|---|---|---|
| POST | /api/user/registerÎnregistrare email/parolă | Înregistrare email/parolă | Public |
| POST | /api/user/loginLogin utilizator | Login utilizator | Public |
| POST | /api/user/logoutLogout utilizator | Logout utilizator | User |
| GET | /api/user/meProfil utilizator | Profil utilizator | User |
| PATCH | /api/user/me/profileActualizare profil | Actualizare profil | User |
| PATCH | /api/user/me/passwordSchimbare parolă | Schimbare parolă | User |
| PATCH | /api/user/me/preferencesPreferințe cititor (font, temă) | Preferințe cititor (font, temă) | User |
| PATCH | /api/user/me/poetActivează profil poet | Activează profil poet | User |
| DELETE | /api/user/meȘtergere cont | Ștergere cont | User |
| GET | /api/user/favoritesFavorite utilizator | Favorite utilizator | User |
| POST | /api/user/favorites/:poemIdToggle favorit | Toggle favorit | User |
| GET | /api/user/poemsPoezii trimise de poet | Poezii trimise de poet | User |
| POST | /api/user/poemsTrimite poezie nouă | Trimite poezie nouă | User |
| POST | /api/user/poems/claimRevendică poezie importată | Revendică poezie importată | User |
| DELETE | /api/user/poems/:slugȘterge poezie proprie | Șterge poezie proprie | User |
| GET | /api/user/draftsDraft-uri Write | Draft-uri Write | User |
| POST | /api/user/draftsSalvează draft | Salvează draft | User |
| GET | /api/user/drafts/:idCitește draft | Citește draft | User |
| PUT | /api/user/drafts/:idActualizează draft | Actualizează draft | User |
| DELETE | /api/user/drafts/:idȘterge draft | Șterge draft | User |
| GET | /api/user/insta-postsPostări carousel salvate | Postări carousel salvate | User |
| POST | /api/user/insta-postsSalvează postare carousel | Salvează postare carousel | User |
| GET | /api/user/insta-posts/:idDetalii postare | Detalii postare | User |
| PUT | /api/user/insta-posts/:idActualizează postare | Actualizează postare | User |
| DELETE | /api/user/insta-posts/:idȘterge postare | Șterge postare | User |
Write workspace
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/wordsCăutare lexicon românesc (rime, silabe) | Căutare lexicon românesc (rime, silabe) | Public |
| GET | /api/word-definitionDefiniție cuvânt (cache + surse externe) | Definiție cuvânt (cache + surse externe) | Public |
Carousel
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/carousel/defaultsSetări implicite carousel (site) | Setări implicite carousel (site) | Public |
| PUT | /api/carousel/defaultsActualizează defaults site | Actualizează defaults site | Admin |
Site settings
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/site/settingsSetări publice site | Setări publice site | Public |
| PUT | /api/site/settingsActualizează setări | Actualizează setări | Admin |
Admin & import
| Method | Path | Descriere | Auth |
|---|---|---|---|
| GET | /api/admin/usersListă utilizatori | Listă utilizatori | Admin |
| PATCH | /api/admin/users/:id/roleSchimbă rol utilizator | Schimbă rol utilizator | Admin |
| DELETE | /api/admin/users/:idȘterge utilizator | Șterge utilizator | Admin |
| POST | /api/admin/enrich-poemsEnrichment date poezii (AI) | Enrichment date poezii (AI) | Admin |
| POST | /api/import/poetrydbImport PoetryDB | Import PoetryDB | Admin |
| POST | /api/import/romanianImport corpus românesc | Import corpus românesc | Admin |
| POST | /api/import/bulkImport bulk CSV/JSON | Import bulk CSV/JSON | Admin |