MCPcopy
hub / github.com/usememos/memos / GetUserSetting

Method GetUserSetting

store/user_setting.go:84–108  ·  view source on GitHub ↗
(ctx context.Context, find *FindUserSetting)

Source from the content-addressed store, hash-verified

82}
83
84func (s *Store) GetUserSetting(ctx context.Context, find *FindUserSetting) (*storepb.UserSetting, error) {
85 if find.UserID != nil {
86 if cache, ok := s.userSettingCache.Get(ctx, getUserSettingCacheKey(*find.UserID, find.Key.String())); ok {
87 userSetting, ok := cache.(*storepb.UserSetting)
88 if ok {
89 return userSetting, nil
90 }
91 }
92 }
93
94 list, err := s.ListUserSettings(ctx, find)
95 if err != nil {
96 return nil, err
97 }
98 if len(list) == 0 {
99 return nil, nil
100 }
101 if len(list) > 1 {
102 return nil, errors.Errorf("expected 1 user setting, but got %d", len(list))
103 }
104
105 userSetting := list[0]
106 s.userSettingCache.Set(ctx, getUserSettingCacheKey(userSetting.UserId, userSetting.Key.String()), userSetting)
107 return userSetting, nil
108}
109
110func (s *Store) DeleteUserSettings(ctx context.Context, delete *DeleteUserSetting) error {
111 existing, err := s.ListUserSettings(ctx, &FindUserSetting{

Callers 3

GetUserRefreshTokensMethod · 0.95
GetUserWebhooksMethod · 0.95

Calls 5

ListUserSettingsMethod · 0.95
getUserSettingCacheKeyFunction · 0.85
GetMethod · 0.65
SetMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected