Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-BRD-004 |
| Deskripsi | Manajemen role brand: membuat, melihat, mengubah, dan menghapus role beserta hak akses per kelompok menu, lalu menerapkan hak akses tersebut ke user saat memakai Books |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- Owner atau admin brand dapat melihat daftar role di brand.
- Owner atau admin brand dapat menambah role dengan nama role, deskripsi singkat, dan hak akses.
- Owner atau admin brand dapat mengubah dan menghapus role.
- Hak akses dikelompokkan menjadi tujuh kelompok: Master Data, Konfigurasi, Transaksi, Basic, Importer, Laporan, dan Dashboard.
- Setiap menu dapat diberi tingkat akses seperti lihat, ubah (basic), dan arsip.
- Sistem menerapkan hak akses role saat user membuka menu, melihat, menambah, mengubah, atau membuka arsip di Books.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar role brand |
| FR-02 | User dapat membuat role dengan nama, deskripsi, dan hak akses |
| FR-03 | User dapat mengubah nama, deskripsi, dan hak akses role |
| FR-04 | User dapat menghapus role |
| FR-05 | Sistem menyediakan tujuh kelompok hak akses dengan daftar menu masing-masing |
| FR-06 | Sistem memuat hak akses user untuk brand aktif dan membatasi menu serta aksi sesuai hak akses |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat daftar role brand |
| UC-02 | Menambah role baru |
| UC-03 | Mengatur hak akses role per kelompok menu |
| UC-04 | Mengubah role |
| UC-05 | Menghapus role |
| UC-06 | Menerapkan hak akses role saat memakai Books |
4. Use Case Scenario
UC-01 : Melihat daftar role brand
| Aktor | Owner / admin brand |
| Deskripsi | User melihat role yang sudah dibuat di brand |
| Prekondisi | User membuka Kelola Brand, tab Role di Accounts |
| Alur utama | 1. User membuka menu akun lalu Pengaturan Brand. 2. Sistem membuka tab Role. 3. Sistem menampilkan daftar role brand. |
| Alur negatif | - Jika user bukan owner atau admin brand, halaman role tidak dapat dikelola. - Jika gagal memuat, daftar role kosong. |
| Bisnis rule | - Role bersifat dinamis per brand. |
| Postkondisi | Daftar role tampil |
| Trigger | User membuka tab Role |
| Kode FR | FR-01 |
UC-02 : Menambah role baru
| Aktor | Owner / admin brand |
| Deskripsi | User membuat role baru untuk diberikan ke user brand |
| Prekondisi | User berada di tab Role |
| Alur utama | 1. User memilih Tambah Role. 2. User mengisi nama role dan deskripsi singkat. 3. User mengatur hak akses (UC-03). 4. User menyimpan. 5. Sistem menyimpan role baru. |
| Alur negatif | - Jika nama role kosong, role tidak bisa disimpan. - Jika penyimpanan gagal, muncul pesan error. |
| Bisnis rule | - Field utama: nama role, deskripsi singkat, hak akses. |
| Postkondisi | Role baru tersedia untuk dipilih saat invite user |
| Trigger | User menyimpan form tambah role |
| Kode FR | FR-02 |
UC-03 : Mengatur hak akses role per kelompok menu
| Aktor | Owner / admin brand |
| Deskripsi | User memilih menu dan tingkat akses yang dimiliki role |
| Prekondisi | User sedang menambah atau mengubah role |
| Alur utama | 1. User membuka kelompok hak akses. 2. User mencentang menu yang boleh diakses. 3. User memilih tingkat akses per menu. 4. User mengulang untuk kelompok lain. |
| Alur negatif | - Menu yang tidak termasuk paket langganan brand tidak dapat diaktifkan penuh. |
| Bisnis rule | - Master Data: metode pembayaran, cluster, biaya, akun perkiraan, rincian aset, aset, edit varian SKU, jenis barang, atribut dan varian, SKU dan barang, satuan, gudang, karyawan, jenis customer, buku kontak, customer, Bill of Materials. - Konfigurasi: inisiasi neraca awal, kop surat. - Transaksi: pembelian, PO, retur, pembayaran hutang dan piutang, penjualan, SO, POS, konsinyasi, aset, inventory, produksi, kas bank, DP, gaji, Mobile Apps, dan lainnya. - Basic: invoice request mutasi gudang. - Importer: importer. - Laporan: laporan keuangan, pembelian, penjualan, stok. - Dashboard: keuangan, penjualan, pembelian. - Tingkat akses per menu yang dicek di Books: view, basic, archive. |
| Postkondisi | Hak akses role terpilih |
| Trigger | User mengatur centang hak akses |
| Kode FR | FR-05 |
UC-04 : Mengubah role
| Aktor | Owner / admin brand |
| Deskripsi | User mengubah nama, deskripsi, atau hak akses role |
| Prekondisi | Role sudah ada |
| Alur utama | 1. User memilih role dari daftar. 2. User mengubah data dan hak akses. 3. User menyimpan. 4. Sistem menyimpan perubahan. |
| Alur negatif | - Jika penyimpanan gagal, muncul pesan error. |
| Bisnis rule | - Perubahan hak akses berlaku untuk semua user dengan role tersebut setelah hak akses dimuat ulang. |
| Postkondisi | Role terbarui |
| Trigger | User menyimpan form ubah role |
| Kode FR | FR-03 |
UC-05 : Menghapus role
| Aktor | Owner / admin brand |
| Deskripsi | User menghapus role yang tidak dipakai |
| Prekondisi | Role sudah ada |
| Alur utama | 1. User memilih hapus pada role. 2. Sistem meminta konfirmasi. 3. User mengonfirmasi. 4. Sistem menghapus role. |
| Alur negatif | - Jika user membatalkan konfirmasi, role tidak dihapus. - Jika penghapusan gagal, muncul pesan error. |
| Bisnis rule | - |
| Postkondisi | Role terhapus dari daftar |
| Trigger | User mengonfirmasi hapus |
| Kode FR | FR-04 |
UC-06 : Menerapkan hak akses role saat memakai Books
| Aktor | System |
| Deskripsi | Sistem memuat hak akses user dan membatasi menu serta aksi |
| Prekondisi | User membuka brand di Books |
| Alur utama | 1. Sistem memuat hak akses user untuk brand aktif. 2. Sistem menampilkan menu yang aktif bagi user. 3. Saat user membuka menu, sistem memeriksa fitur dan tingkat akses. 4. Tombol tambah, ubah, lihat, hapus, dan arsip tampil sesuai tingkat akses. |
| Alur negatif | - Jika menu tidak ada di hak akses user, muncul notifikasi "Anda tidak memiliki akses ke menu ...". - Jika membuka halaman tambah atau edit tanpa akses basic, muncul peringatan "Anda tidak memiliki akses menu ... basic". - Jika membuka halaman lihat tanpa akses view atau arsip tanpa akses archive, muncul peringatan serupa. - Jika hak akses kosong, user dikembalikan ke dashboard brand. |
| Bisnis rule | - Admin Vobis selalu lolos pengecekan. - Owner dan admin brand hanya dibatasi oleh fitur langganan brand (daftar fitur aktif). - Fitur dengan konfigurasi alluser terbuka untuk semua user.- Fitur yang terkunci (locked) menampilkan ajakan upgrade atau demo. |
| Postkondisi | Menu dan aksi tampil sesuai hak akses |
| Trigger | User membuka brand atau berpindah halaman |
| Kode FR | FR-06 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat daftar role brand
SD-02 — UC-02 : Menambah role baru
SD-03 — UC-03 : Mengatur hak akses role per kelompok menu
SD-04 — UC-04 : Mengubah role
SD-05 — UC-05 : Menghapus role
SD-06 — UC-06 : Menerapkan hak akses role saat memakai Books
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /user/:id (BE Authorization) | existing | - |
POST /authorize/check-feature | existing | - |