From d0d1d4c23d7d2b6f4a755222e8aae1abebf4d4a9 Mon Sep 17 00:00:00 2001 From: "antoine.pinagot" Date: Sat, 9 Dec 2023 18:14:44 +0100 Subject: [PATCH] auth Ctrl fini --- Sources/src/app/controller/UserController.php | 34 +++++++++++++++++++ Sources/src/data/core/network/AuthService.php | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/Sources/src/app/controller/UserController.php b/Sources/src/app/controller/UserController.php index 9a8abfb0..5ebcbcef 100644 --- a/Sources/src/app/controller/UserController.php +++ b/Sources/src/app/controller/UserController.php @@ -4,15 +4,28 @@ namespace App\Controller; use App\Container; use App\Router\Request\IRequest; +use App\Router\Response\RedirectResponse; use App\Router\Response\Response; +use App\Router\Response\IResponse; + +use App\Router\Session; +use Manager\UserManager; use Shared\Attributes\Route; +use Shared\Validation; use Twig\Environment; use Data\Core\Preferences; use Shared\Log; +use function PHPUnit\Framework\isEmpty; class UserController extends BaseController { + private UserManager $userMgr; + public function __construct(UserManager $manager){ + parent::__construct(); + $this->userMgr = $manager; + } + #[Route(path: '/', name: 'home', methods: ['GET'])] public function index(): Response { @@ -73,5 +86,26 @@ class UserController extends BaseController 'member' => [] ]); } + + #[Route(path: '/logout', name: 'logout', methods: ['GET'])] + public function logout(IRequest $request): IResponse + { + $error = []; + + try { + + if($this->userMgr->deconnecter()){ + return new RedirectResponse('/'); + } + else{ + $error [] = "Erreur de deconnexion. Essayez encore"; + return new RedirectResponse('/'); + } + + } catch (\Throwable $th) { + $error [] =$th->getMessage(); + return new RedirectResponse('/'); + } + } } \ No newline at end of file diff --git a/Sources/src/data/core/network/AuthService.php b/Sources/src/data/core/network/AuthService.php index d9602ba2..a706f2ce 100644 --- a/Sources/src/data/core/network/AuthService.php +++ b/Sources/src/data/core/network/AuthService.php @@ -82,7 +82,7 @@ class AuthService implements IAuthService public function logoutUser(): bool { $this->currentUser = null; - Session::getInstance()->destroy; + Session::getInstance()->destroy(); return true; }