Commit 4bb0b53d authored by qiuqunfeng's avatar qiuqunfeng
Browse files

Refactor EnableListenerWaf method and remove host column from WAF services table

- Commented out database operations in `EnableListenerWaf` method
- Simplified WAF creation and deletion logic using request parameters
- Removed `host` column from `waf_services` table migration
- Updated logging to use request parameters instead of listener object
parent 75afb8d4
...@@ -8,7 +8,6 @@ CREATE TABLE waf_services ( ...@@ -8,7 +8,6 @@ CREATE TABLE waf_services (
rule_num INTEGER DEFAULT 0, rule_num INTEGER DEFAULT 0,
attack_num INTEGER DEFAULT 0, attack_num INTEGER DEFAULT 0,
rule_category_status JSON, rule_category_status JSON,
host TEXT
); );
-- Create waf_rules table -- Create waf_rules table
......
...@@ -371,35 +371,35 @@ func (s *wafService) DeleteListener(ctx context.Context, req *DeleteListenerReq) ...@@ -371,35 +371,35 @@ func (s *wafService) DeleteListener(ctx context.Context, req *DeleteListenerReq)
} }
func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerWafReq) error { func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerWafReq) error {
listener := &model.GatewayListener{} // listener := &model.GatewayListener{}
err := s.db.Model(&model.GatewayListener{}).Where("gateway_name = ? AND namespace = ? AND region_code = ?", req.GatewayName, req.Namespace, req.RegionCode).First(listener).Error // err := s.db.Model(&model.GatewayListener{}).Where("gateway_name = ? AND namespace = ? AND region_code = ?", req.GatewayName, req.Namespace, req.RegionCode).First(listener).Error
if err != nil { // if err != nil {
if err == gorm.ErrRecordNotFound { // if err == gorm.ErrRecordNotFound {
listener = &model.GatewayListener{ // listener = &model.GatewayListener{
GatewayName: req.GatewayName, // GatewayName: req.GatewayName,
Namespace: req.Namespace, // Namespace: req.Namespace,
RegionCode: req.RegionCode, // RegionCode: req.RegionCode,
Port: int(req.Port), // Port: int(req.Port),
Enable: req.Enable, // Enable: req.Enable,
Hosts: req.Hosts, // Hosts: req.Hosts,
} // }
err = s.db.Model(&model.GatewayListener{}).Create(listener).Error // err = s.db.Model(&model.GatewayListener{}).Create(listener).Error
if err != nil { // if err != nil {
return err // return err
} // }
} else { // } else {
return err // return err
} // }
} // }
listener.Enable = req.Enable // listener.Enable = req.Enable
err = s.db.Model(&model.GatewayListener{}).Where("gateway_name = ? AND namespace = ? AND region_code = ?", req.GatewayName, req.Namespace, req.RegionCode).Update("enable", req.Enable).Error // err = s.db.Model(&model.GatewayListener{}).Where("gateway_name = ? AND namespace = ? AND region_code = ?", req.GatewayName, req.Namespace, req.RegionCode).Update("enable", req.Enable).Error
if err != nil { // if err != nil {
return err // return err
} // }
if listener.Enable { if req.Enable {
log.Info().Msgf("Create WAF for listener %s", listener.GatewayName) log.Info().Msgf("Create WAF for listener %s", req.GatewayName)
_, err := s.CreateWaf(ctx, &CreateWafReq{ _, err := s.CreateWaf(ctx, &CreateWafReq{
GatewateInfo: GatewateInfo{ GatewateInfo: GatewateInfo{
GatewayName: req.GatewayName, GatewayName: req.GatewayName,
...@@ -413,8 +413,8 @@ func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerW ...@@ -413,8 +413,8 @@ func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerW
return err return err
} }
} else { } else {
log.Info().Msgf("Delete WAF for listener %s", listener.GatewayName) log.Info().Msgf("Delete WAF for listener %s", req.GatewayName)
err = s.DeleteListenerWaf(ctx, &DeleteListenerReq{ err := s.DeleteListenerWaf(ctx, &DeleteListenerReq{
GatewateInfo: GatewateInfo{ GatewateInfo: GatewateInfo{
GatewayName: req.GatewayName, GatewayName: req.GatewayName,
Namespace: req.Namespace, Namespace: req.Namespace,
...@@ -656,6 +656,7 @@ func (s *wafService) EnableListenerWafs(ctx context.Context, req *EnableListener ...@@ -656,6 +656,7 @@ func (s *wafService) EnableListenerWafs(ctx context.Context, req *EnableListener
}, },
Port: port, Port: port,
Hosts: wafMap[port], Hosts: wafMap[port],
Enable: true,
}) })
if err != nil { if err != nil {
return fmt.Errorf("failed to enable listener WAF: %v", err) return fmt.Errorf("failed to enable listener WAF: %v", err)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment