This commit is contained in:
2024-09-01 18:54:23 +05:00
parent 76d18365a5
commit 061f09eca1
1597 changed files with 109451 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
<?php
namespace Laravel\Nova\Contracts;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Contracts\Auth\StatefulGuard;
use Illuminate\Http\Request;
interface ImpersonatesUsers
{
/**
* Start impersonating a user.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Contracts\Auth\StatefulGuard $guard
* @param \Illuminate\Contracts\Auth\Authenticatable $user
* @return bool
*/
public function impersonate(Request $request, StatefulGuard $guard, Authenticatable $user);
/**
* Stop impersonating the currently impersonated user and revert to the original session.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Contracts\Auth\StatefulGuard $guard
* @param string $userModel
* @return bool
*/
public function stopImpersonating(Request $request, StatefulGuard $guard, string $userModel);
/**
* Determine if a user is currently being impersonated.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
public function impersonating(Request $request);
/**
* Remove any impersonation data from the session.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
public function flushImpersonationData(Request $request);
/**
* Redirect an admin after starting impersonation.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function redirectAfterStartingImpersonation(Request $request);
/**
* Redirect an admin after finishing impersonation.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function redirectAfterStoppingImpersonation(Request $request);
}