From d5a8bc8e99f63e61d6ef264ed8d75543068c10c6 Mon Sep 17 00:00:00 2001 From: Michal Feher Date: Wed, 22 Feb 2023 12:06:10 +0100 Subject: [PATCH] no message --- be/app/Http/Resources/SubTaskResource.php | 3 +- ...22_105208_add_description_to_sub_tasks.php | 32 +++++ be/routes/api.php | 112 ++++++++++-------- 3 files changed, 94 insertions(+), 53 deletions(-) create mode 100644 be/database/migrations/2023_02_22_105208_add_description_to_sub_tasks.php diff --git a/be/app/Http/Resources/SubTaskResource.php b/be/app/Http/Resources/SubTaskResource.php index 7f0c9df..0d5aa93 100644 --- a/be/app/Http/Resources/SubTaskResource.php +++ b/be/app/Http/Resources/SubTaskResource.php @@ -16,7 +16,8 @@ class SubTaskResource extends JsonResource { return [ 'id' => $this->id, - 'description' => $this->mastertask->description, + 'master_task_description' => $this->mastertask->description, + 'description' => $this->description, 'project_code' => $this->mastertask->project->code, 'master_task_id' => $this->mastertask->id, 'master_task' => $this->mastertask->title, diff --git a/be/database/migrations/2023_02_22_105208_add_description_to_sub_tasks.php b/be/database/migrations/2023_02_22_105208_add_description_to_sub_tasks.php new file mode 100644 index 0000000..fcf7067 --- /dev/null +++ b/be/database/migrations/2023_02_22_105208_add_description_to_sub_tasks.php @@ -0,0 +1,32 @@ +longText('description')->after('user_id')->nullable()->default(null); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sub_tasks', function (Blueprint $table) { + // + }); + } +}; diff --git a/be/routes/api.php b/be/routes/api.php index 5e86a41..13ecd69 100644 --- a/be/routes/api.php +++ b/be/routes/api.php @@ -32,68 +32,76 @@ use Illuminate\Http\Request; | */ -Route::middleware('auth:sanctum')->get('/user', function (Request $request) { - return $request->user(); -}); +Route::middleware(['auth:sanctum'])->group(function () { + Route::get('/user', function (Request $request) { + return $request->user(); + }); -Route::get('/v1/teams', function () { - return new TeamCollection(Team::all()); -}); -Route::get('/v1/teams/{id}', function ($id) { - return new TeamResource(Team::find($id)); -}); -Route::post('/v1/teams', TeamController::class . '@store'); -Route::put('/v1/teams/{id}', TeamController::class . '@update'); -Route::delete('/v1/teams/{id}', TeamController::class . '@delete'); + Route::get('/v1/teams', function () { + return new TeamCollection(Team::all()); + }); -Route::get('/v1/employees', function () { - return new UserCollection(User::all()); -}); -Route::get('/v1/employees/{id}', function ($id) { - return new UserResource(User::find($id)); -}); -Route::get('/v1/projects', function () { - return new ProjectCollection(Project::all()); -}); + Route::get('/v1/teams/{id}', function ($id) { + return new TeamResource(Team::find($id)); + }); + Route::post('/v1/teams', TeamController::class . '@store'); + Route::put('/v1/teams/{id}', TeamController::class . '@update'); + Route::delete('/v1/teams/{id}', TeamController::class . '@delete'); -Route::get('/v1/mastertasks', function () { - return new MasterTaskCollection( MasterTask::all()); -}); + Route::get('/v1/employees', function () { + return new UserCollection(User::all()); + }); + Route::get('/v1/employees/{id}', function ($id) { + return new UserResource(User::find($id)); + }); -Route::middleware('auth:sanctum')->get('/v1/mastertasks/{id}', function ($id) { - return new MasterTaskResource( MasterTask::find($id)); + Route::get('/v1/projects', function () { + return new ProjectCollection(Project::all()); + }); + + Route::get('/v1/mastertasks', function () { + return new MasterTaskCollection( MasterTask::all()); + }); + + Route::get('/v1/mastertasks/{id}', function ($id) { + return new MasterTaskResource( MasterTask::find($id)); + }); + + Route::post('/v1/mastertasks', MasterTaskController::class . '@store'); + Route::put('/v1/mastertasks/{id}', MasterTaskController::class . '@update'); + Route::delete('/v1/mastertasks/{id}', MasterTaskController::class . '@delete'); + + Route::get('/v1/mastertasks/{id}/subtasks', function ($id) { + return new SubTaskCollection( SubTask::whereHas('mastertask', function ($query) use ($id) { + $query->where('id', $id); + })->get()); + }); + + Route::post('/v1/mastertasks/{id}/subtasks', SubTaskController::class . '@store'); + Route::put('/v1/subtasks/{id}', SubTaskController::class . '@update'); + + Route::get('/v1/subtasks/{id}', function ($id) { + return new SubTaskResource( SubTask::find($id)); + }); + Route::post('/v1/subtasks/{id}/timesheet', SubTaskController::class . '@submitTimesheet'); + + Route::get('/v1/subtasks',SubTaskController::class . '@index'); + + Route::delete('/v1/subtasks/{id}', SubTaskController::class . '@delete'); + + Route::post('/v1/tokens/create', function (Request $request) { + $user = User::where('email', $request->all()['data']['email'])->first(); + + $token = $user->createToken($user->email . '-' . now()); + + return ['token' => $token->plainTextToken]; + }); }); -Route::post('/v1/mastertasks', MasterTaskController::class . '@store'); -Route::put('/v1/mastertasks/{id}', MasterTaskController::class . '@update'); -Route::delete('/v1/mastertasks/{id}', MasterTaskController::class . '@delete'); -Route::get('/v1/mastertasks/{id}/subtasks', function ($id) { - return new SubTaskCollection( SubTask::whereHas('mastertask', function ($query) use ($id) { - $query->where('id', $id); - })->get()); -}); -Route::post('/v1/mastertasks/{id}/subtasks', SubTaskController::class . '@store'); -Route::put('/v1/subtasks/{id}', SubTaskController::class . '@update'); -Route::get('/v1/subtasks/{id}', function ($id) { - return new SubTaskResource( SubTask::find($id)); -}); -Route::post('/v1/subtasks/{id}/timesheet', SubTaskController::class . '@submitTimesheet'); - -Route::get('/v1/subtasks',SubTaskController::class . '@index'); - -Route::delete('/v1/subtasks/{id}', SubTaskController::class . '@delete'); - -Route::post('/v1/tokens/create', function (Request $request) { - $user = User::where('email', $request->all()['data']['email'])->first(); - - $token = $user->createToken($user->email . '-' . now()); - - return ['token' => $token->plainTextToken]; -});