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

10 - Access

## Page purpose Accessssiden (`/workshop/access`) handles: - liste over ansatte/brukere - roller - opprette/redigere/slette brukere - deaktivere brukere

10Mapped endpoints
1Frontend files
44Lines
2.2 KBFile size

Source: API-DOC/page-api-mapping/10-tilgang.md

Mapped endpoints for this page

MethodPathScopeUI usageTest
GET/api/ws/users/rolesPage-specificRolleliste for dropdownTry-It
GET/api/ws/usersPage-specificPrimær brukerlisteTry-It
GET/api/ws/managerPage-specific fallbackFallback hvis users-endepunkt ikke leverer dataTry-It
POST/api/ws/usersPage-specificCreate brukerTry-It
POST/api/ws/managerPage-specific fallbackFallback ved create-feil på /usersTry-It
PUT/api/ws/users/:idPage-specificUpdate brukerTry-It
PUT/api/ws/manager/:idPage-specific fallbackUpdate fallback-kildeTry-It
DELETE/api/ws/users/:idPage-specificDelete brukerTry-It
DELETE/api/ws/manager/:idPage-specific fallbackDelete managerTry-It
POST/api/ws/users/:id/deactivatePage-specificDeaktivere aktiv brukerTry-It
GET/api/ws/users/roles

Scope: Page-specific

UI usage: Rolleliste for dropdown

Response fields used: roles[].id/code/label

GET/api/ws/users

Scope: Page-specific

UI usage: Primær brukerliste

Response fields used: users[].id, navn, rolle, kontakt, is_active, created_at

GET/api/ws/manager

Scope: Page-specific fallback

UI usage: Fallback hvis users-endepunkt ikke leverer data

Response fields used: manager-liste mappes til samme UI-modell

POST/api/ws/users

Scope: Page-specific

UI usage: Create bruker

Response fields used: opprettet bruker

POST/api/ws/manager

Scope: Page-specific fallback

UI usage: Fallback ved create-feil på /users

Response fields used: opprettet manager

PUT/api/ws/users/:id

Scope: Page-specific

UI usage: Update bruker

Response fields used: oppdatert bruker

PUT/api/ws/manager/:id

Scope: Page-specific fallback

UI usage: Update fallback-kilde

Response fields used: oppdatert manager

DELETE/api/ws/users/:id

Scope: Page-specific

UI usage: Delete bruker

Response fields used: message/OK

DELETE/api/ws/manager/:id

Scope: Page-specific fallback

UI usage: Delete manager

Response fields used: message/OK

POST/api/ws/users/:id/deactivate

Scope: Page-specific

UI usage: Deaktivere aktiv bruker

Response fields used: message/OK

Try this page endpoints

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

Source markdown

10 - Access

Page purpose

Accessssiden (/workshop/access) handles:

  • liste over ansatte/brukere
  • roller
  • opprette/redigere/slette brukere
  • deaktivere brukere

Frontend methods and components

  • src/app/(private)/workshop/access/page.tsx
    • getWorkshopUserRoles(...)
    • getWorkshopUsers(...)
    • getManagers(...) (fallback-kilde)
    • createWorkshopUser(...) med fallback createManager(...)
    • updateWorkshopUser(...) / updateManager(...)
    • deleteWorkshopUser(...) / deleteManager(...)
    • deactivateWorkshopUser(...)

Endpoint matrix

Scope Method Endpoint UI usage Request Response fields used by frontend
Page-specific GET /api/ws/users/roles Rolleliste for dropdown ingen roles[].id/code/label
Page-specific GET /api/ws/users Primær brukerliste ingen users[].id, navn, rolle, kontakt, is_active, created_at
Page-specific fallback GET /api/ws/manager Fallback hvis users-endepunkt ikke leverer data ingen manager-liste mappes til samme UI-modell
Page-specific POST /api/ws/users Create bruker first_name, last_name, email, phone_number, role/role_code, display_name opprettet bruker
Page-specific fallback POST /api/ws/manager Fallback ved create-feil på /users tilsvarende personfelt opprettet manager
Page-specific PUT /api/ws/users/{id} Update bruker payload som over oppdatert bruker
Page-specific fallback PUT /api/ws/manager/{id} Update fallback-kilde payload oppdatert manager
Page-specific DELETE /api/ws/users/{id} Delete bruker path id message/OK
Page-specific fallback DELETE /api/ws/manager/{id} Delete manager path id message/OK
Page-specific POST /api/ws/users/{id}/deactivate Deaktivere aktiv bruker tom body message/OK

Contract and field usage

Frontend normaliserer både /users og /manager til én intern AccessUser-modell:

  • id
  • navn (first_name, last_name)
  • rolle (role_code/role)
  • email, phone_number
  • is_active
  • created_at

Dette gjør at siden fortsatt fungerer selv om users-API ikke er tilgjengelig.