diff --git a/app/Console/Commands/Grapper/Fixtures/FindFixture.php b/app/Console/Commands/Grapper/Fixtures/FindFixture.php index b8e0cfe5..b118aa13 100644 --- a/app/Console/Commands/Grapper/Fixtures/FindFixture.php +++ b/app/Console/Commands/Grapper/Fixtures/FindFixture.php @@ -4,6 +4,7 @@ namespace App\Console\Commands\Grapper\Fixtures; use App\Console\Commands\Nuh; use App\Models\Event; +use App\Models\EventBookmaker; use App\Models\Mapper; use Illuminate\Support\Carbon; @@ -50,19 +51,23 @@ class FindFixture break; case 3: // MAGLOO KENIA - $match = Event::where('magken_id', $event_id)->first(); + $res = EventBookmaker::where('bookmaker_id', 10)->where('event_id', $event_id)->first(); + $match = Event::where('id', $res->event_id)->first(); break; case 4: // MAGLOO NIGERIA - $match = Event::where('magnig_id', $event_id)->first(); + $res = EventBookmaker::where('bookmaker_id', 16)->where('event_id', $event_id)->first(); + $match = Event::where('id', $res->event_id)->first(); break; case 5: // LOGIFUTUR NIGERA - $match = Event::where('lognig_id', $event_id)->first(); + $res = EventBookmaker::where('bookmaker_id', 35)->where('event_id', $event_id)->first(); + $match = Event::where('id', $res->event_id)->first(); break; case 6: // LOGIFUTUR COLOMBIA - $match = Event::where('logcol_id', $event_id)->first(); + $res = EventBookmaker::where('bookmaker_id', 36)->where('event_id', $event_id)->first(); + $match = Event::where('id', $res->event_id)->first(); break; } } @@ -148,30 +153,6 @@ class FindFixture $update_array['bet365_id'] = $bet365_id; } - switch ($event['provider_id']) { - case 2: - // BETSAPI - $update_array['betsapi_id'] = $event_id; - break; - case 3: - // MAGLOO KENIA - $update_array['magken_id'] = $event_id; - break; - case 4: - // MAGLOO NIGERIA - $update_array['magnig_id'] = $event_id; - break; - case 5: - // LOGIFUTUR NIGERA - $update_array['lognig_id'] = $event_id; - break; - case 6: - // LOGIFUTUR COLOMBIA - $update_array['logcol_id'] = $event_id; - break; - default: - } - if ($update_array) { Event::where('id', $match_id)->update($update_array); } diff --git a/app/Console/Commands/Grapper/Magloo/Odds.php b/app/Console/Commands/Grapper/Magloo/Odds.php index 017c6444..650b07db 100644 --- a/app/Console/Commands/Grapper/Magloo/Odds.php +++ b/app/Console/Commands/Grapper/Magloo/Odds.php @@ -61,7 +61,7 @@ class Odds $starttime = Carbon::parse($match['dt'])->toDateTimeString(); - $event_id = Event::where('betradar_id', $betradar_id)->orWhere('magnig_id', $bmoid)->orWhere('magken_id', $bmoid)->value('id'); + $event_id = Event::where('betradar_id', $betradar_id)->value('id'); if ($event_id) { $base = []; @@ -80,9 +80,9 @@ class Odds 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], ['starttime' => $starttime, 'in_feed' => 1, 'bmoid' => $base['bmoid']]); - if ($event_id == 14190947) { - // dd($match['M']); - } + // if ($event_id == 14190947) { + // dd($match['M']); + // } foreach ($match['M'] as $magloo_bettype_id => $value) { switch ($magloo_bettype_id) { diff --git a/app/Console/Commands/Services/Tasks/GenerateDefaultSetting.php b/app/Console/Commands/Services/Tasks/GenerateDefaultSetting.php index f84e770f..2b5a0398 100644 --- a/app/Console/Commands/Services/Tasks/GenerateDefaultSetting.php +++ b/app/Console/Commands/Services/Tasks/GenerateDefaultSetting.php @@ -23,37 +23,46 @@ class GenerateDefaultSetting Notice::note('GENERATE DEFAULT SETTING', 'b'); } - if ($debug) { - Notice::note('1) multiline bookmaker slots for client', 'p'); - } + /************************************************** + * MULTILINE SLOTS + **************************************************/ - $sports = Sport::where('is_active', 1)->pluck('id'); + if ($debug) { + Notice::note('1) MULTILINE SLOTS', 'p'); + } $bookmaker_slots = [1 => 6, 2 => 30, 3 => 649, 4 => 126]; - $clients = Client::get()->pluck('id'); + $clients = Client::get(); - foreach ($clients as $client_id) { + foreach ($clients as $client) { - foreach ($sports as $sport_id) { + foreach ($client->sport as $sport_id) { - $multilines = MultilineSetting::where('sport_id', $sport_id)->get()->pluck('id'); + foreach ($client->bookmaker as $client_bookmaker_id) { - foreach ($multilines as $multiline_id) { + $multilines = MultilineSetting::where('sport_id', $sport_id)->get()->pluck('id'); - foreach ($bookmaker_slots as $slot => $bookmaker_id) { + foreach ($multilines as $multiline_id) { - MultilineClient::firstOrCreate( - ['client_id' => $client_id, 'sport_id' => $sport_id, 'multiline_setting_id' => $multiline_id, 'position' => $slot], - ['bookmaker_id' => $bookmaker_id, 'sort' => $slot, 'disabled' => 0] - ); + foreach ($bookmaker_slots as $slot => $bookmaker_id) { + + MultilineClient::firstOrCreate( + ['client_bookmaker_id' => $client_bookmaker_id, 'sport_id' => $sport_id, 'multiline_setting_id' => $multiline_id, 'position' => $slot], + ['bookmaker_id' => $bookmaker_id, 'sort' => $slot, 'disabled' => 0] + ); + } } } } } + /************************************************** + * BETTYPES for USER in MONITOR + **************************************************/ + if ($debug) { - Notice::note('2) generator bettypes im comparatore for users', 'p'); + Notice::note('2) GENERATOR BETTYPES IM COMPARATORE FOR USERS', 'p'); } $users = User::get(); @@ -73,8 +82,12 @@ class GenerateDefaultSetting } } + /************************************************** + * COMPARING BOOKMAKER + **************************************************/ + if ($debug) { - Notice::note('3) comparing bookmaker', 'p'); + Notice::note('3) COMPARING BOOKMAKER', 'p'); } $res = Client::get(); diff --git a/app/Filament/Resources/Events/EventResource.php b/app/Filament/Resources/Events/EventResource.php index 0a58b7fa..2519fd18 100644 --- a/app/Filament/Resources/Events/EventResource.php +++ b/app/Filament/Resources/Events/EventResource.php @@ -58,33 +58,20 @@ class EventResource extends Resource ->with('home') ->with('away') ->with('event_user_star') + ->with('event_bookmaker') ->where('starttime', '>=', now()); if (auth()->user()->stars) { $query->whereHas('event_user_star'); } - if (auth()->user()->all_only_none) { - switch (auth()->user()->bookmaker_id) { - case 10: - $field = 'magnig_id'; - break; - case 16: - $field = 'magken_id'; - break; - case 35: - $field = 'lognig_id'; - break; - case 36: - $field = 'logcol_id'; - break; - } + if (auth()->user()->all_only_none > 0) { switch (auth()->user()->all_only_none) { case 1: - $query->where($field, 1); + $query->whereHas('event_bookmaker'); break; case 2: - $query->where($field, 0); + $query->doesntHave('event_bookmaker'); break; } } diff --git a/app/Filament/Resources/Events/Tables/EventsTable.php b/app/Filament/Resources/Events/Tables/EventsTable.php index 15e3ba73..78d8a2b7 100644 --- a/app/Filament/Resources/Events/Tables/EventsTable.php +++ b/app/Filament/Resources/Events/Tables/EventsTable.php @@ -11,6 +11,7 @@ use App\Filament\Tables\Columns\TooltipOdds; use App\Models\CompetitionGroup; use App\Models\Country; use App\Models\Event; +use App\Models\EventBookmaker; use App\Models\EventUserStar; use App\Models\Group; use App\Models\Sport; @@ -33,6 +34,7 @@ use Filament\Tables\Filters\Indicator; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\DB; class EventsTable { @@ -164,7 +166,7 @@ class EventsTable ->verticalAlignment(VerticalAlignment::Start) ->label('Draw No Bet'), - ])->searchable(['id', 'home.name', 'away.name', 'betsapi_id', 'betradar_id', 'bet365_id', 'bwin_id', 'magnig_id', 'magken_id', 'lognig_id', 'logcol_id']) + ])->searchable(['id', 'home.name', 'away.name', 'betsapi_id', 'betradar_id', 'bet365_id', 'bwin_id', 'event_bookmaker.event_id']) ->defaultSort('starttime', 'ASC') ->extremePaginationLinks() ->filters([ @@ -349,7 +351,7 @@ class EventsTable ->recordActions([ Action::make('star') ->iconButton() - // ->color('gray') + ->color('gray') ->icon(function ($record) { if (isset($record->event_user_star->id)) { return 'phosphor-star-fill'; @@ -377,6 +379,14 @@ class EventsTable ->icon('phosphor-arrow-square-out') ->url(fn ($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id])) ->openUrlInNewTab(), + Action::make('swap_elements') + ->icon('phosphor-swap') + ->action(function ($record, $livewire) { + EventBookmaker::where('event_id', $record->id)->where('bookmaker_id', auth()->user()->bookmaker_id)->update(['is_swopped' => DB::raw('!is_swopped')]); + + $livewire->dispatch('refreshBettypeMenu'); + }), + ])->iconButton() ->icon('phosphor-dots-three-vertical'), ])->toolbarActions([ diff --git a/app/Filament/Resources/Events/Tables/Tools/LoadMultiline.php b/app/Filament/Resources/Events/Tables/Tools/LoadMultiline.php index 034aba6a..56141d1c 100644 --- a/app/Filament/Resources/Events/Tables/Tools/LoadMultiline.php +++ b/app/Filament/Resources/Events/Tables/Tools/LoadMultiline.php @@ -39,6 +39,7 @@ class LoadMultiline } $res = MultilineClient::with('multiline_setting') + ->where('client_bookmaker_id', auth()->user()->bookmaker_id) ->select('bookmaker_id', 'multiline_setting_id') ->orderBy('sort') ->get(); diff --git a/app/Livewire/Mapper/LoadEvents.php b/app/Livewire/Mapper/LoadEvents.php index de428f2a..aec99be2 100644 --- a/app/Livewire/Mapper/LoadEvents.php +++ b/app/Livewire/Mapper/LoadEvents.php @@ -43,32 +43,10 @@ class LoadEvents case 2: // BETSAPI return $query->where('betsapi_id', 0); - break; - - case 3: - // Magloo Kenia - return $query->where('magken_id', 0); - break; - - case 4: - // Magloo Nigeria - return $query->where('magnig_id', 0); - break; - - case 5: - // Logifuture Nigeria - return $query->where('lognig_id', 0); - break; - - case 6: - // Magloo Colombia - return $query->where('logcol_id', 0); - break; default: - return $query->where('betradar_id', 0); + return $query->with('event_bookmaker')->doesntHave('event_bookmaker'); break; } - } } diff --git a/app/Livewire/Mapper/StoreMapped.php b/app/Livewire/Mapper/StoreMapped.php index 0e0b3bbc..8de9ab8c 100644 --- a/app/Livewire/Mapper/StoreMapped.php +++ b/app/Livewire/Mapper/StoreMapped.php @@ -5,6 +5,7 @@ namespace App\Livewire\Mapper; use App\Models\CompetitionGroupProvider; use App\Models\ElementProvider; use App\Models\Event; +use App\Models\EventBookmaker; use App\Models\Mapper; use Illuminate\Support\Facades\Auth; @@ -26,10 +27,6 @@ class StoreMapped "bet365_id" => 0 "_1xbet_id" => 0 "bwin_id" => 0 - "magnig_id" => 0 - "magken_id" => 0 - "lognig_id" => 0 - "logcol_id" => 0 "starttime" => "2026-01-02 13:00:00" "sport_id" => 1 "country_id" => 365 @@ -79,27 +76,41 @@ class StoreMapped switch ($mapper->provider_id) { case 2: // BETSAPI - $event->betradar_id = $mapper->betradar_id ?? 0; $event->betsapi_id = $mapper->event_id; $event->bet365_id = $mapper->bet365_id ?? 0; break; case 3: // MAGLOO KENIA - $event->magken_id = $mapper->event_id; + EventBookmaker::updateOrCreate([ + 'event_id' => $arguments['id'], + 'bookmaker_id' => 16, + ], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]); break; case 4: // MAGLOO NIGERIA - $event->magnig_id = $mapper->event_id; + EventBookmaker::updateOrCreate([ + 'event_id' => $arguments['id'], + 'bookmaker_id' => 10, + ], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]); break; case 5: // LOGIFUTUR NIGERA - $event->lognig_id = $mapper->event_id; + EventBookmaker::updateOrCreate([ + 'event_id' => $arguments['id'], + 'bookmaker_id' => 35, + ], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]); break; case 6: // LOGIFUTUR COLOMBIA - $event->logcol_id = $mapper->event_id; + EventBookmaker::updateOrCreate([ + 'event_id' => $arguments['id'], + 'bookmaker_id' => 36, + ], ['starttime' => $mapper->starttime, 'in_feed' => 1, 'bmoid' => $mapper->event_id, 'is_swopped' => $swopped]); break; } + if ($mapper->betradar_id) { + $event->betradar_id = $mapper->betradar_id; + } $event->save(); Mapper::where('event_id', $arguments['event_id'])->delete(); diff --git a/app/Livewire/MultilineBookmaker.php b/app/Livewire/MultilineBookmaker.php index 36ba7641..3e012ca6 100644 --- a/app/Livewire/MultilineBookmaker.php +++ b/app/Livewire/MultilineBookmaker.php @@ -37,7 +37,8 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha public static function load_filter($sport_id) { - self::$default_filter = MultilineSetting::where('sport_id', $sport_id)->orderBy('id')->pluck('id')->first(); + self::$default_filter = MultilineSetting::where('sport_id', $sport_id) + ->orderBy('id')->pluck('id')->first(); } public function table(Table $table): Table @@ -48,7 +49,7 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha self::load_filter($this->user->sport_id); return $table - ->query(MultilineClient::query()->where('sport_id', $this->user->sport_id)) + ->query(MultilineClient::query()->where('client_bookmaker_id', auth()->user()->bookmaker_id)->where('sport_id', $this->user->sport_id)) ->paginated(false) ->columns([ IconColumn::make('sport.icon') diff --git a/app/Livewire/TopMenuItems.php b/app/Livewire/TopMenuItems.php index c2cb022f..6e1b1cc6 100644 --- a/app/Livewire/TopMenuItems.php +++ b/app/Livewire/TopMenuItems.php @@ -2,6 +2,7 @@ namespace App\Livewire; +use App\Models\Provider; use App\Models\Sport; use App\Models\User; use Illuminate\Support\Facades\Route; @@ -38,7 +39,9 @@ class TopMenuItems extends Component public function swopBookmaker($bookmaker_id) { - User::where('id', auth()->user()->id)->update(['bookmaker_id' => $bookmaker_id]); + $provider_id = Provider::where('bookmaker_id', $bookmaker_id)->value('id'); + + User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id]); $this->js('window.location.reload()'); } diff --git a/app/Models/AlarmSetting.php b/app/Models/AlarmSetting.php new file mode 100644 index 00000000..aefde3b2 --- /dev/null +++ b/app/Models/AlarmSetting.php @@ -0,0 +1,10 @@ +hasOne(EventUserStar::class, 'event_id', 'id')->where('user_id', auth()->user()->id); } + + public function event_bookmaker() + { + return $this->hasOne(EventBookmaker::class, 'event_id', 'id')->where('bookmaker_id', auth()->user()->bookmaker_id); + } } diff --git a/app/Models/EventBookmaker.php b/app/Models/EventBookmaker.php index 7d13dbfb..0e11ed28 100644 --- a/app/Models/EventBookmaker.php +++ b/app/Models/EventBookmaker.php @@ -9,24 +9,26 @@ class EventBookmaker extends Model protected $fillable = [ 'event_id', 'bookmaker_id', + 'starttime', 'bmoid', 'in_feed', + 'is_swopped', 'send_status', - 'starttime', - 'bkm_2w', - 'bkm_2ws1', - 'bkm_3w', - 'bkm_3wht', - 'bkm_dc', - 'bkm_dbn', - 'bkm_ggng', - 'bkm_po', - 'bkm_poht', - 'bkm_poq1', - 'bkm_to', - 'bkm_toht', - 'bkm_toq1', - 'bkm_tq', + 'has_to_qualify', + 'alarm_2w', + 'alarm_2ws1', + 'alarm_3w', + 'alarm_3wht', + 'alarm_dc', + 'alarm_dbn', + 'alarm_ggng', + 'alarm_po', + 'alarm_poht', + 'alarm_poq1', + 'alarm_to', + 'alarm_toht', + 'alarm_toq1', + 'alarm_tq', ]; public function event() diff --git a/app/Models/MultilineClient.php b/app/Models/MultilineClient.php index 6ec2c826..481428c4 100644 --- a/app/Models/MultilineClient.php +++ b/app/Models/MultilineClient.php @@ -2,14 +2,13 @@ namespace App\Models; -use App\Models\Scopes\ClientScope; use App\Models\Scopes\SportScope; use Illuminate\Database\Eloquent\Model; class MultilineClient extends Model { protected $fillable = [ - 'client_id', + 'client_bookmaker_id', 'sport_id', 'multiline_setting_id', 'disabled', @@ -35,9 +34,6 @@ class MultilineClient extends Model protected static function booted(): void { - static::addGlobalScope(new ClientScope); - static::addGlobalScope(new SportScope); - } } diff --git a/composer.lock b/composer.lock index 0d0dcf1a..3e630d95 100644 --- a/composer.lock +++ b/composer.lock @@ -12814,12 +12814,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.3" }, - "platform-dev": {}, - "plugin-api-version": "2.9.0" + "platform-dev": [], + "plugin-api-version": "2.6.0" } diff --git a/database/migrations/2023_05_25_112701_create_event_bookmakers_table.php b/database/migrations/2023_05_25_112701_create_event_bookmakers_table.php index c357f0f2..69b5b478 100644 --- a/database/migrations/2023_05_25_112701_create_event_bookmakers_table.php +++ b/database/migrations/2023_05_25_112701_create_event_bookmakers_table.php @@ -17,6 +17,7 @@ return new class extends Migration $table->integer('bookmaker_id')->index()->references('id')->on('bookmakers'); $table->timestamp('starttime')->nullable(); $table->string('bmoid')->nullable(); + $table->boolean('is_swopped')->default(0); $table->boolean('in_feed')->default(0); $table->boolean('send_status')->default(0); $table->boolean('has_to_qualify')->index()->default(0); diff --git a/database/migrations/2025_05_17_074540_create_bookmakers_table.php b/database/migrations/2025_05_17_074540_create_bookmakers_table.php index e9d637d6..2835c481 100644 --- a/database/migrations/2025_05_17_074540_create_bookmakers_table.php +++ b/database/migrations/2025_05_17_074540_create_bookmakers_table.php @@ -14,6 +14,7 @@ return new class extends Migration Schema::create('bookmakers', function (Blueprint $table) { $table->id(); $table->string('name'); + $table->string('name_short')->nullable(); $table->string('icon')->nullable(); $table->string('svg')->nullable(); $table->integer('baid')->default(0); diff --git a/database/migrations/2025_05_17_074558_create_providers_table.php b/database/migrations/2025_05_17_074558_create_providers_table.php index 21f29cee..979a0fff 100644 --- a/database/migrations/2025_05_17_074558_create_providers_table.php +++ b/database/migrations/2025_05_17_074558_create_providers_table.php @@ -14,6 +14,7 @@ return new class extends Migration Schema::create('providers', function (Blueprint $table) { $table->id(); $table->string('name'); + $table->integer('bookmaker_id')->default(0); $table->string('base_url'); }); } diff --git a/database/migrations/2025_12_14_090814_create_multiline_clients_table.php b/database/migrations/2025_12_14_090814_create_multiline_clients_table.php index 81b59aa8..5cd78783 100644 --- a/database/migrations/2025_12_14_090814_create_multiline_clients_table.php +++ b/database/migrations/2025_12_14_090814_create_multiline_clients_table.php @@ -13,13 +13,12 @@ return new class extends Migration { Schema::create('multiline_clients', function (Blueprint $table) { $table->id(); - $table->integer('client_id')->default(0); + $table->integer('client_bookmaker_id')->default(0); $table->integer('sport_id')->index()->references('id')->on('sports'); $table->boolean('disabled')->default(0); $table->integer('multiline_setting_id')->default(1)->references('id')->on('multiline_settings'); - $table->integer('bookmaker_id')->index()->references('id')->on('bookmakers'); - $table->integer('position')->default(0); - $table->integer('sort')->default(0); + $table->integer('level_id')->default(0); + $table->decimal('alarm_threshold', 3, 2)->default(0); $table->timestamps(); }); } diff --git a/database/migrations/2026_01_26_121301_create_alarm_settings_table.php b/database/migrations/2026_01_26_121301_create_alarm_settings_table.php new file mode 100644 index 00000000..1101b4c5 --- /dev/null +++ b/database/migrations/2026_01_26_121301_create_alarm_settings_table.php @@ -0,0 +1,34 @@ +id(); + $table->integer('client_bookmaker_id')->default(0); + $table->integer('sport_id')->index()->references('id')->on('sports'); + $table->boolean('disabled')->default(0); + $table->integer('multiline_setting_id')->default(1)->references('id')->on('multiline_settings'); + $table->integer('bookmaker_id')->index()->references('id')->on('bookmakers'); + $table->integer('position')->default(0); + $table->integer('sort')->default(0); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('alarm_settings'); + } +}; diff --git a/database/seeders/BookmakerSeeder.php b/database/seeders/BookmakerSeeder.php index 7bae85ee..da3de8ef 100644 --- a/database/seeders/BookmakerSeeder.php +++ b/database/seeders/BookmakerSeeder.php @@ -9,58 +9,57 @@ class BookmakerSeeder extends Seeder { public function run(): void { - $sql = "INSERT INTO `bookmakers` (`id`, `name`, `icon`, `svg`, `baid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `in_soccer`, `in_other`, `need_check`, `deleted`, `created_at`, `updated_at`) + $sql = "INSERT INTO `bookmakers` (`id`, `name`, `name_short`, `icon`, `svg`, `baid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `in_soccer`, `in_other`, `need_check`, `deleted`, `created_at`, `updated_at`) VALUES - (1, 'MISSING', 'missing', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2025-08-23 10:07:59'), - (5, 'Expekt', 'expekt', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:55'), - (6, 'UniBet', 'unibet', NULL, 10, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:47'), - (10, 'Magloo Nigeria', 'magloo-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:32'), - (13, 'Sportingbet', 'sportingbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:30'), - (14, 'Betika', 'betika', NULL, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:21'), - (15, 'Intertops', 'intertops', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:05:13'), - (16, 'Magloo Kenia', 'magloo-kenia', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'), - (17, 'Ladbrokes', 'ladbrokes', NULL, 7, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:40'), - (26, 'Interwetten', 'interwetten', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:06'), - (30, 'BWin', 'bwin', NULL, 3, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:16:22'), - (35, 'Logifuture Nigeria', 'logifuture-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'), - (36, 'Logifuture Colombia', 'logifuture-col', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:30'), - (42, 'William Hill', 'willhill', NULL, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:18:14'), - (49, 'Bet At Home', 'betathome', NULL, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, NULL, '2026-01-21 19:41:51'), - (83, 'Pinnacle', 'pinnacle', NULL, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, NULL, '2026-01-21 08:21:02'), - (110, 'BetFair', 'betfair', NULL, 4, 1, 0, 1, 0, 1, 1, 0, 1, 0, NULL, '2026-01-21 08:21:12'), - (117, 'SNAI', 'snai', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:28'), - (118, 'Nordicbet', 'nordicbet', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:03:29'), - (126, 'Bet365', 'bet365', NULL, 2, 0, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:11'), - (128, 'Goldbet', 'goldbet', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, NULL, '2026-01-21 08:22:36'), - (234, '5 Dimes', '5dimes', NULL, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, NULL, NULL), - (274, '10Bet', '10bet', NULL, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, NULL, '2026-01-21 08:22:47'), - (314, 'Matchbook', 'matchbook', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:06:53'), - (327, 'Sbobet', 'sbobet', NULL, 14, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:03:43'), - (340, 'Betway', 'betway', NULL, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), - (363, 'Tipico', 'tipico', NULL, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:45'), - (380, 'PartyBets', 'partybets', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:41'), - (388, 'Eurobet', 'eurobet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:52'), - (395, 'BetClick', 'betclick', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:06'), - (399, 'Bet3000', 'bet3000', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:04:27'), - (413, 'Better', 'better', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:02:42'), - (539, 'Marathonbet', 'marathonbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:25'), - (577, 'Sisal', 'sisal', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:55'), - (625, 'Betaland', 'betaland', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:05'), - (627, 'PlanetWin365', 'planetwin365', NULL, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), - (649, '1XBet', '1xbet', NULL, 18, 1, 1, 0, 0, 1, 1, 1, 2, 0, NULL, '2026-01-21 19:38:24'), - (658, 'Bet9ja', 'bet9ja', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:03'), - (668, 'SportPesa', 'sportpesa', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:33'), - (823, 'BetKing', 'betking', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 19:36:10'), - (824, 'BetPlay', 'betplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:37'), - (825, 'SportyBet', 'sportybet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:44'), - (827, 'WPlay', 'wplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:51'), - (828, 'ColBet', 'colbet', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:50'), - (1000, '888Sport', '888sport', NULL, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), - (1001, 'Betsson', 'betsson', NULL, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), - (1002, 'DafaBet', 'dafabet', NULL, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL), - (1003, 'BetVictor', 'betvictor', NULL, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL), - (1004, 'TitanBet', 'titanbet', NULL, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL); -"; + (1, 'MISSING', '', 'missing', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2025-08-23 10:07:59'), + (5, 'Expekt', '', 'expekt', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:55'), + (6, 'UniBet', '', 'unibet', NULL, 10, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:47'), + (10, 'Magloo Nigeria', 'MagNig', 'magloo-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:32'), + (13, 'Sportingbet', '', 'sportingbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:30'), + (14, 'Betika', '', 'betika', NULL, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:21'), + (15, 'Intertops', '', 'intertops', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:05:13'), + (16, 'Magloo Kenia', 'MagKen', 'magloo-kenia', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'), + (17, 'Ladbrokes', '', 'ladbrokes', NULL, 7, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:40'), + (26, 'Interwetten', '', 'interwetten', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:06'), + (30, 'BWin', '', 'bwin', NULL, 3, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:16:22'), + (35, 'Logifuture Nigeria', 'LogNig', 'logifuture-nig', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:31'), + (36, 'Logifuture Colombia', 'LogCol', 'logifuture-col', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:05:30'), + (42, 'William Hill', '', 'willhill', NULL, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:18:14'), + (49, 'Bet At Home', '', 'betathome', NULL, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, NULL, '2026-01-21 19:41:51'), + (83, 'Pinnacle', '', 'pinnacle', NULL, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, NULL, '2026-01-21 08:21:02'), + (110, 'BetFair', '', 'betfair', NULL, 4, 1, 0, 1, 0, 1, 1, 0, 1, 0, NULL, '2026-01-21 08:21:12'), + (117, 'SNAI', '', 'snai', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:28'), + (118, 'Nordicbet', '', 'nordicbet', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:03:29'), + (126, 'Bet365', '', 'bet365', NULL, 2, 0, 1, 1, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:11'), + (128, 'Goldbet', '', 'goldbet', NULL, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, NULL, '2026-01-21 08:22:36'), + (234, '5 Dimes', '', '5dimes', NULL, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, NULL, NULL), + (274, '10Bet', '', '10bet', NULL, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, NULL, '2026-01-21 08:22:47'), + (314, 'Matchbook', '', 'matchbook', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:06:53'), + (327, 'Sbobet', '', 'sbobet', NULL, 14, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:03:43'), + (340, 'Betway', '', 'betway', NULL, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), + (363, 'Tipico', '', 'tipico', NULL, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:45'), + (380, 'PartyBets', '', 'partybets', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:41'), + (388, 'Eurobet', '', 'eurobet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:02:52'), + (395, 'BetClick', '', 'betclick', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:06'), + (399, 'Bet3000', '', 'bet3000', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:04:27'), + (413, 'Better', '', 'better', NULL, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, NULL, '2026-01-21 08:02:42'), + (539, 'Marathonbet', '', 'marathonbet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:03:25'), + (577, 'Sisal', '', 'sisal', NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '2026-01-21 08:03:55'), + (625, 'Betaland', '', 'betaland', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:01:05'), + (627, 'PlanetWin365', '', 'planetwin365', NULL, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), + (649, '1XBet', '', '1xbet', NULL, 18, 1, 1, 0, 0, 1, 1, 1, 2, 0, NULL, '2026-01-21 19:38:24'), + (658, 'Bet9ja', '', 'bet9ja', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:03'), + (668, 'SportPesa', '', 'sportpesa', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:33'), + (823, 'BetKing', '', 'betking', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 19:36:10'), + (824, 'BetPlay', '', 'betplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:37'), + (825, 'SportyBet', '', 'sportybet', NULL, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, NULL, '2026-01-21 08:08:44'), + (827, 'WPlay', '', 'wplay', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:08:51'), + (828, 'ColBet', '', 'colbet', NULL, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, NULL, '2026-01-21 08:02:50'), + (1000, '888Sport', '', '888sport', NULL, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), + (1001, 'Betsson', '', 'betsson', NULL, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL), + (1002, 'DafaBet', '', 'dafabet', NULL, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL), + (1003, 'BetVictor', '', 'betvictor', NULL, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL), + (1004, 'TitanBet', '', 'titanbet', NULL, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, NULL, NULL);"; DB::unprepared($sql); } diff --git a/database/seeders/ProvoiderSeeder.php b/database/seeders/ProvoiderSeeder.php index 67ee121c..80efbbda 100644 --- a/database/seeders/ProvoiderSeeder.php +++ b/database/seeders/ProvoiderSeeder.php @@ -12,19 +12,19 @@ class ProvoiderSeeder extends Seeder /** * Provoider */ - $sql = "INSERT INTO `providers` (`id`, `name`, `base_url`) + $sql = "INSERT INTO `providers` (`id`, `name`, `bookmaker_id`, `base_url`) VALUES - (1, 'TXODDS', ''), - (2, 'BETSAPI', ''), - (3, 'MAGLOO KENIA', 'https://api.externalsvc.com/api/sb/affiliates/30'), - (4, 'MAGLOO NIGERIA', 'https://api.externalsvc.com/api/sb/affiliates/20'), - (5, 'LOGIFUTURE NIGERA', 'https://external-api.bet9ja.com/external'), - (6, 'LOGIFUTURE COLOMBIA', 'https://external-api.yajuego.co/external'), - (7, 'SERVICES', ''), - (8, 'TXODDS MARKET', ''), - (9, 'BETICA', ''), - (10, 'GOLDBET', 'https://oes.goldbet.it/SportsOddsService.svc/GetOdds'); - "; + (1, 'TXODDS', 0, ''), + (2, 'BETSAPI', 126, ''), + (3, 'MAGLOO KENIA', 16, 'https://api.externalsvc.com/api/sb/affiliates/30'), + (4, 'MAGLOO NIGERIA', 10, 'https://api.externalsvc.com/api/sb/affiliates/20'), + (5, 'LOGIFUTURE NIGERA', 35, 'https://external-api.bet9ja.com/external'), + (6, 'LOGIFUTURE COLOMBIA', 36, 'https://external-api.yajuego.co/external'), + (7, 'SERVICES', 0, ''), + (8, 'TXODDS MARKET', 0, ''), + (9, 'BETICA', 0, ''), + (10, 'GOLDBET', 0, 'https://oes.goldbet.it/SportsOddsService.svc/GetOdds'); + "; DB::unprepared($sql); } diff --git a/resources/views/components/alarm-gray.blade.php b/resources/views/components/alarm-gray.blade.php deleted file mode 100644 index 3c6d95d0..00000000 --- a/resources/views/components/alarm-gray.blade.php +++ /dev/null @@ -1,4 +0,0 @@ -