mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 07:26:52 +01:00 
			
		
		
		
	Remove exception methods because of memory bombing (#750)
				
					
				
			* remove exception methods * throw Halt instead of return * manually throw Halt to make phpstan happy
This commit is contained in:
		
							parent
							
								
									c6977e57c8
								
							
						
					
					
						commit
						918ba02075
					
				| @ -4,8 +4,6 @@ namespace App\Filament\Resources\DatabaseHostResource\Pages; | ||||
| 
 | ||||
| use App\Filament\Resources\DatabaseHostResource; | ||||
| use App\Services\Databases\Hosts\HostCreationService; | ||||
| use Closure; | ||||
| use Exception; | ||||
| use Filament\Forms; | ||||
| use Filament\Forms\Components\Section; | ||||
| use Filament\Forms\Components\Select; | ||||
| @ -13,6 +11,7 @@ use Filament\Forms\Components\TextInput; | ||||
| use Filament\Forms\Form; | ||||
| use Filament\Notifications\Notification; | ||||
| use Filament\Resources\Pages\CreateRecord; | ||||
| use Filament\Support\Exceptions\Halt; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use PDOException; | ||||
| 
 | ||||
| @ -104,21 +103,18 @@ class CreateDatabaseHost extends CreateRecord | ||||
| 
 | ||||
|     protected function handleRecordCreation(array $data): Model | ||||
|     { | ||||
|         return $this->service->handle($data); | ||||
|     } | ||||
| 
 | ||||
|     public function exception(Exception $e, Closure $stopPropagation): void | ||||
|     { | ||||
|         if ($e instanceof PDOException) { | ||||
|         try { | ||||
|             return $this->service->handle($data); | ||||
|         } catch (PDOException $exception) { | ||||
|             Notification::make() | ||||
|                 ->title('Error connecting to database host') | ||||
|                 ->body($e->getMessage()) | ||||
|                 ->body($exception->getMessage()) | ||||
|                 ->color('danger') | ||||
|                 ->icon('tabler-database') | ||||
|                 ->danger() | ||||
|                 ->send(); | ||||
| 
 | ||||
|             $stopPropagation(); | ||||
|             throw new Halt(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -6,8 +6,6 @@ use App\Filament\Resources\DatabaseHostResource; | ||||
| use App\Filament\Resources\DatabaseHostResource\RelationManagers\DatabasesRelationManager; | ||||
| use App\Models\DatabaseHost; | ||||
| use App\Services\Databases\Hosts\HostUpdateService; | ||||
| use Closure; | ||||
| use Exception; | ||||
| use Filament\Actions; | ||||
| use Filament\Forms; | ||||
| use Filament\Forms\Components\Section; | ||||
| @ -16,6 +14,7 @@ use Filament\Forms\Components\TextInput; | ||||
| use Filament\Forms\Form; | ||||
| use Filament\Notifications\Notification; | ||||
| use Filament\Resources\Pages\EditRecord; | ||||
| use Filament\Support\Exceptions\Halt; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use PDOException; | ||||
| 
 | ||||
| @ -117,21 +116,18 @@ class EditDatabaseHost extends EditRecord | ||||
|             return $record; | ||||
|         } | ||||
| 
 | ||||
|         return $this->hostUpdateService->handle($record, $data); | ||||
|     } | ||||
| 
 | ||||
|     public function exception(Exception $e, Closure $stopPropagation): void | ||||
|     { | ||||
|         if ($e instanceof PDOException) { | ||||
|         try { | ||||
|             return $this->hostUpdateService->handle($record, $data); | ||||
|         } catch (PDOException $exception) { | ||||
|             Notification::make() | ||||
|                 ->title('Error connecting to database host') | ||||
|                 ->body($e->getMessage()) | ||||
|                 ->body($exception->getMessage()) | ||||
|                 ->color('danger') | ||||
|                 ->icon('tabler-database') | ||||
|                 ->danger() | ||||
|                 ->send(); | ||||
| 
 | ||||
|             $stopPropagation(); | ||||
|             throw new Halt(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -14,9 +14,7 @@ use chillerlan\QRCode\Common\EccLevel; | ||||
| use chillerlan\QRCode\Common\Version; | ||||
| use chillerlan\QRCode\QRCode; | ||||
| use chillerlan\QRCode\QROptions; | ||||
| use Closure; | ||||
| use DateTimeZone; | ||||
| use Exception; | ||||
| use Filament\Forms\Components\Actions; | ||||
| use Filament\Forms\Components\Actions\Action; | ||||
| use Filament\Forms\Components\Grid; | ||||
| @ -32,6 +30,7 @@ use Filament\Forms\Components\TextInput; | ||||
| use Filament\Forms\Get; | ||||
| use Filament\Notifications\Notification; | ||||
| use Filament\Support\Enums\MaxWidth; | ||||
| use Filament\Support\Exceptions\Halt; | ||||
| use Illuminate\Database\Eloquent\Builder; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use Illuminate\Support\Facades\Hash; | ||||
| @ -352,7 +351,19 @@ class EditProfile extends \Filament\Pages\Auth\EditProfile | ||||
|         } | ||||
| 
 | ||||
|         if ($token = $data['2fa-disable-code'] ?? null) { | ||||
|             $this->toggleTwoFactorService->handle($record, $token, false); | ||||
|             try { | ||||
|                 $this->toggleTwoFactorService->handle($record, $token, false); | ||||
|             } catch (TwoFactorAuthenticationTokenInvalid $exception) { | ||||
|                 Notification::make() | ||||
|                     ->title('Invalid 2FA Code') | ||||
|                     ->body($exception->getMessage()) | ||||
|                     ->color('danger') | ||||
|                     ->icon('tabler-2fa') | ||||
|                     ->danger() | ||||
|                     ->send(); | ||||
| 
 | ||||
|                 throw new Halt(); | ||||
|             } | ||||
| 
 | ||||
|             cache()->forget("users.$record->id.2fa.state"); | ||||
|         } | ||||
| @ -360,21 +371,6 @@ class EditProfile extends \Filament\Pages\Auth\EditProfile | ||||
|         return parent::handleRecordUpdate($record, $data); | ||||
|     } | ||||
| 
 | ||||
|     public function exception(Exception $e, Closure $stopPropagation): void | ||||
|     { | ||||
|         if ($e instanceof TwoFactorAuthenticationTokenInvalid) { | ||||
|             Notification::make() | ||||
|                 ->title('Invalid 2FA Code') | ||||
|                 ->body($e->getMessage()) | ||||
|                 ->color('danger') | ||||
|                 ->icon('tabler-2fa') | ||||
|                 ->danger() | ||||
|                 ->send(); | ||||
| 
 | ||||
|             $stopPropagation(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     protected function getFormActions(): array | ||||
|     { | ||||
|         return []; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Boy132
						Boy132