diff --git a/app/Console/Commands/Grapper/Sofascore/Tournament.php b/app/Console/Commands/Grapper/Sofascore/Tournament.php index 367b76d9..519fb34c 100644 --- a/app/Console/Commands/Grapper/Sofascore/Tournament.php +++ b/app/Console/Commands/Grapper/Sofascore/Tournament.php @@ -12,6 +12,7 @@ use App\Models\SofaScoreTournament; use App\Models\Sport; use App\Utilities\Notice; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Log; class Tournament { @@ -51,19 +52,13 @@ class Tournament while ($page) { $url = Nuh::$options['base_url']."api/v1/sport/$sport->ss_slug/scheduled-tournaments/$day/page/$page"; - $rand = rand(1000000, 2000000); + $rand = rand(500000, 1000000); if ($debug) { Notice::note("Sleep $rand msec", 'y'); } usleep($rand); - // $data = Curl::load($url); - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - $response = curl_exec($ch); - $data = json_decode($response, true); + $data = Curl::load($url); if ($data['hasNextPage']) { $page++; @@ -99,6 +94,12 @@ class Tournament 'Sao Tome and Principe', 'Cape Verde', 'Macao', + 'Saint Kitts and Nevis', + 'Eswatini', + 'Timor Leste', + 'Laos', + 'Congo Republic', + ]; $replace = [ '', @@ -111,6 +112,11 @@ class Tournament 'Sao Tome e Principe', 'Cape Verde Islands', 'Macau', + 'St. Kitts and Nevis', + 'Swaziland', + 'East Timor', + 'Lao Peoples\'s Democratic Republic', + 'Congo DR', ]; $country_id = Country::where('name', trim(str_replace($find, $replace, $category['name'])))->value('id'); } @@ -118,6 +124,8 @@ class Tournament if (! $country_id) { // platzhalter fix later sofa_score_categories => txodds countries // CATEGORY find <-> replace + Log::channel('sofascore')->info($tournament); + $sofa_score_categorie_id = 10000000; } else { $call = SofaScoreCategorie::updateOrCreate([ diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Pages/CreateSofaScoreDay.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Pages/CreateSofaScoreDay.php new file mode 100644 index 00000000..bd3943c2 --- /dev/null +++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Pages/CreateSofaScoreDay.php @@ -0,0 +1,11 @@ +components([ + // + ]); + } +} diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/SofaScoreDayResource.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/SofaScoreDayResource.php new file mode 100644 index 00000000..9fa8f329 --- /dev/null +++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/SofaScoreDayResource.php @@ -0,0 +1,48 @@ +count(); + } + + public static function getPages(): array + { + return [ + 'index' => ListSofaScoreDays::route('/'), + ]; + } +} diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Tables/SofaScoreDaysTable.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Tables/SofaScoreDaysTable.php new file mode 100644 index 00000000..1dccbeb5 --- /dev/null +++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreDays/Tables/SofaScoreDaysTable.php @@ -0,0 +1,58 @@ +description('Sport checked is grapped, uncheck to grap data for specivic day again.') + ->columns([ + TextColumn::make('day')->sortable(), + CheckboxColumn::make('football'), + CheckboxColumn::make('basketball'), + CheckboxColumn::make('ice-hockey'), + CheckboxColumn::make('tennis'), + ]) + ->filters([ + Filter::make('day') + ->columns(2)->columnSpan(2) + ->schema([ + DatePicker::make('from')->native(), + DatePicker::make('until')->native(), + ]) + ->query(function (Builder $query, array $data): Builder { + return $query + ->when( + $data['from'], + fn (Builder $query, $date): Builder => $query->whereDate('day', '>=', $date), + ) + ->when( + $data['until'], + fn (Builder $query, $date): Builder => $query->whereDate('day', '<=', $date), + ); + }), + ], layout: FiltersLayout::AboveContent) + ->deferFilters(false) + ->recordActions([ + EditAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php index 5c579777..eb4146a5 100644 --- a/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php +++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php @@ -40,7 +40,7 @@ class SofaScoreTournamentsTable TextColumn::make('sport.name'), TextColumn::make('sofascore_category.name') ->icon(fn ($record) => $record->sofascore_category->country->icon), - TextColumn::make('name')->searchable(), + TextColumn::make('name')->searchable()->sortable(), CheckboxColumn::make('grap'), ]) ->filters([ diff --git a/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php b/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php index 60f32141..d781d99a 100644 --- a/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php +++ b/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php @@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\TxoddsMarkets\Schemas\TxoddsMarke use App\Filament\Clusters\StaticData\Resources\TxoddsMarkets\Tables\TxoddsMarketsTable; use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Models\TxoddsMarket; -use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; @@ -18,8 +17,6 @@ class TxoddsMarketResource extends Resource protected static ?string $cluster = StaticDataCluster::class; - protected static string|BackedEnum|null $navigationIcon = 'phosphor-tree-structure'; - protected static ?int $navigationSort = 32; protected static string|\UnitEnum|null $navigationGroup = 'Markets'; diff --git a/config/logging.php b/config/logging.php index 9e998a49..2eed1437 100644 --- a/config/logging.php +++ b/config/logging.php @@ -127,6 +127,10 @@ return [ 'path' => storage_path('logs/laravel.log'), ], + 'sofascore' => [ + 'driver' => 'single', + 'path' => storage_path('logs/sofascore.log'), + 'level' => 'info', + ], ], - ];