mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 12:20:28 +08:00
40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
package models
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs"
|
|
)
|
|
|
|
var SharedHTTPFirewallRuleGroupDAO = new(HTTPFirewallRuleGroupDAO)
|
|
|
|
type HTTPFirewallRuleGroupDAO struct {
|
|
}
|
|
|
|
// 查找分组配置
|
|
func (this *HTTPFirewallRuleGroupDAO) FindRuleGroupConfig(ctx context.Context, groupId int64) (*firewallconfigs.HTTPFirewallRuleGroup, error) {
|
|
client, err := rpc.SharedRPC()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
groupResp, err := client.HTTPFirewallRuleGroupRPC().FindEnabledHTTPFirewallRuleGroupConfig(ctx, &pb.FindEnabledHTTPFirewallRuleGroupConfigRequest{FirewallRuleGroupId: groupId})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
if len(groupResp.FirewallRuleGroupJSON) == 0 {
|
|
return nil, nil
|
|
}
|
|
|
|
groupConfig := &firewallconfigs.HTTPFirewallRuleGroup{}
|
|
err = json.Unmarshal(groupResp.FirewallRuleGroupJSON, groupConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return groupConfig, nil
|
|
}
|