|
|
|
@ -3,11 +3,11 @@ package sqlite
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"database/sql"
|
|
|
|
|
"errors"
|
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
|
|
"google.golang.org/protobuf/encoding/protojson"
|
|
|
|
|
|
|
|
|
|
"github.com/pkg/errors"
|
|
|
|
|
storepb "github.com/usememos/memos/proto/gen/store"
|
|
|
|
|
"github.com/usememos/memos/store"
|
|
|
|
|
)
|
|
|
|
@ -87,8 +87,16 @@ func (d *DB) UpsertUserSettingV1(ctx context.Context, upsert *storepb.UserSettin
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
valueString = string(valueBytes)
|
|
|
|
|
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_LOCALE {
|
|
|
|
|
valueString = upsert.GetLocale()
|
|
|
|
|
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_APPEARANCE {
|
|
|
|
|
valueString = upsert.GetAppearance()
|
|
|
|
|
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_MEMO_VISIBILITY {
|
|
|
|
|
valueString = upsert.GetMemoVisibility()
|
|
|
|
|
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
|
|
|
|
|
valueString = upsert.GetTelegramUserId()
|
|
|
|
|
} else {
|
|
|
|
|
return nil, errors.New("invalid user setting key")
|
|
|
|
|
return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if _, err := d.db.ExecContext(ctx, stmt, upsert.UserId, upsert.Key.String(), valueString); err != nil {
|
|
|
|
@ -141,6 +149,22 @@ func (d *DB) ListUserSettingsV1(ctx context.Context, find *store.FindUserSetting
|
|
|
|
|
userSetting.Value = &storepb.UserSetting_AccessTokens{
|
|
|
|
|
AccessTokens: accessTokensUserSetting,
|
|
|
|
|
}
|
|
|
|
|
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_LOCALE {
|
|
|
|
|
userSetting.Value = &storepb.UserSetting_Locale{
|
|
|
|
|
Locale: valueString,
|
|
|
|
|
}
|
|
|
|
|
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_APPEARANCE {
|
|
|
|
|
userSetting.Value = &storepb.UserSetting_Appearance{
|
|
|
|
|
Appearance: valueString,
|
|
|
|
|
}
|
|
|
|
|
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_MEMO_VISIBILITY {
|
|
|
|
|
userSetting.Value = &storepb.UserSetting_MemoVisibility{
|
|
|
|
|
MemoVisibility: valueString,
|
|
|
|
|
}
|
|
|
|
|
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
|
|
|
|
|
userSetting.Value = &storepb.UserSetting_TelegramUserId{
|
|
|
|
|
TelegramUserId: valueString,
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// Skip unknown user setting v1 key.
|
|
|
|
|
continue
|
|
|
|
|