diff --git a/internal/web/actions/default/servers/components/waf/ipadmin/lists.go b/internal/web/actions/default/servers/components/waf/ipadmin/lists.go index 4d34cab3..1a03b754 100644 --- a/internal/web/actions/default/servers/components/waf/ipadmin/lists.go +++ b/internal/web/actions/default/servers/components/waf/ipadmin/lists.go @@ -59,6 +59,43 @@ func (this *ListsAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -68,6 +105,10 @@ func (this *ListsAction) RunGet(params struct { "reason": item.Reason, "type": item.Type, "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/allowList.go b/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/allowList.go index 78f248c4..3db9f4e2 100644 --- a/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/allowList.go +++ b/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/allowList.go @@ -70,6 +70,43 @@ func (this *AllowListAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -80,6 +117,10 @@ func (this *AllowListAction) RunGet(params struct { "type": item.Type, "isExpired": item.ExpiredAt > 0 && item.ExpiredAt < time.Now().Unix(), "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/denyList.go b/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/denyList.go index 90dd0bc4..e41e6ca0 100644 --- a/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/denyList.go +++ b/internal/web/actions/default/servers/groups/group/settings/waf/ipadmin/denyList.go @@ -70,6 +70,43 @@ func (this *DenyListAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -80,6 +117,10 @@ func (this *DenyListAction) RunGet(params struct { "type": item.Type, "isExpired": item.ExpiredAt > 0 && item.ExpiredAt < time.Now().Unix(), "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/internal/web/actions/default/servers/iplists/items.go b/internal/web/actions/default/servers/iplists/items.go index 4b5ae9c4..bfb208c0 100644 --- a/internal/web/actions/default/servers/iplists/items.go +++ b/internal/web/actions/default/servers/iplists/items.go @@ -62,6 +62,43 @@ func (this *ItemsAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -71,6 +108,10 @@ func (this *ItemsAction) RunGet(params struct { "reason": item.Reason, "type": item.Type, "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/allowList.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/allowList.go index 78f248c4..3db9f4e2 100644 --- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/allowList.go +++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/allowList.go @@ -70,6 +70,43 @@ func (this *AllowListAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -80,6 +117,10 @@ func (this *AllowListAction) RunGet(params struct { "type": item.Type, "isExpired": item.ExpiredAt > 0 && item.ExpiredAt < time.Now().Unix(), "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/denyList.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/denyList.go index 90dd0bc4..e41e6ca0 100644 --- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/denyList.go +++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/denyList.go @@ -70,6 +70,43 @@ func (this *DenyListAction) RunGet(params struct { expiredTime = timeutil.FormatTime("Y-m-d H:i:s", item.ExpiredAt) } + // policy + var sourcePolicyMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallPolicy != nil { + sourcePolicyMap = maps.Map{ + "id": item.SourceHTTPFirewallPolicy.Id, + "name": item.SourceHTTPFirewallPolicy.Name, + "serverId": item.SourceHTTPFirewallPolicy.ServerId, + } + } + + // group + var sourceGroupMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleGroup != nil { + sourceGroupMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleGroup.Id, + "name": item.SourceHTTPFirewallRuleGroup.Name, + } + } + + // set + var sourceSetMap = maps.Map{"id": 0} + if item.SourceHTTPFirewallRuleSet != nil { + sourceSetMap = maps.Map{ + "id": item.SourceHTTPFirewallRuleSet.Id, + "name": item.SourceHTTPFirewallRuleSet.Name, + } + } + + // server + var sourceServerMap = maps.Map{"id": 0} + if item.SourceServer != nil { + sourceServerMap = maps.Map{ + "id": item.SourceServer.Id, + "name": item.SourceServer.Name, + } + } + itemMaps = append(itemMaps, maps.Map{ "id": item.Id, "ipFrom": item.IpFrom, @@ -80,6 +117,10 @@ func (this *DenyListAction) RunGet(params struct { "type": item.Type, "isExpired": item.ExpiredAt > 0 && item.ExpiredAt < time.Now().Unix(), "eventLevelName": firewallconfigs.FindFirewallEventLevelName(item.EventLevel), + "sourcePolicy": sourcePolicyMap, + "sourceGroup": sourceGroupMap, + "sourceSet": sourceSetMap, + "sourceServer": sourceServerMap, }) } this.Data["items"] = itemMaps diff --git a/web/public/js/components/iplist/ip-list-table.js b/web/public/js/components/iplist/ip-list-table.js index 7f36fd1c..b64f10bd 100644 --- a/web/public/js/components/iplist/ip-list-table.js +++ b/web/public/js/components/iplist/ip-list-table.js @@ -32,43 +32,53 @@ Vue.component("ip-list-table", {