aboutsummaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorjloup <jeanloup.jamet@gmail.com>2018-05-10 16:22:29 +0200
committerjloup <jeanloup.jamet@gmail.com>2018-05-10 16:22:29 +0200
commit299b6b6d9fb879c06e675ef240f361348629ff6c (patch)
tree27909cd54e53d58e612da93e15f1005af86870ec /db
parent3b8833854f83f75e3d16c1fdb869937f690e48ea (diff)
downloadFront-299b6b6d9fb879c06e675ef240f361348629ff6c.tar.gz
Front-299b6b6d9fb879c06e675ef240f361348629ff6c.tar.zst
Front-299b6b6d9fb879c06e675ef240f361348629ff6c.zip
Add column 'status' to market_configs.v0.0.9
Diffstat (limited to 'db')
-rw-r--r--db/market_config.go25
-rw-r--r--db/migrations.go11
2 files changed, 33 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 @@
1package db 1package db
2 2
3import "github.com/go-pg/pg" 3import (
4 "github.com/go-pg/pg"
5)
6
7type MarketConfigStatus string
8
9const MarketConfigEnabled = "enabled"
10const MarketConfigDisabled = "disabled"
11const MarketConfigInvalidCredentials = "invalid_credentials"
4 12
5type MarketConfig struct { 13type 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
56func 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}
diff --git a/db/migrations.go b/db/migrations.go
index f6ecb60..f0df49c 100644
--- a/db/migrations.go
+++ b/db/migrations.go
@@ -78,4 +78,15 @@ var migrations []Migration = []Migration{
78 }, 78 },
79 Down: []string{"DROP VIEW view_balances", "DROP INDEX checkpoints_idx"}, 79 Down: []string{"DROP VIEW view_balances", "DROP INDEX checkpoints_idx"},
80 }, 80 },
81 {
82 Version: 201805101000,
83 Up: []string{
84 "CREATE TYPE market_config_status AS ENUM ('enabled', 'disabled', 'invalid_credentials')",
85 "ALTER TABLE market_configs ADD status market_config_status NOT NULL DEFAULT 'disabled'",
86 },
87 Down: []string{
88 "ALTER TABLE market_configs DROP COLUMN status",
89 "DROP TYPE market_config_status",
90 },
91 },
81} 92}