Controller Utility di Elysia-Light

Controller Utility di Elysia-Light menyediakan kumpulan helper yang disuntikkan langsung ke ControllerContext. Tujuannya adalah menyeragamkan cara membaca request, melakukan validasi, serta mengembalikan response tanpa boilerplate berulang di setiap controller.

getQuery

getQuery digunakan untuk mengambil dan menormalkan parameter query umum seperti pagination, sorting, filtering, dan searching. Helper ini membuat controller tetap bersih tanpa parsing manual query string.
Kode berhasil di copy!
5

validation

validation digunakan untuk memvalidasi request body berdasarkan rules. Jika validasi gagal, request akan otomatis dihentikan dengan response 422.
Kode berhasil di copy!
5

responseData

responseData digunakan untuk mengembalikan data list dengan format yang konsisten, termasuk total data untuk kebutuhan pagination.
Kode berhasil di copy!
5

responseSuccess

responseSuccess digunakan untuk mengembalikan response sukses umum dengan status 200 atau 201. Cocok untuk operasi non-create seperti update atau action lain.
Kode berhasil di copy!
5

responseSaved

responseSaved digunakan khusus untuk response setelah create data. Secara default mengembalikan status 201.
Kode berhasil di copy!
5

responseError

responseError digunakan untuk menangani error server-side. Helper ini akan mencatat error ke logger dan mengembalikan response 500 sesuai konfigurasi debug.
Kode berhasil di copy!
5

responseForbidden

responseForbidden digunakan untuk menghentikan request dengan status 403. Biasanya dipanggil saat permission atau authorization gagal.
Kode berhasil di copy!
5

uploadFile

uploadFile digunakan untuk menyimpan file upload ke storage. Helper ini akan membuat folder otomatis dan mengembalikan path file yang tersimpan.
Kode berhasil di copy!
5

deleteFile

deleteFile digunakan untuk menghapus file dari storage berdasarkan path file.
Kode berhasil di copy!
5

Best Practice

Gunakan controller hanya sebagai orchestrator. Hindari logic kompleks di controller. Manfaatkan helper ini untuk konsistensi response, validasi, dan handling error di seluruh API.