|
@@ -4,6 +4,9 @@ namespace App\Http\Controllers\API;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\Requirement\CreateOrUpdateRequest;
|
|
|
+use App\Http\Requests\API\Requirement\LinkPlanRequest;
|
|
|
+use App\Http\Resources\API\AssetRequirementResource;
|
|
|
+use App\Models\Plan;
|
|
|
use App\Models\Requirement;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
@@ -18,6 +21,16 @@ class RequirementController extends Controller
|
|
|
//
|
|
|
}
|
|
|
|
|
|
+ public function byAsset(string $assetId)
|
|
|
+ {
|
|
|
+ $requirements = Requirement::query()
|
|
|
+ ->with(['createdBy', 'plan'])
|
|
|
+ ->where('asset_id', $assetId)
|
|
|
+ ->simplePaginate();
|
|
|
+
|
|
|
+ return AssetRequirementResource::collection($requirements);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Store a newly created resource in storage.
|
|
|
*/
|
|
@@ -62,4 +75,17 @@ class RequirementController extends Controller
|
|
|
{
|
|
|
//
|
|
|
}
|
|
|
+
|
|
|
+ public function linkPlan(LinkPlanRequest $request, string $planId)
|
|
|
+ {
|
|
|
+ $plan = Plan::query()->findOrFail($planId);
|
|
|
+
|
|
|
+ Requirement::query()->where("asset_id", $plan->asset_id)
|
|
|
+ ->whereIn('id', $request->get("requirement_ids"))
|
|
|
+ ->update([
|
|
|
+ 'plan_id' => $plan->id,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return $this->noContent();
|
|
|
+ }
|
|
|
}
|