36 lines
915 B
Go
36 lines
915 B
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
|
|
"management/internal/erpserver/model/system"
|
|
"management/internal/erpserver/repository"
|
|
)
|
|
|
|
type roleMenuRepository struct {
|
|
repo *repository.Repository
|
|
}
|
|
|
|
func NewRoleMenuRepository(repo *repository.Repository) system.RoleMenuRepository {
|
|
return &roleMenuRepository{
|
|
repo: repo,
|
|
}
|
|
}
|
|
|
|
func (r *roleMenuRepository) Create(ctx context.Context, obj []*system.RoleMenu) error {
|
|
return r.repo.DB(ctx).Create(obj).Error
|
|
}
|
|
|
|
func (r *roleMenuRepository) DeleteByRoleID(ctx context.Context, roleID int32) error {
|
|
return r.repo.DB(ctx).Where("role_id = ?", roleID).Delete(&system.RoleMenu{}).Error
|
|
}
|
|
|
|
func (r *roleMenuRepository) ListByRoleID(ctx context.Context, roleID int32) ([]*system.RoleMenu, error) {
|
|
var roleMenus []*system.RoleMenu
|
|
err := r.repo.DB(ctx).Where("role_id = ?", roleID).Find(&roleMenus).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return roleMenus, nil
|
|
}
|