Implement switching language (but doesn't persist)

This commit is contained in:
Alf Sebastian Houge
2023-07-18 22:48:36 +02:00
parent 14968013dd
commit 302bdd2222
6 changed files with 34 additions and 16 deletions

View File

@@ -1,7 +1,9 @@
package service
import (
"errors"
"hammond/db"
"hammond/models"
)
func CanInitializeSystem() (bool, error) {
@@ -14,15 +16,30 @@ func UpdateSettings(currency string, distanceUnit db.DistanceUnit) error {
setting.DistanceUnit = distanceUnit
return db.UpdateSettings(setting)
}
func UpdateUserSettings(userId, currency string, distanceUnit db.DistanceUnit, dateFormat string) error {
func UpdateUserSettings(userId, currency string, distanceUnit db.DistanceUnit, dateFormat string, language string) error {
user, err := db.GetUserById(userId)
if err != nil {
return err
}
// TODO: Pull into function
languageExists := false
languages := models.GetLanguageMastersList();
for _, lang := range languages {
if (language == lang.Shorthand){
languageExists = true
}
}
if (!languageExists) {
return errors.New("Language not in masters list")
}
user.Currency = currency
user.DistanceUnit = distanceUnit
user.DateFormat = dateFormat
user.Language = language
return db.UpdateUser(user)
}