From 45ce705dd377adcc6014bad024327ffa4a1ae76c Mon Sep 17 00:00:00 2001 From: Yash Mehrotra Date: Mon, 31 Jul 2023 19:17:30 +0530 Subject: [PATCH] chore: use agent_id filter in db queries --- pkg/db/canary.go | 17 +++++++---------- pkg/db/canary_selector.go | 12 ++++++++++-- pkg/db/config_db.go | 7 ++++--- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/pkg/db/canary.go b/pkg/db/canary.go index 2bf06b4a5..9b45bb3f5 100644 --- a/pkg/db/canary.go +++ b/pkg/db/canary.go @@ -65,14 +65,6 @@ func GetAllCanariesForSync() ([]pkg.Canary, error) { return _canaries, nil } -func GetAllChecks() ([]pkg.Check, error) { - var checks []pkg.Check - if err := Gorm.Find(&checks).Error; err != nil { - return nil, err - } - return checks, nil -} - func PersistCheck(check pkg.Check, canaryID uuid.UUID) (uuid.UUID, error) { check.CanaryID = canaryID name := check.GetName() @@ -257,7 +249,10 @@ func GetCheck(id string) (*pkg.Check, error) { func FindCanary(namespace, name string) (*pkg.Canary, error) { var model pkg.Canary - if err := Gorm.Where("namespace = ? AND name = ?", namespace, name).First(&model).Error; err != nil { + if err := Gorm. + Where("namespace = ? AND name = ?", namespace, name). + Where("agent_id = '00000000-0000-0000-0000-000000000000'"). + First(&model).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil } @@ -269,7 +264,9 @@ func FindCanary(namespace, name string) (*pkg.Canary, error) { func FindCheck(canary pkg.Canary, name string) (*pkg.Check, error) { var model pkg.Check - if err := Gorm.Where("canary_id = ? AND name = ?", canary.ID.String(), name).First(&model).Error; err != nil { + if err := Gorm.Where("canary_id = ? AND name = ?", canary.ID.String(), name). + Where("agent_id = '00000000-0000-0000-0000-000000000000'"). + First(&model).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil } diff --git a/pkg/db/canary_selector.go b/pkg/db/canary_selector.go index 92f3b9c61..633b4e7cf 100644 --- a/pkg/db/canary_selector.go +++ b/pkg/db/canary_selector.go @@ -27,7 +27,11 @@ func GetChecksWithLabelSelector(labelSelector string) (selectedChecks pkg.Checks } } var checks pkg.Checks - if err := Gorm.Table("checks").Where("labels @> ?", types.JSONStringMap(labels)).Find(&checks).Error; err != nil { + if err := Gorm.Table("checks"). + Where("labels @> ?", types.JSONStringMap(labels)). + Where("agent_id = '00000000-0000-0000-0000-000000000000'"). + Where("deleted_at IS NULL"). + Find(&checks).Error; err != nil { return nil, err } for _, c := range checks { @@ -35,7 +39,11 @@ func GetChecksWithLabelSelector(labelSelector string) (selectedChecks pkg.Checks } for _, k := range onlyKeys { var canaries pkg.Checks - if err := Gorm.Table("checks").Where("labels ?? ?", k).Find(&canaries).Error; err != nil { + if err := Gorm.Table("checks"). + Where("labels ?? ?", k). + Where("agent_id = '00000000-0000-0000-0000-000000000000'"). + Where("deleted_at IS NULL"). + Find(&canaries).Error; err != nil { continue } for _, c := range canaries { diff --git a/pkg/db/config_db.go b/pkg/db/config_db.go index 96becd7a4..3a9a526bc 100644 --- a/pkg/db/config_db.go +++ b/pkg/db/config_db.go @@ -9,7 +9,6 @@ import ( "gorm.io/gorm/clause" "github.com/flanksource/canary-checker/pkg" - //"github.com/flanksource/canary-checker/pkg/db/types" "github.com/flanksource/commons/logger" ) @@ -22,7 +21,7 @@ type ConfigComponentRelationship struct { } func configQuery(config pkg.Config) *gorm.DB { - query := Gorm.Table("config_items") + query := Gorm.Table("config_items").Where("agent_id = '00000000-0000-0000-0000-000000000000'") if config.ConfigClass != "" { query = query.Where("config_class = ?", config.ConfigClass) } @@ -67,7 +66,9 @@ func FindConfig(config pkg.Config) (*pkg.Config, error) { func FindConfigForComponent(componentID, configType string) ([]pkg.Config, error) { var dbConfigObjects []pkg.Config - relationshipQuery := Gorm.Table("config_component_relationships").Select("config_id").Where("component_id = ? AND deleted_at IS NULL", componentID) + relationshipQuery := Gorm.Table("config_component_relationships"). + Select("config_id"). + Where("component_id = ? AND deleted_at IS NULL", componentID) query := Gorm.Table("config_items").Where("id IN (?)", relationshipQuery) if configType != "" { query = query.Where("type = @config_type OR config_class = @config_type", sql.Named("config_type", configType))