UserPolicy::class, User::class => ProfilePolicy::class, Role::class => RolePolicy::class, Permission::class => PermissionPolicy::class, Document::class => DocumentPolicy::class, Project::class => ProjectPolicy::class, Folder::class => FolderPolicy::class, ]; /** * Register any application services. */ public function register(): void { // } /** * Bootstrap any application services. */ public function boot(): void { // Blade::componentNamespace('App\\View\\Components', 'icons'); Blade::component('multiselect', \App\View\Components\Multiselect::class); Livewire::component('project-show', \App\Http\Livewire\ProjectShow::class); Livewire::component('project-show', \App\Http\Livewire\FileUpload::class); Livewire::component('toolbar', \App\Http\Livewire\Toolbar::class); Validator::extend('max_upload_size', function ($attribute, $value, $parameters, $validator) { $maxSize = env('MAX_UPLOAD_SIZE', 51200); // Default 50MB $totalSize = array_reduce($value, function($sum, $file) { return $sum + $file->getSize(); }, 0); return $totalSize <= ($maxSize * 1024); }); } }