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 appRouter
  • src/server/api/trpc.ts — Pembuatan konteks, middleware rate limit, dan pembentuk prosedur
  • src/utils/api.ts — Pembungkus React Query / tRPC client hooks