diff options
Diffstat (limited to 'db/market_config.go')
-rw-r--r-- | db/market_config.go | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/db/market_config.go b/db/market_config.go index b26c092..30b4538 100644 --- a/db/market_config.go +++ b/db/market_config.go | |||
@@ -1,11 +1,20 @@ | |||
1 | package db | 1 | package db |
2 | 2 | ||
3 | import "github.com/go-pg/pg" | 3 | import ( |
4 | "github.com/go-pg/pg" | ||
5 | ) | ||
6 | |||
7 | type MarketConfigStatus string | ||
8 | |||
9 | const MarketConfigEnabled = "enabled" | ||
10 | const MarketConfigDisabled = "disabled" | ||
11 | const MarketConfigInvalidCredentials = "invalid_credentials" | ||
4 | 12 | ||
5 | type MarketConfig struct { | 13 | type MarketConfig struct { |
6 | Id int64 | 14 | Id int64 |
7 | MarketName string `sql:",notnull"` | 15 | MarketName string |
8 | UserId int64 `sql:",notnull"` | 16 | UserId int64 |
17 | Status MarketConfigStatus | ||
9 | Config map[string]string | 18 | Config map[string]string |
10 | } | 19 | } |
11 | 20 | ||
@@ -43,3 +52,13 @@ func SetUserMarketConfig(userId int64, market string, newConfig map[string]strin | |||
43 | 52 | ||
44 | return &config, err | 53 | return &config, err |
45 | } | 54 | } |
55 | |||
56 | func SetMarketConfigStatus(marketConfig MarketConfig, status MarketConfigStatus) (*MarketConfig, error) { | ||
57 | marketConfig.Status = status | ||
58 | _, err := DB.Model(&marketConfig). | ||
59 | OnConflict("(user_id, market_name) DO UPDATE"). | ||
60 | Set("status = ?", status). | ||
61 | Insert() | ||
62 | |||
63 | return &marketConfig, err | ||
64 | } | ||