Add max messages limit configuration for encryption channels

https://github.com/nosial/Socialbox-PHP/issues/14
This commit is contained in:
netkas 2025-03-07 15:41:18 -05:00
parent 90756b49a1
commit b11db4f3ae
2 changed files with 13 additions and 0 deletions

View file

@ -170,6 +170,7 @@
$config->setDefault('policies.get_encryption_channels_limit', 100);
$config->setDefault('policies.get_encryption_channel_incoming_limit', 100);
$config->setDefault('policies.get_encryption_channel_outgoing_limit', 100);
$config->setDefault('policies.encryption_channel_max_messages', 100);
// Default privacy states for information fields associated with the peer
$config->setDefault('policies.default_display_picture_privacy', 'PUBLIC');

View file

@ -16,6 +16,7 @@
private int $getEncryptionChannelsLimit;
private int $getEncryptionChannelIncomingLimit;
private int $getEncryptionChannelOutgoingLimit;
private int $encryptionChannelMaxMessages;
private PrivacyState $defaultDisplayPicturePrivacy;
private PrivacyState $defaultFirstNamePrivacy;
private PrivacyState $defaultMiddleNamePrivacy;
@ -51,6 +52,7 @@
$this->getEncryptionChannelsLimit = $data['get_encryption_channels_limit'];
$this->getEncryptionChannelIncomingLimit = $data['get_encryption_channel_incoming_limit'];
$this->getEncryptionChannelOutgoingLimit = $data['get_encryption_channel_outgoing_limit'];
$this->encryptionChannelMaxMessages = $data['encryption_channel_max_messages'];
$this->defaultDisplayPicturePrivacy = PrivacyState::tryFrom($data['default_display_picture_privacy']) ?? PrivacyState::PRIVATE;
$this->defaultFirstNamePrivacy = PrivacyState::tryFrom($data['default_first_name_privacy']) ?? PrivacyState::PRIVATE;
$this->defaultMiddleNamePrivacy = PrivacyState::tryFrom($data['default_middle_name_privacy']) ?? PrivacyState::PRIVATE;
@ -158,6 +160,16 @@
return $this->getEncryptionChannelOutgoingLimit;
}
/**
* Returns the maximum number of messages that can be stored in an encryption channel
*
* @return int
*/
public function getEncryptionChannelMaxMessages(): int
{
return $this->encryptionChannelMaxMessages;
}
/**
* Returns the default privacy state for the display picture
*