From 26c6438ec2b32529ffb85454b60f7b996fec7692 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Tue, 23 Sep 2025 11:52:40 +0200 Subject: [PATCH] fix api : subid, uuid from inbound settings --- web/service/inbound.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/web/service/inbound.go b/web/service/inbound.go index 49916b52..448e6832 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -35,6 +35,25 @@ func (s *InboundService) GetInbounds(userId int) ([]*model.Inbound, error) { if err != nil && err != gorm.ErrRecordNotFound { return nil, err } + // Enrich client stats with UUID/SubId from inbound settings + for _, inbound := range inbounds { + clients, _ := s.GetClients(inbound) + if len(clients) == 0 || len(inbound.ClientStats) == 0 { + continue + } + // Build a map email -> client + cMap := make(map[string]model.Client, len(clients)) + for _, c := range clients { + cMap[strings.ToLower(c.Email)] = c + } + for i := range inbound.ClientStats { + email := strings.ToLower(inbound.ClientStats[i].Email) + if c, ok := cMap[email]; ok { + inbound.ClientStats[i].UUID = c.ID + inbound.ClientStats[i].SubId = c.SubID + } + } + } return inbounds, nil } @@ -47,6 +66,24 @@ func (s *InboundService) GetAllInbounds() ([]*model.Inbound, error) { if err != nil && err != gorm.ErrRecordNotFound { return nil, err } + // Enrich client stats with UUID/SubId from inbound settings + for _, inbound := range inbounds { + clients, _ := s.GetClients(inbound) + if len(clients) == 0 || len(inbound.ClientStats) == 0 { + continue + } + cMap := make(map[string]model.Client, len(clients)) + for _, c := range clients { + cMap[strings.ToLower(c.Email)] = c + } + for i := range inbound.ClientStats { + email := strings.ToLower(inbound.ClientStats[i].Email) + if c, ok := cMap[email]; ok { + inbound.ClientStats[i].UUID = c.ID + inbound.ClientStats[i].SubId = c.SubID + } + } + } return inbounds, nil }