service->index(); }, __('message.fetched')); } /** * 커스텀 탭 생성 */ public function store(CustomTabStoreRequest $request) { return ApiResponse::handle(function () use ($request) { return $this->service->store($request->validated()); }, __('message.created')); } /** * 커스텀 탭 수정 */ public function update(int $id, CustomTabUpdateRequest $request) { return ApiResponse::handle(function () use ($id, $request) { return $this->service->update($id, $request->validated()); }, __('message.updated')); } /** * 커스텀 탭 삭제 */ public function destroy(int $id) { return ApiResponse::handle(function () use ($id) { $this->service->destroy($id); return 'success'; }, __('message.deleted')); } /** * 커스텀 탭 순서 변경 */ public function reorder(ReorderRequest $request) { return ApiResponse::handle(function () use ($request) { $this->service->reorder($request->validated()['items']); return 'success'; }, __('message.reordered')); } }