Преглед изворни кода

项目关联资产获取树,和需求分组

kely пре 1 година
родитељ
комит
f04ae3c5ba

+ 9 - 0
app/Http/Controllers/API/ProjectController.php

@@ -8,6 +8,7 @@ use App\Http\Requests\API\Project\LinkRequirementByPlanRequest;
 use App\Http\Requests\API\Project\LinkRequirementRequest;
 use App\Http\Requests\API\Project\PostponeRequest;
 use App\Http\Requests\API\Project\UnlinkRequirementRequest;
+use App\Http\Resources\API\AssetParentResource;
 use App\Http\Resources\API\ProjectAssetResource;
 use App\Http\Resources\API\ProjectDetailResource;
 use App\Http\Resources\API\SimplePlanResource;
@@ -38,6 +39,14 @@ class ProjectController extends Controller
         return ProjectResource::collection($projectAsset);
     }
 
+    public function treeIndex(string $id){
+        $asset=Asset::query()->whereHas('projects',function ($query) use($id){
+            $query->where('projects.id',$id);
+        })->get();
+        return AssetParentResource::collection($asset);
+
+    }
+
     /**
      * Store a newly created resource in storage.
      */

+ 1 - 0
app/Http/Resources/API/AssetParentResource.php

@@ -20,6 +20,7 @@ class AssetParentResource extends JsonResource
         return[
             'id'=>$this->id,
             'name'=>$this->name,
+            'path' => $this->path,
             'parent_asset'=>$this->when($this->parent !== null, function () {
                 return[
                     new AssetParentResource($this->parent)

+ 2 - 0
routes/api.php

@@ -100,5 +100,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
         Route::post("download", [API\FileController::class, "download"])->name("fileDownload");
 
         Route::post("task-batch-create", [API\TaskController::class, "batchStore"])->name("task.batch-store");
+
+        Route::get("project-tree/{project_id}", [API\ProjectController::class, "treeIndex"])->name("project.project-tree");
     });
 });