Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/App/Adapters/WebAppAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ public function start(): ?int

$this->logDebugInfo();

[$request, $response] = (new MiddlewareManager($matchedRoute))->applyMiddlewares(request(), response());
$response = (new MiddlewareManager($matchedRoute))->applyMiddlewares(request(), response());
$request = request();

if ($this->setupViewCache()->serveCachedView(request()->getUri() ?? '', $response)) {
stop();
Expand Down
13 changes: 5 additions & 8 deletions src/Http/Helpers/http.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
* @since 3.0.0
*/

use Quantum\App\Exceptions\StopExecutionException;
use Quantum\Config\Exceptions\ConfigException;
use Quantum\App\Exceptions\BaseException;
use Quantum\Di\Exceptions\DiException;
Expand All @@ -25,7 +24,6 @@

/**
* Gets the Request instance from DI
* @throws DiException|ReflectionException
*/
function request(): Request
{
Expand All @@ -38,7 +36,6 @@ function request(): Request

/**
* Gets the Response instance from DI
* @throws DiException|ReflectionException
*/
function response(): Response
{
Expand Down Expand Up @@ -70,22 +67,22 @@ function current_url(): string

/**
* Redirect
* @throws StopExecutionException|DiException|ReflectionException
* @throws DiException|ReflectionException
*/
function redirect(string $url, int $code = StatusCode::FOUND): void
function redirect(string $url, int $code = StatusCode::FOUND): Response
Comment thread
coderabbitai[bot] marked this conversation as resolved.
{
response()->redirect($url, $code);
return response()->redirect($url, $code);
}

/**
* Redirect with data
* @param array<string, mixed> $data
* @throws ConfigException|DiException|BaseException|ReflectionException
*/
function redirectWith(string $url, array $data, int $code = StatusCode::FOUND): void
function redirectWith(string $url, array $data, int $code = StatusCode::FOUND): Response
{
session()->set(ReservedKeys::PREV_REQUEST, $data);
response()->redirect($url, $code);
return response()->redirect($url, $code);
}

/**
Expand Down
7 changes: 3 additions & 4 deletions src/Http/Traits/Response/Header.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

namespace Quantum\Http\Traits\Response;

use Quantum\App\Exceptions\StopExecutionException;
use Quantum\Http\Enums\ContentType;

/**
Expand Down Expand Up @@ -93,12 +92,12 @@ public function getContentType(): string

/**
* Redirect
* @throws StopExecutionException
* @return self
*/
public function redirect(string $url, int $code = 302): void
public function redirect(string $url, int $code = 302): self
{
$this->setStatusCode($code);
$this->setHeader('Location', $url);
stop();
return $this;
}
}
14 changes: 6 additions & 8 deletions src/Middleware/MiddlewareManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,23 +50,21 @@ public function __construct(MatchedRoute $matchedRoute)

/**
* Apply Middlewares
* @return array{0: Request, 1: Response}
* @return Response
* @throws MiddlewareException|BaseException|ReflectionException
*/
public function applyMiddlewares(Request $request, Response $response): array
public function applyMiddlewares(Request $request, Response $response): Response
{
if (!current($this->middlewares)) {
return [$request, $response];
return $response;
}

$currentMiddleware = $this->getMiddleware($request, $response);
next($this->middlewares);

[$request, $response] = $currentMiddleware->apply($request, $response, function ($request, $response): array {
next($this->middlewares);
return [$request, $response];
return $currentMiddleware->apply($request, $response, function (Request $request, Response $response): Response {
return $this->applyMiddlewares($request, $response);
});

return $this->applyMiddlewares($request, $response);
}

/**
Expand Down
6 changes: 1 addition & 5 deletions src/Middleware/QtMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,8 @@
abstract class QtMiddleware
{
/**
* Apply
*
* Applies the middleware
*
* @return mixed
*/
abstract public function apply(Request $request, Response $response, Closure $next);
abstract public function apply(Request $request, Response $response, Closure $next): Response;

}
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ class MainController
* Action - success response
* @param Response $response
*/
public function index(Response $response)
public function index(Response $response): Response
{
$response->json([
return $response->json([
'status' => 'success',
'message' => '{{MODULE_NAME}} module.'
]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ class MainController
* @param Response $response
* @param ViewFactory $view
*/
public function index(Response $response, ViewFactory $view)
public function index(Response $response, ViewFactory $view): Response
{
$view->setParams([
'title' => config()->get('app.name'),
]);

$response->html($view->render('index'));
return $response->html($view->render('index'));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class AccountController extends BaseController
* @param Request $request
* @param Response $response
*/
public function update(Request $request, Response $response)
public function update(Request $request, Response $response): Response
{
try {
$firstname = $request->get('firstname');
Expand All @@ -59,12 +59,12 @@ class AccountController extends BaseController

auth()->refreshUser(auth()->user()->uuid);

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'message' => t('common.updated_successfully')
]);
} catch (AuthException $e) {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => $e->getMessage()
]);
Expand All @@ -76,7 +76,7 @@ class AccountController extends BaseController
* @param Request $request
* @param Response $response
*/
public function updatePassword(Request $request, Response $response)
public function updatePassword(Request $request, Response $response): Response
{
try {
$hasher = new Hasher();
Expand All @@ -87,12 +87,12 @@ class AccountController extends BaseController
'password' => $hasher->hash($newPassword)
]);

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'message' => t('common.updated_successfully')
]);
} catch (AuthException $e) {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => $e->getMessage()
]);
Expand Down
53 changes: 31 additions & 22 deletions src/Module/Templates/DemoApi/src/Controllers/AuthController.php.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ class AuthController extends BaseController
* Action - sign in
* @param Request $request
* @param Response $response
* @return Response
*/
public function signin(Request $request, Response $response)
public function signin(Request $request, Response $response): Response
{
try {
$code = auth()->signin($request->get('email'), $request->get('password'));
Expand All @@ -42,11 +43,11 @@ class AuthController extends BaseController
$response->set('code', $code);
}

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS
]);
} catch (AuthException $e) {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => $e->getMessage()
], StatusCode::UNPROCESSABLE_ENTITY);
Expand All @@ -56,10 +57,11 @@ class AuthController extends BaseController
/**
* Action - me
* @param Response $response
* @return Response
*/
public function me(Response $response)
public function me(Response $response): Response
{
$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'data' => [
'firstname' => auth()->user()->firstname,
Expand All @@ -72,15 +74,16 @@ class AuthController extends BaseController
/**
* Action - sign out
* @param Response $response
* @return Response
*/
public function signout(Response $response)
public function signout(Response $response): Response
{
if (auth()->signout()) {
$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS
]);
} else {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => t('validation.unauthorizedRequest')
], StatusCode::UNAUTHORIZED);
Expand All @@ -91,14 +94,15 @@ class AuthController extends BaseController
* Action - sign up
* @param Request $request
* @param Response $response
* @return Response
*/
public function signup(Request $request, Response $response)
public function signup(Request $request, Response $response): Response
{
$userDto = UserDTO::fromRequest($request, Role::EDITOR, uuid_ordered());

auth()->signup($userDto->toArray());

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'message' => t('common.successfully_signed_up')
]);
Expand All @@ -108,12 +112,13 @@ class AuthController extends BaseController
* Action - activate
* @param Request $request
* @param Response $response
* @return Response
*/
public function activate(Request $request, Response $response)
public function activate(Request $request, Response $response): Response
{
auth()->activate($request->get('activation_token'));

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'message' => t('common.account_activated')
]);
Expand All @@ -123,12 +128,13 @@ class AuthController extends BaseController
* Action - forget
* @param Request $request
* @param Response $response
* @return Response
*/
public function forget(Request $request, Response $response)
public function forget(Request $request, Response $response): Response
{
auth()->forget($request->get('email'));

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'message' => t('common.check_email')
]);
Expand All @@ -138,12 +144,13 @@ class AuthController extends BaseController
* Action - reset
* @param Request $request
* @param Response $response
* @return Response
*/
public function reset(Request $request, Response $response)
public function reset(Request $request, Response $response): Response
{
auth()->reset($request->get('reset_token'), $request->get('password'));

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS
]);
}
Expand All @@ -152,17 +159,18 @@ class AuthController extends BaseController
* Action - Verify OTP
* @param Request $request
* @param Response $response
* @return Response
*/
public function verify(Request $request, Response $response)
public function verify(Request $request, Response $response): Response
{
try {
auth()->verifyOtp((int)$request->get('otp'), $request->get('code'));

$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS
]);
} catch (AuthException $e) {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => $e->getMessage()
], StatusCode::UNAUTHORIZED);
Expand All @@ -172,16 +180,17 @@ class AuthController extends BaseController
/**
* Action - Resend OTP
* @param Response $response
* @return Response
*/
public function resend(Response $response)
public function resend(Response $response): Response
{
try {
$response->json([
return $response->json([
'status' => self::STATUS_SUCCESS,
'code' => auth()->resendOtp(route_param('code'))
]);
} catch (AuthException $e) {
$response->json([
return $response->json([
'status' => self::STATUS_ERROR,
'message' => $e->getMessage()
], StatusCode::UNAUTHORIZED);
Expand Down
Loading
Loading