]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blobdiff - db/market_config.go
Add column 'status' to market_configs.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / db / market_config.go
index b26c0920bf30bbfcfda36478589c4a57d19437e0..30b453877464c08255f85413bb1b5015299a72b6 100644 (file)
@@ -1,11 +1,20 @@
 package db
 
-import "github.com/go-pg/pg"
+import (
+       "github.com/go-pg/pg"
+)
+
+type MarketConfigStatus string
+
+const MarketConfigEnabled = "enabled"
+const MarketConfigDisabled = "disabled"
+const MarketConfigInvalidCredentials = "invalid_credentials"
 
 type MarketConfig struct {
        Id         int64
-       MarketName string `sql:",notnull"`
-       UserId     int64  `sql:",notnull"`
+       MarketName string
+       UserId     int64
+       Status     MarketConfigStatus
        Config     map[string]string
 }
 
@@ -43,3 +52,13 @@ func SetUserMarketConfig(userId int64, market string, newConfig map[string]strin
 
        return &config, err
 }
+
+func SetMarketConfigStatus(marketConfig MarketConfig, status MarketConfigStatus) (*MarketConfig, error) {
+       marketConfig.Status = status
+       _, err := DB.Model(&marketConfig).
+               OnConflict("(user_id, market_name) DO UPDATE").
+               Set("status = ?", status).
+               Insert()
+
+       return &marketConfig, err
+}