feat(database): add gearTxt field to parsed results and update related functions
This commit is contained in:
@@ -87,9 +87,17 @@ func (d *Database) initTables() error {
|
||||
updated_at INTEGER NOT NULL
|
||||
);`
|
||||
|
||||
optimizerPreferencesTable := `
|
||||
CREATE TABLE IF NOT EXISTS optimizer_preferences (
|
||||
hero_id TEXT PRIMARY KEY,
|
||||
options_json TEXT NOT NULL,
|
||||
updated_at INTEGER NOT NULL
|
||||
);`
|
||||
|
||||
tables := []string{
|
||||
parsedDataTable,
|
||||
settingsTable,
|
||||
optimizerPreferencesTable,
|
||||
}
|
||||
|
||||
for _, table := range tables {
|
||||
@@ -221,6 +229,9 @@ func (d *Database) GetSetting(key string) (string, error) {
|
||||
var value string
|
||||
err := d.db.QueryRow(stmt, key).Scan(&value)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return "", nil
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
return value, nil
|
||||
@@ -246,3 +257,26 @@ func (d *Database) GetAllSettings() (map[string]string, error) {
|
||||
|
||||
return settings, nil
|
||||
}
|
||||
|
||||
// SaveOptimizerPreference saves the latest optimizer options for a hero.
|
||||
func (d *Database) SaveOptimizerPreference(heroID string, optionsJSON string) error {
|
||||
stmt := `
|
||||
INSERT OR REPLACE INTO optimizer_preferences (hero_id, options_json, updated_at)
|
||||
VALUES (?, ?, ?)`
|
||||
_, err := d.db.Exec(stmt, heroID, optionsJSON, time.Now().Unix())
|
||||
return err
|
||||
}
|
||||
|
||||
// GetOptimizerPreference returns saved optimizer options for a hero.
|
||||
func (d *Database) GetOptimizerPreference(heroID string) (string, error) {
|
||||
stmt := "SELECT options_json FROM optimizer_preferences WHERE hero_id = ?"
|
||||
var optionsJSON string
|
||||
err := d.db.QueryRow(stmt, heroID).Scan(&optionsJSON)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return "", nil
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
return optionsJSON, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user