Skip to content

feat(hamlets): crud hamlets - #62

Merged
hanchan-dev merged 1 commit into
devfrom
crud-hamlets
Sep 1, 2026
Merged

feat(hamlets): crud hamlets#62
hanchan-dev merged 1 commit into
devfrom
crud-hamlets

Conversation

@aaz132

@aaz132 aaz132 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Implementasi awal EV5-7-S1 (RegionController) — CRUD untuk resource hamlets (dusun): list, tambah, edit, dan hapus dusun, lengkap dengan guard otorisasi dan guard integritas data warga.

Jira Ticket

Ticket: EV5-7-S1

Type of Change

  • New feature

Changes Made

  • Tambah RegionController (app/Http/Controllers/Api/RegionController.php) dengan method indexHamlets, storeHamlet, updateHamlet, destroyHamlet
  • Guard otorisasi: hanya role petugas_desa yang boleh create/update/delete dusun (role lain dapat 403)
  • Guard integritas data: dusun yang masih punya warga aktif tidak bisa dinonaktifkan atau dihapus (409), mencegah data warga jadi yatim-piatu
  • Validasi code dusun harus unik, dengan pesan error custom Bahasa Indonesia
  • Route baru di routes/api.php dalam group auth:sanctum: GET/POST /hamlets, PATCH /hamlets/{hamlet}, DELETE /hamlets/{hamlet}

How to Test

  1. Checkout branch ini, pastikan sudah php artisan migrate --seed di database lokal
  2. Generate token Sanctum buat user role=petugas_desa lewat php artisan tinker:
    User::where('role','petugas_desa')->first()->createToken('test')->plainTextToken
  3. Test lewat Postman pakai Authorization: Bearer :
    GET /api/hamlets → daftar dusun
    POST /api/hamlets body {"name": "Dusun Test", "code": "TST"} → 201
    POST /api/hamlets dengan code yang sama lagi → 422 (duplikat)
    PATCH /api/hamlets/{id} body {"is_active": false} → 200 kalau tidak ada warga aktif, 409 kalau masih ada
    DELETE /api/hamlets/{id} → 200 kalau tidak ada warga terdaftar, 409 kalau masih ada
    Ulangi salah satu request di atas pakai user role selain petugas_desa → harus dapat 403

Screenshots (if applicable)

Checklist

  • Kode sudah di-test secara lokal
  • Tidak ada console.log / dd() / dump() yang tertinggal
  • Tidak ada conflict dengan branch target
  • Nama branch mengikuti konvensi (feature/nama-fitur, fix/nama-bug)
  • PR ditujukan ke branch dev (bukan langsung ke main)

@hanchan-dev
hanchan-dev merged commit b967ab1 into dev Sep 1, 2026
2 of 3 checks passed
@hanchan-dev
hanchan-dev deleted the crud-hamlets branch September 1, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants