38 lines
948 B
PHP
38 lines
948 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\AuditLog;
|
|
use App\Models\User;
|
|
use App\Support\UserSessions;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UserSessionController extends Controller
|
|
{
|
|
public function index(User $user)
|
|
{
|
|
return response()->json(UserSessions::active($user));
|
|
}
|
|
|
|
public function destroy(Request $request, User $user, string $tokenId)
|
|
{
|
|
abort_unless(UserSessions::revoke($user, $tokenId), 404);
|
|
|
|
AuditLog::record($request, 'user.session_revoked', 'user', $user->id, $user->email);
|
|
|
|
return response()->noContent();
|
|
}
|
|
|
|
public function destroyAll(Request $request, User $user)
|
|
{
|
|
$count = UserSessions::revokeAll($user);
|
|
|
|
AuditLog::record($request, 'user.sessions_revoked_all', 'user', $user->id, $user->email, [
|
|
'count' => $count,
|
|
]);
|
|
|
|
return response()->noContent();
|
|
}
|
|
}
|