Implement NotifyOnStatusChange feature for nodes and enhance Telegram notifications
CI / Backend (build + test) (push) Successful in 1m24s
CI / Frontend (lint + typecheck + build) (push) Successful in 34s

- Added `NotifyOnStatusChange` property to the `Node` class and related DTOs to allow individual node configuration for status change notifications.
- Updated `NodeHealthCheckService` to send Telegram notifications to admins when a node's status changes, based on the new property.
- Enhanced the `ITelegramNotifier` interface with a method for notifying admins about node status changes.
- Modified the frontend to include a checkbox for `NotifyOnStatusChange` in the node editing dialog, allowing admins to easily configure this setting.
- Updated API documentation to reflect the new `notifyOnStatusChange` parameter in the node update endpoint.
- Added tests to ensure the correct behavior of the new feature and its integration with existing functionality.
This commit is contained in:
Leonid Pershin committed 2026-07-23 11:04:38 +03:00
1 parent 2f6bb26e97
commit fb97093bd6
20 files changed
+1272 -6

No files matched your search

+1
View File
@@ -262,6 +262,7 @@ export type NodeDto = {
location: string | null
status: NodeStatus
isEnabled: boolean
notifyOnStatusChange: boolean
lastSyncAt: string | null
}
+2
View File
@@ -430,6 +430,7 @@ const resources = {
},
enabled: 'Включена',
disabled: 'Отключена',
notifyOnStatusChange: 'Уведомлять в Telegram при смене статуса (онлайн/офлайн)',
inbounds: 'Инбаунды',
noInbounds: 'Инбаунды не найдены — нажмите «Синхронизировать».',
publish: 'Публикация',
@@ -999,6 +1000,7 @@ const resources = {
},
enabled: 'Enabled',
disabled: 'Disabled',
notifyOnStatusChange: 'Notify in Telegram on status change (online/offline)',
inbounds: 'Inbounds',
noInbounds: 'No inbounds found — click "Sync".',
publish: 'Publishing',