forked from openimsdk/openim-sdk-core
/
admin_group_request_model.go
46 lines (40 loc) · 1.47 KB
/
admin_group_request_model.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
package db
import (
"errors"
"github.com/erbaner/be-core/pkg/db/model_struct"
"github.com/erbaner/be-core/pkg/utils"
)
func (d *DataBase) InsertAdminGroupRequest(groupRequest *model_struct.LocalAdminGroupRequest) error {
d.groupMtx.Lock()
defer d.groupMtx.Unlock()
return utils.Wrap(d.conn.Create(groupRequest).Error, "InsertAdminGroupRequest failed")
}
func (d *DataBase) DeleteAdminGroupRequest(groupID, userID string) error {
d.groupMtx.Lock()
defer d.groupMtx.Unlock()
return utils.Wrap(d.conn.Where("group_id=? and user_id=?", groupID, userID).Delete(&model_struct.LocalAdminGroupRequest{}).Error, "DeleteAdminGroupRequest failed")
}
func (d *DataBase) UpdateAdminGroupRequest(groupRequest *model_struct.LocalAdminGroupRequest) error {
d.groupMtx.Lock()
defer d.groupMtx.Unlock()
t := d.conn.Model(groupRequest).Select("*").Updates(*groupRequest)
if t.RowsAffected == 0 {
return utils.Wrap(errors.New("RowsAffected == 0"), "no update")
}
return utils.Wrap(t.Error, "")
}
func (d *DataBase) GetAdminGroupApplication() ([]*model_struct.LocalAdminGroupRequest, error) {
d.groupMtx.Lock()
defer d.groupMtx.Unlock()
var groupRequestList []model_struct.LocalAdminGroupRequest
err := utils.Wrap(d.conn.Order("create_time DESC").Find(&groupRequestList).Error, "")
if err != nil {
return nil, utils.Wrap(err, "")
}
var transfer []*model_struct.LocalAdminGroupRequest
for _, v := range groupRequestList {
v1 := v
transfer = append(transfer, &v1)
}
return transfer, nil
}