service->index($request->all()); }, __('message.work_order.fetched')); } /** * 통계 조회 */ public function stats() { return ApiResponse::handle(function () { return $this->service->stats(); }, __('message.work_order.fetched')); } /** * 단건 조회 */ public function show(int $id) { return ApiResponse::handle(function () use ($id) { return $this->service->show($id); }, __('message.work_order.fetched')); } /** * 생성 */ public function store(WorkOrderStoreRequest $request) { return ApiResponse::handle(function () use ($request) { return $this->service->store($request->validated()); }, __('message.work_order.created')); } /** * 수정 */ public function update(WorkOrderUpdateRequest $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->update($id, $request->validated()); }, __('message.work_order.updated')); } /** * 삭제 */ public function destroy(int $id) { return ApiResponse::handle(function () use ($id) { $this->service->destroy($id); return 'success'; }, __('message.work_order.deleted')); } /** * 상태 변경 */ public function updateStatus(WorkOrderStatusRequest $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->updateStatus($id, $request->validated()['status']); }, __('message.work_order.status_updated')); } /** * 담당자 배정 */ public function assign(WorkOrderAssignRequest $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->assign($id, $request->validated()); }, __('message.work_order.assigned')); } /** * 벤딩 항목 토글 */ public function toggleBendingField(Request $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->toggleBendingField($id, $request->input('field')); }, __('message.work_order.bending_toggled')); } /** * 이슈 추가 */ public function addIssue(WorkOrderIssueRequest $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->addIssue($id, $request->validated()); }, __('message.work_order.issue_added')); } /** * 이슈 해결 */ public function resolveIssue(int $workOrderId, int $issueId) { return ApiResponse::handle(function () use ($workOrderId, $issueId) { return $this->service->resolveIssue($workOrderId, $issueId); }, __('message.work_order.issue_resolved')); } }