From c6b59f1ee3ad4470a15aac2a6f2b0f62be260788 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Thu, 13 Apr 2023 18:45:18 +0330 Subject: [PATCH] [migration] Remove Orphaned Traffics Co-Authored-By: Alireza Ahmadi --- web/service/inbound.go | 11 +++++++++++ web/service/xray.go | 1 + 2 files changed, 12 insertions(+) diff --git a/web/service/inbound.go b/web/service/inbound.go index f857bfaa..b7eb6789 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -507,6 +507,17 @@ func (s *InboundService) DisableInvalidInbounds() (int64, error) { count := result.RowsAffected return count, err } +func (s *InboundService) RemoveOrphanedTraffics() { + db := database.GetDB() + db.Exec(` + DELETE FROM client_traffics + WHERE email NOT IN ( + SELECT JSON_EXTRACT(client.value, '$.email') + FROM inbounds, + JSON_EACH(JSON_EXTRACT(inbounds.settings, '$.clients')) AS client + ) + `) +} func (s *InboundService) DisableInvalidClients() (int64, error) { db := database.GetDB() now := time.Now().Unix() * 1000 diff --git a/web/service/xray.go b/web/service/xray.go index 6e63d2d1..9c23f7a4 100644 --- a/web/service/xray.go +++ b/web/service/xray.go @@ -69,6 +69,7 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) { } s.inboundService.DisableInvalidClients() + s.inboundService.RemoveOrphanedTraffics() inbounds, err := s.inboundService.GetAllInbounds() if err != nil {