using Yi.Framework.Ddd.Application.Contracts;
using Yi.Framework.Rbac.Application.Contracts.Dtos.User;

namespace Yi.Framework.Rbac.Application.Contracts.IServices
{
    /// <summary>
    /// User服务抽象
    /// </summary>
    public interface IUserService : IYiCrudAppService<UserGetOutputDto, UserGetListOutputDto, Guid, UserGetListInputVo, UserCreateInputVo, UserUpdateInputVo>
    {
        /// <summary>
        /// 通过角色代码给用户添加角色
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="roleCodes">角色代码</param>
        /// <returns></returns>
        Task AddUserRoleByRoleCodeAsync(Guid userId, List<string> roleCodes);
    }
}
