MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / GetSettingItemsInGroups

Function GetSettingItemsInGroups

internal/op/setting.go:130–151  ·  view source on GitHub ↗
(groups []int)

Source from the content-addressed store, hash-verified

128}
129
130func GetSettingItemsInGroups(groups []int) ([]model.SettingItem, error) {
131 sort.Ints(groups)
132
133 keyParts := make([]string, 0, len(groups))
134 for _, g := range groups {
135 keyParts = append(keyParts, strconv.Itoa(g))
136 }
137 key := "GROUPS_" + strings.Join(keyParts, "_")
138
139 if items, exists := Cache.GetSettingGroup(key); exists {
140 return items, nil
141 }
142 items, err, _ := settingGroupG.Do(key, func() ([]model.SettingItem, error) {
143 _items, err := db.GetSettingItemsInGroups(groups)
144 if err != nil {
145 return nil, err
146 }
147 settingGroupCacheF(key, _items)
148 return _items, nil
149 })
150 return items, err
151}
152
153func SaveSettingItems(items []model.SettingItem) error {
154 for i := range items {

Callers 1

ListSettingsFunction · 0.92

Calls 3

GetSettingItemsInGroupsFunction · 0.92
GetSettingGroupMethod · 0.80
DoMethod · 0.65

Tested by

no test coverage detected