|
@@ -4,10 +4,12 @@ namespace App\Http\Controllers\API;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\API\Project\CreateOrUpdateRequest;
|
|
use App\Http\Requests\API\Project\CreateOrUpdateRequest;
|
|
|
|
+use App\Http\Requests\API\Project\LinkRequirementByPlanRequest;
|
|
use App\Http\Requests\API\Project\LinkRequirementRequest;
|
|
use App\Http\Requests\API\Project\LinkRequirementRequest;
|
|
use App\Http\Requests\API\Project\PostponeRequest;
|
|
use App\Http\Requests\API\Project\PostponeRequest;
|
|
use App\Http\Requests\API\Project\UnlinkRequirementRequest;
|
|
use App\Http\Requests\API\Project\UnlinkRequirementRequest;
|
|
use App\Http\Resources\API\PlanResource;
|
|
use App\Http\Resources\API\PlanResource;
|
|
|
|
+use App\Http\Resources\API\ProjectRequirementResource;
|
|
use App\Http\Resources\API\ProjectResource;
|
|
use App\Http\Resources\API\ProjectResource;
|
|
use App\Http\Resources\API\RequirementResource;
|
|
use App\Http\Resources\API\RequirementResource;
|
|
use App\Models\Enums\ProjectStatus;
|
|
use App\Models\Enums\ProjectStatus;
|
|
@@ -19,7 +21,6 @@ use App\Models\ProjectRequirement;
|
|
use App\Models\Requirement;
|
|
use App\Models\Requirement;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Auth;
|
|
-use function MongoDB\BSON\toJSON;
|
|
|
|
|
|
|
|
class ProjectController extends Controller
|
|
class ProjectController extends Controller
|
|
{
|
|
{
|
|
@@ -219,10 +220,19 @@ class ProjectController extends Controller
|
|
return $this->noContent();
|
|
return $this->noContent();
|
|
}
|
|
}
|
|
|
|
|
|
- public function linkRequirementByPlan(string $id)
|
|
|
|
|
|
+ public function linkRequirementByPlan(LinkRequirementByPlanRequest $request, string $id)
|
|
{
|
|
{
|
|
$project = Project::findOrFail($id);
|
|
$project = Project::findOrFail($id);
|
|
|
|
|
|
|
|
+ $plan = Plan::findOrFail($request->plan_id);
|
|
|
|
+
|
|
|
|
+ foreach ($plan->requirements as $requirement) {
|
|
|
|
+ ProjectRequirement::query()->firstOrCreate([
|
|
|
|
+ 'project_id' => $project->id, 'requirement_id' => $requirement->id,
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return $this->noContent();
|
|
}
|
|
}
|
|
|
|
|
|
public function plan(string $id)
|
|
public function plan(string $id)
|
|
@@ -234,7 +244,11 @@ class ProjectController extends Controller
|
|
|
|
|
|
public function requirement(string $id)
|
|
public function requirement(string $id)
|
|
{
|
|
{
|
|
|
|
+ $project = Project::findOrFail($id);
|
|
|
|
+
|
|
|
|
+ $requirements = $project->requirements()->with(['createdBy'])->simplePaginate();
|
|
|
|
|
|
|
|
+ return ProjectRequirementResource::collection($requirements);
|
|
}
|
|
}
|
|
|
|
|
|
public function notLinkAssetRequirement(string $id)
|
|
public function notLinkAssetRequirement(string $id)
|