代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。