Browse Source

新增项目必须通过资产查询列表

kely 7 months ago
parent
commit
0a9f368c56

+ 5 - 6
app/Http/Controllers/API/ProjectController.php

@@ -76,14 +76,13 @@ class ProjectController extends Controller
 
     public function byAsset(Request $request)
     {
-        $assetId = $request->get("assets");
-        if (! $assetId) {
-            return $this->badRequest("assets is empty");
+        $asset=$request->asset;
+        if (! $asset) {
+            return $this->badRequest("asset is empty");
         }
-        $assets = Asset::query()->findOrFail($assetId);
+        $asset = Asset::withTrashed()->where('id', $asset)->first();
 
-        $projectAsset = Project::query()->whereIn("asset_id", $assets->id)->get();
-        return ProjectSimpleResource::collection($projectAsset);
+        return ProjectSimpleResource::collection($asset->projects);
     }
 
     public function projectAssetTree(string $id){

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

@@ -9,6 +9,7 @@
 namespace App\Http\Resources\API;
 
 
+use Illuminate\Http\Request;
 use Illuminate\Http\Resources\Json\JsonResource;
 
 class ApprovalGroupSimpleResource extends JsonResource

+ 9 - 8
routes/api.php

@@ -104,11 +104,11 @@ Route::middleware(['auth:sanctum','account.limit'])->group(function () {
         Route::get("asset/{asset_id}/report",[API\AssetController::class, 'report'])->name('asset.report');
         Route::get("asset-tree",[API\AssetController::class, 'tree'])->name('asset.tree');
         Route::get("asset/{asset}/dynamic", [API\AssetController::class, "dynamic"])->name("asset.dynamic");
-        Route::get("asset/publicSearch",[API\AssetController::class, 'publicSearch'])->name('asset.publicSearch');
+        Route::get("asset/public-search",[API\AssetController::class, "publicSearch"])->name("asset.public-search");
 
-        Route::get("assetGroup/publicSearch",[API\AssetGroupController::class, 'publicSearch'])->name('asset-group.publicSearch');
+        Route::get("asset-group/public-search",[API\AssetGroupController::class, "publicSearch"])->name("asset-group.public-search");
 
-        Route::get("requirementGroup/publicSearch",[API\RequirementGroupController::class, 'publicSearch'])->name('requirement-group.publicSearch');
+        Route::get("requirement-group/public-search",[API\RequirementGroupController::class, "publicSearch"])->name("requirement-group.public-search");
 
         Route::patch("requirement/{requirement_id}/close",[API\RequirementController::class, 'close'])->name('requirement.close');
         Route::patch("requirement/{requirement_id}/start",[API\RequirementController::class, 'start'])->name('requirement.start');
@@ -117,9 +117,10 @@ Route::middleware(['auth:sanctum','account.limit'])->group(function () {
         Route::patch("requirement/plan/unlink", [API\RequirementController::class, "unlinkPlan"])->name("requirement.unlinkPlan");
         Route::get("requirement-export", [API\RequirementController::class, "export"])->name("requirement.export");
         Route::post("requirement-import", [API\RequirementController::class, "import"])->name("requirement.import");
-        Route::get("requirement/publicSearch",[API\RequirementController::class, 'publicSearch'])->name('requirement.publicSearch');
+        Route::get("requirement/public-search",[API\RequirementController::class, "publicSearch"])->name("requirement.public-search");
 
 
+        Route::get("project-by-asset",[API\ProjectController::class, "byAsset"])->name("project.by-asset");
         Route::get("project-tree",[API\ProjectController::class, 'tree'])->name('project.tree');
         Route::get("project/{project}/dynamic", [API\ProjectController::class, "dynamic"])->name("project.dynamic");
         Route::get("project/{project}/latest-dynamic", [API\ProjectController::class, "latestDynamic"])->name("project.latest-dynamic");
@@ -147,8 +148,8 @@ Route::middleware(['auth:sanctum','account.limit'])->group(function () {
             ->name("project.requirement"); //项目需求
         Route::get("project/{project}/not-link-asset-requirement", [API\ProjectController::class, "notLinkAssetRequirement"])
             ->name("project.not-link-asset-requirement"); //项目未关联的资产需求
-        Route::get("project/publicSearch",[API\ProjectController::class, 'publicSearch'])->name('project.publicSearch');
-        Route::get("project/byAsset",[API\ProjectController::class, 'byAsset'])->name('project.byAssetSearch');
+        Route::get("project/public-search",[API\ProjectController::class, "publicSearch"])->name("project.public-search");
+
 
         Route::patch("task/{task}/closed", [API\TaskController::class, "closed"])->name("task.closed");
         Route::patch("task/{task}/start", [API\TaskController::class, "start"])->name("task.start");
@@ -179,8 +180,8 @@ Route::middleware(['auth:sanctum','account.limit'])->group(function () {
             ->name("naming-rule.combination-show");
         Route::post("naming-rule/{name_rule}/autoname", [API\NameRuleController::class, "autoname"])
             ->name("name-rule.autoname");
-        Route::post("naming-rule/publicSearch", [API\NameRuleController::class, "publicSearch"])
-            ->name("name-rule.publicSearch");
+        Route::post("naming-rule/public-search", [API\NameRuleController::class, "publicSearch"])
+            ->name("name-rule.public-search");
 
         Route::get("team-member/{project}", [API\TeamMemberController::class, "members"])->name("team-member.list");
         Route::delete("team-member/{team_member}", [API\TeamMemberController::class, "destroy"])->name("team-member.destroy");