generated from Nodarx/template
feat: implement meta and content cache
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -25,6 +25,8 @@ use KTXM\ProviderImap\Console\DisconnectCommand;
|
||||
use KTXM\ProviderImap\Console\TestCommand;
|
||||
use KTXM\ProviderImap\Listeners\UserEventListener;
|
||||
use KTXM\ProviderImap\Providers\Provider as MailProvider;
|
||||
use KTXM\ProviderImap\Stores\MailboxStore;
|
||||
use KTXM\ProviderImap\Stores\MessageStore;
|
||||
|
||||
/**
|
||||
* IMAP Mail Provider Module
|
||||
@@ -36,6 +38,8 @@ class Module extends ModuleInstanceAbstract
|
||||
public function __construct(
|
||||
private readonly ProviderManager $providerManager,
|
||||
private readonly EventListenerRegistrarInterface $events,
|
||||
private readonly MailboxStore $mailboxStore,
|
||||
private readonly MessageStore $messageStore,
|
||||
) {}
|
||||
|
||||
public function handle(): string
|
||||
@@ -74,6 +78,16 @@ class Module extends ModuleInstanceAbstract
|
||||
];
|
||||
}
|
||||
|
||||
public function install(): void
|
||||
{
|
||||
$this->ensureIndexes();
|
||||
}
|
||||
|
||||
public function upgrade(): void
|
||||
{
|
||||
$this->ensureIndexes();
|
||||
}
|
||||
|
||||
public function boot(): void
|
||||
{
|
||||
// Register listeners
|
||||
@@ -100,4 +114,13 @@ class Module extends ModuleInstanceAbstract
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the cache collection indexes (idempotent).
|
||||
*/
|
||||
private function ensureIndexes(): void
|
||||
{
|
||||
$this->mailboxStore->ensureIndexes();
|
||||
$this->messageStore->ensureIndexes();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user