代码拉取完成,页面将自动刷新
package models
import (
"github.com/ccfos/nightingale/v6/pkg/ctx"
"github.com/pkg/errors"
)
type Role struct {
Id int64 `json:"id" gorm:"primaryKey"`
Name string `json:"name"`
Note string `json:"note"`
}
func (Role) TableName() string {
return "role"
}
func RoleGets(ctx *ctx.Context, where string, args ...interface{}) ([]Role, error) {
var objs []Role
err := DB(ctx).Where(where, args...).Find(&objs).Error
if err != nil {
return nil, errors.WithMessage(err, "failed to query roles")
}
return objs, nil
}
func RoleGetsAll(ctx *ctx.Context) ([]Role, error) {
return RoleGets(ctx, "")
}
// 增加角色
func (r *Role) Add(ctx *ctx.Context) error {
role, err := RoleGet(ctx, "name = ?", r.Name)
if err != nil {
return errors.WithMessage(err, "failed to query user")
}
if role != nil {
return errors.New("role name already exists")
}
return DB(ctx).Create(r).Error
}
// 删除角色
func (r *Role) Del(ctx *ctx.Context) error {
return DB(ctx).Delete(r).Error
}
// 更新角色
func (ug *Role) Update(ctx *ctx.Context, selectField interface{}, selectFields ...interface{}) error {
return DB(ctx).Model(ug).Select(selectField, selectFields...).Updates(ug).Error
}
func RoleGet(ctx *ctx.Context, where string, args ...interface{}) (*Role, error) {
var lst []*Role
err := DB(ctx).Where(where, args...).Find(&lst).Error
if err != nil {
return nil, err
}
if len(lst) == 0 {
return nil, nil
}
return lst[0], nil
}
func RoleCount(ctx *ctx.Context, where string, args ...interface{}) (num int64, err error) {
return Count(DB(ctx).Model(&Role{}).Where(where, args...))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。