using Volo.Abp.Application.Services;
using Yi.Framework.Ddd.Application.Contracts;
using Yi.Framework.Rbac.Application.Contracts.Dtos.Role;

namespace Yi.Framework.Rbac.Application.Contracts.IServices
{
    /// <summary>
    /// Role服务抽象
    /// </summary>
    public interface IRoleService : IYiCrudAppService<RoleGetOutputDto, RoleGetListOutputDto, Guid, RoleGetListInputVo, RoleCreateInputVo, RoleUpdateInputVo>
    {
        /// <summary>
        /// 根据角色名称移除指定用户的角色
        /// </summary>
        /// <param name="userIds"></param>
        /// <param name="roleName"></param>
        /// <returns></returns>
        Task<int> RemoveUserRoleByRoleCodeAsync(List<Guid> userIds, string roleName);
    }
}
