- Removed the old `connected-apps.create` implementation and components, simplifying the codebase. - Introduced modular OIDC integration using reusable components and traits, such as `WithSearchableChoices` and `WithRepeaterFields`. - Added `StoreOIDCAppForm` for handling OpenID Connect app-specific fields and validation. - Updated `choices.blade.php` and related components to leverage configuration-driven, dynamic multi-select functionality. - Updated routes to support new OIDC app creation under distinct connection protocol namespaces. - Enhanced app creation flow with support for dynamic fields like URIs (`repeater-input`) and scoped user roles.
18 lines
444 B
PHP
18 lines
444 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Livewire\Concerns\Choices;
|
|
|
|
use Closure;
|
|
|
|
final readonly class ChoiceField
|
|
{
|
|
public function __construct(
|
|
public Closure $search, // fn(string $value): array
|
|
public Closure $allIds, // fn(): array
|
|
public string $formPath, // e.g. 'form.roleIds'
|
|
public ?Closure $after = null, // optional side effect, e.g. re-hydrate permissions
|
|
) {}
|
|
}
|