feat: implement global autoresponder plugin

This commit is contained in:
Marek Miklewicz
2026-06-02 19:19:00 +02:00
commit 6f989af278
62 changed files with 2018 additions and 0 deletions
@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
require_once PLUGIN_ROOT . '/exec/lib/DirectAdminSyncRepository.php';
test('directadmin sync repository only targets plugin tracked entries', function (): void {
$repo = new DirectAdminSyncRepository(TEST_TMP . '/data');
$repo->replaceRuleEntries('alice', 'rule-1', [
['domain' => 'example.com', 'mailbox' => 'info', 'api_key' => 'info@example.com'],
['domain' => 'example.com', 'mailbox' => 'sales', 'api_key' => 'sales@example.com'],
]);
assert_same(2, count($repo->entriesForRule('alice', 'rule-1')));
assert_same([], $repo->entriesForRule('bob', 'rule-1'));
assert_same(['info@example.com', 'sales@example.com'], array_column($repo->deleteRuleEntries('alice', 'rule-1'), 'api_key'));
assert_same([], $repo->entriesForRule('alice', 'rule-1'));
});