feat(response): Restrukturisasi format response untuk validasi error dan response sukses

- Menambahkan logika baru di `ResponseCode` untuk memisahkan struktur response sukses dan error.
- Field `errors` sekarang berada di root level untuk response validasi error.
- Meta response error lebih ringkas, hanya menyertakan `generated_at` dan `request_id`.
- Pesan error menampilkan seluruh daftar error, bukan hanya error pertama.
- Konsistensi format response memudahkan integrasi dengan frontend.
- Field `account_number` dan `period` dihapus dari meta pada response error.
- Memberikan request_id otomatis pada setiap response untuk keperluan tracking.
- Semua endpoint yang menggunakan ResponseCode enum otomatis mengikuti format baru.
This commit is contained in:
Daeng Deni Mardaeni
2025-08-28 11:18:57 +07:00
parent e53b522f77
commit adda3122f8
2 changed files with 19 additions and 16 deletions

View File

@@ -81,13 +81,12 @@ class BalanceSummaryRequest extends FormRequest
protected function failedValidation($validator)
{
$errors = $validator->errors();
$firstError = $errors->first();
throw new \Illuminate\Http\Exceptions\HttpResponseException(
response()->json(
\Modules\Webstatement\Enums\ResponseCode::INVALID_FIELD->toResponse(
null,
$firstError
['errors' => $errors->all()],
'Field tertentu tidak sesuai aturan'
),
\Modules\Webstatement\Enums\ResponseCode::INVALID_FIELD->getHttpStatus()
)
@@ -107,4 +106,4 @@ class BalanceSummaryRequest extends FormRequest
'user_agent' => $this->userAgent()
]);
}
}
}