diff options
Diffstat (limited to 'data.go')
| -rw-r--r-- | data.go | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -61,9 +61,16 @@ type LoveImport struct { Count int } +type Client struct { + Key string + Secret string + Name string +} + type DataStore interface { PutSession(*Session) error GetSession(key string) (*Session, error) + GetClient(key string) (*Client, error) PutScrobbles([]Scrobble) error PutNowPlaying(s Scrobble) error NowPlaying(userId int) *Scrobble @@ -114,6 +121,14 @@ func (store *SqlStore) GetSession(key string) (*Session, error) { return s, err } +func (store *SqlStore) GetClient(key string) (*Client, error) { + query := `SELECT secret, name FROM clients WHERE key = $1` + row := store.QueryRow(query, key) + c := &Client{Key: key} + err := row.Scan(&c.Secret, &c.Name) + return c, err +} + func (store *SqlStore) GetScrobblingUser(lfmName string) (int, string, error) { var password string var userId int |
