2020-10-08 11:11:37 +08:00
|
|
|
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 SharedHTTPFirewallRuleSetDAO = new(HTTPFirewallRuleSetDAO)
|
|
|
|
|
|
|
|
|
|
type HTTPFirewallRuleSetDAO struct {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 查找规则集配置
|
|
|
|
|
func (this *HTTPFirewallRuleSetDAO) FindRuleSetConfig(ctx context.Context, setId int64) (*firewallconfigs.HTTPFirewallRuleSet, error) {
|
|
|
|
|
client, err := rpc.SharedRPC()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
2020-11-02 21:15:25 +08:00
|
|
|
resp, err := client.HTTPFirewallRuleSetRPC().FindEnabledHTTPFirewallRuleSetConfig(ctx, &pb.FindEnabledHTTPFirewallRuleSetConfigRequest{FirewallRuleSetId: setId})
|
2020-10-08 11:11:37 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if len(resp.FirewallRuleSetJSON) == 0 {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
config := &firewallconfigs.HTTPFirewallRuleSet{}
|
|
|
|
|
err = json.Unmarshal(resp.FirewallRuleSetJSON, config)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return config, nil
|
|
|
|
|
}
|