add groups and major groups direct from txodds for auto mapping names

This commit is contained in:
salam committed 2026-02-25 19:50:40 +01:00
1 parent ba83e1a12d
commit 859038cc8c
21 files changed
+299 -40

No files matched your search

+2 -2
View File
@@ -2,8 +2,8 @@
namespace App\Console\Commands\DbMapper; namespace App\Console\Commands\DbMapper;
use App\Console\Commands\DbMapper\Helper\FindCompetitionGroup;
use App\Console\Commands\DbMapper\Helper\FindElement; use App\Console\Commands\DbMapper\Helper\FindElement;
use App\Console\Commands\DbMapper\Helper\FindGroup;
use App\Console\Commands\DbMapper\Store\StoreElement; use App\Console\Commands\DbMapper\Store\StoreElement;
use App\Console\Commands\DbMapper\Store\StoreGroup; use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
@@ -36,7 +36,7 @@ class Bet365All
FindElement::run($mapper); FindElement::run($mapper);
FindGroup::run($mapper); FindCompetitionGroup::run($mapper);
if ($debug) { if ($debug) {
Notice::note($mapper, 'b'); Notice::note($mapper, 'b');
@@ -0,0 +1,53 @@
<?php
namespace App\Console\Commands\DbMapper\Helper;
class ArrayFunction
{
public static function remove($array, $value = [])
{
$tmp = str_replace(',', ' ', $str);
// $tmp = str_replace('-', ' ', $tmp);
$tmp = str_replace('/', ' ', $tmp);
$tmp = preg_replace('"\([^\)]*\)"', '', $tmp);
$tmp = preg_replace('/[^a-zA-Z0-9 ] /', '', $tmp);
$tmp = str_replace(' ', ' ', $tmp);
$elements = explode(' ', $tmp);
$_return = [];
foreach ($elements as $value) {
if (\strlen($value) > 3) {
$_return[] = $value;
}
}
usort($_return, function ($a, $b) {
return strlen($b) <=> strlen($a);
});
$remove = [
'fc',
'city',
'new',
'real',
'united',
'dinamo',
'town',
'club',
'union',
'sport',
'sports',
'basket',
'hapoel',
'maccabi',
'east'];
return array_diff($_return, $remove);
}
}
@@ -0,0 +1,28 @@
<?php
namespace App\Console\Commands\DbMapper\Helper;
use App\Models\CompetitionGroup;
use App\Models\CompetitionGroupProvider;
class FindCompetitionGroup
{
public static function run(&$mapper)
{
if (isset($mapper['group_id'])) {
$mapper['txodds_group_id'] = CompetitionGroupProvider::where('provider_id', $mapper['provider_id'])
->where('provider_group_id', $mapper['group_id'])->value('competition_group_id');
}
if (! $mapper['txodds_group_id']) {
$arr = ExplodeString::grap($mapper['group']);
$mapper['txodds_group_id'] = CompetitionGroup::where('sport_id', $mapper['sport_id'])
->where(function ($query) use ($arr) {
foreach ($arr as $str) {
$query->where('name', 'like', '%'.$str.'%');
}
})->value('id');
}
}
}
@@ -2,8 +2,8 @@
namespace App\Console\Commands\DbMapper\Helper; namespace App\Console\Commands\DbMapper\Helper;
use App\Models\CompetitionGroup;
use App\Models\CompetitionGroupProvider; use App\Models\CompetitionGroupProvider;
use App\Models\Group;
class FindGroup class FindGroup
{ {
@@ -17,12 +17,16 @@ class FindGroup
if (! $mapper['txodds_group_id']) { if (! $mapper['txodds_group_id']) {
$arr = ExplodeString::grap($mapper['group']); $arr = ExplodeString::grap($mapper['group']);
$mapper['txodds_group_id'] = CompetitionGroup::where('sport_id', $mapper['sport_id']) $arr = array_diff($arr, ['Singles', 'ATP', 'WTA']);
print_r($arr);
$mapper['competition_group_id'] = Group::where('sport_id', $mapper['sport_id'])
->where(function ($query) use ($arr) { ->where(function ($query) use ($arr) {
foreach ($arr as $str) { foreach ($arr as $str) {
$query->where('name', 'like', '%'.$str.'%'); $query->where('name', 'like', '%'.$str.'%');
} }
})->value('id'); })->value('competition_group_id');
} }
} }
} }
@@ -2,8 +2,8 @@
namespace App\Console\Commands\DbMapper; namespace App\Console\Commands\DbMapper;
use App\Console\Commands\DbMapper\Helper\FindCompetitionGroup;
use App\Console\Commands\DbMapper\Helper\FindElement; use App\Console\Commands\DbMapper\Helper\FindElement;
use App\Console\Commands\DbMapper\Helper\FindGroup;
use App\Console\Commands\DbMapper\Store\StoreElement; use App\Console\Commands\DbMapper\Store\StoreElement;
use App\Console\Commands\DbMapper\Store\StoreGroup; use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
@@ -31,7 +31,7 @@ class LogifutureColombiaAll
FindElement::run($mapper); FindElement::run($mapper);
FindGroup::run($mapper); FindCompetitionGroup::run($mapper);
if ($debug) { if ($debug) {
Notice::note($mapper, 'b'); Notice::note($mapper, 'b');
@@ -4,8 +4,6 @@ namespace App\Console\Commands\DbMapper;
use App\Console\Commands\DbMapper\Helper\FindElement; use App\Console\Commands\DbMapper\Helper\FindElement;
use App\Console\Commands\DbMapper\Helper\FindGroup; use App\Console\Commands\DbMapper\Helper\FindGroup;
use App\Console\Commands\DbMapper\Store\StoreElement;
use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
use App\Models\Event; use App\Models\Event;
use App\Models\Mapper; use App\Models\Mapper;
@@ -15,17 +13,19 @@ use Carbon\Carbon;
class LogifutureNigeriaAll class LogifutureNigeriaAll
{ {
/** /**
* Provider ID 2 * Provider ID 5
* LOGIFUTURE NIGERA
*/ */
public static function run() public static function run()
{ {
$debug = Nuh::$options['d'] ?? 0; $debug = Nuh::$options['d'] ?? 0;
if ($debug) { if ($debug) {
Notice::note(Nuh::$options['name'].' '.Nuh::$options['sport'], 'g'); Notice::note(Nuh::$options['name'], 'g');
} }
$mappers = Mapper::where('provider_id', 2)->where('sport_id', 5)->where('starttime', '>=', Carbon::now())->get()->toArray(); $mappers = Mapper::where('provider_id', 5)->where('sport_id', 5)->where('starttime', '>=', Carbon::now())->get()->toArray();
foreach ($mappers as $mapper) { foreach ($mappers as $mapper) {
@@ -50,9 +50,6 @@ class LogifutureNigeriaAll
->first(); ->first();
if ($event) { if ($event) {
StoreElement::store($mapper);
StoreGroup::store($mapper);
$arr = []; $arr = [];
if ($mapper['bet365_id']) { if ($mapper['bet365_id']) {
@@ -71,7 +68,7 @@ class LogifutureNigeriaAll
} }
if ($debug) { if ($debug) {
Notice::note($event->toArray(), 'g'); Notice::note($event->toArray(), 'g', 1);
} }
} }
} }
@@ -2,8 +2,8 @@
namespace App\Console\Commands\DbMapper; namespace App\Console\Commands\DbMapper;
use App\Console\Commands\DbMapper\Helper\FindCompetitionGroup;
use App\Console\Commands\DbMapper\Helper\FindElement; use App\Console\Commands\DbMapper\Helper\FindElement;
use App\Console\Commands\DbMapper\Helper\FindGroup;
use App\Console\Commands\DbMapper\Store\StoreElement; use App\Console\Commands\DbMapper\Store\StoreElement;
use App\Console\Commands\DbMapper\Store\StoreGroup; use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
@@ -38,7 +38,7 @@ class MaglooKeniaAll
FindElement::run($mapper); FindElement::run($mapper);
FindGroup::run($mapper); FindCompetitionGroup::run($mapper);
if ($debug) { if ($debug) {
Notice::note($mapper, 'b'); Notice::note($mapper, 'b');
@@ -2,8 +2,8 @@
namespace App\Console\Commands\DbMapper; namespace App\Console\Commands\DbMapper;
use App\Console\Commands\DbMapper\Helper\FindCompetitionGroup;
use App\Console\Commands\DbMapper\Helper\FindElement; use App\Console\Commands\DbMapper\Helper\FindElement;
use App\Console\Commands\DbMapper\Helper\FindGroup;
use App\Console\Commands\DbMapper\Store\StoreElement; use App\Console\Commands\DbMapper\Store\StoreElement;
use App\Console\Commands\DbMapper\Store\StoreGroup; use App\Console\Commands\DbMapper\Store\StoreGroup;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
@@ -34,7 +34,7 @@ class MaglooNigeriaAll
FindElement::run($mapper); FindElement::run($mapper);
FindGroup::run($mapper); FindCompetitionGroup::run($mapper);
if ($debug) { if ($debug) {
Notice::note($mapper, 'b'); Notice::note($mapper, 'b');
+8
View File
@@ -4,6 +4,8 @@ namespace App\Console\Commands\Grapper;
use App\Console\Commands\Grapper\TxOdds\Countries; use App\Console\Commands\Grapper\TxOdds\Countries;
use App\Console\Commands\Grapper\TxOdds\Fixtures; use App\Console\Commands\Grapper\TxOdds\Fixtures;
use App\Console\Commands\Grapper\TxOdds\Groups;
use App\Console\Commands\Grapper\TxOdds\MajorGroups;
use App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Grapper\TxOdds\Odds;
use App\Console\Commands\Nuh; use App\Console\Commands\Nuh;
@@ -18,6 +20,12 @@ class TxOdds
case 'Countries': case 'Countries':
Countries::grap(); Countries::grap();
break; break;
case 'Groups':
Groups::grap();
break;
case 'Major Groups':
MajorGroups::grap();
break;
default: default:
Odds::grap(); Odds::grap();
break; break;
@@ -83,7 +83,8 @@ class Fixtures
'competition_group_id' => (string) $row->group['cgid'], 'competition_group_id' => (string) $row->group['cgid'],
'sport_id' => (int) $sport_id, 'sport_id' => (int) $sport_id,
'country_id' => (int) $row->group['cnid'], 'country_id' => (int) $row->group['cnid'],
'name' => (string) $row->group, 'name' => (int) $row->group['cname'],
'fullname' => (string) $row->group,
]; ];
Group::updateOrCreate(['id' => (int) $row->group['id']], $group); Group::updateOrCreate(['id' => (int) $row->group['id']], $group);
@@ -0,0 +1,54 @@
<?php
namespace App\Console\Commands\Grapper\TxOdds;
use App\Console\Commands\Nuh;
use App\Console\Commands\Xml;
use App\Models\Group;
use App\Models\Sport;
use App\Utilities\Notice;
class Groups
{
public static function grap()
{
$debug = Nuh::$options['d'] ?? 0;
$kontos = ['soccer' => config('env.txodds_betaid1'), 'other' => config('env.txodds_betaid2')];
$sports = Sport::getActiveSports();
Group::whereNotIn('sport_id', $sports)->delete();
$years = [date('y'), date('y') + 1];
foreach ($kontos as $konto => $authentication) {
$url = 'https://xml2.txodds.com/feed/groups.php?'.$authentication.'&sid='.implode(',', $years);
$data = Xml::load($url);
dd($data);
$count = 0;
foreach ($data as $row) {
if (in_array()) {
Group::updateOrCreate(
['id' => (int) $row->id],
[
'mgroup' => (string) $row->mgroup,
'name' => (string) $row->name,
'fullname' => (string) $row->fullname,
'sid' => (string) $row->sid,
'date1' => (string) $row->date1,
'date2' => (string) $row->date2,
]
);
}
$count++;
}
Notice::note("$count groups $konto processed", 'g');
}
}
}
@@ -0,0 +1,42 @@
<?php
namespace App\Console\Commands\Grapper\TxOdds;
use App\Console\Commands\Nuh;
use App\Console\Commands\Xml;
use App\Models\MajorGroup;
use App\Models\Sport;
use App\Utilities\Notice;
class MajorGroups
{
public static function grap()
{
$debug = Nuh::$options['d'] ?? 0;
$sports = Sport::getActiveSports();
foreach ($sports as $name => $sport_id) {
$url = 'https://xml2.txodds.com/feed/mgroups.php?spid='.$sport_id.'&active=1';
$data = Xml::load($url);
$count = 0;
foreach ($data as $row) {
MajorGroup::updateOrCreate(
['id' => (int) $row->id],
[
'name' => (string) $row->name,
'sport_id' => $sport_id,
'country_id' => $row->countryid,
]
);
$count++;
}
Notice::note("$count major groups $name processed", 'g');
}
}
}
+2 -1
View File
@@ -243,7 +243,8 @@ class Odds
'competition_group_id' => (string) $row->group['cgid'], 'competition_group_id' => (string) $row->group['cgid'],
'sport_id' => $sport_id, 'sport_id' => $sport_id,
'country_id' => (int) $row->group['cnid'], 'country_id' => (int) $row->group['cnid'],
'name' => (string) $row->group, 'name' => (int) $row->group['cname'],
'fullname' => (string) $row->group,
]; ];
Group::updateOrCreate(['id' => (int) $row->group['id']], $group); Group::updateOrCreate(['id' => (int) $row->group['id']], $group);
@@ -60,6 +60,8 @@ class SupervisorsTable
'Fixtures' => 'Fixtures', 'Fixtures' => 'Fixtures',
'Odds' => 'Odds', 'Odds' => 'Odds',
'Countries' => 'Countries', 'Countries' => 'Countries',
'Groups' => 'Groups',
'Major Groups' => 'Major Groups',
]; ];
case 2: case 2:
return [ return [
+2 -1
View File
@@ -31,6 +31,7 @@ class ClientGroupListEditor extends Component implements HasActions, HasSchemas,
{ {
return $table return $table
->query(ClientGroupList::query()->where('sport_id', auth()->user()->sport_id)) ->query(ClientGroupList::query()->where('sport_id', auth()->user()->sport_id))
->description('When creating a group add one league and save, then you can add more leagues to this group.')
->columns([ ->columns([
TextColumn::make('name'), TextColumn::make('name'),
TextColumn::make('client_groups') TextColumn::make('client_groups')
@@ -45,7 +46,7 @@ class ClientGroupListEditor extends Component implements HasActions, HasSchemas,
}), }),
]) ])
->emptyStateHeading('No Custom Group for '.Sport::where('id', auth()->user()->sport_id)->value('name')) ->emptyStateHeading('No Custom Group for '.Sport::where('id', auth()->user()->sport_id)->value('name'))
->emptyStateDescription('Create a group add one league and save, then you can add more league to this group.') ->emptyStateDescription('Create a custom group to get started.')
->recordActions([ ->recordActions([
EditAction::make('edit') EditAction::make('edit')
->iconButton() ->iconButton()
+5
View File
@@ -9,9 +9,14 @@ class Group extends Model
protected $fillable = [ protected $fillable = [
'id', 'id',
'name', 'name',
'fullname',
'mgroup',
'competition_group_id', 'competition_group_id',
'sid',
'sport_id', 'sport_id',
'country_id', 'country_id',
'date1',
'date2',
]; ];
public function country() public function country()
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class MajorGroup extends Model
{
protected $fillable = [
'id',
'name',
'sport_id',
'country_id',
];
public function country()
{
return $this->belongsTo(Country::class);
}
public function sport()
{
return $this->belongsTo(Sport::class);
}
}
@@ -13,10 +13,15 @@ return new class extends Migration
{ {
Schema::create('groups', function (Blueprint $table) { Schema::create('groups', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('name'); $table->string('name')->nullable();
$table->string('fullname')->nullable();
$table->string('mgroup')->nullable();
$table->integer('sid')->nullable()->deafult(0);
$table->integer('sport_id')->index()->references('id')->on('sports'); $table->integer('sport_id')->index()->references('id')->on('sports');
$table->integer('competition_group_id')->default(0)->nullable()->index()->references('id')->on('competition_groups'); $table->integer('competition_group_id')->default(0)->nullable()->index()->references('id')->on('competition_groups');
$table->integer('country_id')->default(0)->nullable()->index()->references('id')->on('countries'); $table->integer('country_id')->default(0)->nullable()->index()->references('id')->on('countries');
$table->timestamp('date1');
$table->timestamp('date2');
$table->timestamps(); $table->timestamps();
}); });
} }
@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('major_groups', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('sport_id')->index()->references('id')->on('sports');
$table->integer('country_id')->default(0)->nullable()->index()->references('id')->on('countries');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('major_groups');
}
};
+18 -15
View File
@@ -14,28 +14,28 @@ class SupervisorSeeder extends Seeder
*/ */
$sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `txodds_market_id`, `sleep`, `limit`, `runtime`, `commandline_options`, `maxsconds`, `lastcall`, `use_lastcall`, `is_supervisor`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`) $sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `txodds_market_id`, `sleep`, `limit`, `runtime`, `commandline_options`, `maxsconds`, `lastcall`, `use_lastcall`, `is_supervisor`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`)
VALUES VALUES
(1, 'Fixtures', 1, NULL, NULL, 10, 0, '1.473', NULL, 1800, 0, 0, 0, 1, 0, 30, '2025-08-27 07:39:55', '2026-02-24 11:01:31'), (1, 'Fixtures', 1, NULL, NULL, 10, 0, '0.136', NULL, 1800, 0, 0, 0, 1, 0, 30, '2025-08-27 07:39:55', '2026-02-25 14:49:16'),
(2, 'Odds', 1, 1, NULL, 10, 0, '63.467', NULL, 30, 0, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-02-24 12:03:31'), (2, 'Odds', 1, 1, NULL, 10, 0, '0.009', NULL, 30, 0, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-02-25 16:48:04'),
(3, 'Fixtures', 2, 0, NULL, 15, 0, '19.917', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-19 11:42:35', '2026-02-24 14:19:58'), (3, 'Fixtures', 2, 0, NULL, 15, 0, '0.267', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-19 11:42:35', '2026-02-25 14:52:41'),
(4, 'Willhill', 2, 0, NULL, 15, 0, '4.835', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-19 11:48:05', '2026-02-24 14:24:52'), (4, 'Willhill', 2, 0, NULL, 15, 0, '1.628', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-19 11:48:05', '2026-02-25 14:54:19'),
(5, 'Bwin', 2, 0, NULL, 15, 0, '1.336', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-22 06:41:18', '2026-02-24 14:31:22'), (5, 'Bwin', 2, 0, NULL, 15, 0, '0.208', NULL, 1800, 0, 0, 0, 1, 0, 0, '2025-12-22 06:41:18', '2026-02-25 14:54:33'),
(6, 'Bet365', 2, 1, NULL, 30, 0, '42.535', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 13:48:56'), (6, 'Bet365', 2, 1, NULL, 30, 0, '0', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-25 14:54:33'),
(7, 'Bet365', 2, 2, NULL, 30, 0, '0.5', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:48'), (7, 'Bet365', 2, 2, NULL, 30, 0, '0.5', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:48'),
(8, 'Fixtures', 4, NULL, NULL, 210, 0, '3.757', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:46'), (8, 'Fixtures', 4, NULL, NULL, 210, 0, '1.054', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-25 14:55:37'),
(9, 'Odds', 4, 0, NULL, 15, 0, '0.372', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:48'), (9, 'Odds', 4, 0, NULL, 15, 0, '0.049', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-25 14:55:41'),
(10, 'Fixtures', 3, 0, NULL, 120, 0, '2.26', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:32:10'), (10, 'Fixtures', 3, 0, NULL, 120, 0, '2.26', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:32:10'),
(11, 'Odds', 3, 0, NULL, 15, 0, '0.369', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:34'), (11, 'Odds', 3, 0, NULL, 15, 0, '0.369', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:34'),
(12, 'Odds', 5, 1, NULL, 15, 0, '0.338', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:23'), (12, 'Odds', 5, 1, NULL, 15, 0, '0.349', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-25 16:26:18'),
(13, 'Odds', 5, 3, NULL, 15, 0, '0.266', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:46'), (13, 'Odds', 5, 3, NULL, 15, 0, '0.266', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:46'),
(14, 'Odds', 5, 2, NULL, 15, 0, '0.255', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:46'), (14, 'Odds', 5, 2, NULL, 15, 0, '0.255', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:46'),
(15, 'Odds', 5, 5, NULL, 15, 0, '0.255', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:45'), (15, 'Odds', 5, 5, NULL, 15, 0, '0.012', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-25 18:28:22'),
(16, 'Odds', 6, 1, NULL, 15, 0, '0.295', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:42'), (16, 'Odds', 6, 1, NULL, 15, 0, '0.295', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:42'),
(17, 'Odds', 6, 3, NULL, 15, 0, '0.259', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:37'), (17, 'Odds', 6, 3, NULL, 15, 0, '0.259', NULL, 1800, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:37'),
(18, 'Odds', 6, 2, NULL, 15, 0, '0.258', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:41'), (18, 'Odds', 6, 2, NULL, 15, 0, '0.258', NULL, 30, 0, 0, 1, 1, 0, 0, '2025-12-18 17:44:33', '2026-02-24 14:33:41'),
(19, 'Odds', 6, 5, NULL, 15, 0, '0.255', NULL, 30, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:47'), (19, 'Odds', 6, 5, NULL, 15, 0, '0.255', NULL, 30, 0, 0, 1, 1, 0, 0, '2026-01-03 12:27:44', '2026-02-24 14:33:47'),
(20, 'Odds', 1, 3, NULL, 15, 0, '13.58', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:56:50', '2026-02-24 14:13:37'), (20, 'Odds', 1, 3, NULL, 15, 0, '0.612', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:56:50', '2026-02-24 17:08:11'),
(21, 'Odds', 1, 2, NULL, 15, 0, '6.377', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:57:14', '2026-02-24 14:06:25'), (21, 'Odds', 1, 2, NULL, 15, 0, '6.377', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:57:14', '2026-02-24 14:06:25'),
(22, 'Odds', 1, 5, NULL, 15, 0, '0.948', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:57:24', '2026-02-24 14:00:59'), (22, 'Odds', 1, 5, NULL, 15, 0, '0.353', NULL, 30, 0, 0, 0, 1, 0, 10, '2026-01-08 17:57:24', '2026-02-25 18:28:01'),
(24, '', 8, 1, 0, 30, 0, '0.509', NULL, 30, 1771943627, 0, 1, 1, 10, 10, '2026-01-14 15:42:40', '2026-02-24 14:33:47'), (24, '', 8, 1, 0, 30, 0, '0.509', NULL, 30, 1771943627, 0, 1, 1, 10, 10, '2026-01-14 15:42:40', '2026-02-24 14:33:47'),
(25, '', 8, 1, 4, 30, 0, '0.513', NULL, 30, 1771943610, 0, 1, 1, 10, 10, '2026-01-14 16:56:25', '2026-02-24 14:33:31'), (25, '', 8, 1, 4, 30, 0, '0.513', NULL, 30, 1771943610, 0, 1, 1, 10, 10, '2026-01-14 16:56:25', '2026-02-24 14:33:31'),
(26, '', 8, 1, 65536, 30, 0, '0.508', NULL, 30, 1771943623, 0, 1, 1, 10, 10, '2026-01-14 16:56:28', '2026-02-24 14:33:43'), (26, '', 8, 1, 65536, 30, 0, '0.508', NULL, 30, 1771943623, 0, 1, 1, 10, 10, '2026-01-14 16:56:28', '2026-02-24 14:33:43'),
@@ -66,14 +66,17 @@ class SupervisorSeeder extends Seeder
(51, '', 9, 1, NULL, 30, 0, '0.569', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-16 12:05:14', '2026-02-16 17:10:17'), (51, '', 9, 1, NULL, 30, 0, '0.569', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-16 12:05:14', '2026-02-16 17:10:17'),
(52, '', 10, 0, NULL, 30, 0, NULL, NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-16 12:05:14', '2026-01-16 12:05:14'), (52, '', 10, 0, NULL, 30, 0, NULL, NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-16 12:05:14', '2026-01-16 12:05:14'),
(53, 'Generate Setting', 7, 0, NULL, 30, 0, '0.007', NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-16 12:05:14', '2026-02-22 14:27:05'), (53, 'Generate Setting', 7, 0, NULL, 30, 0, '0.007', NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-16 12:05:14', '2026-02-22 14:27:05'),
(54, 'Generate Alarms', 7, 1, NULL, 30, 0, '0.674', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-16 12:05:14', '2026-02-19 13:12:36'), (54, 'Generate Alarms', 7, 1, NULL, 30, 0, '0.016', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-16 12:05:14', '2026-02-25 15:25:17'),
(55, 'Txodds Flags', 7, NULL, NULL, 30, 0, '0.214', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-27 11:25:56', '2026-02-22 14:43:49'), (55, 'Txodds Flags', 7, NULL, NULL, 30, 0, '0.214', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-01-27 11:25:56', '2026-02-22 14:43:49'),
(56, 'Notify Alarms', 7, NULL, NULL, 30, 0, NULL, NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-27 11:25:56', '2026-01-27 11:26:05'), (56, 'Notify Alarms', 7, NULL, NULL, 30, 0, NULL, NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-27 11:25:56', '2026-01-27 11:26:05'),
(57, 'Bet365', 2, 3, NULL, 30, 0, '0.795', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:47:50', '2026-02-24 14:33:22'), (57, 'Bet365', 2, 3, NULL, 30, 0, '0.795', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:47:50', '2026-02-24 14:33:22'),
(58, 'Bet365', 2, 5, NULL, 30, 0, '1.665', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:48:06', '2026-02-24 14:33:00'), (58, 'Bet365', 2, 5, NULL, 30, 0, '1.665', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:48:06', '2026-02-24 14:33:00'),
(59, 'Bet365', 11, NULL, NULL, 60, 0, '1.531', NULL, 30, 0, 0, 1, 1, 0, 10, '2026-02-19 13:31:24', '2026-02-24 14:33:26'), (59, 'Bet365', 11, NULL, NULL, 60, 0, '1.531', NULL, 30, 0, 0, 1, 1, 0, 10, '2026-02-19 13:31:24', '2026-02-24 14:33:26'),
(60, 'Countries', 1, NULL, NULL, 30, 0, '0.008', NULL, 30, 0, 0, 0, 0, 10, 10, '2026-02-24 17:13:21', '2026-02-24 17:18:35'); (60, 'Countries', 1, NULL, NULL, 30, 0, '0.008', NULL, 30, 0, 0, 0, 0, 10, 10, '2026-02-24 17:13:21', '2026-02-24 17:18:35'),
"; (61, 'LOGIFUTURE NIGERA', 11, NULL, NULL, 30, 0, '0.008', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-25 18:29:52', '2026-02-25 19:15:57'),
(62, 'Groups', 1, NULL, NULL, 30, 0, '0.049', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-02-25 19:04:37', '2026-02-25 19:32:24'),
(63, 'Major Groups', 1, NULL, NULL, 30, 0, '0.043', NULL, 30, 0, 0, 0, 1, 10, 10, '2026-02-25 19:45:38', '2026-02-25 19:48:42');
";
DB::unprepared($sql); DB::unprepared($sql);
} }
} }
@@ -1,7 +1,7 @@
<div class="flex flex-row gap-10 justify-between"> <div class="flex flex-row gap-10 justify-between">
<div class="flex flex-row gap-2"> <div class="flex flex-row gap-2">
<x-filament::button size="xs" tooltip="Clear all orange filter" wire:click="clearAllFilter" color="gray" <x-filament::button size="xs" tooltip="Clear all filter" wire:click="clearAllFilter" color="gray"
icon="phosphor-x" /> icon="phosphor-x" />
<x-filament::button size="xs" <x-filament::button size="xs"
tooltip="Filter starttime differences TxOdds vs {{ auth()->user()->bookmaker->name }}" tooltip="Filter starttime differences TxOdds vs {{ auth()->user()->bookmaker->name }}"