only([ 'year', 'category', 'search', 'sort_by', 'sort_order', 'per_page', 'page', ]); $expenses = $this->service->index($params); return ApiResponse::success($expenses, __('message.fetched')); } /** * 경조사비 통계 */ public function summary(Request $request) { $params = $request->only(['year', 'category']); $summary = $this->service->summary($params); return ApiResponse::success($summary, __('message.fetched')); } /** * 경조사비 상세 */ public function show(int $id) { $expense = $this->service->show($id); return ApiResponse::success($expense, __('message.fetched')); } /** * 경조사비 등록 */ public function store(StoreCondolenceExpenseRequest $request) { $expense = $this->service->store($request->validated()); return ApiResponse::success($expense, __('message.created'), [], 201); } /** * 경조사비 수정 */ public function update(int $id, UpdateCondolenceExpenseRequest $request) { $expense = $this->service->update($id, $request->validated()); return ApiResponse::success($expense, __('message.updated')); } /** * 경조사비 삭제 */ public function destroy(int $id) { $this->service->destroy($id); return ApiResponse::success(null, __('message.deleted')); } }