service->index($request->all()); }, __('message.demo_tenant.fetched')); } /** * 데모 테넌트 상세 조회 */ public function show(int $id) { return ApiResponse::handle(function () use ($id) { return $this->service->show($id); }, __('message.demo_tenant.fetched')); } /** * 고객 체험 테넌트 생성 (Tier 3) */ public function store(DemoTenantStoreRequest $request) { return ApiResponse::handle(function () use ($request) { return $this->service->createTrialFromApi($request->validated()); }, __('message.demo_tenant.created')); } /** * 데모 데이터 리셋 */ public function reset(int $id) { return ApiResponse::handle(function () use ($id) { return $this->service->resetFromApi($id); }, __('message.demo_tenant.reset')); } /** * 체험 기간 연장 */ public function extend(int $id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { $days = (int) $request->input('days', 30); return $this->service->extendFromApi($id, $days); }, __('message.demo_tenant.extended')); } /** * 데모 → 정식 전환 */ public function convert(int $id) { return ApiResponse::handle(function () use ($id) { return $this->service->convertFromApi($id); }, __('message.demo_tenant.converted')); } /** * 데모 현황 통계 */ public function stats() { return ApiResponse::handle(function () { return $this->service->stats(); }, __('message.fetched')); } }