chore: impl compact mode setting (#2935)

* chore: backend/DB related files for compact view setting.

* fix: passing lint errors

* fix2: passing linter errors
This commit is contained in:
Mehad Nadeem
2024-02-08 00:05:56 +00:00
committed by GitHub
parent 559e427c50
commit d2434111b4
4 changed files with 60 additions and 82 deletions

View File

@ -3,6 +3,7 @@ package postgres
import (
"context"
"database/sql"
"strconv"
"strings"
"github.com/pkg/errors"
@ -36,6 +37,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting)
valueString = upsert.GetMemoVisibility()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
valueString = upsert.GetTelegramUserId()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
valueString = strconv.FormatBool(upsert.GetCompactView())
} else {
return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String())
}
@ -106,6 +109,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting)
userSetting.Value = &storepb.UserSetting_TelegramUserId{
TelegramUserId: valueString,
}
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
compactView, err := strconv.ParseBool(valueString)
if err != nil {
return nil, errors.Wrapf(err, "failed to parse compact view value: %s", valueString)
}
userSetting.Value = &storepb.UserSetting_CompactView{
CompactView: compactView,
}
} else {
// Skip unknown user setting key.
continue