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); + } + +}