From 58ac77f22749e3ff773b4cd0df37f93d8dbc11c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Tue, 18 Mar 2025 15:01:34 +0100 Subject: [PATCH] Make phpstan happy --- src/Features/UserImpersonation.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Features/UserImpersonation.php b/src/Features/UserImpersonation.php index 745dafeb..3db563a4 100644 --- a/src/Features/UserImpersonation.php +++ b/src/Features/UserImpersonation.php @@ -9,6 +9,7 @@ use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Auth; use Stancl\Tenancy\Contracts\Feature; use Stancl\Tenancy\Contracts\Tenant; +use Stancl\Tenancy\Database\Models\ImpersonationToken; use Stancl\Tenancy\Tenancy; class UserImpersonation implements Feature @@ -32,7 +33,12 @@ class UserImpersonation implements Feature /** Impersonate a user and get an HTTP redirect response. */ public static function makeResponse(#[\SensitiveParameter] string|Model $token, ?int $ttl = null): RedirectResponse { - /** @var Model $token */ + /** + * The model does NOT have to extend ImpersonationToken, but usually it WILL be a child + * of ImpersonationToken and this makes it clear to phpstan that the model has a redirect_url property. + * + * @var ImpersonationToken $token + */ $token = $token instanceof Model ? $token : static::modelClass()::findOrFail($token); $ttl ??= static::$ttl;