diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Tables/StatistikoEventsTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Tables/StatistikoEventsTable.php index 1fbaccc2..edbabe44 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Tables/StatistikoEventsTable.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Tables/StatistikoEventsTable.php @@ -2,11 +2,14 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Tables; +use App\Models\Sport; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\TextColumn; +use Filament\Tables\Enums\FiltersLayout; +use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Table; class StatistikoEventsTable @@ -28,8 +31,25 @@ class StatistikoEventsTable ]) ->filters([ - // - ]) + SelectFilter::make('sport_id') + ->default(1) + ->label('Sport') + ->preload() + ->options(Sport::where('is_active', 1)->pluck('name', 'id')), + SelectFilter::make('league_id') + ->relationship('league', 'name') + ->searchable() + ->label('League'), + SelectFilter::make('home_id') + ->relationship('home', 'name') + ->searchable() + ->label('Home'), + SelectFilter::make('away_id') + ->relationship('away', 'name') + ->searchable() + ->label('Away'), + ], layout: FiltersLayout::AboveContent) + ->deferFilters(false) ->recordActions([ EditAction::make(), ]) diff --git a/app/Filament/Imports/StatistikoImporter.php b/app/Filament/Imports/StatistikoImporter.php index 56befa58..fa6842be 100644 --- a/app/Filament/Imports/StatistikoImporter.php +++ b/app/Filament/Imports/StatistikoImporter.php @@ -2,6 +2,7 @@ namespace App\Filament\Imports; +use App\Models\StatistikoEvent; use App\Models\StatistikoPlayer; use Filament\Notifications\Notification; use Illuminate\Support\Carbon; @@ -93,37 +94,35 @@ class StatistikoImporter ->chunk(1000) ->each(function (LazyCollection $chunk) use ($now) { - $data = []; - foreach ($chunk as $row) { $row = array_values($row); - // check if name exists - if (is_string(preg_replace("'\W'", '', $row[1]))) { - $data[] = [ - 'player_id' => $row[0], - 'name' => $row[1], - 'birthdate' => Carbon::parse($row[2])->toDateString(), - 'height' => $row[3], - 'nationality' => $row[4], - 'position' => $row[5], - 'sport_radar_id' => $row[6], - 'id_squadra_tm' => $row[7], - 'full_name' => $row[8], - 'no_specialities' => $row[9], - 'rigorist' => $row[10], - 'national_team_id' => $row[11], - 'last_update' => Carbon::parse($row[12])->toDateString(), - 'league_code' => $row[13], - 'team_code' => $row[14], - 'team_name' => $row[15], - 'created_at' => $now, - 'updated_at' => $now, - ]; - } + StatistikoPlayer::where('player_id', $row[0]) + ->update( + [ + 'name' => $row[1], + 'birthdate' => Carbon::parse($row[2])->toDateString(), + 'height' => $row[3], + 'nationality' => $row[4], + 'position' => $row[5], + 'sport_radar_id' => $row[6], + 'id_squadra_tm' => $row[7], + 'full_name' => $row[8], + 'no_specialities' => $row[9], + 'rigorist' => $row[10], + 'national_team_id' => $row[11], + 'last_update' => Carbon::parse($row[12])->toDateString(), + 'league_code' => $row[13], + 'team_code' => $row[14], + 'team_name' => $row[15], + 'created_at' => $now, + 'updated_at' => $now, + ], + ['upsert' => true], + ); + } - StatistikoPlayer::upsert($data, 'player_id'); }); } @@ -136,70 +135,42 @@ class StatistikoImporter ->chunk(1000) ->each(function (LazyCollection $chunk) use ($now) { - $data = []; - foreach ($chunk as $row) { - // print_r($row); - $row = array_values($row); - // dd($row); - /*** - [LEAGUE] => 1 - [HOME] => 2133 - [AWAY] => 3024 - [SS_STARTTIME_VALUE] => DateTimeImmutable Object ( [date] => 2022-08-05 18:00:00.000000 [timezone_type] => 3 [timezone] => Europe/Vienna ) - [SS_SEASON_VALUE] => 2022/2023 - [GLS_H] => 0 - [GLS_A] => 0 - [CRN_H] => 3 - [CRN_A] => 6 - [FLS_H] => 5 - [FLS_A] => 8 - [OFS_H] => 0 - [OFS_A] => 2 - [SNT_H] => 2 - [SNT_A] => 1 - [TSH_H] => 11 - [TSH_A] => 13 - [CRD_H] => 1 - [CRD_A] => 1 - [EXPGOALSHOME_VALUE] => 1.6350036183338 - [EXPGOALSAWAY_VALUE] => 0.97303070109903 - [EXP_HANDICAP] => -0.66197291723478 - [EXP_TOTAL] => 2.6080343194328 - */ - $data[] = [ - 'sport_id' => 1, - 'league_id' => $row[0], - 'home_id' => $row[1], - 'away_id' => $row[2], - 'starttime' => Carbon::parse($row[3])->toIso8601String(), - 'season' => $row[4], - 'gls_h' => $row[6], - 'gls_a' => $row[7], - 'crn_h' => $row[8], - 'fls_h' => $row[9], - 'ofs_h' => $row[10], - 'snt_h' => $row[11], - 'tsh_h' => $row[12], - 'crd_h' => $row[13], - 'crn_a' => $row[14], - 'fls_a' => $row[15], - 'ofs_a' => $row[16], - 'snt_a' => $row[17], - 'tsh_a' => $row[18], - 'crd_a' => $row[19], - 'expgoalshome_value' => $row[20], - 'expgoalsaway_value' => $row[21], - 'exp_handicap' => $row[22], - 'exp_total' => $row[23], - 'created_at' => $now, - 'updated_at' => $now, - ]; + StatistikoEvent::where('sport_id', 1) + ->where('league_id', $row[0]) + ->where('home_id', $row[1]) + ->where('away_id', $row[2]) + ->where('starttime', Carbon::parse($row[3])->toIso8601String()) + ->update( + [ + 'season' => $row[4], + 'gls_h' => $row[5], + 'gls_a' => $row[6], + 'crn_h' => $row[7], + 'crn_a' => $row[8], + 'fls_h' => $row[9], + 'fls_a' => $row[10], + 'ofs_h' => $row[11], + 'ofs_a' => $row[12], + 'snt_h' => $row[13], + 'snt_a' => $row[14], + 'tsh_h' => $row[15], + 'tsh_a' => $row[16], + 'crd_h' => $row[17], + 'crd_a' => $row[18], + 'expgoalshome_value' => $row[19], + 'expgoalsaway_value' => $row[20], + 'exp_handicap' => $row[21], + 'exp_total' => $row[22], + 'created_at' => $now, + 'updated_at' => $now, + ], + ['upsert' => true], + ); } - StatistikoPlayer::upsert($data, 'player_id'); }); } } diff --git a/app/Models/StatistikoEvent.php b/app/Models/StatistikoEvent.php index e186ea5f..c5d7d0cd 100644 --- a/app/Models/StatistikoEvent.php +++ b/app/Models/StatistikoEvent.php @@ -23,21 +23,23 @@ class StatistikoEvent extends Model 'gls_h', 'gls_a', 'crn_h', - 'fls_h', - 'ofs_h', - 'snt_h', - 'tsh_h', - 'crd_h', 'crn_a', + 'fls_h', 'fls_a', + 'ofs_h', 'ofs_a', + 'snt_h', 'snt_a', + 'tsh_h', 'tsh_a', + 'crd_h', 'crd_a', 'expgoalshome_value', 'expgoalsaway_value', 'exp_handicap', 'exp_total', + 'created_at', + 'updated_at', ]; protected function casts(): array diff --git a/app/Models/StatistikoPlayer.php b/app/Models/StatistikoPlayer.php index a3f372b7..980c29e8 100644 --- a/app/Models/StatistikoPlayer.php +++ b/app/Models/StatistikoPlayer.php @@ -28,6 +28,8 @@ class StatistikoPlayer extends Model 'league_code', 'team_code', 'team_name', + 'created_at', + 'updated_at', ]; protected function casts(): array diff --git a/composer.lock b/composer.lock index d3bffba4..35c8f2a6 100644 --- a/composer.lock +++ b/composer.lock @@ -2955,20 +2955,20 @@ }, { "name": "laravel/framework", - "version": "v11.51.0", + "version": "v12.56.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5" + "reference": "dac16d424b59debb2273910dde88eb7050a2a709" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c8f9a04594b7044a189a3194cfb3594251eb74e5", - "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5", + "url": "https://api.github.com/repos/laravel/framework/zipball/dac16d424b59debb2273910dde88eb7050a2a709", + "reference": "dac16d424b59debb2273910dde88eb7050a2a709", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", + "brick/math": "^0.11|^0.12|^0.13|^0.14", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", @@ -2983,32 +2983,34 @@ "fruitcake/php-cors": "^1.3", "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", + "laravel/prompts": "^0.3.0", "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.7", + "league/commonmark": "^2.8.1", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.72.6|^3.8.4", + "nesbot/carbon": "^3.8.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.0.3", - "symfony/error-handler": "^7.0.3", - "symfony/finder": "^7.0.3", + "symfony/console": "^7.2.0", + "symfony/error-handler": "^7.2.0", + "symfony/finder": "^7.2.0", "symfony/http-foundation": "^7.2.0", - "symfony/http-kernel": "^7.0.3", - "symfony/mailer": "^7.0.3", - "symfony/mime": "^7.0.3", - "symfony/polyfill-php83": "^1.31", - "symfony/process": "^7.0.3", - "symfony/routing": "^7.0.3", - "symfony/uid": "^7.0.3", - "symfony/var-dumper": "^7.0.3", + "symfony/http-kernel": "^7.2.0", + "symfony/mailer": "^7.2.0", + "symfony/mime": "^7.2.0", + "symfony/polyfill-php83": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/polyfill-php85": "^1.33", + "symfony/process": "^7.2.0", + "symfony/routing": "^7.2.0", + "symfony/uid": "^7.2.0", + "symfony/var-dumper": "^7.2.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.6.1", "voku/portable-ascii": "^2.0.2" @@ -3040,6 +3042,7 @@ "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", + "illuminate/json-schema": "self.version", "illuminate/log": "self.version", "illuminate/macroable": "self.version", "illuminate/mail": "self.version", @@ -3049,6 +3052,7 @@ "illuminate/process": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", + "illuminate/reflection": "self.version", "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", @@ -3072,17 +3076,18 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.18.0", - "pda/pheanstalk": "^5.0.6", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^10.9.0", + "pda/pheanstalk": "^5.0.6|^7.0.0", "php-http/discovery": "^1.15", - "phpstan/phpstan": "2.1.41", - "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", - "predis/predis": "^2.3", - "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.0.3", - "symfony/http-client": "^7.0.3", - "symfony/psr-http-message-bridge": "^7.0.3", - "symfony/translation": "^7.0.3" + "phpstan/phpstan": "^2.1.41", + "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "predis/predis": "^2.3|^3.0", + "resend/resend-php": "^0.10.0|^1.0", + "symfony/cache": "^7.2.0", + "symfony/http-client": "^7.2.0", + "symfony/psr-http-message-bridge": "^7.2.0", + "symfony/translation": "^7.2.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", @@ -3097,7 +3102,7 @@ "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", @@ -3108,22 +3113,22 @@ "mockery/mockery": "Required to use mocking (^1.6).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", - "predis/predis": "Required to use the predis connector (^2.3).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3|^3.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "12.x-dev" } }, "autoload": { @@ -3134,6 +3139,7 @@ "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Log/functions.php", + "src/Illuminate/Reflection/helpers.php", "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], @@ -3142,7 +3148,8 @@ "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" + "src/Illuminate/Conditionable/", + "src/Illuminate/Reflection/" ] } }, @@ -3166,7 +3173,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-03-26T14:54:53+00:00" + "time": "2026-03-26T14:51:54+00:00" }, { "name": "laravel/prompts", @@ -4413,27 +4420,27 @@ }, { "name": "mongodb/laravel-mongodb", - "version": "5.1.1", + "version": "5.7.1", "source": { "type": "git", - "url": "https://github.com/mongodb/laravel-mongodb.git", - "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4" + "url": "https://github.com/mongodb/laravel-mongodb", + "reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4", - "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4", + "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/6e371e8e6deb9193f99a84c578e6c9d0a960e43a", + "reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a", "shasum": "" }, "require": { "composer-runtime-api": "^2.0.0", - "ext-mongodb": "^1.15", - "illuminate/cache": "^10.36|^11", - "illuminate/container": "^10.0|^11", - "illuminate/database": "^10.30|^11", - "illuminate/events": "^10.0|^11", - "illuminate/support": "^10.0|^11", - "mongodb/mongodb": "^1.18", + "ext-mongodb": "^1.21|^2", + "illuminate/cache": "^10.36|^11|^12|^13.0", + "illuminate/container": "^10.0|^11|^12|^13.0", + "illuminate/database": "^10.30|^11|^12|^13.0", + "illuminate/events": "^10.0|^11|^12|^13.0", + "illuminate/support": "^10.0|^11|^12|^13.0", + "mongodb/mongodb": "^1.21|^2", "php": "^8.1" }, "conflict": { @@ -4443,20 +4450,19 @@ "jenssegers/mongodb": "self.version" }, "require-dev": { - "doctrine/coding-standard": "12.0.x-dev", + "doctrine/coding-standard": "^12.0", + "laravel/scout": "^10.3", "league/flysystem-gridfs": "^3.28", "league/flysystem-read-only": "^3.0", "mockery/mockery": "^1.4.4", - "mongodb/builder": "^0.2", - "orchestra/testbench": "^8.0|^9.0", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.3", - "rector/rector": "^1.2", - "spatie/laravel-query-builder": "^5.6" + "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", + "phpstan/phpstan": "^1.10|^2.1", + "phpunit/phpunit": "^10.3|^11.5.3|^12.5.12", + "rector/rector": "^1.2|^2.3", + "spatie/laravel-query-builder": "^5.6|^6" }, "suggest": { - "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS", - "mongodb/builder": "Provides a fluent aggregation builder for MongoDB pipelines" + "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS" }, "type": "library", "extra": { @@ -4482,6 +4488,11 @@ "email": "andreas.braun@mongodb.com", "role": "Leader" }, + { + "name": "Pauline Vos", + "email": "pauline.vos@mongodb.com", + "role": "Maintainer" + }, { "name": "Jérôme Tamarelle", "email": "jerome.tamarelle@mongodb.com", @@ -4510,41 +4521,40 @@ ], "support": { "issues": "https://www.mongodb.com/support", - "security": "https://www.mongodb.com/security", - "source": "https://github.com/mongodb/laravel-mongodb/tree/5.1.1" + "security": "https://www.mongodb.com/security" }, - "time": "2025-01-06T09:22:28+00:00" + "time": "2026-04-15T12:18:12+00:00" }, { "name": "mongodb/mongodb", - "version": "1.20.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/mongodb/mongo-php-library.git", - "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6" + "reference": "bbb13f969e37e047fd822527543df55fdc1c9298" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", - "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/bbb13f969e37e047fd822527543df55fdc1c9298", + "reference": "bbb13f969e37e047fd822527543df55fdc1c9298", "shasum": "" }, "require": { "composer-runtime-api": "^2.0", - "ext-hash": "*", - "ext-json": "*", - "ext-mongodb": "^1.20.0", - "php": "^7.4 || ^8.0", + "ext-mongodb": "^2.2", + "php": "^8.1", "psr/log": "^1.1.4|^2|^3", - "symfony/polyfill-php80": "^1.27", - "symfony/polyfill-php81": "^1.27" + "symfony/polyfill-php85": "^1.32" + }, + "replace": { + "mongodb/builder": "*" }, "require-dev": { "doctrine/coding-standard": "^12.0", - "rector/rector": "^1.1", + "phpunit/phpunit": "^10.5.35", + "rector/rector": "^2.3.4", "squizlabs/php_codesniffer": "^3.7", - "symfony/phpunit-bridge": "^5.2", - "vimeo/psalm": "^5.13" + "vimeo/psalm": "~6.14.2" }, "type": "library", "extra": { @@ -4588,9 +4598,9 @@ ], "support": { "issues": "https://github.com/mongodb/mongo-php-library/issues", - "source": "https://github.com/mongodb/mongo-php-library/tree/1.20.0" + "source": "https://github.com/mongodb/mongo-php-library/tree/2.2.0" }, - "time": "2024-09-25T12:54:08+00:00" + "time": "2026-02-11T11:39:56+00:00" }, { "name": "monolog/monolog", @@ -6569,31 +6579,34 @@ }, { "name": "spatie/laravel-permission", - "version": "6.25.0", + "version": "7.3.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3" + "reference": "5272955119759cd217e84e8bbac19443c305ebc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3", - "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/5272955119759cd217e84e8bbac19443c305ebc3", + "reference": "5272955119759cd217e84e8bbac19443c305ebc3", "shasum": "" }, "require": { - "illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", - "illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", - "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", - "illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", - "php": "^8.0" + "illuminate/auth": "^12.0|^13.0", + "illuminate/container": "^12.0|^13.0", + "illuminate/contracts": "^12.0|^13.0", + "illuminate/database": "^12.0|^13.0", + "php": "^8.3", + "spatie/laravel-package-tools": "^1.0" }, "require-dev": { - "laravel/passport": "^11.0|^12.0|^13.0", + "larastan/larastan": "^3.9", + "laravel/passport": "^13.0", "laravel/pint": "^1.0", - "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0|^11.0", - "pestphp/pest": "^2.0|^3.0|^4.0", - "pestphp/pest-plugin-laravel": "^2.0|^3.0|^4.0" + "orchestra/testbench": "^10.0|^11.0", + "pestphp/pest": "^3.0|^4.0", + "pestphp/pest-plugin-laravel": "^3.0|^4.1", + "phpstan/phpstan": "^2.1" }, "type": "library", "extra": { @@ -6603,8 +6616,8 @@ ] }, "branch-alias": { - "dev-main": "6.x-dev", - "dev-master": "6.x-dev" + "dev-main": "7.x-dev", + "dev-master": "7.x-dev" } }, "autoload": { @@ -6627,7 +6640,7 @@ "role": "Developer" } ], - "description": "Permission handling for Laravel 8.0 and up", + "description": "Permission handling for Laravel 12 and up", "homepage": "https://github.com/spatie/laravel-permission", "keywords": [ "acl", @@ -6641,7 +6654,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/6.25.0" + "source": "https://github.com/spatie/laravel-permission/tree/7.3.0" }, "funding": [ { @@ -6649,7 +6662,7 @@ "type": "github" } ], - "time": "2026-03-17T22:46:46+00:00" + "time": "2026-04-07T15:19:42+00:00" }, { "name": "spatie/shiki-php", @@ -8498,86 +8511,6 @@ ], "time": "2026-04-10T16:19:22+00:00" }, - { - "name": "symfony/polyfill-php81", - "version": "v1.36.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.36.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-php83", "version": "v1.36.0", @@ -8658,6 +8591,86 @@ ], "time": "2026-04-10T17:25:58+00:00" }, + { + "name": "symfony/polyfill-php84", + "version": "v1.36.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.36.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T18:47:49+00:00" + }, { "name": "symfony/polyfill-php85", "version": "v1.36.0", @@ -13580,12 +13593,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/2026_04_20_145255_mongo_db_statistiko_event.php b/database/migrations/2026_04_20_145255_mongo_db_statistiko_event.php index 4bab051c..b22d5a22 100644 --- a/database/migrations/2026_04_20_145255_mongo_db_statistiko_event.php +++ b/database/migrations/2026_04_20_145255_mongo_db_statistiko_event.php @@ -17,6 +17,7 @@ return new class extends Migration $collection->index('league_id'); $collection->index('home_id'); $collection->index('away_id'); + $collection->index('starttime'); }); } diff --git a/storage/app/public/statistiko/.gitignore b/storage/app/public/statistiko/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/storage/app/public/statistiko/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/app/public/statistiko/01KPQRH2RBVQ0GW9JRQYCWVYZA.xlsx b/storage/app/public/statistiko/01KPQRH2RBVQ0GW9JRQYCWVYZA.xlsx deleted file mode 100644 index 58216252..00000000 Binary files a/storage/app/public/statistiko/01KPQRH2RBVQ0GW9JRQYCWVYZA.xlsx and /dev/null differ diff --git a/storage/app/public/statistiko/01KPQSQZN334HJXXE3JBYTF05E.xlsx b/storage/app/public/statistiko/01KPQSQZN334HJXXE3JBYTF05E.xlsx deleted file mode 100644 index 485f0a1e..00000000 Binary files a/storage/app/public/statistiko/01KPQSQZN334HJXXE3JBYTF05E.xlsx and /dev/null differ diff --git a/storage/app/public/statistiko/01KPQT5RRWMKV3WKNHV2A4S49B.xlsx b/storage/app/public/statistiko/01KPQT5RRWMKV3WKNHV2A4S49B.xlsx deleted file mode 100644 index 58216252..00000000 Binary files a/storage/app/public/statistiko/01KPQT5RRWMKV3WKNHV2A4S49B.xlsx and /dev/null differ