%PDF- %PDF-
| Direktori : /www/loslex_o/production/app/Http/Controllers/ |
| Current File : /www/loslex_o/production/app/Http/Controllers/CupResultsController.php |
<?php
namespace App\Http\Controllers;
use App\Models\Contest;
use App\Workers\Cup\LosCupProcessor;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Date;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
if(!defined('RESULTS_CACHE_TTL'))
define('RESULTS_CACHE_TTL', 7 * 24 * 3600);
class CupResultsController extends Controller
{
public static $cacheKey = 'cup/handgun/2024';
public function results()
{
$data = Cache::remember(self::$cacheKey, RESULTS_CACHE_TTL, function ()
{
Log::info("Cache MISS", ['key' => self::$cacheKey]);
$processor = new LosCupProcessor();
$contests = Contest::whereBetween('date', [Date::createFromDate(2023, 9, 01), Date::createFromDate(2024, 8, 31)])
->where('contest_category_id', 1)
->where('contest_level_id', 2)
->where('published', 1)
->getModels();
return $processor->ProcessCupResults($contests);
});
return view("cup.los", ['cup' => $data]);
}
public function clear()
{
if (Auth::user() && Auth::user()->is_admin) {
Log::info("Cache clear - manual", ['key' => self::$cacheKey]);
Cache::forget(self::$cacheKey);
}
return redirect(route('cup.results'));
}
}