1 Star 0 Fork 0

rio/gin-admin-common

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
permission_retriever_repo.go 1.38 KB
一键复制 编辑 原始数据 按行查看 历史
rio 提交于 2024-10-10 00:13 +08:00 . init
package repo
import (
"errors"
"gitee.com/rio-studio/gin-admin-common/pkg/data/model"
"gorm.io/gorm"
)
type PermissionRetriever interface {
FindByUrlAndMethod(url, method string) (*model.Permission, error)
FindById(id int64) (*model.Permission, error)
GetPermissionsByIds(ids []int64) ([]*model.Permission, error)
}
type PermissionRetrieverRepo struct {
db *gorm.DB
}
func NewPermissionRetrieverRepo(db *gorm.DB) PermissionRetriever {
return &PermissionRetrieverRepo{db: db}
}
func (r *PermissionRetrieverRepo) FindByUrlAndMethod(url, method string) (*model.Permission, error) {
var permission = &(model.Permission{})
err := r.db.Model(&model.Permission{}).
Select("*").
Where("url = ?", url).
Where("method = ?", method).
First(permission).Error
if permission.ID > 0 {
return permission, nil
}
return nil, err
}
func (r *PermissionRetrieverRepo) FindById(id int64) (*model.Permission, error) {
var permission = &(model.Permission{})
err := r.db.Model(&model.Permission{}).First(permission, id).Error
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, err
}
if permission.ID > 0 {
return permission, nil
}
return nil, err
}
func (r *PermissionRetrieverRepo) GetPermissionsByIds(ids []int64) ([]*model.Permission, error) {
var entities []*model.Permission
err := r.db.Model(&model.Permission{}).Where("id in (?)", ids).Find(&entities).Error
return entities, err
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/rio-studio/gin-admin-common.git
git@gitee.com:rio-studio/gin-admin-common.git
rio-studio
gin-admin-common
gin-admin-common
95b063965f95

搜索帮助