diff --git a/app/Console/Commands/Grapper/Sofascore/Helper/LoadDays.php b/app/Console/Commands/Grapper/Sofascore/Helper/LoadDays.php
index 63298487..00890783 100644
--- a/app/Console/Commands/Grapper/Sofascore/Helper/LoadDays.php
+++ b/app/Console/Commands/Grapper/Sofascore/Helper/LoadDays.php
@@ -33,7 +33,7 @@ class LoadDays
switch ($task->mode) {
- case 'auto_updater':
+ case 'daily':
$dates[] = [
'day' => Carbon::now()->subDay()->format('Y-m-d'),
'slug' => $task->sport->ss_slug,
diff --git a/app/Console/Commands/Grapper/Sofascore/SettingsToLocal.php b/app/Console/Commands/Grapper/Sofascore/SettingsToLocal.php
index 3dac8c7c..df48e1d1 100644
--- a/app/Console/Commands/Grapper/Sofascore/SettingsToLocal.php
+++ b/app/Console/Commands/Grapper/Sofascore/SettingsToLocal.php
@@ -3,6 +3,7 @@
namespace App\Console\Commands\Grapper\Sofascore;
use App\Console\Commands\Nuh;
+use App\Models\SofaScoreRosa;
use App\Models\SofaScoreTask;
use App\Models\SofaScoreTaskTournament;
use App\Utilities\Notice;
@@ -29,5 +30,11 @@ class SettingsToLocal
foreach ($rows as $row) {
SofaScoreTaskTournament::insert((array) $row);
}
+
+ SofaScoreRosa::truncate();
+ $rows = DB::connection('remote_mariadb')->table('sofa_score_rosas')->get();
+ foreach ($rows as $row) {
+ SofaScoreRosa::insert((array) $row);
+ }
}
}
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Pages/ListSofaScoreRosas.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Pages/ListSofaScoreRosas.php
index 2ed696e3..f1521d16 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Pages/ListSofaScoreRosas.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Pages/ListSofaScoreRosas.php
@@ -3,17 +3,9 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Pages;
use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\SofaScoreRosaResource;
-use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
class ListSofaScoreRosas extends ListRecords
{
protected static string $resource = SofaScoreRosaResource::class;
-
- protected function getHeaderActions(): array
- {
- return [
- CreateAction::make(),
- ];
- }
}
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/SofaScoreRosaResource.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/SofaScoreRosaResource.php
index 44647e39..dea610d8 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/SofaScoreRosaResource.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/SofaScoreRosaResource.php
@@ -2,29 +2,30 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreRosas;
-use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Pages\CreateSofaScoreRosa;
-use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Pages\EditSofaScoreRosa;
use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Pages\ListSofaScoreRosas;
use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Schemas\SofaScoreRosaForm;
use App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Tables\SofaScoreRosasTable;
use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\SofaScoreRosa;
-use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
-use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
+use UnitEnum;
class SofaScoreRosaResource extends Resource
{
protected static ?string $model = SofaScoreRosa::class;
- protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
-
protected static ?string $cluster = StaticDataCluster::class;
protected static ?string $recordTitleAttribute = 'name';
+ protected static ?string $navigationLabel = 'Rosa';
+
+ protected static ?string $modelLabel = 'Rosa';
+
+ protected static string|UnitEnum|null $navigationGroup = 'SofaScore';
+
public static function form(Schema $schema): Schema
{
return SofaScoreRosaForm::configure($schema);
@@ -35,19 +36,15 @@ class SofaScoreRosaResource extends Resource
return SofaScoreRosasTable::configure($table);
}
- public static function getRelations(): array
- {
- return [
- //
- ];
- }
-
public static function getPages(): array
{
return [
'index' => ListSofaScoreRosas::route('/'),
- 'create' => CreateSofaScoreRosa::route('/create'),
- 'edit' => EditSofaScoreRosa::route('/{record}/edit'),
];
}
+
+ public static function getNavigationBadge(): ?string
+ {
+ return parent::getEloquentQuery()->count();
+ }
}
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Tables/SofaScoreRosasTable.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Tables/SofaScoreRosasTable.php
index 946f9e7f..9e1f4756 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Tables/SofaScoreRosasTable.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreRosas/Tables/SofaScoreRosasTable.php
@@ -2,13 +2,20 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreRosas\Tables;
+use App\Models\Country;
+use App\Models\SofaScoreRosa;
+use Filament\Actions\Action;
+use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup;
+use Filament\Actions\CreateAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
-use Filament\Forms\Components\Toggle;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;
+use Filament\Tables\Enums\FiltersLayout;
+use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
+use Illuminate\Support\Collection;
class SofaScoreRosasTable
{
@@ -16,19 +23,65 @@ class SofaScoreRosasTable
{
return $table
->columns([
- TextColumn::make('ssteam_id')->badge()->alignCenter()->width('1rem'),
- TextColumn::make('ssteam_name'),
+ TextColumn::make('ssteam_id')->label('Id')->badge()->width('1rem'),
+ TextColumn::make('country.name')->label('Country'),
+ TextColumn::make('ssteam_name')->label('Name'),
ToggleColumn::make('is_active'),
])
->filters([
- //
+ SelectFilter::make('country_id')
+ ->searchable()
+ ->label('Country')
+ ->options(function () {
+ $res = SofaScoreRosa::groupBy('country_id')->pluck('country_id')->toArray();
+ return Country::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
+ })
+ ], layout: FiltersLayout::AboveContent)
+ ->deferFilters(false)
+ ->headerActions([
+ Action::make('all_on')
+ ->icon('phosphor-toggle-right-fill')
+ ->action(function (): void {
+ SofaScoreRosa::query()->update(['is_active' => 1]);
+ }),
+ Action::make('all_off')
+ ->icon('phosphor-toggle-left-fill')
+ ->color('danger')
+ ->action(function (): void {
+ SofaScoreRosa::query()->update(['is_active' => 0]);
+ }),
+ CreateAction::make()
+ ->icon('phosphor-plus')
+ ->label('Team'),
])
->recordActions([
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
- DeleteBulkAction::make(),
+ BulkAction::make('Enable selected')
+ ->color('primary')
+ ->icon('phosphor-toggle-right-fill')
+ ->action(function (Collection $records): void {
+ foreach ($records as $record) {
+ SofaScoreRosa::where('id', '=', $record->id)
+ ->update(
+ ['is_active' => 1]
+ );
+ }
+ }),
+ BulkAction::make('Disable selected')
+ ->icon('phosphor-toggle-left-fill')
+ ->action(function (Collection $records): void {
+ foreach ($records as $record) {
+ SofaScoreRosa::where('id', '=', $record->id)
+ ->update(
+ ['is_active' => 0]
+ );
+ }
+ }),
+
+ // DeleteBulkAction::make(),
]),
]);
}
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Schemas/SofaScoreTaskForm.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Schemas/SofaScoreTaskForm.php
index 3fcb8fac..1eadc277 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Schemas/SofaScoreTaskForm.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Schemas/SofaScoreTaskForm.php
@@ -29,7 +29,7 @@ class SofaScoreTaskForm
->allowHtml()
->required()
->options([
- 'auto_updater' => 'Yesterday',
+ 'daily' => 'Yesterday',
'date' => 'Grap a date',
'range' => 'Grap a date range',
]),
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/SofaScoreTaskResource.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/SofaScoreTaskResource.php
index b41dcfed..8bc4597c 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/SofaScoreTaskResource.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/SofaScoreTaskResource.php
@@ -20,9 +20,9 @@ class SofaScoreTaskResource extends Resource
protected static ?string $cluster = StaticDataCluster::class;
- protected static ?string $navigationLabel = 'SofaScore Tasks';
+ protected static ?string $navigationLabel = 'Tasks';
- protected static ?string $modelLabel = 'SofaScore Tasks';
+ protected static ?string $modelLabel = 'Tasks';
protected static ?int $navigationSort = 1;
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Tables/SofaScoreTasksTable.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Tables/SofaScoreTasksTable.php
index d31d3e76..ac7f9eeb 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Tables/SofaScoreTasksTable.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreTasks/Tables/SofaScoreTasksTable.php
@@ -24,7 +24,7 @@ class SofaScoreTasksTable
TextColumn::make('mode')
->label('Grapping dates')
->formatStateUsing(fn(string $state, $record): string => match ($state) {
- 'auto_updater' => 'Yesterday',
+ 'daily' => 'Yesterday',
'date' => $record->day_from,
'range' => $record->day_from . ' <=> ' . $record->day_to,
}),
diff --git a/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php b/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php
index a0376390..40a89d08 100644
--- a/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php
+++ b/app/Filament/Clusters/StaticData/Resources/SofaScoreTournaments/Tables/SofaScoreTournamentsTable.php
@@ -5,21 +5,21 @@ namespace App\Filament\Clusters\StaticData\Resources\SofaScoreTournaments\Tables
use App\Models\SofaScoreCategory;
use App\Models\SofaScoreTournament;
use App\Models\Sport;
-use Filament\Actions\Action;
-use Filament\Actions\BulkAction;
-use Filament\Actions\BulkActionGroup;
+// use Filament\Actions\Action;
+// use Filament\Actions\BulkAction;
+// use Filament\Actions\BulkActionGroup;
use Filament\Forms\Components\Select;
-use Filament\Forms\Components\ToggleButtons;
+// use Filament\Forms\Components\ToggleButtons;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Support\Enums\IconSize;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
-use Filament\Tables\Columns\ToggleColumn;
+// use Filament\Tables\Columns\ToggleColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\Collection;
+// use Illuminate\Database\Eloquent\Collection;
class SofaScoreTournamentsTable
{
@@ -41,8 +41,8 @@ class SofaScoreTournamentsTable
TextColumn::make('sofascore_category.name')
->icon(fn($record) => $record->sofascore_category->country->icon),
TextColumn::make('name')->searchable()->sortable(),
- ToggleColumn::make('enabled')->label('Enable'),
- ToggleColumn::make('disabled')->label('Hidden'),
+ // ToggleColumn::make('enabled')->label('Enable'),
+ // ToggleColumn::make('disabled')->label('Hidden'),
])
->filters([
Filter::make('filters')
@@ -71,15 +71,15 @@ class SofaScoreTournamentsTable
return SofaScoreCategory::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
})
->live(),
- ToggleButtons::make('filter-disabled')
- ->inline()
- ->columnSpan(2)
- ->default('active')
- ->options([
- 'all' => 'All',
- 'enabled' => 'Enabled',
- 'hidden' => 'Hidden',
- ]),
+ // ToggleButtons::make('filter-disabled')
+ // ->inline()
+ // ->columnSpan(2)
+ // ->default('active')
+ // ->options([
+ // 'all' => 'All',
+ // 'enabled' => 'Enabled',
+ // 'hidden' => 'Hidden',
+ // ]),
])
->query(function (Builder $query, array $data): Builder {
return $query->when(
@@ -121,56 +121,56 @@ class SofaScoreTournamentsTable
);
}),
], layout: FiltersLayout::AboveContent)
- ->deferFilters(false)
- ->toolbarActions([
- BulkActionGroup::make([
- BulkAction::make('Enable selected')
- ->icon('phosphor-toggle-right-fill')
- ->color('primary')
- ->action(function (Collection $records): void {
- foreach ($records as $record) {
- SofaScoreTournament::where('id', '=', $record->id)
- ->update(
- ['enabled' => 1]
- );
- }
- }),
- BulkAction::make('Disable selected')
- ->icon('phosphor-toggle-left-fill')
- ->color('gray')
- ->action(function (Collection $records): void {
- foreach ($records as $record) {
- SofaScoreTournament::where('id', '=', $record->id)
- ->update(
- ['enabled' => 0]
- );
- }
- }),
- ])->label('Grapping'),
- BulkActionGroup::make([
- BulkAction::make('Hide selected')
- ->icon('phosphor-toggle-right-fill')
- ->color('primary')
- ->action(function (Collection $records): void {
- foreach ($records as $record) {
- SofaScoreTournament::where('id', '=', $record->id)
- ->update(
- ['disabled' => 1]
- );
- }
- }),
- BulkAction::make('Show selected')
- ->icon('phosphor-toggle-left-fill')
- ->color('gray')
- ->action(function (Collection $records): void {
- foreach ($records as $record) {
- SofaScoreTournament::where('id', '=', $record->id)
- ->update(
- ['disabled' => 0]
- );
- }
- }),
- ])->label('Hidden'),
- ]);
+ ->deferFilters(false);
+ // ->toolbarActions([
+ // BulkActionGroup::make([
+ // BulkAction::make('Enable selected')
+ // ->icon('phosphor-toggle-right-fill')
+ // ->color('primary')
+ // ->action(function (Collection $records): void {
+ // foreach ($records as $record) {
+ // SofaScoreTournament::where('id', '=', $record->id)
+ // ->update(
+ // ['enabled' => 1]
+ // );
+ // }
+ // }),
+ // BulkAction::make('Disable selected')
+ // ->icon('phosphor-toggle-left-fill')
+ // ->color('gray')
+ // ->action(function (Collection $records): void {
+ // foreach ($records as $record) {
+ // SofaScoreTournament::where('id', '=', $record->id)
+ // ->update(
+ // ['enabled' => 0]
+ // );
+ // }
+ // }),
+ // ])->label('Grapping'),
+ // BulkActionGroup::make([
+ // BulkAction::make('Hide selected')
+ // ->icon('phosphor-toggle-right-fill')
+ // ->color('primary')
+ // ->action(function (Collection $records): void {
+ // foreach ($records as $record) {
+ // SofaScoreTournament::where('id', '=', $record->id)
+ // ->update(
+ // ['disabled' => 1]
+ // );
+ // }
+ // }),
+ // BulkAction::make('Show selected')
+ // ->icon('phosphor-toggle-left-fill')
+ // ->color('gray')
+ // ->action(function (Collection $records): void {
+ // foreach ($records as $record) {
+ // SofaScoreTournament::where('id', '=', $record->id)
+ // ->update(
+ // ['disabled' => 0]
+ // );
+ // }
+ // }),
+ // ])->label('Hidden'),
+ // ]);
}
}
diff --git a/app/Models/SofaScoreRosa.php b/app/Models/SofaScoreRosa.php
index dcd5f5d1..080ec53d 100644
--- a/app/Models/SofaScoreRosa.php
+++ b/app/Models/SofaScoreRosa.php
@@ -12,4 +12,9 @@ class SofaScoreRosa extends Model
'country_id',
'is_active',
];
+
+ public function country()
+ {
+ return $this->belongsTo(Country::class);
+ }
}
diff --git a/grapper.sh b/grapper.sh
index 533eeef8..1ec1edf1 100755
--- a/grapper.sh
+++ b/grapper.sh
@@ -20,22 +20,22 @@ case "$1" in
echo "\n⚽ sofa_score_task $1"
echo "\n⚽ close all vpn"
- # killall ssh
+ killall ssh
echo "\n⚽ open vpn"
- # ssh -f -N -L 13306:127.0.0.1:3306 -p 58371 root@162.55.242.190
+ ssh -f -N -L 13306:127.0.0.1:3306 -p 58371 root@162.55.242.190
echo "\n⚽ Settings To Local"
- # php artisan nuh --d --f 67 --fun=2 --task=$1
+ php artisan nuh --d --f 67 --fun=2 --task=$1
echo "\n⚽ close vpn"
- # killall ssh
+ killall ssh
echo "\n⚽ Grapper"
php artisan nuh --d --f 67 --fun=3 --task=$1 --restart=$2
echo "\n⚽ CreateZip"
- # php artisan nuh --d --f 67 --fun=4 --task=$1
+ php artisan nuh --d --f 67 --fun=4 --task=$1
# echo "\n⚽ SendMail"
# php artisan nuh --d --f 67 --fun=5 --task=$1