diff --git a/app/Http/Controllers/TasksController.php b/app/Http/Controllers/TasksController.php index ef9c28229eace372bde8b701b55c90a9479df210..590382fa827422de04419d6905c01d2ec625ab8e 100644 --- a/app/Http/Controllers/TasksController.php +++ b/app/Http/Controllers/TasksController.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\Tasks; use App\Groups; use App\TasksMember; +use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\DB; use function GuzzleHttp\json_encode; class TasksController extends Controller @@ -20,28 +21,29 @@ class TasksController extends Controller public function store(Request $request) { // - $user = $request->user(); $result = $request->has([ 'group_id', 'task_name', 'description', - 'kanban_status' + 'kanban_status', + 'work_hour' ]); if ($result) { $form = [ 'group_id' => $request->group_id, 'task_name' => $request->task_name, 'description' => $request->description, - 'kanban_status' => $request->kanban_status + 'kanban_status' => $request->kanban_status, + 'work_hour' => $request->work_hour ]; $task = Tasks::create($form); return response(json_encode([ - 'data' => $task->toArray(), - 'msg' => ['Success'] + 'data' => NULL, + 'statusMessage' => 'success' ]), 200); } else { return response(json_encode([ - 'err' => ['Bad Request'] + 'statusMessage' => 'error' ]), 400); } } @@ -171,4 +173,33 @@ class TasksController extends Controller ]), 200); } } + + + + public function moveTask($taskId) { + $task = Tasks::where([ + 'id' => $taskId + ])->first(); + if (is_null($task)) { + return response(json_encode([ + 'data' => NULL, + 'statusMessage' => 'error' + ]), 404); + } else { + + switch($task->kanban_status) { + case Config::get('constants.KANBAN_STATUS.OPEN'): + $task->kanban_status = Config::get('constants.KANBAN_STATUS.WIP'); + break; + case Config::get('constants.KANBAN_STATUS.WIP'): + $task->kanban_status = Config::get('constants.KANBAN_STATUS.DONE'); + break; + } + $task->save(); + return response(json_encode([ + 'data' => NULL, + 'statusMessage' => 'success' + ]), 200); + } + } } diff --git a/app/Tasks.php b/app/Tasks.php index e0a2a332f11607c976cf874f8281c5d015d449af..2ecce701fa57c1a1d7899a5215eb0329a41c8733 100644 --- a/app/Tasks.php +++ b/app/Tasks.php @@ -9,7 +9,7 @@ class Tasks extends Model protected $fillable = [ 'group_id', 'task_name', - 'description', 'kanban_status' + 'description', 'kanban_status', 'work_hour' ]; public function groups() diff --git a/routes/api.php b/routes/api.php index 1a09b5662d5a644561dd3ef7867fa938f6a017dc..03b7208eb6e49a2a43e1252a786fc3df70e271e4 100644 --- a/routes/api.php +++ b/routes/api.php @@ -33,6 +33,8 @@ Route::get('/tasks/{taskId}', 'TasksController@show'); Route::put('/tasks/{taskId}', 'TasksController@update'); Route::delete('/tasks/{taskId}', 'TasksController@destroy'); //Bisa //Hapus Task +Route::put('/task/move/{taskId}', 'TasksController@moveTask'); + //Task Member Route::delete('/task_member', 'TasksMemberController@removeMember'); //Bisa //delete member di task Route::post('/task_member', 'TasksMemberController@addMember'); //Bisa //Tambah member task