|
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\Requirement\ClosedRequest;
|
|
|
use App\Http\Requests\API\Requirement\CreateOrUpdateRequest;
|
|
|
use App\Http\Requests\API\Requirement\LinkPlanRequest;
|
|
|
+use App\Http\Requests\API\Requirement\BatchCreateRequest;
|
|
|
use App\Http\Resources\API\AssetRequirementResource;
|
|
|
use App\Http\Resources\API\RequirementResource;
|
|
|
use App\Models\Enums\RequirementStatus;
|
|
@@ -13,6 +14,7 @@ use App\Models\Plan;
|
|
|
use App\Models\Requirement;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Validation\Rules\Enum;
|
|
|
|
|
|
class RequirementController extends Controller
|
|
@@ -109,4 +111,29 @@ class RequirementController extends Controller
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
+
|
|
|
+ public function batchStore(BatchCreateRequest $request)
|
|
|
+ {
|
|
|
+ $requirementsData = $request->all();
|
|
|
+ $companyId = Auth::user()->company_id;
|
|
|
+ $created_by = Auth::id();
|
|
|
+
|
|
|
+ DB::transaction(function () use ($requirementsData,$companyId,$created_by) {
|
|
|
+ foreach ($requirementsData as $data) {
|
|
|
+ $requirement = new Requirement();
|
|
|
+ $requirement->mergeFillable([
|
|
|
+ 'company_id', 'created_by',
|
|
|
+ ]);
|
|
|
+ $requirement->fill([
|
|
|
+ ...$data,
|
|
|
+ 'company_id' => $companyId,
|
|
|
+ 'created_by' => $created_by,
|
|
|
+ 'status' => RequirementStatus::ACTIVE,
|
|
|
+ 'mailto' => [],
|
|
|
+ ]);
|
|
|
+ $requirement->save();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return $this->created();
|
|
|
+ }
|
|
|
}
|