aboutsummaryrefslogtreecommitdiffhomepage
path: root/storage
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-02-27 21:08:32 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-02-27 21:08:32 -0800
commit953d0a2dc05714c22f7c9c389a860fd38c07b66e (patch)
treedbbbb0659ed8e69e02c9b977b63550d1192d6be2 /storage
parent9694861cb6ad08ded824b9bf04ef19a3a168d7b9 (diff)
Support localized feed errors generated by background workers
Diffstat (limited to 'storage')
-rw-r--r--storage/user.go12
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))