From 02adec44bfa554387017f838b53dff97b6371c8b Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Sat, 24 Sep 2022 20:01:15 +0800 Subject: [PATCH] add get modules list --- app/Http/Controllers/User/ModuleController.php | 17 +++++++++++++++++ app/Models/Module/Module.php | 10 ++++++++++ routes/api.php | 6 ++++-- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/User/ModuleController.php diff --git a/app/Http/Controllers/User/ModuleController.php b/app/Http/Controllers/User/ModuleController.php new file mode 100644 index 0000000..0f8ead2 --- /dev/null +++ b/app/Http/Controllers/User/ModuleController.php @@ -0,0 +1,17 @@ +cached_modules(); + + return $this->success($modules); + } +} diff --git a/app/Models/Module/Module.php b/app/Models/Module/Module.php index 42b3d11..bca5ec9 100644 --- a/app/Models/Module/Module.php +++ b/app/Models/Module/Module.php @@ -6,6 +6,7 @@ use Illuminate\Auth\Authenticatable; use Illuminate\Support\Facades\Http; use Laravel\Lumen\Auth\Authorizable; +use Illuminate\Support\Facades\Cache; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; @@ -133,6 +134,15 @@ public function remotePost($path = '', $data = []) return [$json, $status]; } + + // get cached modules + public static function cached_modules() + { + return Cache::remember('modules', 600, function () { + return Module::all(); + }); + } + protected static function boot() { parent::boot(); diff --git a/routes/api.php b/routes/api.php index 320e3b0..8e30eee 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,8 +2,6 @@ /** @var \Laravel\Lumen\Routing\Router $router */ -use Illuminate\Support\Facades\Broadcast; - $router->get('/users', [ 'uses' => 'UserController@index' ]); @@ -12,6 +10,10 @@ 'uses' => 'ServerController' ]); +$router->get('/modules', [ + 'uses' => 'User\ModuleController' +]); + $router->group(['prefix' => 'hosts'], function () use ($router) { $router->get('/', [ 'uses' => 'User\HostController@index'