任务三
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
)
|
||||
|
||||
// AuthorityBtnRepo 角色按钮权限仓储接口
|
||||
type AuthorityBtnRepo interface {
|
||||
GetAuthorityBtn(ctx context.Context, authorityId, menuId uint) ([]uint, error)
|
||||
SetAuthorityBtn(ctx context.Context, authorityId, menuId uint, btnIds []uint) error
|
||||
CanRemoveAuthorityBtn(ctx context.Context, btnId uint) error
|
||||
}
|
||||
|
||||
// AuthorityBtnUsecase 角色按钮权限用例
|
||||
type AuthorityBtnUsecase struct {
|
||||
repo AuthorityBtnRepo
|
||||
}
|
||||
|
||||
// NewAuthorityBtnUsecase 创建角色按钮权限用例
|
||||
func NewAuthorityBtnUsecase(repo AuthorityBtnRepo) *AuthorityBtnUsecase {
|
||||
return &AuthorityBtnUsecase{repo: repo}
|
||||
}
|
||||
|
||||
// GetAuthorityBtn 获取角色按钮权限
|
||||
func (uc *AuthorityBtnUsecase) GetAuthorityBtn(ctx context.Context, authorityId, menuId uint) ([]uint, error) {
|
||||
return uc.repo.GetAuthorityBtn(ctx, authorityId, menuId)
|
||||
}
|
||||
|
||||
// SetAuthorityBtn 设置角色按钮权限
|
||||
func (uc *AuthorityBtnUsecase) SetAuthorityBtn(ctx context.Context, authorityId, menuId uint, btnIds []uint) error {
|
||||
return uc.repo.SetAuthorityBtn(ctx, authorityId, menuId, btnIds)
|
||||
}
|
||||
|
||||
// CanRemoveAuthorityBtn 检查按钮是否可以删除
|
||||
func (uc *AuthorityBtnUsecase) CanRemoveAuthorityBtn(ctx context.Context, btnId uint) error {
|
||||
return uc.repo.CanRemoveAuthorityBtn(ctx, btnId)
|
||||
}
|
||||
|
||||
var ErrBtnInUse = errors.New("此按钮正在被使用无法删除")
|
||||
Reference in New Issue
Block a user