bearer middleware

This commit is contained in:
2024-10-22 11:09:35 +03:00
parent 215d2b1290
commit 7ccf0957bf
14 changed files with 141 additions and 9 deletions

View File

@ -4,7 +4,10 @@ namespace kernel\modules\post\controllers;
use Illuminate\Database\Eloquent\Model;
use JetBrains\PhpStorm\NoReturn;
use kernel\App;
use kernel\helpers\Debug;
use kernel\modules\post\models\Post;
use kernel\Request;
use kernel\RestController;
class PostRestController extends RestController
@ -19,4 +22,31 @@ class PostRestController extends RestController
return ["user"];
}
public function actionIndex(): void
{
$request = new Request();
$page = $request->get('page') ?? 1;
$perPage = $request->get('per_page') ?? 10;
$query = $this->model->query();
if (App::$user){
$query->where("user_id", App::$user->id);
}
if ($page > 1) {
$query->skip(($page - 1) * $perPage)->take($perPage);
} else {
$query->take($perPage);
}
$expand = $this->expand();
$expandParams = explode( ",", $request->get('expand') ?? "");
$finalExpand = array_intersect($expandParams, $expand);
if ($finalExpand) {
$res = $query->get()->load($finalExpand)->toArray();
} else {
$res = $query->get()->toArray();
}
$this->renderApi($res);
}
}

View File

@ -4,6 +4,7 @@ use kernel\App;
use kernel\CgRouteCollector;
use Phroute\Phroute\RouteCollector;
App::$collector->filter('bearer', [\kernel\modules\secure\middlewares\BearerAuthMiddleware::class, "handler"]);
App::$collector->group(["prefix" => "admin"], function (RouteCollector $router){
App::$collector->group(["before" => "auth"], function (RouteCollector $router) {
@ -21,5 +22,7 @@ App::$collector->group(["prefix" => "admin"], function (RouteCollector $router){
});
App::$collector->group(["prefix" => "api"], function (CgRouteCollector $router){
$router->rest("post", [\kernel\modules\post\controllers\PostRestController::class]);
App::$collector->group(['before' => 'bearer'], function (CgRouteCollector $router){
$router->rest("post", [\kernel\modules\post\controllers\PostRestController::class]);
});
});