tracker; if (! $tracker) { return response()->json(['exists' => false]); } return response()->json(['exists' => true, 'tracker' => $tracker]); } public function store(Request $request): JsonResponse { $validated = $request->validate([ 'label' => 'sometimes|string|max:255', 'unit' => 'sometimes|string|max:50', ]); $user = User::default(); if ($user->tracker) { return response()->json(['error' => 'Tracker already exists.'], 409); } $tracker = $user->tracker()->create([ 'label' => $validated['label'] ?? 'Counter', 'unit' => $validated['unit'] ?? 'units', ]); return response()->json($tracker, 201); } public function update(Request $request): JsonResponse { $validated = $request->validate([ 'label' => 'sometimes|string|max:255', 'unit' => 'sometimes|string|max:50', ]); $tracker = User::default()->tracker; if (! $tracker) { return response()->json(['error' => 'No counter found.'], 404); } $tracker->update($validated); return response()->json($tracker); } }