- Menambahkan kolom `parent_id` pada tabel `branches` dengan migrasi baru.
- Update model `Branch`:
- Menambahkan relasi `parent()` untuk mendapatkan cabang induk.
- Menambahkan relasi `children()` untuk mendapatkan anak cabang.
- Update `BranchController`:
- Menampilkan daftar cabang induk saat membuat atau mengedit cabang.
- Cek validasi agar cabang tidak bisa menjadi induk dirinya sendiri.
- Tambahkan larangan hapus cabang jika memiliki anak cabang, baik untuk hapus tunggal maupun multiple.
- Update validation rules pada `BranchRequest` untuk memastikan validitas `parent_id`.
- Update tampilan:
- Formulir pembuatan/edit cabang: Menampilkan dropdown untuk memilih cabang induk.
- Daftar cabang: Menampilkan kolom untuk cabang induk.
- Tambahkan test unit:
- Validasi relasi parent-child pada penyimpanan dan pembaruan cabang.
- Melarang penghapusan cabang yang memiliki anak.
- Memastikan perilaku relasi parent-child sesuai ekspektasi.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>