diff --git a/public/index.html b/public/index.html
index ae295fd..f99fac3 100644
--- a/public/index.html
+++ b/public/index.html
@@ -949,7 +949,7 @@ document.getElementById('testTelegramBtn').addEventListener('click', async () =>
try {
await api('/ingest', {
method: 'POST',
- body: JSON.stringify({ line: 'Jakach Logging: test notification from settings', source: 'test' }),
+ body: JSON.stringify({ line: 'Jakach Logging: test notification from settings — PHP Warning: test alert', source: 'test' }),
});
toast('Test alert sent. Check Telegram.');
} catch (e) { toast('Failed to send test', 'danger'); }
diff --git a/src/Api/Router.php b/src/Api/Router.php
index 1dfc502..931a64d 100644
--- a/src/Api/Router.php
+++ b/src/Api/Router.php
@@ -3,6 +3,7 @@
namespace Jakach\Logging\Api;
use Jakach\Logging\Model\{LogSourceType, AlertStatus};
+use Jakach\Logging\Notifier\TelegramNotifier;
use Jakach\Logging\Storage\{Database, Repository};
use Jakach\Logging\RuleEngine\Engine;
@@ -11,6 +12,7 @@ class Router
private Repository $repo;
private AuthMiddleware $auth;
private Engine $engine;
+ private TelegramNotifier $telegram;
public function __construct()
{
@@ -18,6 +20,7 @@ class Router
$this->repo = new Repository($db);
$this->auth = new AuthMiddleware($this->repo);
$this->engine = new Engine($this->repo);
+ $this->telegram = new TelegramNotifier($this->repo);
}
public function handle(): void
@@ -272,7 +275,11 @@ class Router
return ['error' => 'Missing "line" field'];
}
- $this->engine->evaluate($line, null);
+ $alert = $this->engine->evaluate($line, null);
+
+ if ($alert !== null) {
+ $this->telegram->send($alert);
+ }
return ['status' => 'ingested', 'line' => substr($line, 0, 100)];
}