Kaydet (Commit) 4eac0df5 authored tarafından Emincan Özcan's avatar Emincan Özcan

api update

üst e4420e4d
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\AppPackage;
use App\Models\NonPardusApp;
use App\Models\PardusApp;
use Illuminate\Http\Request;
class FetchAllDataController extends Controller
{
public function __invoke()
{
// caching this all data probably good idea for production usage.
$pardusApps = PardusApp::select(['id', 'name', 'image_url', 'scripts'])->get();
$nonPardusApps = NonPardusApp::select(['id', 'name', 'image_url'])->with(['pardusApps:id'])->get()->toArray();
foreach ($nonPardusApps as $k => $v) {
$nonPardusApps[$k]['pardus_apps'] = collect($v['pardus_apps'])->pluck('id')->toArray();
}
$appPackages = AppPackage::select(['id', 'name', 'image_url'])->with('pardusApps:id')->get()->toArray();
foreach ($appPackages as $k => $v) {
$appPackages[$k]['pardus_apps'] = collect($v['pardus_apps'])->pluck('id')->toArray();
}
return response([
'success' => true,
'message' => 'Alternative apps are fetched successfully.',
'data' => [
'pardus_apps' => $pardusApps,
'non_pardus_apps' => $nonPardusApps,
'app_packages' => $appPackages
]
]);
}
}
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\NonPardusApp;
use Illuminate\Http\Request;
class FetchAlternativeAppsController extends Controller
{
public function __invoke()
{
// @todo send only id fields of pardus apps, client itself should fetch pardusApps and merge data.
$data = NonPardusApp::with('pardusApps')->get();
return response([
'success' => true,
'message' => 'Alternative apps are fetched successfully.',
'data' => [
'alternative_apps' => $data,
]
]);
}
}
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\AppPackage;
use App\Models\NonPardusApp;
use Illuminate\Http\Request;
class FetchAppPackages extends Controller
{
public function __invoke()
{
$data = AppPackage::with('pardusApps')->get();
return response([
'success' => true,
'message' => 'App packages are fetched successfully.',
'data' => [
'app_packages' => $data,
]
]);
}
}
<?php
use App\Http\Controllers\Api\FetchAlternativeAppsController;
use App\Http\Controllers\Api\FetchAllDataController;
use App\Http\Controllers\Api\FetchAppPackages;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
......@@ -20,5 +20,4 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('alternative-apps', FetchAlternativeAppsController::class);
Route::get('app-packages', FetchAppPackages::class);
Route::get('get-all-data', FetchAllDataController::class);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment