Sfoglia il codice sorgente

refactor events to append subevents via association mode

Alexander Belanger 4 anni fa
parent
commit
e0d235ec8d

+ 10 - 7
internal/repository/gorm/event.go

@@ -103,7 +103,7 @@ func (repo *KubeEventRepository) CreateEvent(
 			err := tx.Debug().Exec(`
 			err := tx.Debug().Exec(`
 			  DELETE FROM kube_sub_events 
 			  DELETE FROM kube_sub_events 
 			  WHERE kube_event_id NOT IN (
 			  WHERE kube_event_id NOT IN (
-				SELECT id FROM kube_events k2 WHERE (k2.project_id = ? AND k2.cluster_id = ?) ORDER BY updated_at desc, id desc LIMIT 500
+				SELECT id FROM kube_events k2 WHERE (k2.project_id = ? AND k2.cluster_id = ?) ORDER BY updated_at desc, id desc LIMIT 499
 			  )
 			  )
 			`, event.ProjectID, event.ClusterID).Error
 			`, event.ProjectID, event.ClusterID).Error
 
 
@@ -115,7 +115,7 @@ func (repo *KubeEventRepository) CreateEvent(
 			err = tx.Debug().Exec(`
 			err = tx.Debug().Exec(`
 			  DELETE FROM kube_events 
 			  DELETE FROM kube_events 
 			  WHERE (project_id = ? AND cluster_id = ?) AND id NOT IN (
 			  WHERE (project_id = ? AND cluster_id = ?) AND id NOT IN (
-				SELECT id FROM kube_events k2 WHERE (k2.project_id = ? AND k2.cluster_id = ?) ORDER BY updated_at desc, id desc LIMIT 500
+				SELECT id FROM kube_events k2 WHERE (k2.project_id = ? AND k2.cluster_id = ?) ORDER BY updated_at desc, id desc LIMIT 499
 			  )
 			  )
 			`, event.ProjectID, event.ClusterID, event.ProjectID, event.ClusterID).Error
 			`, event.ProjectID, event.ClusterID, event.ProjectID, event.ClusterID).Error
 
 
@@ -253,7 +253,7 @@ func (repo *KubeEventRepository) AppendSubEvent(event *models.KubeEvent, subEven
 			  DELETE FROM kube_sub_events 
 			  DELETE FROM kube_sub_events 
 			  WHERE kube_event_id = ? AND 
 			  WHERE kube_event_id = ? AND 
 			  id NOT IN (
 			  id NOT IN (
-				SELECT id FROM kube_sub_events k2 WHERE k2.kube_event_id = ? ORDER BY updated_at desc, id desc LIMIT 20
+				SELECT id FROM kube_sub_events k2 WHERE k2.kube_event_id = ? ORDER BY updated_at desc, id desc LIMIT 19
 			  )
 			  )
 			`, event.ID, event.ID).Error
 			`, event.ID, event.ID).Error
 
 
@@ -262,13 +262,16 @@ func (repo *KubeEventRepository) AppendSubEvent(event *models.KubeEvent, subEven
 			}
 			}
 		}
 		}
 
 
-		if err := tx.Debug().Create(subEvent).Error; err != nil {
+		// if err := tx.Debug().Create(subEvent).Error; err != nil {
+		// 	return err
+		// }
+
+		if err := tx.Debug().Model(event).Association("SubEvents").Append(subEvent); err != nil {
 			return err
 			return err
 		}
 		}
 
 
-		event.UpdatedAt = time.Now()
-
-		return tx.Save(event).Error
+		// only update the updated_at field for the event
+		return tx.Debug().Model(event).Update("updated_at", time.Now()).Error
 	})
 	})
 }
 }
 
 

+ 0 - 4
internal/repository/gorm/helpers_test.go

@@ -597,8 +597,6 @@ func initKubeEvents(tester *tester, t *testing.T) {
 			t.Fatalf("%v\n", err)
 			t.Fatalf("%v\n", err)
 		}
 		}
 
 
-		event.SubEvents = []models.KubeSubEvent{*subEvent}
-
 		initEvents = append(initEvents, event)
 		initEvents = append(initEvents, event)
 	}
 	}
 
 
@@ -614,8 +612,6 @@ func initKubeEvents(tester *tester, t *testing.T) {
 		if err != nil {
 		if err != nil {
 			t.Fatalf("%v\n", err)
 			t.Fatalf("%v\n", err)
 		}
 		}
-
-		initEvents[i].SubEvents = append(initEvents[i].SubEvents, *subEvent)
 	}
 	}
 
 
 	tester.initKubeEvents = initEvents
 	tester.initKubeEvents = initEvents