38 lines
966 B
Go
38 lines
966 B
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
|
|
"management/internal/erpserver/model/system"
|
|
"management/internal/erpserver/repository"
|
|
)
|
|
|
|
type roleMenuRepository struct {
|
|
store repository.Store
|
|
}
|
|
|
|
var _ system.RoleMenuRepository = (*roleMenuRepository)(nil)
|
|
|
|
func NewRoleMenuRepository(store repository.Store) *roleMenuRepository {
|
|
return &roleMenuRepository{
|
|
store: store,
|
|
}
|
|
}
|
|
|
|
func (r *roleMenuRepository) Create(ctx context.Context, obj []*system.RoleMenu) error {
|
|
return r.store.DB(ctx).Create(obj).Error
|
|
}
|
|
|
|
func (r *roleMenuRepository) DeleteByRoleID(ctx context.Context, roleID int32) error {
|
|
return r.store.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.store.DB(ctx).Where("role_id = ?", roleID).Find(&roleMenus).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return roleMenus, nil
|
|
}
|