This commit is contained in:
F4ilji
2026-04-07 17:54:26 +05:00
parent 04adba6682
commit 936b1fb5b0
468 changed files with 43498 additions and 4176 deletions
@@ -0,0 +1,24 @@
<?php
namespace App\Containers\Dashboard\Actions\Pages;
use App\Containers\AppStructure\Models\Page;
use App\Containers\AppStructure\Models\SubSection;
class AttachPageToSubSectionAction
{
public function run(Page $page, SubSection $subSection): Page
{
// Pessimistic lock to prevent race conditions
$page = Page::lockForUpdate()->findOrFail($page->id);
if ($page->sub_section_id !== null) {
throw new \InvalidArgumentException('Страница уже принадлежит другому подразделу');
}
$page->section()->associate($subSection);
$page->save();
return $page;
}
}