/
loginDetail.go
44 lines (38 loc) · 1.01 KB
/
loginDetail.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
package data
import (
"github.com/google/uuid"
"github.com/hoquangnam45/pharmacy-auth/internal/biz"
"github.com/hoquangnam45/pharmacy-common-go/util/log"
)
type loginDetailRepo struct {
data *Data
log log.Logger
}
func NewLoginDetailRepo(data *Data, logger log.Logger) biz.LoginDetailRepo {
return &loginDetailRepo{
data: data,
log: logger,
}
}
func (r *loginDetailRepo) Save(g *biz.LoginDetail) (*biz.LoginDetail, error) {
if err := r.data.Save(g).Error; err != nil {
return nil, err
}
return g, nil
}
func (r *loginDetailRepo) FindByID(id uuid.UUID) (*biz.LoginDetail, error) {
loginDetail := &biz.LoginDetail{}
err := r.data.Where(&biz.LoginDetail{Id: id}).Take(loginDetail).Error
if err != nil {
return nil, err
}
return loginDetail, nil
}
func (r *loginDetailRepo) FindByUserId(userId string) (*biz.LoginDetail, error) {
loginDetail := &biz.LoginDetail{}
err := r.data.Where(&biz.LoginDetail{UserId: userId}).Take(loginDetail).Error
if err != nil {
return nil, err
}
return loginDetail, nil
}