/
setting.go
executable file
·35 lines (31 loc) · 1006 Bytes
/
setting.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package data
import (
"context"
"errors"
"github.com/xiaohubai/go-grpc-layout/internal/data/model"
)
func (d *dataRepo) UpdateSetting(ctx context.Context, s *model.Setting) error {
db := d.data.db.Setting.WithContext(ctx)
if s.UID == "" {
return errors.New("UID must not be empty")
}
db = db.Where(d.data.db.Setting.UID.Eq(s.UID))
_, err := db.Updates(map[string]interface{}{
"lang": s.Lang,
"side_mode_color": s.SideModeColor,
"collapse": s.Collapse,
"breadcrumb": s.Breadcrumb,
"default_router": s.DefaultRouter,
"active_text_color": s.ActiveTextColor,
"active_background_color": s.ActiveBackgroundColor,
"update_user": s.UpdateUser,
})
return err
}
func (d *dataRepo) GetSetting(ctx context.Context, s *model.Setting) (setting *model.Setting, err error) {
db := d.data.db.Setting.WithContext(ctx)
if s.UID != "" {
db = db.Where(d.data.db.Setting.UID.Eq(s.UID))
}
return db.First()
}