add player

This commit is contained in:
salam committed 2026-03-18 14:19:34 +01:00
1 parent 43d3ac7719
commit 16cfac419d
10 files changed
+376 -271

No files matched your search

@@ -0,0 +1,11 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players\Pages;
use App\Filament\Clusters\StaticData\Resources\Players\PlayerResource;
use Filament\Resources\Pages\CreateRecord;
class CreatePlayer extends CreateRecord
{
protected static string $resource = PlayerResource::class;
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players\Pages;
use App\Filament\Clusters\StaticData\Resources\Players\PlayerResource;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;
class EditPlayer extends EditRecord
{
protected static string $resource = PlayerResource::class;
protected function getHeaderActions(): array
{
return [
DeleteAction::make(),
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players\Pages;
use App\Filament\Clusters\StaticData\Resources\Players\PlayerResource;
use App\Filament\Imports\PlayerImporter;
use Filament\Actions\CreateAction;
use Filament\Actions\ImportAction;
use Filament\Resources\Pages\ListRecords;
class ListPlayers extends ListRecords
{
protected static string $resource = PlayerResource::class;
protected function getHeaderActions(): array
{
return [
CreateAction::make(),
ImportAction::make('importPlayer')
->modalDescription('Separator comma ",", First line: "name,player_id"')
->importer(PlayerImporter::class),
];
}
}
@@ -0,0 +1,41 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players;
use App\Filament\Clusters\StaticData\Resources\Players\Pages\ListPlayers;
use App\Filament\Clusters\StaticData\Resources\Players\Schemas\PlayerForm;
use App\Filament\Clusters\StaticData\Resources\Players\Tables\PlayersTable;
use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\Player;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Tables\Table;
class PlayerResource extends Resource
{
protected static ?string $model = Player::class;
protected static string|BackedEnum|null $navigationIcon = 'phosphor-person-simple-run';
protected static ?string $cluster = StaticDataCluster::class;
protected static ?string $recordTitleAttribute = 'name';
public static function form(Schema $schema): Schema
{
return PlayerForm::configure($schema);
}
public static function table(Table $table): Table
{
return PlayersTable::configure($table);
}
public static function getPages(): array
{
return [
'index' => ListPlayers::route('/'),
];
}
}
@@ -0,0 +1,18 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players\Schemas;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
class PlayerForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('player_id')->afterLabel(['Must be unique']),
TextInput::make('name'),
]);
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Filament\Clusters\StaticData\Resources\Players\Tables;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\Layout\Stack;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class PlayersTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
Stack::make([
TextColumn::make('player_id')
->badge()
->searchable(),
TextColumn::make('name')
->searchable(),
]),
])
->contentGrid([
'md' => 3,
'xl' => 5,
])
->recordActions([
EditAction::make()->hiddenLabel(),
]);
}
}
+60
View File
@@ -0,0 +1,60 @@
<?php
namespace App\Filament\Imports;
use App\Models\Player;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import;
use Illuminate\Support\Number;
class PlayerImporter extends Importer
{
protected static ?string $model = Player::class;
public static function getColumns(): array
{
return [
ImportColumn::make('player_id')
->castStateUsing(function (string $state): ?int {
if (blank($state)) {
return null;
}
return (int) $state;
})
->requiredMapping()
->numeric(),
ImportColumn::make('name')
->castStateUsing(function (string $state): ?string {
if (blank($state)) {
return null;
}
$state = preg_replace('@\([^\)]*\)$@', '', $state);
return trim($state);
})
->requiredMapping()
->rules(['required', 'max:255']),
];
}
public function resolveRecord(): Player
{
return Player::firstOrNew([
'player_id' => (int) $this->data['player_id'],
]);
}
public static function getCompletedNotificationBody(Import $import): string
{
$body = 'Your player import has completed and '.Number::format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' imported.';
if ($failedRowsCount = $import->getFailedRowsCount()) {
$body .= ' '.Number::format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to import.';
}
return $body;
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Player extends Model
{
protected $fillable = [
'id',
'name',
];
}
Generated
+129 -271
View File
@@ -79,72 +79,6 @@
],
"time": "2026-03-02T19:40:28+00:00"
},
{
"name": "anourvalar/eloquent-serialize",
"version": "1.3.5",
"source": {
"type": "git",
"url": "https://github.com/AnourValar/eloquent-serialize.git",
"reference": "1a7dead8d532657e5358f8f27c0349373517681e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/1a7dead8d532657e5358f8f27c0349373517681e",
"reference": "1a7dead8d532657e5358f8f27c0349373517681e",
"shasum": ""
},
"require": {
"laravel/framework": "^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^7.4|^8.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.26",
"laravel/legacy-factories": "^1.1",
"orchestra/testbench": "^6.0|^7.0|^8.0|^9.0|^10.0",
"phpstan/phpstan": "^2.0",
"phpunit/phpunit": "^9.5|^10.5|^11.0",
"psalm/plugin-laravel": "^2.8|^3.0",
"squizlabs/php_codesniffer": "^3.7"
},
"type": "library",
"extra": {
"laravel": {
"aliases": {
"EloquentSerialize": "AnourValar\\EloquentSerialize\\Facades\\EloquentSerializeFacade"
}
}
},
"autoload": {
"psr-4": {
"AnourValar\\EloquentSerialize\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Laravel Query Builder (Eloquent) serialization",
"homepage": "https://github.com/AnourValar/eloquent-serialize",
"keywords": [
"anourvalar",
"builder",
"copy",
"eloquent",
"job",
"laravel",
"query",
"querybuilder",
"queue",
"serializable",
"serialization",
"serialize"
],
"support": {
"issues": "https://github.com/AnourValar/eloquent-serialize/issues",
"source": "https://github.com/AnourValar/eloquent-serialize/tree/1.3.5"
},
"time": "2025-12-04T13:38:21+00:00"
},
{
"name": "awcodes/light-switch",
"version": "v3.0.0",
@@ -393,26 +327,26 @@
},
{
"name": "blade-ui-kit/blade-heroicons",
"version": "2.6.0",
"version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/driesvints/blade-heroicons.git",
"reference": "4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19"
"reference": "66fa8ba09dba12e0cdb410b8cb94f3b890eca440"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/driesvints/blade-heroicons/zipball/4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19",
"reference": "4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19",
"url": "https://api.github.com/repos/driesvints/blade-heroicons/zipball/66fa8ba09dba12e0cdb410b8cb94f3b890eca440",
"reference": "66fa8ba09dba12e0cdb410b8cb94f3b890eca440",
"shasum": ""
},
"require": {
"blade-ui-kit/blade-icons": "^1.6",
"illuminate/support": "^9.0|^10.0|^11.0|^12.0",
"illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0",
"php": "^8.0"
},
"require-dev": {
"orchestra/testbench": "^7.0|^8.0|^9.0|^10.0",
"phpunit/phpunit": "^9.0|^10.5|^11.0"
"orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0",
"phpunit/phpunit": "^9.0|^10.5|^11.0|^12.0"
},
"type": "library",
"extra": {
@@ -438,7 +372,7 @@
}
],
"description": "A package to easily make use of Heroicons in your Laravel Blade views.",
"homepage": "https://github.com/blade-ui-kit/blade-heroicons",
"homepage": "https://github.com/driesvints/blade-heroicons",
"keywords": [
"Heroicons",
"blade",
@@ -446,7 +380,7 @@
],
"support": {
"issues": "https://github.com/driesvints/blade-heroicons/issues",
"source": "https://github.com/driesvints/blade-heroicons/tree/2.6.0"
"source": "https://github.com/driesvints/blade-heroicons/tree/2.7.0"
},
"funding": [
{
@@ -458,7 +392,7 @@
"type": "paypal"
}
],
"time": "2025-02-13T20:53:33+00:00"
"time": "2026-03-16T13:00:23+00:00"
},
{
"name": "blade-ui-kit/blade-icons",
@@ -1074,27 +1008,27 @@
},
{
"name": "danharrin/livewire-rate-limiting",
"version": "v2.1.0",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/danharrin/livewire-rate-limiting.git",
"reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0"
"reference": "c03e649220089f6e5a52d422e24e3f98c73e456d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/14dde653a9ae8f38af07a0ba4921dc046235e1a0",
"reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0",
"url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/c03e649220089f6e5a52d422e24e3f98c73e456d",
"reference": "c03e649220089f6e5a52d422e24e3f98c73e456d",
"shasum": ""
},
"require": {
"illuminate/support": "^9.0|^10.0|^11.0|^12.0",
"illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0",
"php": "^8.0"
},
"require-dev": {
"livewire/livewire": "^3.0",
"livewire/volt": "^1.3",
"orchestra/testbench": "^7.0|^8.0|^9.0|^10.0",
"phpunit/phpunit": "^9.0|^10.0|^11.5.3"
"orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0",
"phpunit/phpunit": "^9.0|^10.0|^11.5.3|^12.5.12"
},
"type": "library",
"autoload": {
@@ -1124,7 +1058,7 @@
"type": "github"
}
],
"time": "2025-02-21T08:52:11+00:00"
"time": "2026-03-16T11:29:23+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -1501,20 +1435,19 @@
},
{
"name": "filament/actions",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/actions.git",
"reference": "4a8dffa126eafdecd369fb9ff1038637e23f548c"
"reference": "71847cab6e194f063896841e86eedaf95c7ae3f7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/actions/zipball/4a8dffa126eafdecd369fb9ff1038637e23f548c",
"reference": "4a8dffa126eafdecd369fb9ff1038637e23f548c",
"url": "https://api.github.com/repos/filamentphp/actions/zipball/71847cab6e194f063896841e86eedaf95c7ae3f7",
"reference": "71847cab6e194f063896841e86eedaf95c7ae3f7",
"shasum": ""
},
"require": {
"anourvalar/eloquent-serialize": "^1.2",
"filament/forms": "self.version",
"filament/infolists": "self.version",
"filament/notifications": "self.version",
@@ -1546,20 +1479,20 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-14T07:54:29+00:00"
"time": "2026-03-17T20:07:15+00:00"
},
{
"name": "filament/filament",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/panels.git",
"reference": "f76dbc825f0d183c6bfdab308138fda5825cf5e5"
"reference": "3cca66607d852b1e175434aa48f5499eaaf906a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/panels/zipball/f76dbc825f0d183c6bfdab308138fda5825cf5e5",
"reference": "f76dbc825f0d183c6bfdab308138fda5825cf5e5",
"url": "https://api.github.com/repos/filamentphp/panels/zipball/3cca66607d852b1e175434aa48f5499eaaf906a0",
"reference": "3cca66607d852b1e175434aa48f5499eaaf906a0",
"shasum": ""
},
"require": {
@@ -1603,20 +1536,20 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-14T07:56:37+00:00"
"time": "2026-03-17T20:08:29+00:00"
},
{
"name": "filament/forms",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/forms.git",
"reference": "9a8c0a3825f9f3f506bb2eef63984ab9df4ee5bc"
"reference": "dd6648637e4a7232c0c84e07157a65ea4024b84e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/forms/zipball/9a8c0a3825f9f3f506bb2eef63984ab9df4ee5bc",
"reference": "9a8c0a3825f9f3f506bb2eef63984ab9df4ee5bc",
"url": "https://api.github.com/repos/filamentphp/forms/zipball/dd6648637e4a7232c0c84e07157a65ea4024b84e",
"reference": "dd6648637e4a7232c0c84e07157a65ea4024b84e",
"shasum": ""
},
"require": {
@@ -1653,11 +1586,11 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-14T07:54:28+00:00"
"time": "2026-03-17T20:03:40+00:00"
},
{
"name": "filament/infolists",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/infolists.git",
@@ -1702,7 +1635,7 @@
},
{
"name": "filament/notifications",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/notifications.git",
@@ -1749,7 +1682,7 @@
},
{
"name": "filament/query-builder",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/query-builder.git",
@@ -1795,16 +1728,16 @@
},
{
"name": "filament/schemas",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/schemas.git",
"reference": "04fb0763f9db04698994321500fa1557d782a66c"
"reference": "9af1204cb86bc6151636a0c660a2cab0aed32102"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/schemas/zipball/04fb0763f9db04698994321500fa1557d782a66c",
"reference": "04fb0763f9db04698994321500fa1557d782a66c",
"url": "https://api.github.com/repos/filamentphp/schemas/zipball/9af1204cb86bc6151636a0c660a2cab0aed32102",
"reference": "9af1204cb86bc6151636a0c660a2cab0aed32102",
"shasum": ""
},
"require": {
@@ -1836,36 +1769,35 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-12T11:53:10+00:00"
"time": "2026-03-17T20:03:30+00:00"
},
{
"name": "filament/support",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/support.git",
"reference": "095fcfd7e54a21f9d7afc4bbc37b127191f58f84"
"reference": "03b8e1f498787a2ab76413e58814daed1051ddc3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/support/zipball/095fcfd7e54a21f9d7afc4bbc37b127191f58f84",
"reference": "095fcfd7e54a21f9d7afc4bbc37b127191f58f84",
"url": "https://api.github.com/repos/filamentphp/support/zipball/03b8e1f498787a2ab76413e58814daed1051ddc3",
"reference": "03b8e1f498787a2ab76413e58814daed1051ddc3",
"shasum": ""
},
"require": {
"blade-ui-kit/blade-heroicons": "^2.5",
"danharrin/livewire-rate-limiting": "^2.0",
"ext-intl": "*",
"illuminate/contracts": "^11.28|^12.0",
"illuminate/contracts": "^11.28|^12.0|^13.0",
"kirschbaum-development/eloquent-power-joins": "^4.0",
"league/uri-components": "^7.0",
"livewire/livewire": "^4.1",
"nette/php-generator": "^4.0",
"php": "^8.2",
"ryangjchandler/blade-capture-directive": "^1.0",
"spatie/invade": "^2.0",
"spatie/laravel-package-tools": "^1.9",
"symfony/console": "^7.0",
"symfony/console": "^7.0|^8.0",
"symfony/html-sanitizer": "^7.0|^8.0"
},
"type": "library",
@@ -1894,20 +1826,20 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-12T11:52:17+00:00"
"time": "2026-03-17T20:03:15+00:00"
},
{
"name": "filament/tables",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/tables.git",
"reference": "22b6075afce96c3678bcbfff9c43800d051d010e"
"reference": "81cba776a14842aa7d513e7a7c267d013cd2e4ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/tables/zipball/22b6075afce96c3678bcbfff9c43800d051d010e",
"reference": "22b6075afce96c3678bcbfff9c43800d051d010e",
"url": "https://api.github.com/repos/filamentphp/tables/zipball/81cba776a14842aa7d513e7a7c267d013cd2e4ed",
"reference": "81cba776a14842aa7d513e7a7c267d013cd2e4ed",
"shasum": ""
},
"require": {
@@ -1940,20 +1872,20 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-14T07:55:11+00:00"
"time": "2026-03-17T20:06:54+00:00"
},
{
"name": "filament/widgets",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/widgets.git",
"reference": "bf6eb5f8cd21f86f9764d76dd8584dbd1a16b78c"
"reference": "53c759878dd72878781621b45f3ce27af53d1da0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filamentphp/widgets/zipball/bf6eb5f8cd21f86f9764d76dd8584dbd1a16b78c",
"reference": "bf6eb5f8cd21f86f9764d76dd8584dbd1a16b78c",
"url": "https://api.github.com/repos/filamentphp/widgets/zipball/53c759878dd72878781621b45f3ce27af53d1da0",
"reference": "53c759878dd72878781621b45f3ce27af53d1da0",
"shasum": ""
},
"require": {
@@ -1984,7 +1916,7 @@
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"time": "2026-03-12T11:54:05+00:00"
"time": "2026-03-17T20:05:33+00:00"
},
{
"name": "fruitcake/php-cors",
@@ -2956,28 +2888,28 @@
},
{
"name": "kirschbaum-development/eloquent-power-joins",
"version": "4.2.11",
"version": "4.3.0",
"source": {
"type": "git",
"url": "https://github.com/kirschbaum-development/eloquent-power-joins.git",
"reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588"
"reference": "dbf2dfaa1900152f2e3dc42b30b67f67a82e7c36"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/0e3e3372992e4bf82391b3c7b84b435c3db73588",
"reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588",
"url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/dbf2dfaa1900152f2e3dc42b30b67f67a82e7c36",
"reference": "dbf2dfaa1900152f2e3dc42b30b67f67a82e7c36",
"shasum": ""
},
"require": {
"illuminate/database": "^11.42|^12.0",
"illuminate/support": "^11.42|^12.0",
"illuminate/database": "^11.42|^12.0|^13.0",
"illuminate/support": "^11.42|^12.0|^13.0",
"php": "^8.2"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "dev-master",
"laravel/legacy-factories": "^1.0@dev",
"orchestra/testbench": "^9.0|^10.0",
"phpunit/phpunit": "^10.0|^11.0"
"laravel/legacy-factories": "^1.0@dev|dev-master",
"orchestra/testbench": "^9.0|^10.0|^11.0",
"phpunit/phpunit": "^10.0|^11.0|^12.0"
},
"type": "library",
"extra": {
@@ -3013,22 +2945,22 @@
],
"support": {
"issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues",
"source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.2.11"
"source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.3.0"
},
"time": "2025-12-17T00:37:48+00:00"
"time": "2026-03-17T16:43:01+00:00"
},
{
"name": "laravel/framework",
"version": "v12.54.1",
"version": "v12.55.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "325497463e7599cd14224c422c6e5dd2fe832868"
"reference": "6917962a55ac91598e8c5e2ebd25e27aed121b5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/325497463e7599cd14224c422c6e5dd2fe832868",
"reference": "325497463e7599cd14224c422c6e5dd2fe832868",
"url": "https://api.github.com/repos/laravel/framework/zipball/6917962a55ac91598e8c5e2ebd25e27aed121b5e",
"reference": "6917962a55ac91598e8c5e2ebd25e27aed121b5e",
"shasum": ""
},
"require": {
@@ -3144,7 +3076,7 @@
"orchestra/testbench-core": "^10.9.0",
"pda/pheanstalk": "^5.0.6|^7.0.0",
"php-http/discovery": "^1.15",
"phpstan/phpstan": "^2.0",
"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",
@@ -3237,20 +3169,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2026-03-10T20:25:56+00:00"
"time": "2026-03-17T14:19:00+00:00"
},
{
"name": "laravel/prompts",
"version": "v0.3.14",
"version": "v0.3.15",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "9f0e371244eedfe2ebeaa72c79c54bb5df6e0176"
"reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/9f0e371244eedfe2ebeaa72c79c54bb5df6e0176",
"reference": "9f0e371244eedfe2ebeaa72c79c54bb5df6e0176",
"url": "https://api.github.com/repos/laravel/prompts/zipball/4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
"reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
"shasum": ""
},
"require": {
@@ -3294,9 +3226,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.3.14"
"source": "https://github.com/laravel/prompts/tree/v0.3.15"
},
"time": "2026-03-01T09:02:38+00:00"
"time": "2026-03-17T13:45:17+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -3361,33 +3293,33 @@
},
{
"name": "laravel/tinker",
"version": "v2.11.1",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
"reference": "c9f80cc835649b5c1842898fb043f8cc098dd741"
"reference": "cc74081282ba2e3dae1f0068ccb330370d24634e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/tinker/zipball/c9f80cc835649b5c1842898fb043f8cc098dd741",
"reference": "c9f80cc835649b5c1842898fb043f8cc098dd741",
"url": "https://api.github.com/repos/laravel/tinker/zipball/cc74081282ba2e3dae1f0068ccb330370d24634e",
"reference": "cc74081282ba2e3dae1f0068ccb330370d24634e",
"shasum": ""
},
"require": {
"illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^7.2.5|^8.0",
"psy/psysh": "^0.11.1|^0.12.0",
"symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0"
"illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0",
"php": "^8.1",
"psy/psysh": "^0.12.0",
"symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0"
},
"require-dev": {
"mockery/mockery": "~1.3.3|^1.4.2",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^8.5.8|^9.3.3|^10.0"
"phpunit/phpunit": "^10.5|^11.5"
},
"suggest": {
"illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)."
"illuminate/database": "The Illuminate Database package (^8.0|^9.0|^10.0|^11.0|^12.0|^13.0)."
},
"type": "library",
"extra": {
@@ -3395,6 +3327,9 @@
"providers": [
"Laravel\\Tinker\\TinkerServiceProvider"
]
},
"branch-alias": {
"dev-master": "3.x-dev"
}
},
"autoload": {
@@ -3421,9 +3356,9 @@
],
"support": {
"issues": "https://github.com/laravel/tinker/issues",
"source": "https://github.com/laravel/tinker/tree/v2.11.1"
"source": "https://github.com/laravel/tinker/tree/v3.0.0"
},
"time": "2026-02-06T14:12:35+00:00"
"time": "2026-03-17T14:53:17+00:00"
},
{
"name": "league/commonmark",
@@ -6178,84 +6113,6 @@
},
"time": "2025-12-14T04:43:48+00:00"
},
{
"name": "ryangjchandler/blade-capture-directive",
"version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/ryangjchandler/blade-capture-directive.git",
"reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ryangjchandler/blade-capture-directive/zipball/bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d",
"reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d",
"shasum": ""
},
"require": {
"illuminate/contracts": "^10.0|^11.0|^12.0",
"php": "^8.1",
"spatie/laravel-package-tools": "^1.9.2"
},
"require-dev": {
"nunomaduro/collision": "^7.0|^8.0",
"nunomaduro/larastan": "^2.0|^3.0",
"orchestra/testbench": "^8.0|^9.0|^10.0",
"pestphp/pest": "^2.0|^3.7",
"pestphp/pest-plugin-laravel": "^2.0|^3.1",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan-deprecation-rules": "^1.0|^2.0",
"phpstan/phpstan-phpunit": "^1.0|^2.0",
"phpunit/phpunit": "^10.0|^11.5.3",
"spatie/laravel-ray": "^1.26"
},
"type": "library",
"extra": {
"laravel": {
"aliases": {
"BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective"
},
"providers": [
"RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"RyanChandler\\BladeCaptureDirective\\": "src",
"RyanChandler\\BladeCaptureDirective\\Database\\Factories\\": "database/factories"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ryan Chandler",
"email": "support@ryangjchandler.co.uk",
"role": "Developer"
}
],
"description": "Create inline partials in your Blade templates with ease.",
"homepage": "https://github.com/ryangjchandler/blade-capture-directive",
"keywords": [
"blade-capture-directive",
"laravel",
"ryangjchandler"
],
"support": {
"issues": "https://github.com/ryangjchandler/blade-capture-directive/issues",
"source": "https://github.com/ryangjchandler/blade-capture-directive/tree/v1.1.0"
},
"funding": [
{
"url": "https://github.com/ryangjchandler",
"type": "github"
}
],
"time": "2025-02-25T09:09:36+00:00"
},
{
"name": "scrivo/highlight.php",
"version": "v9.18.1.10",
@@ -6456,30 +6313,31 @@
},
{
"name": "spatie/laravel-permission",
"version": "6.24.1",
"version": "6.25.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-permission.git",
"reference": "eefc9d17eba80d023d6bff313f882cb2bcd691a3"
"reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-permission/zipball/eefc9d17eba80d023d6bff313f882cb2bcd691a3",
"reference": "eefc9d17eba80d023d6bff313f882cb2bcd691a3",
"url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"shasum": ""
},
"require": {
"illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0",
"illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0",
"illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0",
"illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0",
"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"
},
"require-dev": {
"laravel/passport": "^11.0|^12.0",
"laravel/passport": "^11.0|^12.0|^13.0",
"laravel/pint": "^1.0",
"orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0",
"phpunit/phpunit": "^9.4|^10.1|^11.5"
"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"
},
"type": "library",
"extra": {
@@ -6527,7 +6385,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-permission/issues",
"source": "https://github.com/spatie/laravel-permission/tree/6.24.1"
"source": "https://github.com/spatie/laravel-permission/tree/6.25.0"
},
"funding": [
{
@@ -6535,7 +6393,7 @@
"type": "github"
}
],
"time": "2026-02-09T21:10:03+00:00"
"time": "2026-03-17T22:46:46+00:00"
},
{
"name": "spatie/shiki-php",
@@ -9972,7 +9830,7 @@
},
{
"name": "filament/upgrade",
"version": "v5.3.5",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/filamentphp/upgrade.git",
@@ -10342,16 +10200,16 @@
},
{
"name": "laravel/sail",
"version": "v1.53.0",
"version": "v1.54.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
"reference": "e340eaa2bea9b99192570c48ed837155dbf24fbb"
"reference": "bcc5e06f1a79d806d880a4b027964d2aa5872b07"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/e340eaa2bea9b99192570c48ed837155dbf24fbb",
"reference": "e340eaa2bea9b99192570c48ed837155dbf24fbb",
"url": "https://api.github.com/repos/laravel/sail/zipball/bcc5e06f1a79d806d880a4b027964d2aa5872b07",
"reference": "bcc5e06f1a79d806d880a4b027964d2aa5872b07",
"shasum": ""
},
"require": {
@@ -10401,7 +10259,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
"time": "2026-02-06T12:16:02+00:00"
"time": "2026-03-11T14:10:52+00:00"
},
{
"name": "mockery/mockery",
@@ -11551,11 +11409,11 @@
},
{
"name": "phpstan/phpstan",
"version": "2.1.40",
"version": "2.1.42",
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
"reference": "9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/1279e1ce86ba768f0780c9d889852b4e02ff40d0",
"reference": "1279e1ce86ba768f0780c9d889852b4e02ff40d0",
"shasum": ""
},
"require": {
@@ -11600,7 +11458,7 @@
"type": "github"
}
],
"time": "2026-02-23T15:04:35+00:00"
"time": "2026-03-17T14:58:32+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -12060,21 +11918,21 @@
},
{
"name": "rector/rector",
"version": "2.3.8",
"version": "2.3.9",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
"reference": "bbd37aedd8df749916cffa2a947cfc4714d1ba2c"
"reference": "917842143fd9f5331a2adefc214b8d7143bd32c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/bbd37aedd8df749916cffa2a947cfc4714d1ba2c",
"reference": "bbd37aedd8df749916cffa2a947cfc4714d1ba2c",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/917842143fd9f5331a2adefc214b8d7143bd32c4",
"reference": "917842143fd9f5331a2adefc214b8d7143bd32c4",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
"phpstan/phpstan": "^2.1.38"
"phpstan/phpstan": "^2.1.40"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -12108,7 +11966,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.3.8"
"source": "https://github.com/rectorphp/rector/tree/2.3.9"
},
"funding": [
{
@@ -12116,7 +11974,7 @@
"type": "github"
}
],
"time": "2026-02-22T09:45:50+00:00"
"time": "2026-03-16T09:43:55+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -0,0 +1,29 @@
<?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('players', function (Blueprint $table) {
$table->id();
$table->integer('player_id')->index()->uniqid();
$table->string('name');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('players');
}
};