service->index($id, $request->all()); }, '카테고리 필드 목록'); } // POST /categories/{id}/fields public function store(int $id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { return $this->service->store($id, $request->all()); }, '카테고리 필드 생성'); } // GET /categories/fields/{field} public function show(int $field) { return ApiResponse::handle(function () use ($field) { return $this->service->show($field); }, '카테고리 필드 조회'); } // PATCH /categories/fields/{field} public function update(int $field, Request $request) { return ApiResponse::handle(function () use ($field, $request) { return $this->service->update($field, $request->all()); }, '카테고리 필드 수정'); } // DELETE /categories/fields/{field} public function destroy(int $field) { return ApiResponse::handle(function () use ($field) { $this->service->destroy($field); return 'success'; }, '카테고리 필드 삭제'); } // POST /categories/{id}/fields/reorder public function reorder(int $id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { $this->service->reorder($id, $request->input()); return 'success'; }, '카테고리 필드 정렬 저장'); } // PUT /categories/{id}/fields/bulk-upsert public function bulkUpsert(int $id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { return $this->service->bulkUpsert($id, $request->input('items', [])); }, '카테고리 필드 일괄 업서트'); } }