refactor AutoSubmittedValue to Headers\AutoSubmitted and adding

header name to constants

Signed-off-by: Bennet Becker <dev@bennet.cc>
This commit is contained in:
Bennet Becker 2023-01-03 15:03:40 +01:00
Родитель 9d9a0b7e06
Коммит 4dc0957164
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B4C66D4902D1FA86
4 изменённых файлов: 29 добавлений и 20 удалений

Просмотреть файл

@ -31,7 +31,7 @@ declare(strict_types=1);
*/
namespace OC\Mail;
use OCP\Mail\AutoSubmittedValue;
use OCP\Mail\Headers\AutoSubmitted;
use OCP\Mail\IAttachment;
use OCP\Mail\IEMailTemplate;
use OCP\Mail\IMessage;
@ -307,22 +307,22 @@ class Message implements IMessage {
* Add the Auto-Submitted header to the email, preventing most automated
* responses to automated messages.
*
* @param AutoSubmittedValue::* $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
* @param AutoSubmitted::VALUE_* $value (one of AutoSubmitted::VALUE_NO, AutoSubmitted::VALUE_AUTO_GENERATED, AutoSubmitted::VALUE_AUTO_REPLIED)
* @return $this
*/
public function setAutoSubmitted(string $value): IMessage {
$headers = $this->swiftMessage->getHeaders();
if ($headers->has('Auto-Submitted')) {
if ($headers->has(AutoSubmitted::HEADER)) {
// if the header already exsists, remove it.
// the value can be modified with some implementations
// of the interface \Swift_Mime_Header, however the
// interface doesn't, and this makes the static-code
// analysis unhappy.
$headers->remove('Auto-Submitted');
$headers->remove(AutoSubmitted::HEADER);
}
$headers->addTextHeader('Auto-Submitted', $value);
$headers->addTextHeader(AutoSubmitted::HEADER, $value);
return $this;
}
@ -336,7 +336,7 @@ class Message implements IMessage {
public function getAutoSubmitted(): string {
$headers = $this->swiftMessage->getHeaders();
return $headers->has('Auto-Submitted') ?
$headers->get('Auto-Submitted')->toString() : AutoSubmittedValue::NO;
return $headers->has(AutoSubmitted::HEADER) ?
$headers->get(AutoSubmitted::HEADER)->toString() : AutoSubmitted::VALUE_NO;
}
}

Просмотреть файл

@ -23,7 +23,7 @@ declare(strict_types=1);
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Mail;
namespace OCP\Mail\Headers;
/**
* Keyword values for the Auto-Submitted email header, as per RFC 3834.
@ -35,7 +35,16 @@ namespace OCP\Mail;
*
* @since 26.0.0
*/
final class AutoSubmittedValue {
final class AutoSubmitted {
/**
* Name of the Header as used in the final message later
*
* @var string
* @since 26.0.0
*/
public const HEADER = 'Auto-Submitted';
/**
* Indicates that a message was NOT automatically generated, but was
* created by a human (or following human interaction). It is the equivalent
@ -44,7 +53,7 @@ final class AutoSubmittedValue {
* @var string
* @since 26.0.0
*/
public const NO = 'no';
public const VALUE_NO = 'no';
/**
* Indicates that a message was generated by an automatic process, and is
@ -53,7 +62,7 @@ final class AutoSubmittedValue {
* @var string
* @since 26.0.0
*/
public const AUTO_GENERATED = 'auto-generated';
public const VALUE_AUTO_GENERATED = 'auto-generated';
/**
* Indicates that a message was automatically generated as a direct response
@ -62,5 +71,5 @@ final class AutoSubmittedValue {
* @var string
* @since 26.0.0
*/
public const AUTO_REPLIED = 'auto-replied';
public const VALUE_AUTO_REPLIED = 'auto-replied';
}

Просмотреть файл

@ -98,7 +98,7 @@ interface IMessage {
* Add the Auto-Submitted header to the email, preventing most automated
* responses to automated messages.
*
* @param AutoSubmittedValue::* $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
* @param AutoSubmitted::VALUE_* $value (one of AutoSubmitted::VALUE_NO, AutoSubmitted::VALUE_AUTO_GENERATED, AutoSubmitted::VALUE_AUTO_REPLIED)
* @return IMessage
* @since 26.0.0
*/

Просмотреть файл

@ -9,7 +9,7 @@
namespace Test\Mail;
use OC\Mail\Message;
use OCP\Mail\AutoSubmittedValue;
use OCP\Mail\Headers\AutoSubmitted;
use OCP\Mail\IEMailTemplate;
use Swift_Message;
use Test\TestCase;
@ -285,10 +285,10 @@ class MessageTest extends TestCase {
->method('remove');
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader')
->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
->with('Auto-Submitted', AutoSubmitted::VALUE_AUTO_GENERATED);
$message = new Message($swiftMessage, false);
$message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
$message->setAutoSubmitted(AutoSubmitted::VALUE_AUTO_GENERATED);
}
public function testSetAutoSubmitted2() {
@ -313,10 +313,10 @@ class MessageTest extends TestCase {
->with('Auto-Submitted');
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader')
->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
->with('Auto-Submitted', AutoSubmitted::VALUE_AUTO_GENERATED);
$message = new Message($swiftMessage, false);
$message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
$message->setAutoSubmitted(AutoSubmitted::VALUE_AUTO_GENERATED);
}
public function testGetAutoSubmitted1() {
@ -357,7 +357,7 @@ class MessageTest extends TestCase {
$swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet);
$swiftMimeHeader->method('toString')->willReturn(AutoSubmittedValue::AUTO_GENERATED);
$swiftMimeHeader->method('toString')->willReturn(AutoSubmitted::VALUE_AUTO_GENERATED);
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('has')
@ -368,6 +368,6 @@ class MessageTest extends TestCase {
->willReturn($swiftMimeHeader);
$message = new Message($swiftMessage, false);
$this->assertSame(AutoSubmittedValue::AUTO_GENERATED, $message->getAutoSubmitted());
$this->assertSame(AutoSubmitted::VALUE_AUTO_GENERATED, $message->getAutoSubmitted());
}
}