Skip to content

Commit df37d55

Browse files
committed
fix(ingress-rule): while checking or existing backend do different queries based on target type
1 parent 76b25f3 commit df37d55

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

swiftwave_service/worker/process_ingress_rule_delete_request.go

+15-5
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,21 @@ func (m Manager) IngressRuleDelete(request IngressRuleDeleteRequest, ctx context
181181

182182
// delete backend
183183
backendUsedByOther := true
184-
var ingressRuleCheck core.IngressRule
185-
err = m.ServiceManager.DbClient.Where("id != ? AND application_id = ? AND target_port = ?", ingressRule.ID, ingressRule.ApplicationID, ingressRule.TargetPort).First(&ingressRuleCheck).Error
186-
if err != nil {
187-
if errors.Is(err, gorm.ErrRecordNotFound) {
188-
backendUsedByOther = false
184+
var ingressRuleCheckForApplication core.IngressRule
185+
if ingressRule.TargetType == core.ApplicationIngressRule {
186+
err = m.ServiceManager.DbClient.Where("id != ? AND application_id = ? AND target_port = ?", ingressRule.ID, ingressRule.ApplicationID, ingressRule.TargetPort).First(&ingressRuleCheckForApplication).Error
187+
if err != nil {
188+
if errors.Is(err, gorm.ErrRecordNotFound) {
189+
backendUsedByOther = false
190+
}
191+
}
192+
}
193+
if ingressRule.TargetType == core.ExternalServiceIngressRule {
194+
err = m.ServiceManager.DbClient.Where("id != ? AND external_service = ?", ingressRule.ID, ingressRule.ExternalService).First(&ingressRuleCheckForApplication).Error
195+
if err != nil {
196+
if errors.Is(err, gorm.ErrRecordNotFound) {
197+
backendUsedByOther = false
198+
}
189199
}
190200
}
191201
if !backendUsedByOther {

0 commit comments

Comments
 (0)