service->index($request->all()); }, __('message.fetched')); } public function stats(Request $request): JsonResponse { return ApiResponse::handle(function () use ($request) { return $this->service->stats($request->all()); }, __('message.fetched')); } public function show(int $id): JsonResponse { return ApiResponse::handle(function () use ($id) { return $this->service->show($id); }, __('message.fetched')); } public function store(StoreNonconformingReportRequest $request): JsonResponse { return ApiResponse::handle(function () use ($request) { return $this->service->store($request->validated()); }, __('message.created')); } public function update(UpdateNonconformingReportRequest $request, int $id): JsonResponse { return ApiResponse::handle(function () use ($request, $id) { return $this->service->update($id, $request->validated()); }, __('message.updated')); } public function destroy(int $id): JsonResponse { return ApiResponse::handle(function () use ($id) { $this->service->destroy($id); return 'success'; }, __('message.deleted')); } public function changeStatus(Request $request, int $id): JsonResponse { $request->validate(['status' => 'required|string|in:RECEIVED,ANALYZING,RESOLVED,CLOSED']); return ApiResponse::handle(function () use ($request, $id) { return $this->service->changeStatus($id, $request->input('status')); }, __('message.updated')); } }