From 3426d6b157e5f2cf4b2e9e2a3536cba925af715d Mon Sep 17 00:00:00 2001 From: weichien00 Date: Sat, 26 Jun 2021 03:45:00 +0800 Subject: [PATCH] new:[authentication apis]add classes required for logout API #2 --- .../ControllersLogic/LogoutUserLogic.php | 46 +++++++++++++++++++ .../InvalidatesAuthenticationToken.php | 15 ++++++ .../UserAuthenticationLogoutController.php | 22 +++++++++ 3 files changed, 83 insertions(+) create mode 100644 app/Classes/Modules/Accounts/ControllersLogic/LogoutUserLogic.php create mode 100644 app/Classes/Modules/Accounts/Services/InvalidatesAuthenticationToken.php create mode 100644 app/Http/Controllers/Accounts/UserAuthenticationLogoutController.php diff --git a/app/Classes/Modules/Accounts/ControllersLogic/LogoutUserLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/LogoutUserLogic.php new file mode 100644 index 00000000..bfa1f20a --- /dev/null +++ b/app/Classes/Modules/Accounts/ControllersLogic/LogoutUserLogic.php @@ -0,0 +1,46 @@ + 'Logout', + 'message' => 'You have successfully logged out of your account' + ]; + } + + /** @var InvalidatesAuthenticationToken */ + private $invalidatesAuthenticationToken; + + /** + * LogoutUserLogic constructor. + * @param InvalidatesAuthenticationToken $invalidatesAuthenticationToken + */ + public function __construct(InvalidatesAuthenticationToken $invalidatesAuthenticationToken) + { + logger("logout user logic"); + $this->invalidatesAuthenticationToken = $invalidatesAuthenticationToken; + } + + /** + * @param Request $request + * @return JsonResponse + */ + protected function logic(Request $request): JsonResponse { + + logger("logout"); + $this->invalidatesAuthenticationToken->execute(); + + return $this->response(); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Accounts/Services/InvalidatesAuthenticationToken.php b/app/Classes/Modules/Accounts/Services/InvalidatesAuthenticationToken.php new file mode 100644 index 00000000..e243e5d4 --- /dev/null +++ b/app/Classes/Modules/Accounts/Services/InvalidatesAuthenticationToken.php @@ -0,0 +1,15 @@ +logout(); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Accounts/UserAuthenticationLogoutController.php b/app/Http/Controllers/Accounts/UserAuthenticationLogoutController.php new file mode 100644 index 00000000..46013fa4 --- /dev/null +++ b/app/Http/Controllers/Accounts/UserAuthenticationLogoutController.php @@ -0,0 +1,22 @@ +execute($request); + } + +}