add finish todos list
This commit is contained in:
@@ -77,9 +77,7 @@ class TimeTrackerController extends Controller
|
||||
|
||||
public function stopUserTimeTracker(Request $request)
|
||||
{
|
||||
$request->user()->currentTimeTracker()->update(['end_at' => now()]);
|
||||
$request->user()->time_tracker_id = null;
|
||||
$request->user()->save();
|
||||
$request->user()->stopCurrentTimeTracker();
|
||||
|
||||
return response()->json([], 204);
|
||||
}
|
||||
|
||||
@@ -14,8 +14,9 @@ class ToDoController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
//dd($request->user()->toDos);
|
||||
return response()->json(ToDoResource::collection($request->user()->toDos));
|
||||
$toDos = $request->user()->toDos()->whereNull('checked')->get();
|
||||
|
||||
return response()->json(ToDoResource::collection($toDos));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,6 +48,10 @@ class ToDoController extends Controller
|
||||
$data['checked'] = $request->input('checked') ? now() : null;
|
||||
$todo->update($data);
|
||||
|
||||
if ($request->user()->currentTimeTracker->to_do_id === $todo->id) {
|
||||
$request->user()->stopCurrentTimeTracker();
|
||||
}
|
||||
|
||||
return response()->json(new ToDoResource($todo));
|
||||
}
|
||||
|
||||
@@ -59,4 +64,14 @@ class ToDoController extends Controller
|
||||
|
||||
return response()->noContent();
|
||||
}
|
||||
|
||||
public function finished(Request $request)
|
||||
{
|
||||
$toDos = $request->user()->toDos()
|
||||
->whereNotNull('checked')
|
||||
->orderBy('checked', 'desc')
|
||||
->get();
|
||||
|
||||
return response()->json(ToDoResource::collection($toDos));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ class ToDoResource extends JsonResource
|
||||
'id' => $this->id,
|
||||
'user_id' => $this->user_id,
|
||||
'name' => $this->name,
|
||||
'checked' => (boolean) $this->checked,
|
||||
'checked' => $this->checked,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,4 +55,11 @@ class User extends Authenticatable
|
||||
{
|
||||
return $this->hasMany(ToDo::class);
|
||||
}
|
||||
|
||||
public function stopCurrentTimeTracker(): void
|
||||
{
|
||||
$this->currentTimeTracker()->update(['end_at' => now()]);
|
||||
$this->time_tracker_id = null;
|
||||
$this->save();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user