mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 20:56:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Exceptions\Http\Server;
 | |
| 
 | |
| use App\Enums\ServerState;
 | |
| use App\Models\Server;
 | |
| use Symfony\Component\HttpKernel\Exception\ConflictHttpException;
 | |
| 
 | |
| class ServerStateConflictException extends ConflictHttpException
 | |
| {
 | |
|     /**
 | |
|      * Exception thrown when the server is in an unsupported state for API access or
 | |
|      * certain operations within the codebase.
 | |
|      */
 | |
|     public function __construct(Server $server, ?\Throwable $previous = null)
 | |
|     {
 | |
|         $message = 'This server is currently in an unsupported state, please try again later.';
 | |
|         if ($server->isSuspended()) {
 | |
|             $message = 'This server is currently suspended and the functionality requested is unavailable.';
 | |
|         } elseif ($server->node->isUnderMaintenance()) {
 | |
|             $message = 'The node of this server is currently under maintenance and the functionality requested is unavailable.';
 | |
|         } elseif (!$server->isInstalled()) {
 | |
|             $message = 'This server has not yet completed its installation process, please try again later.';
 | |
|         } elseif ($server->status === ServerState::RestoringBackup) {
 | |
|             $message = 'This server is currently restoring from a backup, please try again later.';
 | |
|         } elseif (!is_null($server->transfer)) {
 | |
|             $message = 'This server is currently being transferred to a new machine, please try again later.';
 | |
|         }
 | |
| 
 | |
|         parent::__construct($message, $previous);
 | |
|     }
 | |
| }
 | 
