diff --git a/app/Filament/Resources/Countries/CountryResource.php b/app/Filament/Resources/Countries/CountryResource.php index 55daae4b..3e0b3213 100644 --- a/app/Filament/Resources/Countries/CountryResource.php +++ b/app/Filament/Resources/Countries/CountryResource.php @@ -26,10 +26,6 @@ class CountryResource extends Resource protected static ?string $recordTitleAttribute = 'name'; - protected static ?string $navigationLabel = 'Countries'; - - protected static ?string $pluralLabel = 'Countries'; - protected static string|UnitEnum|null $navigationGroup = 'Administration'; protected static ?string $cluster = MaintenanceCluster::class; diff --git a/app/Filament/Resources/Providers/ProviderResource.php b/app/Filament/Resources/Providers/ProviderResource.php index 0fff259d..2c2a3c3f 100644 --- a/app/Filament/Resources/Providers/ProviderResource.php +++ b/app/Filament/Resources/Providers/ProviderResource.php @@ -23,10 +23,6 @@ class ProviderResource extends Resource protected static ?string $recordTitleAttribute = 'name'; - protected static ?string $navigationLabel = 'Provider'; - - protected static ?string $pluralLabel = 'Providers'; - protected static string|UnitEnum|null $navigationGroup = 'Administration'; protected static ?string $cluster = MaintenanceCluster::class; diff --git a/app/Filament/Resources/Supervisors/Schemas/SupervisorForm.php b/app/Filament/Resources/Supervisors/Schemas/SupervisorForm.php index 40c35a0d..bc2388bf 100644 --- a/app/Filament/Resources/Supervisors/Schemas/SupervisorForm.php +++ b/app/Filament/Resources/Supervisors/Schemas/SupervisorForm.php @@ -2,8 +2,10 @@ namespace App\Filament\Resources\Supervisors\Schemas; +use App\Models\Bookmaker; +use App\Models\Sport; +use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; -use Filament\Forms\Components\Toggle; use Filament\Schemas\Schema; class SupervisorForm @@ -13,41 +15,26 @@ class SupervisorForm return $schema ->components([ TextInput::make('name') + ->required() ->default(null), - TextInput::make('provider_id') + Select::make('provider_id') + ->relationship('provider', 'name') ->required() - ->numeric() - ->default(0), - TextInput::make('sport_id') - ->required() - ->numeric() - ->default(0), - TextInput::make('bookmaker_id') - ->required() - ->numeric() - ->default(0), + ->preload(), + Select::make('sport_id') + ->options(Sport::query()->where('is_active', 1)->pluck('name', 'id')) + ->nullable(), + Select::make('bookmaker_id') + ->options(Bookmaker::query()->where('is_active', 1)->pluck('name', 'id')) + ->nullable(), TextInput::make('sleep') ->required() ->numeric() - ->default(10), + ->default(30), TextInput::make('limit') ->required() ->numeric() ->default(0), - TextInput::make('runtime') - ->default(null), - TextInput::make('events') - ->required() - ->numeric() - ->default(0), - TextInput::make('lastcall') - ->required() - ->numeric() - ->default(0), - Toggle::make('is_cron') - ->required(), - Toggle::make('is_active') - ->required(), ]); } } diff --git a/app/Filament/Resources/Supervisors/SupervisorResource.php b/app/Filament/Resources/Supervisors/SupervisorResource.php index d89c8a75..cc4f87df 100644 --- a/app/Filament/Resources/Supervisors/SupervisorResource.php +++ b/app/Filament/Resources/Supervisors/SupervisorResource.php @@ -3,8 +3,6 @@ namespace App\Filament\Resources\Supervisors; use App\Filament\Clusters\Maintenance\MaintenanceCluster; -use App\Filament\Resources\Supervisors\Pages\CreateSupervisor; -use App\Filament\Resources\Supervisors\Pages\EditSupervisor; use App\Filament\Resources\Supervisors\Pages\ListSupervisors; use App\Filament\Resources\Supervisors\Schemas\SupervisorForm; use App\Filament\Resources\Supervisors\Tables\SupervisorsTable; @@ -48,8 +46,6 @@ class SupervisorResource extends Resource { return [ 'index' => ListSupervisors::route('/'), - 'create' => CreateSupervisor::route('/create'), - 'edit' => EditSupervisor::route('/{record}/edit'), ]; } diff --git a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php index 9aa9c8c2..23e542de 100644 --- a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php +++ b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php @@ -5,8 +5,8 @@ namespace App\Filament\Resources\Supervisors\Tables; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; -use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\TextColumn; +use Filament\Tables\Columns\ToggleColumn; use Filament\Tables\Table; class SupervisorsTable @@ -15,35 +15,25 @@ class SupervisorsTable { return $table ->columns([ + TextColumn::make('id')->badge(), TextColumn::make('name') ->searchable(), - TextColumn::make('provider_id') - ->numeric() - ->sortable(), - TextColumn::make('sport_id') - ->numeric() - ->sortable(), - TextColumn::make('bookmaker_id') - ->numeric() - ->sortable(), - TextColumn::make('sleep') - ->numeric() - ->sortable(), - TextColumn::make('limit') - ->numeric() - ->sortable(), - TextColumn::make('runtime') - ->searchable(), - TextColumn::make('events') - ->numeric() - ->sortable(), - TextColumn::make('lastcall') - ->numeric() - ->sortable(), - IconColumn::make('is_cron') - ->boolean(), - IconColumn::make('is_active') - ->boolean(), + TextColumn::make('provider.name') + ->badge()->color(fn (string $state): string => match ($state) { + 'txodds' => 'danger', + 'bestapi' => 'success', + 'direct' => 'primary', + default => 'warning', + }), + TextColumn::make('sport_id')->label('Sport'), + TextColumn::make('bookmaker_id')->label('Book'), + TextColumn::make('sleep')->numeric(), + TextColumn::make('limit')->numeric(), + TextColumn::make('runtime')->label('Duration'), + TextColumn::make('events')->numeric(), + TextColumn::make('lastcall'), + ToggleColumn::make('is_cron')->label('Cron'), + ToggleColumn::make('is_active')->label('Status'), TextColumn::make('created_at') ->dateTime() ->sortable() diff --git a/app/Models/Supervisor.php b/app/Models/Supervisor.php index efa8dcb9..21aac974 100644 --- a/app/Models/Supervisor.php +++ b/app/Models/Supervisor.php @@ -7,21 +7,17 @@ use Illuminate\Database\Eloquent\Model; class Supervisor extends Model { protected $fillable = [ - 'code', - 'command', - 'process', - 'description', + 'name', + 'provider_id', 'sport_id', - 'client_id', 'bookmaker_id', - 'is_active', - 'has_log', 'sleep', 'limit', - 'multi', - 'command', 'runtime', 'events', + 'lastcall', + 'is_cron', + 'is_active', ]; public function sport() @@ -31,11 +27,16 @@ class Supervisor extends Model public function bookmaker() { - return $this->belongsTo(Bookmaker::class, 'bookmaker_id'); + return $this->belongsTo(Bookmaker::class); } public function customer() { - return $this->belongsTo(Customer::class, 'client_id'); + return $this->belongsTo(Customer::class); + } + + public function provider() + { + return $this->belongsTo(Provider::class); } } diff --git a/app/Models/SupervisorProcess.php b/app/Models/SupervisorProcess.php deleted file mode 100644 index d55e0bfb..00000000 --- a/app/Models/SupervisorProcess.php +++ /dev/null @@ -1,13 +0,0 @@ -id(); - $table->string('name')->nullable(); + $table->string('name'); $table->integer('provider_id')->default(0); $table->integer('sport_id')->default(0);