/
user.go
64 lines (53 loc) · 1.55 KB
/
user.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package data
import (
"context"
"github.com/Administration-LGL/miam-apiserver/internal/biz"
"github.com/go-kratos/kratos/v2/log"
)
type userRepo struct {
data *Data
log *log.Helper
}
// Create implements biz.UserRepo.
func (ur *userRepo) Create(ctx context.Context, user *biz.User, opts biz.CreateOptions) error {
return ur.data.db.Create(user).Error
}
// Delete implements biz.UserRepo.
func (ur *userRepo) Delete(ctx context.Context, username string, opts biz.DeleteOptions) error {
panic("unimplemented")
}
// DeleteCollection implements biz.UserRepo.
func (ur *userRepo) DeleteCollection(ctx context.Context, usernames []string, opts biz.DeleteOptions) error {
panic("unimplemented")
}
// Get implements biz.UserRepo.
func (ur *userRepo) Get(ctx context.Context, user *biz.User, opts biz.GetOptions) (*biz.User, error) {
u := &biz.User{}
tx := ur.data.db
if user.ID != 0 {
tx = tx.Where("id = ?", user.ID)
}
if user.Name != "" {
tx = tx.Where("name = ?", user.Name)
}
if user.Nickname != "" {
tx = tx.Where("nickname like %?%", user.Nickname)
}
err := tx.First(u).Error
return u, err
}
// List implements biz.UserRepo.
func (ur *userRepo) List(ctx context.Context, opts biz.ListOptions) (*biz.UserList, error) {
panic("unimplemented")
}
// Update implements biz.UserRepo.
func (ur *userRepo) Update(ctx context.Context, user *biz.User, opts biz.UpdateOptions) error {
panic("unimplemented")
}
// NewGreeterRepo .
func NewUserRepo(data *Data, logger log.Logger) biz.UserRepo {
return &userRepo{
data: data,
log: log.NewHelper(logger),
}
}