wip import

This commit is contained in:
salam committed 2026-04-20 06:37:47 +02:00
1 parent 2ead682763
commit baa1117f61
22 files changed
+315 -261

No files matched your search

@@ -15,8 +15,6 @@ class BettypeResource extends Resource
{ {
protected static ?string $model = Bettype::class; protected static ?string $model = Bettype::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
protected static ?string $navigationLabel = 'NuhOdds Markets'; protected static ?string $navigationLabel = 'NuhOdds Markets';
@@ -16,8 +16,6 @@ class CompetitionGroupResource extends Resource
{ {
protected static ?string $model = CompetitionGroup::class; protected static ?string $model = CompetitionGroup::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
@@ -16,8 +16,6 @@ class CompetitonGroupProviderResource extends Resource
{ {
protected static ?string $model = CompetitionGroupProvider::class; protected static ?string $model = CompetitionGroupProvider::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
protected static ?string $modelLabel = 'Provider Groups'; protected static ?string $modelLabel = 'Provider Groups';
@@ -28,8 +28,6 @@ class CountryResource extends Resource
protected static ?int $navigationSort = 13; protected static ?int $navigationSort = 13;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
protected static string|\UnitEnum|null $navigationGroup = 'TxOdds'; protected static string|\UnitEnum|null $navigationGroup = 'TxOdds';
@@ -16,8 +16,6 @@ class ElementProviderResource extends Resource
{ {
protected static ?string $model = ElementProvider::class; protected static ?string $model = ElementProvider::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
protected static ?int $navigationSort = 21; protected static ?int $navigationSort = 21;
@@ -16,8 +16,6 @@ class ElementResource extends Resource
{ {
protected static ?string $model = Element::class; protected static ?string $model = Element::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
@@ -7,7 +7,7 @@ use App\Filament\Clusters\StaticData\Resources\Players\Schemas\PlayerForm;
use App\Filament\Clusters\StaticData\Resources\Players\Tables\PlayersTable; use App\Filament\Clusters\StaticData\Resources\Players\Tables\PlayersTable;
use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\Player; use App\Models\Player;
use BackedEnum; // use BackedEnum;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
use Filament\Tables\Table; use Filament\Tables\Table;
@@ -18,8 +18,6 @@ class PlayerResource extends Resource
protected static bool $shouldRegisterNavigation = false; protected static bool $shouldRegisterNavigation = false;
protected static string|BackedEnum|null $navigationIcon = 'icon-soccerplayer';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
@@ -19,8 +19,6 @@ class SportResource extends Resource
protected static ?int $navigationSort = 13; protected static ?int $navigationSort = 13;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder';
protected static ?string $recordTitleAttribute = 'name'; protected static ?string $recordTitleAttribute = 'name';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
@@ -3,11 +3,11 @@
namespace App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Pages; namespace App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Pages;
use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\StatistikoEventsResource; use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\StatistikoEventsResource;
use App\Filament\Imports\StatistikoEventImporter; // use App\Filament\Imports\StatistikoEventImporter;
use App\Models\StatistikoEvent; use App\Models\StatistikoEvent;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Actions\ImportAction; // use Filament\Actions\ImportAction;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListStatistikoEvents extends ListRecords class ListStatistikoEvents extends ListRecords
@@ -27,14 +27,14 @@ class ListStatistikoEvents extends ListRecords
CreateAction::make() CreateAction::make()
->label('New') ->label('New')
->icon('phosphor-plus'), ->icon('phosphor-plus'),
ImportAction::make('importEvents') // ImportAction::make('importEvents')
->maxRows(200000) // ->maxRows(200000)
->color('success') // ->color('success')
->chunkSize(250) // ->chunkSize(250)
->icon('phosphor-upload') // ->icon('phosphor-upload')
->label('Import') // ->label('Import')
->modalDescription('Max 20k rows per import, column separator: ";"') // ->modalDescription('Max 20k rows per import, column separator: ";"')
->importer(StatistikoEventImporter::class), // ->importer(StatistikoEventImporter::class),
]; ];
} }
} }
@@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Schemas\Statisti
use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Tables\StatistikoEventsTable; use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Tables\StatistikoEventsTable;
use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\StatistikoEvent; use App\Models\StatistikoEvent;
use BackedEnum;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
use Filament\Tables\Table; use Filament\Tables\Table;
@@ -17,9 +16,7 @@ class StatistikoEventsResource extends Resource
{ {
protected static ?string $model = StatistikoEvent::class; protected static ?string $model = StatistikoEvent::class;
protected static string|BackedEnum|null $navigationIcon = 'icon-soccerball'; protected static ?string $navigationLabel = 'Events';
protected static ?string $navigationLabel = 'Event';
protected static ?string $modelLabel = 'Events'; protected static ?string $modelLabel = 'Events';
@@ -14,7 +14,10 @@ class ListStatistikoImports extends ListRecords
{ {
return [ return [
CreateAction::make('upload_file') CreateAction::make('upload_file')
->modalIcon('phosphor-upload')
->modalHeading('Upload Statistiko Files')
->label('Upload file') ->label('Upload file')
->createAnother(false)
->icon('phosphor-upload'), ->icon('phosphor-upload'),
]; ];
} }
@@ -5,6 +5,7 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoImports\Schemas;
use App\Models\Sport; use App\Models\Sport;
use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Schemas\Components\Icon;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
class StatistikoImportForm class StatistikoImportForm
@@ -26,10 +27,21 @@ class StatistikoImportForm
]), ]),
FileUpload::make('file_name') FileUpload::make('file_name')
->directory('statistika') ->label('Select File')
->directory('statistiko')
->visibility('public') ->visibility('public')
->required() ->required()
->storeFileNamesIn('file_name_original'), ->storeFileNamesIn('file_name_original')
->beforeContent(Icon::make('phosphor-microsoft-excel-logo'))
->belowContent(Schema::end([
'Only excel files accepted.',
'First row contains column titles.',
]))
->acceptedFileTypes([
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'text/csv', // Optional: include if you accept CSV too
]),
])->columns(1); ])->columns(1);
} }
} }
@@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoImports\Schemas\Statist
use App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables\StatistikoImportsTable; use App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables\StatistikoImportsTable;
use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\StatistikoImport; use App\Models\StatistikoImport;
use BackedEnum;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
use Filament\Tables\Table; use Filament\Tables\Table;
@@ -17,8 +16,6 @@ class StatistikaImportResource extends Resource
{ {
protected static ?string $model = StatistikoImport::class; protected static ?string $model = StatistikoImport::class;
protected static string|BackedEnum|null $navigationIcon = 'phosphor-upload';
protected static ?string $navigationLabel = 'File Uploads'; protected static ?string $navigationLabel = 'File Uploads';
protected static ?string $modelLabel = 'File Uploads'; protected static ?string $modelLabel = 'File Uploads';
@@ -2,13 +2,15 @@
namespace App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables; namespace App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction; use Filament\Actions\DeleteBulkAction;
use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\SelectColumn; use Filament\Tables\Columns\SelectColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn; use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table; use Filament\Tables\Table;
class StatistikoImportsTable class StatistikoImportsTable
@@ -31,23 +33,38 @@ class StatistikoImportsTable
'events' => '<span class="text-green-500">Events</span>', 'events' => '<span class="text-green-500">Events</span>',
'events_player' => '<span class="text-amber-500">Events & Player</span>', 'events_player' => '<span class="text-amber-500">Events & Player</span>',
]), ]),
// TextColumn::make('data_type'), TextColumn::make('file_name_original')
TextColumn::make('file_name_original')->searchable()->color('primary')->label('Name'), ->searchable()
ToggleColumn::make('run_import') ->color('primary')
->tooltip('Import will run in the background, on compleation a message will be send.') ->label('Name'),
->onColor(fn ($state) => $state ? 'success' : 'gray') IconColumn::make('has_run')
->beforeStateUpdated(function ($record, $state) { ->label('Import')
if ($state) { ->alignCenter()
$record->is_running = 1; ->boolean()
} ->falseColor('gray'),
}),
IconColumn::make('is_running')->boolean()->falseColor('gray'),
IconColumn::make('has_run')->boolean()->falseColor('gray'),
TextColumn::make('created_at')->dateTime(), TextColumn::make('created_at')->dateTime(),
]) ])
->filters([
SelectFilter::make('data_type')
->options([
'player' => 'Player',
'events' => 'Events',
'events_player' => 'Events & Player',
]),
])
->deferFilters(false)
->recordActions([ ->recordActions([
DeleteAction::make()->iconButton(), ActionGroup::make([
Action::make('Import')
->label('Just Import (very fast)')
->icon('phosphor-database'),
Action::make('Update')
->label('Import and Update (slow)')
->icon('phosphor-database'),
DeleteAction::make()
->label('Delete file'),
]),
]) ])
->toolbarActions([ ->toolbarActions([
BulkActionGroup::make([ BulkActionGroup::make([
@@ -3,11 +3,11 @@
namespace App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Pages; namespace App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Pages;
use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\StatistikoPlayerResource; use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\StatistikoPlayerResource;
use App\Filament\Imports\StatistikoPlayerImporter; // use App\Filament\Imports\StatistikoPlayerImporter;
use App\Models\StatistikoPlayer; use App\Models\StatistikoPlayer;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Actions\ImportAction; // use Filament\Actions\ImportAction;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
class ListStatistikoPlayers extends ListRecords class ListStatistikoPlayers extends ListRecords
@@ -27,14 +27,14 @@ class ListStatistikoPlayers extends ListRecords
CreateAction::make() CreateAction::make()
->label('New') ->label('New')
->icon('phosphor-plus'), ->icon('phosphor-plus'),
ImportAction::make('importPlayer') // ImportAction::make('importPlayer')
->maxRows(200000) // ->maxRows(200000)
->color('success') // ->color('success')
->chunkSize(250) // ->chunkSize(250)
->icon('phosphor-upload') // ->icon('phosphor-upload')
->label('Import') // ->label('Import')
->modalDescription('Max 20k rows per import, column separator ";"') // ->modalDescription('Max 20k rows per import, column separator ";"')
->importer(StatistikoPlayerImporter::class), // ->importer(StatistikoPlayerImporter::class),
]; ];
} }
} }
@@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Schemas\Statist
use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Tables\StatistikoPlayersTable; use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Tables\StatistikoPlayersTable;
use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Filament\Clusters\StaticData\StaticDataCluster;
use App\Models\StatistikoPlayer; use App\Models\StatistikoPlayer;
use BackedEnum;
use Filament\Resources\Resource; use Filament\Resources\Resource;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
use Filament\Tables\Table; use Filament\Tables\Table;
@@ -17,8 +16,6 @@ class StatistikoPlayerResource extends Resource
{ {
protected static ?string $model = StatistikoPlayer::class; protected static ?string $model = StatistikoPlayer::class;
protected static string|BackedEnum|null $navigationIcon = 'icon-soccerplayer';
protected static ?string $navigationLabel = 'Player'; protected static ?string $navigationLabel = 'Player';
protected static ?string $modelLabel = 'Players'; protected static ?string $modelLabel = 'Players';
@@ -15,8 +15,6 @@ class TxoddsMarketResource extends Resource
{ {
protected static ?string $model = TxoddsMarket::class; protected static ?string $model = TxoddsMarket::class;
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront';
protected static ?string $cluster = StaticDataCluster::class; protected static ?string $cluster = StaticDataCluster::class;
protected static ?int $navigationSort = 32; protected static ?int $navigationSort = 32;
@@ -94,6 +94,7 @@ class AdminPanelProvider extends PanelProvider
->maxContentWidth(Width::ScreenTwoExtraLarge) ->maxContentWidth(Width::ScreenTwoExtraLarge)
->breadcrumbs(false) ->breadcrumbs(false)
->topNavigation() ->topNavigation()
->sidebarCollapsibleOnDesktop(false)
->userMenuItems([ ->userMenuItems([
'profile' => Action::make('profile') 'profile' => Action::make('profile')
->label(fn () => Auth::user()->name) ->label(fn () => Auth::user()->name)
+1
View File
@@ -23,6 +23,7 @@
"laravel/tinker": "*", "laravel/tinker": "*",
"mongodb/laravel-mongodb": "^5.1", "mongodb/laravel-mongodb": "^5.1",
"outhebox/blade-flags": "*", "outhebox/blade-flags": "*",
"spatie/simple-excel": "^3.9",
"stevebauman/location": "*", "stevebauman/location": "*",
"swisnl/filament-backgrounds": "^2.0" "swisnl/filament-backgrounds": "^2.0"
}, },
Generated
+243 -196
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "576732046ac8e53ebb84eafe5574a829", "content-hash": "d784dfb38ac60f6f4bc9b96c04fbddf2",
"packages": [ "packages": [
{ {
"name": "agencetwogether/hookshelper", "name": "agencetwogether/hookshelper",
@@ -2955,20 +2955,20 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v12.56.0", "version": "v11.51.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "dac16d424b59debb2273910dde88eb7050a2a709" "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/dac16d424b59debb2273910dde88eb7050a2a709", "url": "https://api.github.com/repos/laravel/framework/zipball/c8f9a04594b7044a189a3194cfb3594251eb74e5",
"reference": "dac16d424b59debb2273910dde88eb7050a2a709", "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"brick/math": "^0.11|^0.12|^0.13|^0.14", "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14",
"composer-runtime-api": "^2.2", "composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5", "doctrine/inflector": "^2.0.5",
"dragonmantank/cron-expression": "^3.4", "dragonmantank/cron-expression": "^3.4",
@@ -2983,34 +2983,32 @@
"fruitcake/php-cors": "^1.3", "fruitcake/php-cors": "^1.3",
"guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0", "guzzlehttp/uri-template": "^1.0",
"laravel/prompts": "^0.3.0", "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
"laravel/serializable-closure": "^1.3|^2.0", "laravel/serializable-closure": "^1.3|^2.0",
"league/commonmark": "^2.8.1", "league/commonmark": "^2.7",
"league/flysystem": "^3.25.1", "league/flysystem": "^3.25.1",
"league/flysystem-local": "^3.25.1", "league/flysystem-local": "^3.25.1",
"league/uri": "^7.5.1", "league/uri": "^7.5.1",
"monolog/monolog": "^3.0", "monolog/monolog": "^3.0",
"nesbot/carbon": "^3.8.4", "nesbot/carbon": "^2.72.6|^3.8.4",
"nunomaduro/termwind": "^2.0", "nunomaduro/termwind": "^2.0",
"php": "^8.2", "php": "^8.2",
"psr/container": "^1.1.1|^2.0.1", "psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0", "psr/log": "^1.0|^2.0|^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.7", "ramsey/uuid": "^4.7",
"symfony/console": "^7.2.0", "symfony/console": "^7.0.3",
"symfony/error-handler": "^7.2.0", "symfony/error-handler": "^7.0.3",
"symfony/finder": "^7.2.0", "symfony/finder": "^7.0.3",
"symfony/http-foundation": "^7.2.0", "symfony/http-foundation": "^7.2.0",
"symfony/http-kernel": "^7.2.0", "symfony/http-kernel": "^7.0.3",
"symfony/mailer": "^7.2.0", "symfony/mailer": "^7.0.3",
"symfony/mime": "^7.2.0", "symfony/mime": "^7.0.3",
"symfony/polyfill-php83": "^1.33", "symfony/polyfill-php83": "^1.31",
"symfony/polyfill-php84": "^1.33", "symfony/process": "^7.0.3",
"symfony/polyfill-php85": "^1.33", "symfony/routing": "^7.0.3",
"symfony/process": "^7.2.0", "symfony/uid": "^7.0.3",
"symfony/routing": "^7.2.0", "symfony/var-dumper": "^7.0.3",
"symfony/uid": "^7.2.0",
"symfony/var-dumper": "^7.2.0",
"tijsverkoyen/css-to-inline-styles": "^2.2.5", "tijsverkoyen/css-to-inline-styles": "^2.2.5",
"vlucas/phpdotenv": "^5.6.1", "vlucas/phpdotenv": "^5.6.1",
"voku/portable-ascii": "^2.0.2" "voku/portable-ascii": "^2.0.2"
@@ -3042,7 +3040,6 @@
"illuminate/filesystem": "self.version", "illuminate/filesystem": "self.version",
"illuminate/hashing": "self.version", "illuminate/hashing": "self.version",
"illuminate/http": "self.version", "illuminate/http": "self.version",
"illuminate/json-schema": "self.version",
"illuminate/log": "self.version", "illuminate/log": "self.version",
"illuminate/macroable": "self.version", "illuminate/macroable": "self.version",
"illuminate/mail": "self.version", "illuminate/mail": "self.version",
@@ -3052,7 +3049,6 @@
"illuminate/process": "self.version", "illuminate/process": "self.version",
"illuminate/queue": "self.version", "illuminate/queue": "self.version",
"illuminate/redis": "self.version", "illuminate/redis": "self.version",
"illuminate/reflection": "self.version",
"illuminate/routing": "self.version", "illuminate/routing": "self.version",
"illuminate/session": "self.version", "illuminate/session": "self.version",
"illuminate/support": "self.version", "illuminate/support": "self.version",
@@ -3076,18 +3072,17 @@
"league/flysystem-read-only": "^3.25.1", "league/flysystem-read-only": "^3.25.1",
"league/flysystem-sftp-v3": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1",
"mockery/mockery": "^1.6.10", "mockery/mockery": "^1.6.10",
"opis/json-schema": "^2.4.1", "orchestra/testbench-core": "^9.18.0",
"orchestra/testbench-core": "^10.9.0", "pda/pheanstalk": "^5.0.6",
"pda/pheanstalk": "^5.0.6|^7.0.0",
"php-http/discovery": "^1.15", "php-http/discovery": "^1.15",
"phpstan/phpstan": "^2.1.41", "phpstan/phpstan": "2.1.41",
"phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
"predis/predis": "^2.3|^3.0", "predis/predis": "^2.3",
"resend/resend-php": "^0.10.0|^1.0", "resend/resend-php": "^0.10.0",
"symfony/cache": "^7.2.0", "symfony/cache": "^7.0.3",
"symfony/http-client": "^7.2.0", "symfony/http-client": "^7.0.3",
"symfony/psr-http-message-bridge": "^7.2.0", "symfony/psr-http-message-bridge": "^7.0.3",
"symfony/translation": "^7.2.0" "symfony/translation": "^7.0.3"
}, },
"suggest": { "suggest": {
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
@@ -3102,7 +3097,7 @@
"ext-pdo": "Required to use all database features.", "ext-pdo": "Required to use all database features.",
"ext-posix": "Required to use all features of the queue worker.", "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).", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
"fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).",
"laravel/tinker": "Required to use the tinker console command (^2.0).", "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).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
@@ -3113,22 +3108,22 @@
"mockery/mockery": "Required to use mocking (^1.6).", "mockery/mockery": "Required to use mocking (^1.6).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).",
"php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", "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.5.3|^12.0.1).", "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|^3.0).", "predis/predis": "Required to use the predis connector (^2.3).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.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).", "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|^1.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.2).", "symfony/cache": "Required to PSR-6 cache bridge (^7.0).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", "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.2).", "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.2).", "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.2).", "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.2)." "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)."
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "12.x-dev" "dev-master": "11.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -3139,7 +3134,6 @@
"src/Illuminate/Filesystem/functions.php", "src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php", "src/Illuminate/Foundation/helpers.php",
"src/Illuminate/Log/functions.php", "src/Illuminate/Log/functions.php",
"src/Illuminate/Reflection/helpers.php",
"src/Illuminate/Support/functions.php", "src/Illuminate/Support/functions.php",
"src/Illuminate/Support/helpers.php" "src/Illuminate/Support/helpers.php"
], ],
@@ -3148,8 +3142,7 @@
"Illuminate\\Support\\": [ "Illuminate\\Support\\": [
"src/Illuminate/Macroable/", "src/Illuminate/Macroable/",
"src/Illuminate/Collections/", "src/Illuminate/Collections/",
"src/Illuminate/Conditionable/", "src/Illuminate/Conditionable/"
"src/Illuminate/Reflection/"
] ]
} }
}, },
@@ -3173,7 +3166,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2026-03-26T14:51:54+00:00" "time": "2026-03-26T14:54:53+00:00"
}, },
{ {
"name": "laravel/prompts", "name": "laravel/prompts",
@@ -4420,27 +4413,27 @@
}, },
{ {
"name": "mongodb/laravel-mongodb", "name": "mongodb/laravel-mongodb",
"version": "5.7.1", "version": "5.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mongodb/laravel-mongodb", "url": "https://github.com/mongodb/laravel-mongodb.git",
"reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a" "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/6e371e8e6deb9193f99a84c578e6c9d0a960e43a", "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4",
"reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a", "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-runtime-api": "^2.0.0", "composer-runtime-api": "^2.0.0",
"ext-mongodb": "^1.21|^2", "ext-mongodb": "^1.15",
"illuminate/cache": "^10.36|^11|^12|^13.0", "illuminate/cache": "^10.36|^11",
"illuminate/container": "^10.0|^11|^12|^13.0", "illuminate/container": "^10.0|^11",
"illuminate/database": "^10.30|^11|^12|^13.0", "illuminate/database": "^10.30|^11",
"illuminate/events": "^10.0|^11|^12|^13.0", "illuminate/events": "^10.0|^11",
"illuminate/support": "^10.0|^11|^12|^13.0", "illuminate/support": "^10.0|^11",
"mongodb/mongodb": "^1.21|^2", "mongodb/mongodb": "^1.18",
"php": "^8.1" "php": "^8.1"
}, },
"conflict": { "conflict": {
@@ -4450,19 +4443,20 @@
"jenssegers/mongodb": "self.version" "jenssegers/mongodb": "self.version"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^12.0", "doctrine/coding-standard": "12.0.x-dev",
"laravel/scout": "^10.3",
"league/flysystem-gridfs": "^3.28", "league/flysystem-gridfs": "^3.28",
"league/flysystem-read-only": "^3.0", "league/flysystem-read-only": "^3.0",
"mockery/mockery": "^1.4.4", "mockery/mockery": "^1.4.4",
"orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", "mongodb/builder": "^0.2",
"phpstan/phpstan": "^1.10|^2.1", "orchestra/testbench": "^8.0|^9.0",
"phpunit/phpunit": "^10.3|^11.5.3|^12.5.12", "phpstan/phpstan": "^1.10",
"rector/rector": "^1.2|^2.3", "phpunit/phpunit": "^10.3",
"spatie/laravel-query-builder": "^5.6|^6" "rector/rector": "^1.2",
"spatie/laravel-query-builder": "^5.6"
}, },
"suggest": { "suggest": {
"league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS" "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS",
"mongodb/builder": "Provides a fluent aggregation builder for MongoDB pipelines"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -4488,11 +4482,6 @@
"email": "andreas.braun@mongodb.com", "email": "andreas.braun@mongodb.com",
"role": "Leader" "role": "Leader"
}, },
{
"name": "Pauline Vos",
"email": "pauline.vos@mongodb.com",
"role": "Maintainer"
},
{ {
"name": "Jérôme Tamarelle", "name": "Jérôme Tamarelle",
"email": "jerome.tamarelle@mongodb.com", "email": "jerome.tamarelle@mongodb.com",
@@ -4521,40 +4510,41 @@
], ],
"support": { "support": {
"issues": "https://www.mongodb.com/support", "issues": "https://www.mongodb.com/support",
"security": "https://www.mongodb.com/security" "security": "https://www.mongodb.com/security",
"source": "https://github.com/mongodb/laravel-mongodb/tree/5.1.1"
}, },
"time": "2026-04-15T12:18:12+00:00" "time": "2025-01-06T09:22:28+00:00"
}, },
{ {
"name": "mongodb/mongodb", "name": "mongodb/mongodb",
"version": "2.2.0", "version": "1.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mongodb/mongo-php-library.git", "url": "https://github.com/mongodb/mongo-php-library.git",
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298" "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/bbb13f969e37e047fd822527543df55fdc1c9298", "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6",
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298", "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-runtime-api": "^2.0", "composer-runtime-api": "^2.0",
"ext-mongodb": "^2.2", "ext-hash": "*",
"php": "^8.1", "ext-json": "*",
"ext-mongodb": "^1.20.0",
"php": "^7.4 || ^8.0",
"psr/log": "^1.1.4|^2|^3", "psr/log": "^1.1.4|^2|^3",
"symfony/polyfill-php85": "^1.32" "symfony/polyfill-php80": "^1.27",
}, "symfony/polyfill-php81": "^1.27"
"replace": {
"mongodb/builder": "*"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^12.0", "doctrine/coding-standard": "^12.0",
"phpunit/phpunit": "^10.5.35", "rector/rector": "^1.1",
"rector/rector": "^2.3.4",
"squizlabs/php_codesniffer": "^3.7", "squizlabs/php_codesniffer": "^3.7",
"vimeo/psalm": "~6.14.2" "symfony/phpunit-bridge": "^5.2",
"vimeo/psalm": "^5.13"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -4598,9 +4588,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/mongodb/mongo-php-library/issues", "issues": "https://github.com/mongodb/mongo-php-library/issues",
"source": "https://github.com/mongodb/mongo-php-library/tree/2.2.0" "source": "https://github.com/mongodb/mongo-php-library/tree/1.20.0"
}, },
"time": "2026-02-11T11:39:56+00:00" "time": "2024-09-25T12:54:08+00:00"
}, },
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
@@ -6579,34 +6569,31 @@
}, },
{ {
"name": "spatie/laravel-permission", "name": "spatie/laravel-permission",
"version": "7.3.0", "version": "6.25.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/laravel-permission.git", "url": "https://github.com/spatie/laravel-permission.git",
"reference": "5272955119759cd217e84e8bbac19443c305ebc3" "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-permission/zipball/5272955119759cd217e84e8bbac19443c305ebc3", "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"reference": "5272955119759cd217e84e8bbac19443c305ebc3", "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"illuminate/auth": "^12.0|^13.0", "illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/container": "^12.0|^13.0", "illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/contracts": "^12.0|^13.0", "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/database": "^12.0|^13.0", "illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"php": "^8.3", "php": "^8.0"
"spatie/laravel-package-tools": "^1.0"
}, },
"require-dev": { "require-dev": {
"larastan/larastan": "^3.9", "laravel/passport": "^11.0|^12.0|^13.0",
"laravel/passport": "^13.0",
"laravel/pint": "^1.0", "laravel/pint": "^1.0",
"orchestra/testbench": "^10.0|^11.0", "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0|^11.0",
"pestphp/pest": "^3.0|^4.0", "pestphp/pest": "^2.0|^3.0|^4.0",
"pestphp/pest-plugin-laravel": "^3.0|^4.1", "pestphp/pest-plugin-laravel": "^2.0|^3.0|^4.0"
"phpstan/phpstan": "^2.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -6616,8 +6603,8 @@
] ]
}, },
"branch-alias": { "branch-alias": {
"dev-main": "7.x-dev", "dev-main": "6.x-dev",
"dev-master": "7.x-dev" "dev-master": "6.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -6640,7 +6627,7 @@
"role": "Developer" "role": "Developer"
} }
], ],
"description": "Permission handling for Laravel 12 and up", "description": "Permission handling for Laravel 8.0 and up",
"homepage": "https://github.com/spatie/laravel-permission", "homepage": "https://github.com/spatie/laravel-permission",
"keywords": [ "keywords": [
"acl", "acl",
@@ -6654,7 +6641,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/spatie/laravel-permission/issues", "issues": "https://github.com/spatie/laravel-permission/issues",
"source": "https://github.com/spatie/laravel-permission/tree/7.3.0" "source": "https://github.com/spatie/laravel-permission/tree/6.25.0"
}, },
"funding": [ "funding": [
{ {
@@ -6662,7 +6649,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2026-04-07T15:19:42+00:00" "time": "2026-03-17T22:46:46+00:00"
}, },
{ {
"name": "spatie/shiki-php", "name": "spatie/shiki-php",
@@ -6729,6 +6716,66 @@
], ],
"time": "2026-02-01T09:30:04+00:00" "time": "2026-02-01T09:30:04+00:00"
}, },
{
"name": "spatie/simple-excel",
"version": "3.9.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/simple-excel.git",
"reference": "67095053ff6037284fd213abd84259ea4faca7aa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/simple-excel/zipball/67095053ff6037284fd213abd84259ea4faca7aa",
"reference": "67095053ff6037284fd213abd84259ea4faca7aa",
"shasum": ""
},
"require": {
"illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0",
"openspout/openspout": "^4.30",
"php": "^8.3"
},
"require-dev": {
"phpunit/phpunit": "^9.4|^10.5|^11.0|^12.0",
"spatie/pest-plugin-snapshots": "^1.1|^2.1",
"spatie/phpunit-snapshot-assertions": "^4.0|^5.1",
"spatie/temporary-directory": "^1.2|^2.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Spatie\\SimpleExcel\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://spatie.be",
"role": "Developer"
}
],
"description": "Read and write simple Excel and CSV files",
"homepage": "https://github.com/spatie/simple-excel",
"keywords": [
"simple-excel",
"spatie"
],
"support": {
"source": "https://github.com/spatie/simple-excel/tree/3.9.0"
},
"funding": [
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2026-02-22T08:49:24+00:00"
},
{ {
"name": "stevebauman/location", "name": "stevebauman/location",
"version": "v7.6.3", "version": "v7.6.3",
@@ -8451,6 +8498,86 @@
], ],
"time": "2026-04-10T16:19:22+00:00" "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", "name": "symfony/polyfill-php83",
"version": "v1.36.0", "version": "v1.36.0",
@@ -8531,86 +8658,6 @@
], ],
"time": "2026-04-10T17:25:58+00:00" "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", "name": "symfony/polyfill-php85",
"version": "v1.36.0", "version": "v1.36.0",
@@ -13533,12 +13580,12 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.3" "php": "^8.3"
}, },
"platform-dev": [], "platform-dev": {},
"plugin-api-version": "2.6.0" "plugin-api-version": "2.9.0"
} }
Binary file not shown.