From 6632c38c0c8369493fed23e3f31d89809262366a Mon Sep 17 00:00:00 2001 From: pigwin Date: Sat, 8 Feb 2025 14:48:20 +0000 Subject: [PATCH] stay code :P --- config/config.go | 10 ++++++---- config/db.go | 4 ++-- config/valkey.go | 6 +++--- database/ServiceDeliveryDB.go | 26 +++++++++++++++++++++++++- database/SetupDB.go | 1 + export/database.go | 2 +- main.go | 2 +- 7 files changed, 39 insertions(+), 12 deletions(-) diff --git a/config/config.go b/config/config.go index 404237e..da6ea59 100644 --- a/config/config.go +++ b/config/config.go @@ -7,6 +7,8 @@ import ( "strconv" ) +const configFilePath = "config/conf.json" + type Config struct { Database struct { Host string `json:"host"` @@ -23,14 +25,14 @@ type Config struct { TimeoutMs int `json:"timeout_ms"` Password string `json:"password"` } `json:"valkey"` - Temp string `json:"temp"` - DatasetId string `json:"dataset_id"` + Temp string `json:"temp"` + DatasetId string `json:"dataset_id"` ExcludedDatasetIds string `json:"excluded_dataset_ids"` } -func LoadConfig(file string) (Config, error) { +func LoadConfig() (Config, error) { var config Config - configFile, err := os.Open(file) + configFile, err := os.Open(configFilePath) if err != nil { return config, fmt.Errorf("failed to open config file: %w", err) } diff --git a/config/db.go b/config/db.go index 51b8ef1..9bcc7e6 100644 --- a/config/db.go +++ b/config/db.go @@ -11,7 +11,7 @@ import ( func ConnectToPostgreSQL() (*sql.DB, error) { fmt.Println("Connecting to PostgreSQL...") - config, err := LoadConfig("config/conf.json") + config, err := LoadConfig() if err != nil { return nil, err } @@ -57,7 +57,7 @@ func DisconnectFromPostgreSQL(db *sql.DB) error { } func PrintDBConfig() { - config, err := LoadConfig("config/conf.json") + config, err := LoadConfig() if err != nil { fmt.Println("Error loading config:", err) return diff --git a/config/valkey.go b/config/valkey.go index 778bf6d..79006aa 100644 --- a/config/valkey.go +++ b/config/valkey.go @@ -17,7 +17,7 @@ type ValkeyConfig struct { Port string `json:"port"` MaxConns int `json:"max_conns"` TimeoutMs int `json:"timeout_ms"` - Password string `json:"password"` // Add this line + Password string `json:"password"` } func LoadValkeyConfig(file string) (ValkeyConfig, error) { @@ -56,9 +56,9 @@ func LoadValkeyConfig(file string) (ValkeyConfig, error) { return config, nil } -func ConnectToValkey(configPath string) (valkey.Client, error) { +func ConnectToValkey() (valkey.Client, error) { fmt.Println("Loading configuration...") - config, err := LoadConfig(configPath) + config, err := LoadConfig() if err != nil { return nil, fmt.Errorf("failed to load config: %v", err) } diff --git a/database/ServiceDeliveryDB.go b/database/ServiceDeliveryDB.go index a3f03e7..54ac37b 100644 --- a/database/ServiceDeliveryDB.go +++ b/database/ServiceDeliveryDB.go @@ -3,13 +3,37 @@ package database import ( "database/sql" "fmt" + "ti1/config" ) +func GetDatasetVariable(config config.Config) string { + if config.DatasetId != "" { + fmt.Println(config.DatasetId) + return config.DatasetId + } else if config.ExcludedDatasetIds != "" { + result := "EX." + config.ExcludedDatasetIds + fmt.Println(result) + return result + } + fmt.Println("") + return "" +} + func InsertServiceDelivery(db *sql.DB, responseTimestamp string, recordedAtTime string) (int, error) { fmt.Println("Inserting ServiceDelivery...") var id int - err := db.QueryRow("INSERT INTO public.ServiceDelivery (ResponseTimestamp, RecordedAtTime) VALUES ($1, $2) RETURNING ID", responseTimestamp, recordedAtTime).Scan(&id) + // Load configuration + config, err := config.LoadConfig() + if err != nil { + fmt.Println("Error loading config:", err) + return 0, err + } + + // Get dataset variable + datasetVariable := GetDatasetVariable(config) + + err = db.QueryRow("INSERT INTO public.ServiceDelivery (ResponseTimestamp, RecordedAtTime, DatasetVariable) VALUES ($1, $2, $3) RETURNING ID", responseTimestamp, recordedAtTime, datasetVariable).Scan(&id) if err != nil { fmt.Println(err) return 0, err diff --git a/database/SetupDB.go b/database/SetupDB.go index 5c3f369..84221ca 100644 --- a/database/SetupDB.go +++ b/database/SetupDB.go @@ -68,6 +68,7 @@ func SetupDB() error { id INTEGER PRIMARY KEY DEFAULT nextval('public.servicedelivery_id_seq'), responsetimestamp TIMESTAMPTZ, recordedattime TIMESTAMPTZ, + source VARCHAR, data JSON );`, } diff --git a/export/database.go b/export/database.go index cf817eb..3a63287 100644 --- a/export/database.go +++ b/export/database.go @@ -22,7 +22,7 @@ func DBData(data *data.Data) { defer db.Close() // Connect to Valkey - valkeyClient, err := config.ConnectToValkey("config/conf.json") + valkeyClient, err := config.ConnectToValkey() if err != nil { log.Fatalf("Failed to connect to Valkey: %v", err) } diff --git a/main.go b/main.go index 51ca7bd..bd3b7a1 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ func main() { log.Println("Starting...") // Load configuration - cfg, err := config.LoadConfig("config/conf.json") + cfg, err := config.LoadConfig() if err != nil { log.Fatalf("Failed to load config: %v", err) }