Browse Source

改变任务状态为wait

kely 11 months ago
parent
commit
c73bcc67d7
3 changed files with 20 additions and 2 deletions
  1. 17 2
      app/Http/Controllers/API/TaskController.php
  2. 2 0
      app/Models/Enums/ObjectAction.php
  3. 1 0
      routes/api.php

+ 17 - 2
app/Http/Controllers/API/TaskController.php

@@ -163,8 +163,8 @@ class TaskController extends Controller
 
         $task->fill([
             'status' => TaskStatus::CANCEL->value,
-            'finished_by' => Auth::user()->id,
-            'finished_at' => Carbon::now(),
+            'canceled_by' => Auth::user()->id,
+            'canceled_at' => Carbon::now(),
         ]);
 
         $changes = ModelChangeDetector::detector(ActionObjectType::TASK, $task);
@@ -177,6 +177,21 @@ class TaskController extends Controller
         return $this->noContent();
     }
 
+    public function  wait(Request $request,string $id){
+        $task = Task::query()->allowed($id)->findOrFail($id);
+        $task->status=TaskStatus::WAIT->value;
+
+        $changes = ModelChangeDetector::detector(ActionObjectType::TASK, $task);
+        $task->save();
+
+        ActionRepository::createByTask(
+                $task, ObjectAction::WAITED, $request->get("comment"), objectChanges: $changes
+        );
+
+        return $this->noContent();
+
+    }
+
     /**
      * Update the specified resource in storage.
      */

+ 2 - 0
app/Models/Enums/ObjectAction.php

@@ -76,6 +76,8 @@ enum ObjectAction: string
 
     case DELETE_CHILDREN_TASK = "deleteChildrenTask";
 
+    case WAITED ="waited";
+
     public static function messageNotificationItems()
     {
         return [

+ 1 - 0
routes/api.php

@@ -87,6 +87,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
         Route::patch("task/{task}/pause", [API\TaskController::class, "pause"])->name("task.pause");
         Route::patch("task/{task}/done", [API\TaskController::class, "done"])->name("task.done");
         Route::patch("task/{task}/cancel", [API\TaskController::class, "cancel"])->name("task.cancel");
+        Route::patch("task/{task}/wait", [API\TaskController::class, "wait"])->name("task.wait");
 
         Route::get("permission", [API\PermissionController::class, 'groupPermissions'])->name("permission.group-permission");