diff options
author | Frédéric Guillot <fred@miniflux.net> | 2018-02-27 21:08:32 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-02-27 21:08:32 -0800 |
commit | 953d0a2dc05714c22f7c9c389a860fd38c07b66e (patch) | |
tree | dbbbb0659ed8e69e02c9b977b63550d1192d6be2 /storage | |
parent | 9694861cb6ad08ded824b9bf04ef19a3a168d7b9 (diff) |
Support localized feed errors generated by background workers
Diffstat (limited to 'storage')
-rw-r--r-- | storage/user.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/storage/user.go b/storage/user.go index 5d64b65..41e565a 100644 --- a/storage/user.go +++ b/storage/user.go @@ -175,6 +175,18 @@ func (s *Storage) UpdateUser(user *model.User) error { return nil } +// UserLanguage returns the language of the given user. +func (s *Storage) UserLanguage(userID int64) (language string, err error) { + defer timer.ExecutionTime(time.Now(), fmt.Sprintf("[Storage:UserLanguage] userID=%d", userID)) + err = s.db.QueryRow(`SELECT language FROM users WHERE id = $1`, userID).Scan(&language) + if err == sql.ErrNoRows { + return "en_US", nil + } else if err != nil { + return "", fmt.Errorf("unable to fetch user language: %v", err) + } + return language, nil +} + // UserByID finds a user by the ID. func (s *Storage) UserByID(userID int64) (*model.User, error) { defer timer.ExecutionTime(time.Now(), fmt.Sprintf("[Storage:UserByID] userID=%d", userID)) |