diff --git a/app/Actions/MapperEvents.php b/app/Actions/MapperEvents.php new file mode 100644 index 00000000..34ec4505 --- /dev/null +++ b/app/Actions/MapperEvents.php @@ -0,0 +1,43 @@ +user()->provider_id) { + case 2: + // BETSAPI + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('betsapi_id', 0); + break; + + case 20: + // Magloo Kenia + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('magnig_id', 0); + break; + + case 24: + // Magloo Nigeria + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('magken_id', 0); + break; + + case 26: + // Logifuture Nigeria + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('lognig_id', 0); + break; + + case 27: + // Magloo Colombia + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('logcol_id', 0); + break; + + default: + return Event::query()->where('sport_id', auth()->user()->sport_id)->where('betradar_id', 0); + break; + } + + } +} diff --git a/app/Actions/MapperProvider.php b/app/Actions/MapperProvider.php new file mode 100644 index 00000000..79f5d371 --- /dev/null +++ b/app/Actions/MapperProvider.php @@ -0,0 +1,14 @@ +where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id); + } +} diff --git a/app/Livewire/MapperLeft.php b/app/Livewire/MapperLeft.php index 30c80b46..95f877e2 100644 --- a/app/Livewire/MapperLeft.php +++ b/app/Livewire/MapperLeft.php @@ -2,6 +2,7 @@ namespace App\Livewire; +use App\Actions\MapperEvents; use App\Filament\Tables\Columns\MapperLeftColumn; use App\Models\CompetitionGroup; use App\Models\Country; @@ -37,7 +38,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable public function table(Table $table): Table { return $table - ->query(Event::query()->where('betradar_id', 0)) + ->query(MapperEvents::load()) ->columns([ MapperLeftColumn::make('left')->label(''), ]) @@ -112,7 +113,8 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable Action::make('reload_data_left') ->hiddenLabel() ->color('gray') - ->icon('phosphor-x') + ->icon('heroicon-o-arrow-path') + // ->icon('phosphor-x') ->action(function (Component $livewire) { $livewire->resetTableFiltersForm(); // Clears all filters $livewire->tableSearch = ''; // Clears the main search bar diff --git a/app/Livewire/MapperRight.php b/app/Livewire/MapperRight.php index a94ff967..97040716 100644 --- a/app/Livewire/MapperRight.php +++ b/app/Livewire/MapperRight.php @@ -2,6 +2,7 @@ namespace App\Livewire; +use App\Actions\MapperProvider; use App\Filament\Tables\Columns\MapperRightColumn; use App\Models\Event; use App\Models\Mapper; @@ -33,7 +34,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable public function table(Table $table): Table { return $table - ->query(Mapper::query()) + ->query(MapperProvider::load()) ->columns([ MapperRightColumn::make('right')->label(''), ])->searchable(['home', 'away']) @@ -86,7 +87,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable Action::make('reload_data') ->hiddenLabel() ->color('gray') - ->icon('phosphor-x') + ->icon('heroicon-o-arrow-path') + // ->icon('phosphor-x') ->action(function (Component $livewire) { $livewire->resetTableFiltersForm(); // Clears all filters $livewire->tableSearch = ''; // Clears the main search bar diff --git a/app/Livewire/TopMenuItems.php b/app/Livewire/TopMenuItems.php index e16b79d1..4fbf39e1 100644 --- a/app/Livewire/TopMenuItems.php +++ b/app/Livewire/TopMenuItems.php @@ -54,11 +54,15 @@ class TopMenuItems extends Component public function swop($client_id) { + $providers = Client::where('id', $client_id)->pluck('provider')->first(); + + $provider_id = array_shift($providers); + $bookmakers = Client::where('id', $client_id)->pluck('bookmaker')->first(); $bookmaker_id = array_shift($bookmakers); - User::where('id', auth()->user()->id)->update(['bookmaker_mapper_id' => $bookmaker_id, 'bookmaker_id' => $bookmaker_id, 'client_id' => $client_id]); + User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id, 'client_id' => $client_id]); $this->js('window.location.reload()'); } @@ -70,9 +74,9 @@ class TopMenuItems extends Component $this->js('window.location.reload()'); } - public function swopMapper($bookmaker_id) + public function swopProvider($provider_id) { - User::where('id', auth()->user()->id)->update(['bookmaker_mapper_id' => $bookmaker_id]); + User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id]); $this->dispatch('reload_data'); } diff --git a/app/Models/User.php b/app/Models/User.php index 524a342a..1c5c3197 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -35,7 +35,7 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication 'client_id', 'sport_id', 'bookmaker_id', - 'bookmaker_mapper_id', + 'provider_id', ]; protected static function newFactory(): Factory diff --git a/composer.lock b/composer.lock index a63976b6..fe635e3b 100644 --- a/composer.lock +++ b/composer.lock @@ -6369,16 +6369,16 @@ }, { "name": "symfony/console", - "version": "v7.4.1", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e" + "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e", - "reference": "6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e", + "url": "https://api.github.com/repos/symfony/console/zipball/732a9ca6cd9dfd940c639062d5edbde2f6727fb6", + "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6", "shasum": "" }, "require": { @@ -6443,7 +6443,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.4.1" + "source": "https://github.com/symfony/console/tree/v7.4.3" }, "funding": [ { @@ -6463,7 +6463,7 @@ "type": "tidelift" } ], - "time": "2025-12-05T15:23:39+00:00" + "time": "2025-12-23T14:50:43+00:00" }, { "name": "symfony/css-selector", @@ -6846,16 +6846,16 @@ }, { "name": "symfony/finder", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "340b9ed7320570f319028a2cbec46d40535e94bd" + "reference": "fffe05569336549b20a1be64250b40516d6e8d06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd", - "reference": "340b9ed7320570f319028a2cbec46d40535e94bd", + "url": "https://api.github.com/repos/symfony/finder/zipball/fffe05569336549b20a1be64250b40516d6e8d06", + "reference": "fffe05569336549b20a1be64250b40516d6e8d06", "shasum": "" }, "require": { @@ -6890,7 +6890,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.0" + "source": "https://github.com/symfony/finder/tree/v7.4.3" }, "funding": [ { @@ -6910,7 +6910,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T05:42:40+00:00" + "time": "2025-12-23T14:50:43+00:00" }, { "name": "symfony/html-sanitizer", @@ -6988,16 +6988,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.4.1", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "bd1af1e425811d6f077db240c3a588bdb405cd27" + "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/bd1af1e425811d6f077db240c3a588bdb405cd27", - "reference": "bd1af1e425811d6f077db240c3a588bdb405cd27", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a70c745d4cea48dbd609f4075e5f5cbce453bd52", + "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52", "shasum": "" }, "require": { @@ -7046,7 +7046,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.4.1" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.3" }, "funding": [ { @@ -7066,20 +7066,20 @@ "type": "tidelift" } ], - "time": "2025-12-07T11:13:10+00:00" + "time": "2025-12-23T14:23:49+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.4.2", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f6e6f0a5fa8763f75a504b930163785fb6dd055f" + "reference": "885211d4bed3f857b8c964011923528a55702aa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6e6f0a5fa8763f75a504b930163785fb6dd055f", - "reference": "f6e6f0a5fa8763f75a504b930163785fb6dd055f", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/885211d4bed3f857b8c964011923528a55702aa5", + "reference": "885211d4bed3f857b8c964011923528a55702aa5", "shasum": "" }, "require": { @@ -7165,7 +7165,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.4.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.4.3" }, "funding": [ { @@ -7185,20 +7185,20 @@ "type": "tidelift" } ], - "time": "2025-12-08T07:43:37+00:00" + "time": "2025-12-31T08:43:57+00:00" }, { "name": "symfony/mailer", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "a3d9eea8cfa467ece41f0f54ba28185d74bd53fd" + "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/a3d9eea8cfa467ece41f0f54ba28185d74bd53fd", - "reference": "a3d9eea8cfa467ece41f0f54ba28185d74bd53fd", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e472d35e230108231ccb7f51eb6b2100cac02ee4", + "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4", "shasum": "" }, "require": { @@ -7249,7 +7249,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.4.0" + "source": "https://github.com/symfony/mailer/tree/v7.4.3" }, "funding": [ { @@ -7269,7 +7269,7 @@ "type": "tidelift" } ], - "time": "2025-11-21T15:26:00+00:00" + "time": "2025-12-16T08:02:06+00:00" }, { "name": "symfony/mime", @@ -8191,16 +8191,16 @@ }, { "name": "symfony/process", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8" + "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", - "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", + "url": "https://api.github.com/repos/symfony/process/zipball/2f8e1a6cdf590ca63715da4d3a7a3327404a523f", + "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f", "shasum": "" }, "require": { @@ -8232,7 +8232,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.4.0" + "source": "https://github.com/symfony/process/tree/v7.4.3" }, "funding": [ { @@ -8252,20 +8252,20 @@ "type": "tidelift" } ], - "time": "2025-10-16T11:21:06+00:00" + "time": "2025-12-19T10:00:43+00:00" }, { "name": "symfony/routing", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "4720254cb2644a0b876233d258a32bf017330db7" + "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/4720254cb2644a0b876233d258a32bf017330db7", - "reference": "4720254cb2644a0b876233d258a32bf017330db7", + "url": "https://api.github.com/repos/symfony/routing/zipball/5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090", + "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090", "shasum": "" }, "require": { @@ -8317,7 +8317,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.4.0" + "source": "https://github.com/symfony/routing/tree/v7.4.3" }, "funding": [ { @@ -8337,7 +8337,7 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2025-12-19T10:00:43+00:00" }, { "name": "symfony/service-contracts", @@ -8519,16 +8519,16 @@ }, { "name": "symfony/translation", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68" + "reference": "7ef27c65d78886f7599fdd5c93d12c9243ecf44d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", - "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", + "url": "https://api.github.com/repos/symfony/translation/zipball/7ef27c65d78886f7599fdd5c93d12c9243ecf44d", + "reference": "7ef27c65d78886f7599fdd5c93d12c9243ecf44d", "shasum": "" }, "require": { @@ -8595,7 +8595,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.4.0" + "source": "https://github.com/symfony/translation/tree/v7.4.3" }, "funding": [ { @@ -8615,7 +8615,7 @@ "type": "tidelift" } ], - "time": "2025-11-27T13:27:24+00:00" + "time": "2025-12-29T09:31:36+00:00" }, { "name": "symfony/translation-contracts", @@ -8779,16 +8779,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.4.0", + "version": "v7.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece" + "reference": "7e99bebcb3f90d8721890f2963463280848cba92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece", - "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7e99bebcb3f90d8721890f2963463280848cba92", + "reference": "7e99bebcb3f90d8721890f2963463280848cba92", "shasum": "" }, "require": { @@ -8842,7 +8842,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.4.0" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.3" }, "funding": [ { @@ -8862,7 +8862,7 @@ "type": "tidelift" } ], - "time": "2025-10-27T20:36:44+00:00" + "time": "2025-12-18T07:04:31+00:00" }, { "name": "technikermathe/blade-lucide-icons", diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 946085bf..9e22220f 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -20,7 +20,7 @@ return new class extends Migration $table->integer('client_id'); $table->integer('sport_id')->default(1); $table->integer('bookmaker_id')->nullable(); - $table->integer('bookmaker_mapper_id')->nullable(); + $table->integer('provider_id')->nullable(); $table->text('app_authentication_secret')->nullable(); $table->text('app_authentication_recovery_codes')->nullable(); diff --git a/database/migrations/2023_05_25_112700_create_events_table.php b/database/migrations/2023_05_25_112700_create_events_table.php index 1b430a94..25a5f383 100644 --- a/database/migrations/2023_05_25_112700_create_events_table.php +++ b/database/migrations/2023_05_25_112700_create_events_table.php @@ -19,6 +19,10 @@ return new class extends Migration $table->integer('bet365_id')->default(0)->nullable()->index(); $table->integer('_1xbet_id')->default(0)->nullable()->index(); $table->integer('bwin_id')->default(0)->nullable()->index(); + $table->integer('magnig_id')->default(0)->nullable()->index(); + $table->integer('magken_id')->default(0)->nullable()->index(); + $table->integer('lognig_id')->default(0)->nullable()->index(); + $table->integer('logcol_id')->default(0)->nullable()->index(); $table->dateTime('starttime')->nullable(); $table->integer('sport_id')->index(); $table->integer('country_id')->default(0)->nullable()->index(); diff --git a/database/seeders/RolesAndPermissionsSeeder.php b/database/seeders/RolesAndPermissionsSeeder.php index 477247e5..f04eddec 100644 --- a/database/seeders/RolesAndPermissionsSeeder.php +++ b/database/seeders/RolesAndPermissionsSeeder.php @@ -28,7 +28,7 @@ class RolesAndPermissionsSeeder extends Seeder 'client_id' => 1, 'sport_id' => 1, 'bookmaker_id' => 20, - 'bookmaker_mapper_id' => 20, + 'provider_id' => 20, ]); $user->assignRole('super_admin'); $user->assignRole('konto_switch'); @@ -43,7 +43,7 @@ class RolesAndPermissionsSeeder extends Seeder 'client_id' => 1, 'sport_id' => 1, 'bookmaker_id' => 20, - 'bookmaker_mapper_id' => 20, + 'provider_id' => 20, ]); $user->assignRole('super_admin'); $user->assignRole('konto_switch'); diff --git a/resources/views/livewire/top-menu-items.blade.php b/resources/views/livewire/top-menu-items.blade.php index 867ab3e7..8ac0c1fe 100644 --- a/resources/views/livewire/top-menu-items.blade.php +++ b/resources/views/livewire/top-menu-items.blade.php @@ -8,7 +8,7 @@ - @switch(auth()->user()->bookmaker_mapper_id) + @switch(auth()->user()->bookmaker_id) @case(26) @break @@ -31,28 +31,28 @@ @if (in_array(auth()->user()->bookmaker_id, [26, 27])) - @if (auth()->user()->bookmaker_mapper_id != 26) - + @if (auth()->user()->bookmaker_id != 26) + @endif - @if (auth()->user()->bookmaker_mapper_id != 27) - + @if (auth()->user()->bookmaker_id != 27) + @endif @endif @if (in_array(auth()->user()->bookmaker_id, [20, 24])) - @if (auth()->user()->bookmaker_mapper_id != 20) - + @if (auth()->user()->bookmaker_id != 20) + @endif - @if (auth()->user()->bookmaker_mapper_id != 24) - + @if (auth()->user()->bookmaker_id != 24) + @endif @@ -85,26 +85,26 @@
Event Mapper
@php - if (!auth()->user()->bookmaker_mapper_id) { - auth()->user()->bookmaker_mapper_id = auth()->user()->bookmaker_id; + if (!auth()->user()->provider_id) { + auth()->user()->provider_id = 2; } @endphp - @switch(auth()->user()->bookmaker_mapper_id) - @case(26) + @switch(auth()->user()->provider_id) + @case(5) @break - @case(27) + @case(6) @break - @case(20) + @case(4) @break - @case(24) + @case(3) @break @@ -114,39 +114,39 @@ @endswitch - + @if (in_array(auth()->user()->bookmaker_id, [26, 27])) - @if (auth()->user()->bookmaker_mapper_id != 26) - + @if (auth()->user()->provider_id != 5) + @endif - @if (auth()->user()->bookmaker_mapper_id != 27) - + @if (auth()->user()->provider_id != 6) + @endif @endif @if (in_array(auth()->user()->bookmaker_id, [20, 24])) - @if (auth()->user()->bookmaker_mapper_id != 20) - + @if (auth()->user()->provider_id != 4) + @endif - @if (auth()->user()->bookmaker_mapper_id != 24) - + @if (auth()->user()->provider_id != 3) + @endif @endif - @if (auth()->user()->hasRole('mapper_source_betsapi') && auth()->user()->bookmaker_mapper_id != 2) - + @if (auth()->user()->hasRole('mapper_source_betsapi') && auth()->user()->provider_id != 2) + @endif