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 (
rule_num INTEGER DEFAULT 0,
attack_num INTEGER DEFAULT 0,
rule_category_status JSON,
host TEXT
);
-- Create waf_rules table
......
......@@ -371,35 +371,35 @@ func (s *wafService) DeleteListener(ctx context.Context, req *DeleteListenerReq)
}
func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerWafReq) error {
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
if err != nil {
if err == gorm.ErrRecordNotFound {
listener = &model.GatewayListener{
GatewayName: req.GatewayName,
Namespace: req.Namespace,
RegionCode: req.RegionCode,
Port: int(req.Port),
Enable: req.Enable,
Hosts: req.Hosts,
}
err = s.db.Model(&model.GatewayListener{}).Create(listener).Error
if err != nil {
return err
}
} else {
return err
}
}
// 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
// if err != nil {
// if err == gorm.ErrRecordNotFound {
// listener = &model.GatewayListener{
// GatewayName: req.GatewayName,
// Namespace: req.Namespace,
// RegionCode: req.RegionCode,
// Port: int(req.Port),
// Enable: req.Enable,
// Hosts: req.Hosts,
// }
// err = s.db.Model(&model.GatewayListener{}).Create(listener).Error
// if err != nil {
// return err
// }
// } else {
// return err
// }
// }
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
if err != nil {
return err
}
// 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
// if err != nil {
// return err
// }
if listener.Enable {
log.Info().Msgf("Create WAF for listener %s", listener.GatewayName)
if req.Enable {
log.Info().Msgf("Create WAF for listener %s", req.GatewayName)
_, err := s.CreateWaf(ctx, &CreateWafReq{
GatewateInfo: GatewateInfo{
GatewayName: req.GatewayName,
......@@ -413,8 +413,8 @@ func (s *wafService) EnableListenerWaf(ctx context.Context, req *EnableListenerW
return err
}
} else {
log.Info().Msgf("Delete WAF for listener %s", listener.GatewayName)
err = s.DeleteListenerWaf(ctx, &DeleteListenerReq{
log.Info().Msgf("Delete WAF for listener %s", req.GatewayName)
err := s.DeleteListenerWaf(ctx, &DeleteListenerReq{
GatewateInfo: GatewateInfo{
GatewayName: req.GatewayName,
Namespace: req.Namespace,
......@@ -656,6 +656,7 @@ func (s *wafService) EnableListenerWafs(ctx context.Context, req *EnableListener
},
Port: port,
Hosts: wafMap[port],
Enable: true,
})
if err != nil {
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