|
@@ -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\Requests\API\Project\UpdateLinkAssetsRequest;
|
|
|
use App\Http\Resources\API\AssetRequirementResource;
|
|
|
use App\Http\Resources\API\ProjectAssetResource;
|
|
|
use App\Http\Resources\API\ProjectDetailResource;
|
|
@@ -302,4 +303,23 @@ class ProjectController extends Controller
|
|
|
|
|
|
return AssetRequirementResource::collection($requirements);
|
|
|
}
|
|
|
+
|
|
|
+ public function updateLinkAssets(UpdateLinkAssetsRequest $request,string $project_id)
|
|
|
+ {
|
|
|
+ $project = Project::find($project_id);
|
|
|
+ if (is_null($project)){
|
|
|
+ return $this->badRequest('project does not exist');
|
|
|
+ }
|
|
|
+ $assetsIds = $request->assets;
|
|
|
+ DB::transaction(function () use ($project_id,$assetsIds) {
|
|
|
+ ProjectAsset::where('project_id', $project_id)->delete();
|
|
|
+ foreach ($assetsIds as $assetId) {
|
|
|
+ ProjectAsset::create([
|
|
|
+ 'project_id' => $project_id,
|
|
|
+ 'asset_id' => $assetId,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return $this->noContent();
|
|
|
+ }
|
|
|
}
|