Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
MailFolderStatusDto
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5/** @license For full copyright and license information, please see the LICENSE.md file. */
6
7namespace App\Modules\Mail\Domain\Model;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11/**
12 * Mail Folder Status Data Transfer Object.
13 *
14 * Lightweight counter snapshot returned by IMAP STATUS or JMAP Mailbox/get.
15 *
16 * @package App\Modules\Mail\Domain\Model
17 */
18final readonly class MailFolderStatusDto
19{
20    /**
21     * MailFolderStatusDto constructor.
22     *
23     * @param string   $folderPath    Mailbox folder path.
24     * @param int      $totalMessages Total messages in folder.
25     * @param int      $unseenMessages Unseen / unread message count.
26     * @param int|null $uidNext       Next expected UID.
27     * @param int|null $uidValidity   Mailbox validity sequence.
28     * @param int|null $highestModseq Highest modification sequence (CONDSTORE).
29     */
30    public function __construct(
31        public string $folderPath,
32        public int $totalMessages = 0,
33        public int $unseenMessages = 0,
34        public ?int $uidNext = null,
35        public ?int $uidValidity = null,
36        public ?int $highestModseq = null
37    ) {
38    }
39}