Skip to Content

My Files (File Saya)

CodeACC-FIL
ModuleAccount
TypeSelf-service file library
StatusImplemented
PriorityP2
ProcessManajemen akun pribadi
API[URL Postman]

1. Overview

File Saya adalah pustaka file yang diunggah oleh pengguna yang sedang login, misalnya foto profil, gambar produk, dan logo. Pengguna bisa melihat file dalam tampilan grid atau tabel, mencari, menyaring (kategori, ekstensi, penggunaan), melihat pratinjau, dan menghapus file miliknya.

Halaman ini adalah versi pribadi dari Settings → Pengelola File. Bedanya, hanya file milik pengguna sendiri yang tampil, dan tidak butuh permission khusus.

Hasil yang diharapkan: pengguna bisa membersihkan unggahannya sendiri tanpa akses admin.

2. Problem

  • Pengguna sering mengunggah file yang akhirnya tidak dipakai (salah pilih, coba-coba).
  • Pengguna biasa tidak punya akses ke Pengelola File tenant, tetapi tetap perlu mengelola unggahannya.

3. Goals & Non-goals

Goals

  • Pengguna bisa melihat semua file yang ia unggah. Indikator: daftar hanya berisi file milik pengguna.
  • Pengguna bisa membersihkan file tak terpakai. Indikator: filter “Tidak Digunakan” dan hapus massal.

Non-goals

  • Unggah file langsung dari halaman ini
  • Berbagi file ke pengguna lain
  • Melihat file milik pengguna lain (lihat Pengelola File)

4. User Scenarios

RoleScenario
Semua penggunaMenyaring file “Tidak Digunakan” lalu menghapusnya sekaligus
StafMencari gambar produk yang pernah diunggah untuk memeriksanya
Semua penggunaBeralih ke tampilan grid untuk melihat gambar secara visual

5. User Flow

  1. Daftar file — Dimuat bertahap (15 per muatan). Pilihan tampilan grid/tabel disimpan di browser (localStorage, terpisah dari Pengelola File).
  2. Cari / filter — Pencarian kata kunci; filter kategori (Gambar, Dokumen, Audio, Video), ekstensi (menyesuaikan kategori), dan penggunaan (Digunakan / Tidak Digunakan).
  3. Pratinjau — Membuka file dalam penampil.
  4. Konfirmasi hapus — Dialog konfirmasi hapus satuan atau massal.
  5. Terhapus — Toast sukses, daftar dimuat ulang.

Alternative paths

  • Kategori filter diubah — ekstensi yang tidak termasuk kategori baru otomatis dilepas.

6. User Stories

Prioritas: P0 wajib untuk rilis, P1 penting, P2 kalau sempat.

US-01 — Menelusuri file saya (P2)

Sebagai pengguna, saya ingin melihat semua file yang saya unggah.

IDKriteria penerimaan
AC-01.1Hanya file milik pengguna yang login yang tampil.
AC-01.2Tampilan tabel: nama berkas, kategori, ukuran, diunggah pada, digunakan di (kosong ditampilkan ”-”).
AC-01.3Tampilan grid: gambar mini untuk file gambar, nama berkas, tipe MIME.
AC-01.4Pilihan tampilan tersimpan di browser.

US-02 — Mencari dan menyaring (P2)

Sebagai pengguna, saya ingin menyaring file saya.

IDKriteria penerimaan
AC-02.1Pencarian kata kunci.
AC-02.2Filter kategori (multi), ekstensi (multi, sesuai kategori), dan penggunaan.
AC-02.3Jumlah filter aktif tampil di tombol filter.

US-03 — Pratinjau dan hapus (P2)

Sebagai pengguna, saya ingin melihat dan menghapus file saya.

IDKriteria penerimaan
AC-03.1Aksi Lihat membuka pratinjau dari grid maupun tabel.
AC-03.2Hapus satuan dan massal selalu tersedia (tanpa permission), setelah konfirmasi.
AC-03.3Bila BE menolak, pesan error tampil sebagai toast.

7. Document Structure

Sama dengan PRD File Manager bagian 7, tanpa kolom “Dibuat Oleh” (selalu pengguna sendiri).

FieldRequiredDefaultNotes
Nama BerkasRead-only
Kategoriimage, document, audio, video
Ukuran
Diunggah Pada
Digunakan DiKoleksi dari fileables; kosong ditampilkan ”-”

8. Status Lifecycle

Tidak berlaku. Status “Digunakan / Tidak Digunakan” diturunkan dari relasi fileables.

9. Permissions & Actions

Permissions

ActionPermissionSyarat tambahan
Lihat, cari, filter, pratinjau, hapusPengguna login; hanya file milik sendiri

10. Business Rules

Aturan bisnis adalah ketentuan yang berlaku di semua layar dan semua aksi, siapa pun yang melakukannya. FE memakainya sebagai validasi di form, BE memakainya sebagai sumber kebenaran; jika keduanya berbeda, perilaku BE yang dianggap benar dan FE menyesuaikan.

  • BR-01 Hanya file dengan pengunggah = pengguna login yang dikembalikan dan boleh dihapus.
  • BR-02 File hanya ditambahkan lewat komponen pengunggah di fitur lain.
  • BR-03 Filter penggunaan dikirim sebagai has_any_relationships.
  • BR-04 Filter ekstensi hanya berisi ekstensi dari kategori terpilih.

11. Edge Cases

Edge case adalah kondisi yang jarang terjadi tetapi pasti muncul di operasional nyata. Perilaku yang diharapkan ditetapkan di sini agar tidak diputuskan sendiri-sendiri saat implementasi.

IDCaseExpected behavior
EC-01Menghapus file yang masih digunakan (misalnya foto profil sendiri atau gambar produk)FE tidak memperingatkan; BE menentukan apakah ditolak atau relasi ikut dilepas
EC-02Pengguna mengunggah file lalu batal menyimpan formFile tetap ada sebagai “Tidak Digunakan” dan bisa dihapus di sini

12. API Contract

ActionMethodEndpointRef
Daftar file saya (cursor, cari, filter)GET/api/auth/files/cursorUS-01, US-02
Hapus file sayaDELETE/api/auth/files/:idUS-03
Hapus file saya massalPOST/api/auth/files/delete-manyUS-03

13. Dependencies

PRD terkait

  • File Manager (Settings) — versi tenant dengan semua file dan filter pengunggah.
  • My Account — foto profil disimpan sebagai file milik pengguna.
Last updated on