provider, clients migration & resource

This commit is contained in:
salam committed 2025-08-24 08:10:57 +02:00
1 parent ab44b05fa3
commit cbe68f78be
56 files changed
+721 -289

No files matched your search

@@ -17,6 +17,7 @@ return new class extends Migration
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->integer('client_id')->index();
$table->rememberToken();
$table->timestamps();
});
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('home', 7, 3)->default(0);
$table->decimal('draw', 7, 3)->default(0);
$table->decimal('away', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('home', 7, 3)->default(0);
$table->decimal('away', 7, 3)->default(0);
$table->decimal('margin', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('dc1x', 7, 3)->default(0);
$table->decimal('dc12', 7, 3)->default(0);
$table->decimal('dc2x', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('dnb1', 7, 3)->default(0);
$table->decimal('dnb2', 7, 3)->default(0);
$table->decimal('margin', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('gg', 7, 3)->default(0);
$table->decimal('ng', 7, 3)->default(0);
$table->decimal('margin', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('htq', 7, 3)->default(0);
$table->decimal('atq', 7, 3)->default(0);
$table->decimal('margin', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('home', 7, 3)->default(0);
$table->decimal('away', 7, 3)->default(0);
$table->decimal('handicap', 7, 3)->default(0);
@@ -17,6 +17,7 @@ return new class extends Migration
$table->integer('sport_id')->default(0);
$table->integer('matchpart_id')->default(0);
$table->integer('bookmaker_id')->default(0);
$table->integer('provider_id')->default(0);
$table->decimal('over', 7, 3)->default(0);
$table->decimal('under', 7, 3)->default(0);
$table->decimal('total', 7, 3)->default(0);
@@ -15,6 +15,7 @@ return new class extends Migration
$table->id();
$table->string('name');
$table->string('icon')->nullable();
$table->string('image')->nullable();
$table->integer('baid')->default(0);
$table->integer('txid')->default(0);
$table->boolean('txso')->default(0);
@@ -22,6 +23,7 @@ return new class extends Migration
$table->boolean('betsapi')->default(0);
$table->boolean('direct')->default(0);
$table->boolean('is_active')->default(0);
$table->integer('provider_id')->default(0);
$table->boolean('deleted')->default(0);
$table->timestamps();
});
@@ -15,7 +15,6 @@ return new class extends Migration
$table->id();
$table->string('name');
$table->string('icon')->nullable();
$table->boolean('is_leader')->default(0);
$table->timestamps();
});
}
@@ -14,8 +14,9 @@ return new class extends Migration
Schema::create('clients', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('icon')->nullable();
$table->string('homepage')->nullable();
$table->string('bookmaker')->nullable();
$table->string('sport')->nullable();
$table->timestamps();
});
}
@@ -1,30 +0,0 @@
<?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('client_bookmakers', function (Blueprint $table) {
$table->id();
$table->integer('client_id');
$table->integer('bookmaker_id');
$table->boolean('is_active')->default(0);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('client_bookmakers');
}
};
@@ -1,30 +0,0 @@
<?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('client_sports', function (Blueprint $table) {
$table->id();
$table->integer('client_id');
$table->integer('sport_id');
$table->boolean('is_active')->default(0);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('client_sports');
}
};
+50 -50
View File
@@ -9,57 +9,57 @@ class BookmakerSeeder extends Seeder
{
public function run(): void
{
$sql = "INSERT INTO `bookmakers` (`id`, `name`, `icon`, `baid`, `txid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `deleted`, `created_at`, `updated_at`)
$sql = "INSERT INTO `bookmakers` (`id`, `name`, `icon`, `image`, `baid`, `txid`, `txso`, `txot`, `betsapi`, `direct`, `is_active`, `deleted`, `created_at`, `updated_at`)
VALUES
('1', 'MISSING', '01K38AYTRV6X29TV888GMTYQ8Q.svg', '0', '0', '0', '0', '2', '0', '0', '0', NULL, '2025-08-22 07:30:13'),
('2', 'Bet365', 'bet365', '2', '126', '0', '1', '2', '0', '1', '0', NULL, '2025-08-22 07:41:24'),
('3', 'BWin', 'bwin', '3', '30', '1', '1', '2', '0', '1', '0', NULL, '2025-08-22 07:43:48'),
('4', 'BetFair', 'betfair', '4', '110', '1', '0', '2', '0', '1', '0', NULL, '2025-08-22 07:47:53'),
('5', 'Betway', 'betway', '5', '340', '0', '0', '2', '0', '0', '0', NULL, NULL),
('6', '10Bet', '10bet', '6', '274', '0', '1', '2', '0', '0', '0', NULL, NULL),
('7', 'Ladbrokes', 'ladbrokes', '7', '17', '0', '1', '2', '0', '1', '0', NULL, NULL),
('8', 'PlanetWin365', 'planetwin365', '8', '627', '0', '0', '2', '0', '0', '0', NULL, NULL),
('10', 'UniBet', 'unibet', '10', '6', '1', '1', '2', '0', '1', '0', NULL, NULL),
('11', '888Sport', '888sport', '11', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('13', 'Betsson', 'betsson', '13', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('14', 'Sbobet', 'sbobet', '14', '327', '1', '0', '2', '0', '1', '0', NULL, NULL),
('15', 'TitanBet', NULL, '15', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('16', 'DafaBet', NULL, '16', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('17', 'BetVictor', NULL, '17', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('18', '1XBet', '1xbet', '18', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('19', 'Expekt', 'expekt', '0', '5', '1', '1', '1', '0', '1', '0', NULL, NULL),
('20', 'Magloo Nigeria', 'magloo-nigeria', '0', '10', '0', '0', '1', '0', '1', '0', NULL, NULL),
('21', 'Sportingbet', 'sportingbet', '0', '13', '1', '1', '1', '0', '1', '0', NULL, NULL),
('22', 'Betika', 'betika', '0', '14', '0', '0', '1', '0', '1', '0', NULL, NULL),
('23', 'Intertops', 'intertops', '0', '15', '0', '0', '1', '0', '1', '0', NULL, NULL),
('24', 'Magloo Kenia', 'magloo-kenia', '0', '16', '0', '0', '1', '0', '1', '0', NULL, NULL),
('25', 'Interwetten', 'interwetten', '0', '26', '1', '1', '1', '0', '1', '0', NULL, NULL),
('26', 'Logispin Nigeria', 'logispin-nigeria', '0', '35', '0', '0', '1', '0', '1', '0', NULL, NULL),
('27', 'Logispin Colombia', 'logispin-colombia', '0', '36', '0', '0', '1', '0', '1', '0', NULL, NULL),
('28', 'William Hill', 'willhill', '0', '42', '1', '1', '1', '0', '1', '0', NULL, NULL),
('29', 'Bet At Home', 'betathome', '0', '49', '0', '1', '1', '0', '1', '0', NULL, NULL),
('30', 'Pinnacle', 'pinnacle', '0', '83', '1', '1', '1', '0', '1', '0', NULL, NULL),
('31', 'SNAI', 'snai', '0', '117', '1', '1', '1', '0', '1', '0', NULL, NULL),
('32', 'Nordicbet', 'nordicbet', '0', '118', '0', '1', '1', '0', '1', '0', NULL, NULL),
('33', 'Goldbet', 'goldbet', '0', '128', '0', '0', '1', '0', '1', '0', NULL, NULL),
('34', '5 Dimes', '5dimes', '0', '234', '1', '0', '1', '0', '1', '1', NULL, NULL),
('35', 'Matchbook', 'matchbook', '0', '314', '1', '0', '1', '0', '1', '0', NULL, NULL),
('36', 'Tipico', 'tipico', '0', '363', '0', '1', '1', '0', '1', '0', NULL, NULL),
('37', 'PartyBets', 'partybets', '0', '380', '1', '0', '1', '0', '1', '0', NULL, NULL),
('38', 'Eurobet', 'eurobet', '0', '388', '1', '1', '1', '0', '1', '0', NULL, NULL),
('39', 'BetClick', 'betclick', '0', '395', '1', '0', '1', '0', '1', '0', NULL, NULL),
('40', 'Bet3000', 'bet3000', '0', '399', '1', '1', '1', '0', '1', '0', NULL, NULL),
('41', 'Better', 'better', '0', '413', '0', '1', '1', '0', '1', '0', NULL, NULL),
('42', 'Marathonbet', 'marathonbet', '0', '539', '1', '1', '1', '0', '1', '0', NULL, NULL),
('43', 'Sisal', 'sisal', '0', '577', '0', '1', '1', '0', '1', '0', NULL, NULL),
('44', 'Betaland', 'betaland', '0', '625', '1', '0', '1', '0', '1', '0', NULL, NULL),
('45', 'Bet9ja', 'bet9ja', '0', '658', '0', '0', '1', '0', '1', '0', NULL, NULL),
('46', 'SportPesa', 'sportpesa', '0', '668', '1', '0', '1', '0', '1', '0', NULL, NULL),
('47', 'BetKing', 'betking', '0', '823', '1', '1', '1', '0', '1', '0', NULL, NULL),
('48', 'BetPlay', 'betplay', '0', '824', '1', '0', '1', '0', '1', '0', NULL, NULL),
('49', 'SportyBet', 'sportybet', '0', '825', '1', '1', '1', '0', '1', '0', NULL, NULL),
('50', 'WPlay', 'wplay', '0', '827', '1', '0', '1', '0', '1', '0', NULL, NULL),
('51', 'ColBet', 'colbet', '0', '828', '1', '0', '1', '0', '1', '0', NULL, NULL);
('1', 'MISSING', '01K38AYTRV6X29TV888GMTYQ8Q.svg', NULL, '0', '0', '0', '0', '2', '0', '0', '0', NULL, '2025-08-23 10:07:59'),
('2', 'Bet365', 'bet365', 'bet365.png', '2', '126', '0', '1', '2', '0', '1', '0', NULL, '2025-08-23 10:08:17'),
('3', 'BWin', 'bwin', 'bwin.jpg', '3', '30', '1', '1', '2', '0', '1', '0', NULL, '2025-08-23 10:08:34'),
('4', 'BetFair', 'betfair', 'betfairy.png', '4', '110', '1', '0', '2', '0', '1', '0', NULL, '2025-08-23 10:10:10'),
('5', 'Betway', 'betway', '', '5', '340', '0', '0', '2', '0', '0', '0', NULL, NULL),
('6', '10Bet', '10bet', '', '6', '274', '0', '1', '2', '0', '0', '0', NULL, NULL),
('7', 'Ladbrokes', 'ladbrokes', '', '7', '17', '0', '1', '2', '0', '1', '0', NULL, NULL),
('8', 'PlanetWin365', 'planetwin365', '', '8', '627', '0', '0', '2', '0', '0', '0', NULL, NULL),
('10', 'UniBet', 'unibet', '', '10', '6', '1', '1', '2', '0', '1', '0', NULL, NULL),
('11', '888Sport', '888sport', '', '11', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('13', 'Betsson', 'betsson', '', '13', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('14', 'Sbobet', 'sbobet', 'sbobet.svg', '14', '327', '1', '0', '2', '0', '1', '0', NULL, '2025-08-23 10:19:43'),
('15', 'TitanBet', NULL, '', '15', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('16', 'DafaBet', NULL, '', '16', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('17', 'BetVictor', NULL, '', '17', '0', '0', '0', '2', '0', '0', '1', NULL, NULL),
('18', '1XBet', '1xbet', '', '18', '0', '0', '0', '2', '0', '0', '0', NULL, NULL),
('19', 'Expekt', 'expekt', '', '0', '5', '1', '1', '1', '0', '1', '0', NULL, NULL),
('20', 'Magloo Nigeria', 'magloo-nig', 'magloo-logo.svg', '0', '10', '0', '0', '1', '0', '1', '0', NULL, '2025-08-23 10:19:02'),
('21', 'Sportingbet', 'sportingbet', '', '0', '13', '1', '1', '1', '0', '1', '0', NULL, NULL),
('22', 'Betika', 'betika', '', '0', '14', '0', '0', '1', '0', '1', '0', NULL, NULL),
('23', 'Intertops', 'intertops', '', '0', '15', '0', '0', '1', '0', '1', '0', NULL, NULL),
('24', 'Magloo Kenia', 'magloo-kenia', 'magloo-kenia.png', '0', '16', '0', '0', '1', '0', '1', '0', NULL, '2025-08-23 10:15:23'),
('25', 'Interwetten', 'interwetten', '', '0', '26', '1', '1', '1', '0', '1', '0', NULL, NULL),
('26', 'Logifuture Nigeria', 'log-nig', '', '0', '35', '0', '0', '1', '0', '1', '0', NULL, NULL),
('27', 'Logifuture Colombia', 'log-col', '', '0', '36', '0', '0', '1', '0', '1', '0', NULL, NULL),
('28', 'William Hill', 'willhill', '', '0', '42', '1', '1', '1', '0', '1', '0', NULL, NULL),
('29', 'Bet At Home', 'betathome', '', '0', '49', '0', '1', '1', '0', '1', '0', NULL, NULL),
('30', 'Pinnacle', 'pinnacle', '', '0', '83', '1', '1', '1', '0', '1', '0', NULL, NULL),
('31', 'SNAI', 'snai', '', '0', '117', '1', '1', '1', '0', '1', '0', NULL, NULL),
('32', 'Nordicbet', 'nordicbet', '', '0', '118', '0', '1', '1', '0', '1', '0', NULL, NULL),
('33', 'Goldbet', 'goldbet', '', '0', '128', '0', '0', '1', '0', '1', '0', NULL, NULL),
('34', '5 Dimes', '5dimes', '', '0', '234', '1', '0', '1', '0', '1', '1', NULL, NULL),
('35', 'Matchbook', 'matchbook', '', '0', '314', '1', '0', '1', '0', '1', '0', NULL, NULL),
('36', 'Tipico', 'tipico', '', '0', '363', '0', '1', '1', '0', '1', '0', NULL, NULL),
('37', 'PartyBets', 'partybets', '', '0', '380', '1', '0', '1', '0', '1', '0', NULL, NULL),
('38', 'Eurobet', 'eurobet', '', '0', '388', '1', '1', '1', '0', '1', '0', NULL, NULL),
('39', 'BetClick', 'betclick', '', '0', '395', '1', '0', '1', '0', '1', '0', NULL, NULL),
('40', 'Bet3000', 'bet3000', '', '0', '399', '1', '1', '1', '0', '1', '0', NULL, NULL),
('41', 'Better', 'better', '', '0', '413', '0', '1', '1', '0', '1', '0', NULL, NULL),
('42', 'Marathonbet', 'marathonbet', '', '0', '539', '1', '1', '1', '0', '1', '0', NULL, NULL),
('43', 'Sisal', 'sisal', '', '0', '577', '0', '1', '1', '0', '1', '0', NULL, NULL),
('44', 'Betaland', 'betaland', '', '0', '625', '1', '0', '1', '0', '1', '0', NULL, NULL),
('45', 'Bet9ja', 'bet9ja', '', '0', '658', '0', '0', '1', '0', '1', '0', NULL, NULL),
('46', 'SportPesa', 'sportpesa', '', '0', '668', '1', '0', '1', '0', '1', '0', NULL, NULL),
('47', 'BetKing', 'betking', '', '0', '823', '1', '1', '1', '0', '1', '0', NULL, NULL),
('48', 'BetPlay', 'betplay', '', '0', '824', '1', '0', '1', '0', '1', '0', NULL, NULL),
('49', 'SportyBet', 'sportybet', '', '0', '825', '1', '1', '1', '0', '1', '0', NULL, NULL),
('50', 'WPlay', 'wplay', '', '0', '827', '1', '0', '1', '0', '1', '0', NULL, NULL),
('51', 'ColBet', 'colbet', '', '0', '828', '1', '0', '1', '0', '1', '0', NULL, NULL);
";
DB::unprepared($sql);
+1
View File
@@ -13,6 +13,7 @@ class DatabaseSeeder extends Seeder
{
$this->call([
RolesAndPermissionsSeeder::class,
OtherSeeder::class,
BookmakerSeeder::class,
CountrySeeder::class,
SportSeeder::class,
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class OtherSeeder extends Seeder
{
public function run(): void
{
$sql = "INSERT INTO `providers` (`id`, `name`, `icon`, `created_at`, `updated_at`)
VALUES
('1', 'TXOdds', NULL, '2025-08-24 06:04:57', '2025-08-24 06:04:57'),
('2', 'BetsApi', NULL, '2025-08-24 06:07:33', '2025-08-24 06:07:33'),
('3', 'Direct', NULL, '2025-08-24 06:07:38', '2025-08-24 06:07:38');
";
DB::unprepared($sql);
$sql = "INSERT INTO `clients` (`id`, `name`, `homepage`, `bookmaker`, `sport`, `created_at`, `updated_at`)
VALUES
('1', 'Magloo', NULL, '[\"20\",\"24\"]', '[\"1\",\"3\"]', '2025-08-24 05:56:41', '2025-08-24 05:56:41'),
('2', 'Logifuture', NULL, '[\"26\",\"27\"]', '[\"1\",\"2\",\"3\",\"5\"]', '2025-08-24 05:57:01', '2025-08-24 05:57:01');";
DB::unprepared($sql);
}
}
@@ -24,6 +24,7 @@ class RolesAndPermissionsSeeder extends Seeder
'email' => 'ht@webwerkstatt.tirol',
'password' => Hash::make('salam'),
'email_verified_at' => now(),
'client_id' => 1,
]);
$user->assignRole('super_admin');
@@ -32,6 +33,7 @@ class RolesAndPermissionsSeeder extends Seeder
'email' => 'ubaldo.perrucci@gmail.com',
'password' => Hash::make('oscar'),
'email_verified_at' => now(),
'client_id' => 1,
]);
$user->assignRole('administrator');
@@ -40,6 +42,7 @@ class RolesAndPermissionsSeeder extends Seeder
'email' => 'rr@uta.it',
'password' => Hash::make('salam'),
'email_verified_at' => now(),
'client_id' => 1,
]);
$user->assignRole('user');
}