Page Introduction

Page contract details

This contract page maps concrete frontend page behavior to API calls, payloads, and response fields.

  • Use the endpoint matrix as implementation checklist.
  • Use page-specific try-it for fast request verification.
  • Keep request/response shape aligned with listed frontend usage fields.

Platform Page Contract

08 - Ratings

## Page purpose Vurderingssiden (`/dashboard/reviews`) gir verkstedet overview over kundevurderinger, filtrering/søk, svar og sletting.

5Mapped endpoints
1Frontend files
35Lines
1.5 KBFile size

Source: API-DOC/page-api-mapping/08-vurderinger.md

Mapped endpoints for this page

MethodPathScopeUI usageTest
GET/api/ws/ratingsPage-specificList vurderingerTry-It
GET/api/ws/ratings/summaryPage-specificKPI-bokserTry-It
POST/api/ws/ratings/:id/replyPage-specific (kanonisk)Create/oppdatere svarTry-It
PUT/api/ws/ratings/:id/replyPage-specific alias (deprecated)Legacy aliasTry-It
DELETE/api/ws/ratings/:idPage-specificDelete vurderingTry-It
GET/api/ws/ratings

Scope: Page-specific

UI usage: List vurderinger

Response fields used: items[] med id, rating, review_text, is_public, created_at, reply-felter

GET/api/ws/ratings/summary

Scope: Page-specific

UI usage: KPI-bokser

Response fields used: avg_rating, ratings_count, distribusjon

POST/api/ws/ratings/:id/reply

Scope: Page-specific (kanonisk)

UI usage: Create/oppdatere svar

Response fields used: oppdatert rating/reply

PUT/api/ws/ratings/:id/reply

Scope: Page-specific alias (deprecated)

UI usage: Legacy alias

Response fields used: oppdatert rating/reply

DELETE/api/ws/ratings/:id

Scope: Page-specific

UI usage: Delete vurdering

Response fields used: message/OK

Try this page endpoints

Interactive console below is filtered to endpoints mapped for this page contract.

Source markdown

08 - Ratings

Page purpose

Vurderingssiden (/dashboard/reviews) gir verkstedet overview over kundevurderinger, filtrering/søk, svar og sletting.

Frontend methods and components

  • src/app/(private)/dashboard/reviews/page.tsx
    • getRatings(...)
    • getRatingSummary(...)
    • replyToRating(...)
    • deleteRating(...)

Endpoint matrix

Scope Method Endpoint UI usage Request Response fields used by frontend
Page-specific GET /api/ws/ratings List vurderinger page, page_size, order, q, only_public items[] med id, rating, review_text, is_public, created_at, reply-felter
Page-specific GET /api/ws/ratings/summary KPI-bokser ingen avg_rating, ratings_count, distribusjon
Page-specific (kanonisk) POST /api/ws/ratings/{id}/reply Create/oppdatere svar { response_text, visibility/is_public } oppdatert rating/reply
Page-specific alias (deprecated) PUT /api/ws/ratings/{id}/reply Legacy alias samme payload oppdatert rating/reply
Page-specific DELETE /api/ws/ratings/{id} Delete vurdering path id message/OK

Contract and field usage

Frontend shows direkte:

  • rating
  • review_text
  • is_public
  • created_at
  • reply-felter (response_text, workshop_reply, reply_text)

Flyt

  1. Hent liste + summary.
  2. Filtrer i UI (public/private + score + søk).
  3. Svar sendes kanonisk til POST /ratings/{id}/reply.
  4. Query-invalidate for liste + summary etter mutation.