API Overview & Auth
Gambaran umum arsitektur Next.js Route Handlers, header autentikasi, dan konvensi respons JSON.
Status: Stablev1.0.0Source Verified: Yes
Source:
src/app/api/Tests: tests/routes/API Reference Overview#
Seluruh backend API pada OrthoBreath diimplementasikan sebagai Next.js 16 Route Handlers (src/app/api/*) yang aman dan terisolasi.
1. Konvensi Endpoint API#
- Base URL:
/api - Format Payload:
application/json - Encoding: UTF-8
- Autentikasi: Server-side HttpOnly Cookie (
__session) atau Internal API Key.
2. Mekanisme Otorisasi Route Handlers#
Setiap Route Handler memanggil helper otorisasi sebelum mengeksekusi logika bisnis:
typescript
typescript
1import { requireAuth, requireRole } from "@/lib/serverAuth";23export async function POST(request: Request) {4 // Memvalidasi sesi aktif dan memastikan peran yang berwenang5 const user = await requireRole(["doctor", "operator"]);6 // user.clinicId, user.role, user.uid tersedia secara terverifikasi7}
3. Kode Status HTTP Standar#
| Status Code | Arti | Skenario Penggunaan |
|---|---|---|
200 OK | Sukses | Permintaan berhasil diproses dan data dikembalikan |
201 Created | Dibuat | Entitas baru (pasien, sesi, rekam medis) berhasil dibuat |
400 Bad Request | Parameter Salah | Validasi skema input gagal |
401 Unauthorized | Belum Login | Cookie sesi tidak ada, kedaluwarsa, atau tidak valid |
403 Forbidden | Dilarang | Peran pengguna tidak memiliki izin untuk fitur ini |
404 Not Found | Tidak Ditemukan | ID Pasien, ID Sesi, atau Laporan tidak ada di database |
500 Internal Error | Server Error | Kesalahan runtime internal server |