. */ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\UserGroup; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Models\UserGroup; use FireflyIII\Rules\IsDefaultUserGroupName; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; /** * Class StoreRequest */ class UpdateRequest extends FormRequest { use ChecksLogin; use ConvertsDataTypes; protected array $acceptedRoles = [UserRoleEnum::OWNER, UserRoleEnum::FULL]; public function getAll(): array { return [ 'title' => $this->convertString('title'), ]; } public function rules(): array { /** @var UserGroup $userGroup */ $userGroup = $this->route()->parameter('userGroup'); return [ 'title' => ['required', 'min:1', 'max:255', sprintf('unique:user_groups,title,%d', $userGroup->id), new IsDefaultUserGroupName($userGroup)], ]; } }