Files
boursecu_server/app/Http/Controllers/Admin/PriceSyncLogController.php
T

44 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\DB\Te\TableEngine;
use App\Http\Controllers\Controller;
use App\Models\PriceSyncLog;
use App\Services\LivePriceTickService;
use Illuminate\Http\Request;
class PriceSyncLogController extends Controller
{
public function table(Request $request)
{
$records = PriceSyncLog::query()->orderByDesc('id');
TableEngine::create($records, $request->all())
->initSearch(['source', 'source_url'])
->select(['*'])
->export($records);
return response()->json($records);
}
public function show($id)
{
$log = PriceSyncLog::with('items')->findOrFail($id);
return response()->json($log);
}
public function runSync(LivePriceTickService $tickService)
{
$tickService->tick();
$log = PriceSyncLog::with('items')->orderByDesc('id')->first();
return response()->json([
'message' => $log ? 'قیمت‌ها به‌روزرسانی شد' : 'همگام‌سازی انجام شد',
'data' => $log,
]);
}
}