From f3ed454d6f1af8ee203aebc4ed0ccf63bbad2756 Mon Sep 17 00:00:00 2001 From: Michal Feher Date: Mon, 22 May 2023 15:57:16 +0200 Subject: [PATCH] subtask.title, timeblock is_finished --- be/app/Http/Resources/SubTaskResource.php | 1 + be/app/Http/Resources/TimeblockResource.php | 1 + ...2_132836_add_is_finished_to_timeblocks.php | 32 +++++++++++++++++++ ...023_05_22_134824_add_title_to_sub_task.php | 32 +++++++++++++++++++ be/routes/api.php | 15 ++++++++- 5 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 be/database/migrations/2023_05_22_132836_add_is_finished_to_timeblocks.php create mode 100644 be/database/migrations/2023_05_22_134824_add_title_to_sub_task.php diff --git a/be/app/Http/Resources/SubTaskResource.php b/be/app/Http/Resources/SubTaskResource.php index e9b2124..fbd83b1 100644 --- a/be/app/Http/Resources/SubTaskResource.php +++ b/be/app/Http/Resources/SubTaskResource.php @@ -22,6 +22,7 @@ class SubTaskResource extends JsonResource 'project_code' => ($this->mastertask->project) ? $this->mastertask->project->code : null, 'master_task_id' => $this->mastertask->id, 'master_task' => $this->mastertask->title, + 'title' => $this->title, 'team_id' => ($this->mastertask->team) ? $this->mastertask->team->id : null, 'team' => $this->mastertask->team, 'employee_id' => $this->user->id, diff --git a/be/app/Http/Resources/TimeblockResource.php b/be/app/Http/Resources/TimeblockResource.php index 63d55a4..d1163c2 100644 --- a/be/app/Http/Resources/TimeblockResource.php +++ b/be/app/Http/Resources/TimeblockResource.php @@ -18,6 +18,7 @@ class TimeblockResource extends JsonResource 'id' => $this->id, 'start' => $this->start, 'end' => $this->end, + 'is_finished' => $this->is_finished, ]; } diff --git a/be/database/migrations/2023_05_22_132836_add_is_finished_to_timeblocks.php b/be/database/migrations/2023_05_22_132836_add_is_finished_to_timeblocks.php new file mode 100644 index 0000000..1e2e566 --- /dev/null +++ b/be/database/migrations/2023_05_22_132836_add_is_finished_to_timeblocks.php @@ -0,0 +1,32 @@ +boolean('is_finished')->after('end')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('timeblocks', function (Blueprint $table) { + // + }); + } +}; diff --git a/be/database/migrations/2023_05_22_134824_add_title_to_sub_task.php b/be/database/migrations/2023_05_22_134824_add_title_to_sub_task.php new file mode 100644 index 0000000..630b554 --- /dev/null +++ b/be/database/migrations/2023_05_22_134824_add_title_to_sub_task.php @@ -0,0 +1,32 @@ +string('title')->after('user_id')->nullable()->default(null); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sub_task', function (Blueprint $table) { + // + }); + } +}; diff --git a/be/routes/api.php b/be/routes/api.php index c9144e8..b81eb69 100644 --- a/be/routes/api.php +++ b/be/routes/api.php @@ -13,6 +13,7 @@ use App\Http\Resources\SubTaskCollection; use App\Http\Resources\SubTaskResource; use App\Http\Resources\TeamCollection; use App\Http\Resources\TeamResource; +use App\Http\Resources\TimeblockResource; use App\Http\Resources\UserCollection; use App\Http\Resources\UserResource; use App\Models\Blocker; @@ -20,6 +21,7 @@ use App\Models\MasterTask; use App\Models\Project; use App\Models\SubTask; use App\Models\Team; +use App\Models\Timeblock; use App\Models\User; use Illuminate\Support\Facades\Route; use Illuminate\Http\Request; @@ -110,7 +112,7 @@ Route::middleware(['auth:sanctum', 'abilities:full-access'])->group(function () $projectIDs = Project::where('name', 'like', '%' . $search . '%')->orWhere('code', 'like', '%' . $search . '%')->get()->pluck('id'); $userIDs = User::where('firstname', 'like', '%' . $search . '%')->orWhere('lastname', 'like', '%' . $search . '%')->get()->pluck('id'); - + $teams = Team::whereHas('users', function($q) use($userIDs) { $q->whereIn('user_id', $userIDs); })->orWhere('name', 'like', '%' . $search . '%' )->get(); @@ -125,6 +127,17 @@ Route::middleware(['auth:sanctum', 'abilities:full-access'])->group(function () 'subtasks' => new SubTaskCollection($subtasks), ]; }); + + Route::put('/v1/timeblocks/{id}', function ($id, Request $request) { + $is_finished = $request->all()['data']['is_finished']; + + $timeblock = Timeblock::find($id); + + $timeblock->is_finished = $is_finished; + $timeblock->save(); + + return new TimeblockResource($timeblock); + }); }); Route::middleware(['auth:sanctum', 'abilities:password-reset'])->group(function () {