|
@@ -10,11 +10,13 @@ use App\Http\Requests\API\Requirement\BatchCreateRequest;
|
|
|
use App\Http\Resources\API\AssetRequirementResource;
|
|
|
use App\Http\Resources\API\RequirementResource;
|
|
|
use App\Models\Asset;
|
|
|
+use App\Models\Enums\ActionObjectType;
|
|
|
use App\Models\Enums\RequirementStatus;
|
|
|
use App\Models\Enums\ObjectAction;
|
|
|
use App\Models\Plan;
|
|
|
use App\Models\Requirement;
|
|
|
use App\Repositories\ActionRepository;
|
|
|
+use App\Services\History\ModelChangeDetector;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
@@ -59,6 +61,10 @@ class RequirementController extends Controller
|
|
|
]);
|
|
|
$requirement->save();
|
|
|
|
|
|
+ ActionRepository::createRequirement(
|
|
|
+ $requirement, ObjectAction::CREATED
|
|
|
+ );
|
|
|
+
|
|
|
return $this->created();
|
|
|
}
|
|
|
|
|
@@ -77,10 +83,15 @@ class RequirementController extends Controller
|
|
|
*/
|
|
|
public function update(CreateOrUpdateRequest $request, string $id)
|
|
|
{
|
|
|
- //
|
|
|
- $requiremen = Requirement::findOrFail($id);
|
|
|
- $requiremen->fill($request->all());
|
|
|
- $requiremen->save();
|
|
|
+ $requirement = Requirement::findOrFail($id);
|
|
|
+
|
|
|
+ $requirement->fill($request->all());
|
|
|
+ $changes = ModelChangeDetector::detector(ActionObjectType::REQUIREMENT, $requirement);
|
|
|
+ $requirement->save();
|
|
|
+
|
|
|
+ ActionRepository::createRequirement(
|
|
|
+ $requirement, ObjectAction::STARTED,objectChanges: $changes
|
|
|
+ );
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
@@ -89,32 +100,42 @@ class RequirementController extends Controller
|
|
|
*/
|
|
|
public function destroy(string $id)
|
|
|
{
|
|
|
- $requiremen = Requirement::findOrFail($id);
|
|
|
+ $requirement = Requirement::findOrFail($id);
|
|
|
+
|
|
|
+ $requirement->delete();
|
|
|
|
|
|
- $requiremen->delete();
|
|
|
+ ActionRepository::createRequirement(
|
|
|
+ $requirement, ObjectAction::DELETED
|
|
|
+ );
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|
|
|
|
|
|
public function close(Request $request,string $id){
|
|
|
- $requiremen = Requirement::findOrFail($id);
|
|
|
+ $requirement = Requirement::findOrFail($id);
|
|
|
|
|
|
- $requiremen->status = RequirementStatus::CLOSED->value;
|
|
|
- $requiremen->save();
|
|
|
-
|
|
|
- ActionRepository::createRequirement($requiremen, ObjectAction::CLOSED, $request->get("comment"));
|
|
|
+ $requirement->status = RequirementStatus::CLOSED->value;
|
|
|
+ $changes = ModelChangeDetector::detector(ActionObjectType::REQUIREMENT, $requirement);
|
|
|
+ $requirement->save();
|
|
|
|
|
|
+ ActionRepository::createRequirement(
|
|
|
+ $requirement, ObjectAction::CLOSED, $request->get("comment"), objectChanges: $changes
|
|
|
+ );
|
|
|
|
|
|
- return $this->noContent();
|
|
|
+ return $this->noContent();
|
|
|
}
|
|
|
|
|
|
public function start(Request $request, string $id)
|
|
|
{
|
|
|
- $requiremen = Requirement::findOrFail($id);
|
|
|
- $requiremen->status = RequirementStatus::ACTIVE->value;
|
|
|
- $requiremen->save();
|
|
|
+ $requirement = Requirement::findOrFail($id);
|
|
|
+
|
|
|
+ $requirement->status = RequirementStatus::ACTIVE->value;
|
|
|
+ $changes = ModelChangeDetector::detector(ActionObjectType::REQUIREMENT, $requirement);
|
|
|
+ $requirement->save();
|
|
|
|
|
|
- ActionRepository::createRequirement($requiremen, ObjectAction::STARTED, $request->get("comment"));
|
|
|
+ ActionRepository::createRequirement(
|
|
|
+ $requirement, ObjectAction::STARTED, $request->get("comment"), objectChanges: $changes
|
|
|
+ );
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|