From 45dc631f8c71587cdac27dc0bb79ff7d30b87fd9 Mon Sep 17 00:00:00 2001 From: Michal Feher Date: Wed, 15 Feb 2023 09:22:45 +0100 Subject: [PATCH] GET unscheduled subtasks --- be/app/Http/Controllers/SubTaskController.php | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/be/app/Http/Controllers/SubTaskController.php b/be/app/Http/Controllers/SubTaskController.php index d3fee1f..0450487 100644 --- a/be/app/Http/Controllers/SubTaskController.php +++ b/be/app/Http/Controllers/SubTaskController.php @@ -18,6 +18,11 @@ class SubTaskController extends Controller // get query parameter from request $parameters = $request->query(); + // unscheduled tasks + if (isset($parameters['type']) && $parameters['type'] == 'unscheduled') { + return $this->indexUnscheduled($request); + } + $parameters['user_id'] = ( $parameters['employee_id'] ?? null ); $validator = Validator::make($request->all(), [ @@ -57,6 +62,28 @@ class SubTaskController extends Controller ], 200); } + private function indexUnscheduled(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'])->whereDoesntHave( 'timeblocks')->get(); + + return response()->json( [ + 'subtasks' => $subtasks + ], 200 ); + } + + public function store($mastertask_id, Request $request) { $validator = Validator::make($request->all(), [ @@ -201,4 +228,5 @@ class SubTaskController extends Controller 'subtask' => $subtask ], 201); } + }