22
33namespace DutchCodingCompany \FilamentDeveloperLogins ;
44
5- use App \Models \User ;
65use Closure ;
76use DutchCodingCompany \FilamentDeveloperLogins \Exceptions \ImplementationException ;
87use Filament \Contracts \Plugin ;
1110use Filament \Panel ;
1211use Filament \Support \Concerns \EvaluatesClosures ;
1312use Illuminate \Contracts \Auth \Authenticatable ;
13+ use App \Models \User ;
1414
1515class FilamentDeveloperLoginsPlugin implements Plugin
1616{
1717 use EvaluatesClosures, HasColumns;
1818
19+ /**
20+ * @var class-string<\Illuminate\Database\Eloquent\Model&\Illuminate\Contracts\Auth\Authenticatable>
21+ */
22+ public string $ modelClass = '' ;
23+
1924 public Closure | bool $ enabled = false ;
2025
2126 public Closure | bool $ switchable = true ;
@@ -31,10 +36,10 @@ class FilamentDeveloperLoginsPlugin implements Plugin
3136
3237 public string $ column = 'email ' ;
3338
34- /**
35- * @var class-string<\Illuminate\Database\Eloquent\Model&\Illuminate\Contracts\Auth\Authenticatable>
36- */
37- public string $ modelClass = User::class;
39+ public function __construct ()
40+ {
41+ $ this -> modelClass = config ( ' auth.providers.users.model ' ) ?? User::class;
42+ }
3843
3944 public function getId (): string
4045 {
@@ -153,10 +158,6 @@ public function getColumn(): string
153158 */
154159 public function modelClass (string $ modelClass ): static
155160 {
156- if (! is_a ($ modelClass , Authenticatable::class, true )) {
157- throw new ImplementationException ('The model class must implement the "\Illuminate\Contracts\Auth\Authenticatable" interface. ' );
158- }
159-
160161 $ this ->modelClass = $ modelClass ;
161162
162163 return $ this ;
0 commit comments