Skip to main content

API-moduulit — Frontpics

Kaikki API-reitit ovat polun /api/v1 alla. Autentikointi käyttää JWT-tokenia ja roolipohjaisia guard-suojauksia. Pyyntöjen validointi tehdään pääosin packages/shared-paketin Zod-skeemoilla.

Auth — /auth

MetodiPolkuAuthKuvaus
POST/auth/registerJulkinenRekisteröi käyttäjän ja luo roolikohtaiset perustiedot.
POST/auth/loginJulkinenPalauttaa access tokenin ja asettaa refresh-cookien.
POST/auth/refreshCookieKierrättää refresh tokenin ja palauttaa uuden access tokenin.
POST/auth/logoutJWT/cookieMitätöi refresh tokenin ja tyhjentää cookien.
POST/auth/verify-emailJulkinenVahvistaa sähköpostin.
POST/auth/forgot-passwordJulkinenLähettää salasanan palautuslinkin.
POST/auth/reset-passwordJulkinenAsettaa uuden salasanan tokenilla.

JWT-validointi palauttaa { id, email, role }. Käytä user.id.

Images — /images

MetodiPolkuAuthKuvaus
GET/imagesJulkinen/JWT valinnainenAktiivisten kuvien selaus, haku, suodattimet, lajittelu ja ostotila.
GET/images/:idJulkinen/JWT valinnainenKuvan tiedot, tiedostot, tagit, sijainti ja ostotiedot.
GET/images/map-pinsJulkinen/JWT valinnainenKarttapinnit kuville, joilla on koordinaatit.
GET/images/mineKuvaajaKuvaajan omat kuvat.
PATCH/images/:idOmistaja/adminMetatietojen muokkaus.
DELETE/images/:idOmistaja/adminKuvan poisto sääntöjen mukaan.
GET/images/:id/download/:orderItemIdOstaja/admin/moderaattoriAllekirjoitettu latausosoite ja toimistobrändi.

Tärkeitä kenttiä ovat Image.basePriceCredits, Image.status, ImageFile.cdnUrl, ImageFile.fileSizeBytes, Location.latitude ja Location.longitude.

Upload — /upload

MetodiPolkuAuthKuvaus
POST/upload/presignedKuvaaja/admin/moderaattoriLuo presigned-upload-osoitteet.
POST/upload/check-duplicatesKuvaaja/admin/moderaattoriTarkistaa SHA-256-duplikaatit.
POST/upload/confirmKuvaaja/admin/moderaattoriLuo kuvat, sijainnit, tagit ja käsittelyjonot.
GET/upload/status/:jobIdJWTKäsittelyn tila.

Lataus käyttää EXIF-GPS:ää, osoitehakua, geokoodausta ja manuaalisia koordinaatteja.

Orders — /orders

MetodiPolkuAuthKuvaus
POST/ordersOstajaOstaa yhden tai useamman kuvan atomisesti.
GET/ordersOstajaOmat tilaukset.
GET/orders/:idOmistajaTilauksen tiedot ja latauslinkit.

Ostopyyntö voi sisältää buyerReference-kentän laskutusta varten.

Payouts — /payouts

MetodiPolkuAuthKuvaus
POST/payouts/requestKuvaajaPyytää pankkisiirtotilitystä.
GET/payoutsKuvaajaOmat tilitykset.

Säännöt:

  • vähimmäistilitys 50 krediittiä;
  • profiilissa täytyy olla bankIban ja bankAccountHolder;
  • vain yksi pending tai processing-tilitys kerrallaan;
  • note, reference ja billingReference hyväksytään kuvaajan viitteeksi;
  • pyydetyt krediitit varataan/vähennetään heti.

Shooting Requests — /shooting-requests

MetodiPolkuAuthKuvaus
POST/shooting-requestsOstajaLuo maksuttoman kuvaustilauksen.
GET/shooting-requests/openKuvaaja/adminAvoimet kuvauskeikat.
GET/shooting-requests/my-ordersOstajaOstajan omat pyynnöt.
GET/shooting-requests/my-claimsKuvaajaKuvaajan ottamat keikat.
GET/shooting-requests/costOstaja/adminNykyinen kustannus, toistaiseksi 0.
POST/shooting-requests/:id/claimKuvaajaOttaa avoimen keikan.
POST/shooting-requests/:id/completeValittu kuvaajaMerkitsee keikan valmiiksi.

Luo-pyyntö hyväksyy osoitekentät sekä valinnaiset latitude ja longitude. Jos koordinaatit puuttuvat, API käyttää samaa rakenteista geokoodausta kuin latausvirta. Keikan valmistuminen hyvittää kuvaajan lompakkoa, mutta ei luo tilitystä automaattisesti.

Admin — /admin

MetodiPolkuKuvaus
GET/admin/statsDashboard-tilastot.
GET/admin/action-countsNumeromerkit: kuvat, sähköpostit, palautteet, tilitykset.
GET/admin/usersKäyttäjälista.
GET/admin/images/pendingModerointijono.
GET/admin/imagesKaikki kuvat suodattimilla.
PATCH/admin/images/:id/approveHyväksyy kuvan.
PATCH/admin/images/:id/rejectHylkää kuvan.
GET/admin/payoutsTilitykset, pankkitiedot ja kuvaajan viite.
PATCH/admin/payouts/:id/processMerkitsee maksetuksi ja tallentaa maksun viitteen.
PATCH/admin/payouts/:id/rejectHylkää tilityksen ja palauttaa krediitit.

Muut moduulit kattavat palautteet, saapuvat sähköpostit, laskut, brändit, tagit, asetukset ja järjestelmädiagnostiikan.