feat: add admin email configuration to app settings

delete: remove outdated Spatie media library decision document

docs: create new decision document for Spatie media library usage

docs: add testing strategy document for Pest4 and Dusk

test: implement login tests with Dusk for user authentication

chore: add .gitignore files for console, screenshots, and source directories
This commit is contained in:
jon brookes 2026-01-05 13:43:07 +00:00
parent aa39707e10
commit ff5ab3aa58
14 changed files with 189 additions and 1491 deletions

View file

@ -3,13 +3,18 @@
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
use Illuminate\Container\Attributes\Log;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Log as FacadesLog;
use Illuminate\Support\Str;
use Laravel\Fortify\TwoFactorAuthenticatable;
class User extends Authenticatable
class User extends Authenticatable implements FilamentUser
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, Notifiable, TwoFactorAuthenticatable;
@ -61,4 +66,14 @@ class User extends Authenticatable
->map(fn ($word) => Str::substr($word, 0, 1))
->implode('');
}
/**
* Determine if the user can access Filament admin panel.
*/
public function canAccessPanel(Panel $panel): bool
{
// FacadesLog::info('Checking admin access for user: ' . $this->email . ' against admin email: ' . config('app.admin_email'));
return $this->email === config('app.admin_email');
}
}