Add PoliciesConfiguration to handle server policies
This commit is contained in:
parent
76abbdcb3e
commit
b60b12f9ae
2 changed files with 46 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
||||||
use Socialbox\Classes\Configuration\DatabaseConfiguration;
|
use Socialbox\Classes\Configuration\DatabaseConfiguration;
|
||||||
use Socialbox\Classes\Configuration\InstanceConfiguration;
|
use Socialbox\Classes\Configuration\InstanceConfiguration;
|
||||||
use Socialbox\Classes\Configuration\LoggingConfiguration;
|
use Socialbox\Classes\Configuration\LoggingConfiguration;
|
||||||
|
use Socialbox\Classes\Configuration\PoliciesConfiguration;
|
||||||
use Socialbox\Classes\Configuration\RegistrationConfiguration;
|
use Socialbox\Classes\Configuration\RegistrationConfiguration;
|
||||||
use Socialbox\Classes\Configuration\SecurityConfiguration;
|
use Socialbox\Classes\Configuration\SecurityConfiguration;
|
||||||
use Socialbox\Classes\Configuration\StorageConfiguration;
|
use Socialbox\Classes\Configuration\StorageConfiguration;
|
||||||
|
@ -21,6 +22,7 @@
|
||||||
private static ?LoggingConfiguration $loggingConfiguration = null;
|
private static ?LoggingConfiguration $loggingConfiguration = null;
|
||||||
private static ?CacheConfiguration $cacheConfiguration = null;
|
private static ?CacheConfiguration $cacheConfiguration = null;
|
||||||
private static ?RegistrationConfiguration $registrationConfiguration = null;
|
private static ?RegistrationConfiguration $registrationConfiguration = null;
|
||||||
|
private static ?PoliciesConfiguration $policiesConfiguration = null;
|
||||||
private static ?StorageConfiguration $storageConfiguration = null;
|
private static ?StorageConfiguration $storageConfiguration = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -118,6 +120,10 @@
|
||||||
$config->setDefault('registration.display_picture_required', false);
|
$config->setDefault('registration.display_picture_required', false);
|
||||||
$config->setDefault('registration.image_captcha_verification_required', true);
|
$config->setDefault('registration.image_captcha_verification_required', true);
|
||||||
|
|
||||||
|
// Server Policies
|
||||||
|
// The maximum number of signing keys a peer can register onto the server at once
|
||||||
|
$config->setDefault('policies.max_signing_keys', 20);
|
||||||
|
|
||||||
// Storage configuration
|
// Storage configuration
|
||||||
$config->setDefault('storage.path', '/etc/socialbox'); // The main path for file storage
|
$config->setDefault('storage.path', '/etc/socialbox'); // The main path for file storage
|
||||||
$config->setDefault('storage.user_display_images_path', 'user_profiles'); // eg; `/etc/socialbox/user_profiles`
|
$config->setDefault('storage.user_display_images_path', 'user_profiles'); // eg; `/etc/socialbox/user_profiles`
|
||||||
|
@ -133,6 +139,7 @@
|
||||||
self::$loggingConfiguration = new LoggingConfiguration(self::$configuration->getConfiguration()['logging']);
|
self::$loggingConfiguration = new LoggingConfiguration(self::$configuration->getConfiguration()['logging']);
|
||||||
self::$cacheConfiguration = new CacheConfiguration(self::$configuration->getConfiguration()['cache']);
|
self::$cacheConfiguration = new CacheConfiguration(self::$configuration->getConfiguration()['cache']);
|
||||||
self::$registrationConfiguration = new RegistrationConfiguration(self::$configuration->getConfiguration()['registration']);
|
self::$registrationConfiguration = new RegistrationConfiguration(self::$configuration->getConfiguration()['registration']);
|
||||||
|
self::$policiesConfiguration = new PoliciesConfiguration(self::$configuration->getConfiguration()['policies']);
|
||||||
self::$storageConfiguration = new StorageConfiguration(self::$configuration->getConfiguration()['storage']);
|
self::$storageConfiguration = new StorageConfiguration(self::$configuration->getConfiguration()['storage']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,6 +308,24 @@
|
||||||
return self::$registrationConfiguration;
|
return self::$registrationConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the policies configuration.
|
||||||
|
*
|
||||||
|
* This method returns the current PoliciesConfiguration instance.
|
||||||
|
* If the configuration has not been initialized yet, it initializes it first.
|
||||||
|
*
|
||||||
|
* @return PoliciesConfiguration The policies configuration instance.
|
||||||
|
*/
|
||||||
|
public static function getPoliciesConfiguration(): PoliciesConfiguration
|
||||||
|
{
|
||||||
|
if(self::$policiesConfiguration === null)
|
||||||
|
{
|
||||||
|
self::initializeConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$policiesConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the storage configuration.
|
* Retrieves the storage configuration.
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Socialbox\Classes\Configuration;
|
||||||
|
|
||||||
|
class PoliciesConfiguration
|
||||||
|
{
|
||||||
|
private int $maxSigningKeys;
|
||||||
|
|
||||||
|
public function __construct(array $data)
|
||||||
|
{
|
||||||
|
$this->maxSigningKeys = $data['max_signing_keys'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getMaxSigningKeys(): int
|
||||||
|
{
|
||||||
|
return $this->maxSigningKeys;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue