37 lines
		
	
	
		
			938 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			938 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
|       
 | |
| namespace Core\API;
 | |
| 
 | |
| use Core\Objects\Context;
 | |
| use Core\Objects\DatabaseEntity\Group;
 | |
| 
 | |
| class TestRedis extends Request {
 | |
| 
 | |
|   public function __construct(Context $context, bool $externalCall = false) {
 | |
|     parent::__construct($context, $externalCall, []);
 | |
|   }
 | |
|    
 | |
|   protected function _execute(): bool {
 | |
| 
 | |
|     $settings = $this->context->getSettings();
 | |
|     if (!$settings->isRateLimitingEnabled()) {
 | |
|       return $this->createError("Rate Limiting is currently disabled");
 | |
|     }
 | |
| 
 | |
|     $connection = $this->context->getRedis();
 | |
|     if ($connection === null || !$connection->isConnected()) {
 | |
|       return $this->createError("Redis connection failed");
 | |
|     }
 | |
| 
 | |
|     return $this->success;
 | |
|   }
 | |
| 
 | |
|   public static function getDescription(): string {
 | |
|     return "Allows users to test the redis connection with the configured credentials.";
 | |
|   }
 | |
| 
 | |
|   public static function getDefaultPermittedGroups(): array {
 | |
|     return [Group::ADMIN];
 | |
|   }
 | |
| }
 |