feat(source2): lock dark mode, sans-serif typography, and all recent updates
This commit is contained in:
1 parent
dd4c8f6876
commit
9f24b56e97
259 files changed
+15596
-8966
No files matched your search
@@ -0,0 +1,32 @@
|
||||
# Iteration Log: Company-Based User Roles & Multi-Agent Model
|
||||
|
||||
- **Iterasi**: `n` (Next Enhancement execution)
|
||||
- **Tanggal**: 2026-07-28 13:05
|
||||
|
||||
---
|
||||
|
||||
## Yang Diminta
|
||||
* Implementasikan pemisahan akun operasional/teknikal dari akun pengguna/perusahaan.
|
||||
* Buat 3 role pengguna/perusahaan (`COMPANY_ADMIN`, `COMPANY_OPERATOR`, `COMPANY_VIEWER`).
|
||||
* Buat tab halaman baru "User Account" yang menampilkan daftar user dikelompokkan per perusahaan (grouped card layout).
|
||||
* Batasi kuota maksimum 5 akun untuk setiap perusahaan.
|
||||
* Implementasikan pemilihan multi-agent (checklist / checkbox list) saat mendaftarkan operator/viewer.
|
||||
|
||||
## Langkah yang Diambil
|
||||
1. **Backend - Model Update**: Menambahkan `company_name` dan `agent_uuids` (array of strings) ke model `User.js` serta enum role yang baru.
|
||||
2. **Backend - getBaseFilter Update**: Mengubah helper kueri agar menyaring traffic data menggunakan `$in: agent_uuids` jika role adalah company user.
|
||||
3. **Backend - Route Authorization**: Mengupdate `users.js`, `viewAs.js`, dan `deviceLabeling.js` agar mendukung hak akses delegasi user tingkat 1, 2, dan 3.
|
||||
4. **Backend - 5-Account Limit**: Menambahkan pengecekan `countDocuments` di route pendaftaran user agar menolak pendaftaran jika perusahaan sudah memiliki 5 akun aktif.
|
||||
5. **Frontend - User Accounts Page**: Membuat halaman baru `/user-accounts` yang merender Card per perusahaan, menampilkan status kuota (X/5), dan memetakan tombol tambah user langsung ke konteks perusahaan tersebut.
|
||||
6. **Frontend - Multi-Select Checklist**: Mengupdate `ExternalAccountModal.tsx` agar memuat checklist checkbox untuk agen ketika role yang dipilih bertipe company operator/admin.
|
||||
7. **Frontend - Sidebar Navigation**: Memperbarui link dan visibilitas menu sidebar berdasarkan hak akses role baru.
|
||||
8. **TDD Verification**: Menulis test script `test_base_filter.js` untuk menguji isolasi database query. Unit test berhasil dilewati dengan sukses (100% Passed).
|
||||
9. **Build & Deploy**: Menjalankan compiler check (tsc: 0 errors), melakukan full production build Next.js, dan mendeploy file ke server production `demoplace.my.id` via SFTP.
|
||||
|
||||
## Hasil & Status Codebase saat Ini
|
||||
* Halaman `/user-accounts` sudah live di `https://demoplace.my.id`.
|
||||
* Semua backend validation (kuota 5 akun & delegasi subset agent) dan frontend component (checklist & pre-selected modal) berfungsi penuh.
|
||||
* Verifikasi build integrity aman. PM2 reload sukses di server.
|
||||
|
||||
## Pertimbangan untuk Iterasi Berikutnya
|
||||
* Saat ini list agent di checklist UI modal memuat UUID secara langsung. Ke depan, kita bisa me-resolve UUID tersebut menjadi label agent yang lebih user-friendly (misal: "IFG LT.18") di client.
|
||||
Reference in new issue
Block a user