From 299b6b6d9fb879c06e675ef240f361348629ff6c Mon Sep 17 00:00:00 2001 From: jloup Date: Thu, 10 May 2018 16:22:29 +0200 Subject: Add column 'status' to market_configs. --- db/market_config.go | 25 ++++++++++++++++++++++--- db/migrations.go | 11 +++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) (limited to 'db') 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 @@ 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 +} 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{ }, Down: []string{"DROP VIEW view_balances", "DROP INDEX checkpoints_idx"}, }, + { + Version: 201805101000, + Up: []string{ + "CREATE TYPE market_config_status AS ENUM ('enabled', 'disabled', 'invalid_credentials')", + "ALTER TABLE market_configs ADD status market_config_status NOT NULL DEFAULT 'disabled'", + }, + Down: []string{ + "ALTER TABLE market_configs DROP COLUMN status", + "DROP TYPE market_config_status", + }, + }, } -- cgit v1.2.3