aboutsummaryrefslogtreecommitdiffhomepage
path: root/storage
diff options
context:
space:
mode:
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))