18. Spesifikasi Router tRPC API
Ringkasan
Seluruh pemrosesan API di server menggunakan tRPC v11, yang menjamin keamanan tipe data penuh, middleware prosedur, rate limiting, dan pemeriksaan izin otorisasi RBAC.
Peta Router & Arsitektur
mermaid
graph TD
AppRouter["src/server/api/root.ts (appRouter)"]
AppRouter --> usersRouter["usersRouter (users.ts)"]
AppRouter --> rolesRouter["rolesRouter (roles.ts)"]
AppRouter --> themeRouter["themeRouter (theme.ts)"]
AppRouter --> appSettingsRouter["appSettingsRouter (app-settings.ts)"]
AppRouter --> storageRouter["storageRouter (storage.ts)"]
AppRouter --> paymentRouter["paymentRouter (payment.ts)"]
AppRouter --> integrationRouter["integrationRouter (integration.ts)"]
AppRouter --> seoRouter["seoRouter (seo.ts)"]
AppRouter --> auditRouter["auditRouter (audit.ts)"]Referensi Prosedur Utama Router
1. Manajemen Pengguna (usersRouter)
users.getAll (Protected): Mengambil daftar pengguna beserta peran mereka.users.create (Protected, Rate-Limited): Membuat akun pengguna baru dengan password yang dienkripsi.users.update (Protected): Memperbarui profil atau peran pengguna.users.delete (Protected): Menghapus akun pengguna.users.updateProfilePassword (Protected, Rate-Limited): Handler modal pengubahan password pengguna.2. Manajemen Peran (rolesRouter)
roles.getAll (Protected): Memuat seluruh daftar peran beserta matriks izinnya.roles.create / roles.update / roles.delete (Protected): Mutasi CRUD peran.roles.togglePermission (Protected): Handler centang matriks hak akses.Berkas Terkait
src/server/api/root.ts — Router utama tRPC appRoutersrc/server/api/trpc.ts — Pembuatan konteks, middleware rate limit, dan pembentuk prosedursrc/utils/api.ts — Pembungkus React Query / tRPC client hooks