7 Star 24 Fork 30

go-course / go8

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
permission_dao.go 1.59 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2022-10-15 18:08 . 添加角色
package impl
import (
"gitee.com/go-course/go8/projects/devcloud/mcenter/apps/role"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo/options"
)
func newQueryPermissionRequest(req *role.QueryPermissionRequest) (*queryPermissionRequest, error) {
if err := req.Validate(); err != nil {
return nil, err
}
return &queryPermissionRequest{
QueryPermissionRequest: req}, nil
}
type queryPermissionRequest struct {
*role.QueryPermissionRequest
}
func (r *queryPermissionRequest) FindOptions() *options.FindOptions {
pageSize := int64(r.Page.PageSize)
skip := int64(r.Page.PageSize) * int64(r.Page.PageNumber-1)
opt := &options.FindOptions{
Sort: bson.D{{Key: "create_at", Value: -1}},
Limit: &pageSize,
Skip: &skip,
}
return opt
}
func (r *queryPermissionRequest) FindFilter() bson.M {
filter := bson.M{}
if r.RoleId != "" {
filter["role_id"] = r.RoleId
}
return filter
}
func newDeletePermissionRequest(req *role.RemovePermissionFromRoleRequest) (*deletePermissionRequest, error) {
if err := req.Validate(); err != nil {
return nil, err
}
return &deletePermissionRequest{
RemovePermissionFromRoleRequest: req}, nil
}
type deletePermissionRequest struct {
*role.RemovePermissionFromRoleRequest
}
func (r *deletePermissionRequest) FindFilter() bson.M {
filter := bson.M{}
filter["role_id"] = r.RoleId
if !r.RemoveAll {
filter["_id"] = bson.M{"$in": r.PermissionId}
}
return filter
}
func TansferPermissionToDocs(perms []*role.Permission) []interface{} {
docs := []interface{}{}
for i := range perms {
docs = append(docs, perms[i])
}
return docs
}
Go
1
https://gitee.com/go-course/go8.git
git@gitee.com:go-course/go8.git
go-course
go8
go8
6a8978f41a84

搜索帮助

53164aa7 5694891 3bd8fe86 5694891