diff --git a/be/app/Http/Controllers/SubTaskController.php b/be/app/Http/Controllers/SubTaskController.php index 0450487..bfe4418 100644 --- a/be/app/Http/Controllers/SubTaskController.php +++ b/be/app/Http/Controllers/SubTaskController.php @@ -23,6 +23,11 @@ class SubTaskController extends Controller return $this->indexUnscheduled($request); } + // ongoing tasks + if (isset($parameters['type']) && $parameters['type'] == 'ongoing') { + return $this->indexOngoing($request); + } + $parameters['user_id'] = ( $parameters['employee_id'] ?? null ); $validator = Validator::make($request->all(), [ @@ -76,13 +81,35 @@ class SubTaskController extends Controller $parameters['user_id'] = $parameters['employee_id']; - $subtasks = SubTask::where('user_id', $parameters['user_id'])->whereDoesntHave( 'timeblocks')->get(); + $subtasks = SubTask::where('user_id', $parameters['user_id'])->where('is_finished', 0)->whereDoesntHave( 'timeblocks')->get(); return response()->json( [ 'subtasks' => $subtasks ], 200 ); } + private function indexOngoing(Request $request) { + // get query parameter from request + $parameters = $request->query(); + + $validator = Validator::make( $parameters, [ + 'employee_id' => 'required', + ] ); + + if ( $validator->fails() ) { + return response()->json( $validator->errors(), 400 ); + } + + $parameters['user_id'] = $parameters['employee_id']; + + $subtasks = SubTask::where('user_id', $parameters['user_id'])->where('is_finished', 0)->get(); + + return response()->json( [ + 'subtasks' => $subtasks + ], 200 ); + } + + public function store($mastertask_id, Request $request) {