using DigitalData.Core.Abstraction.Application;
using DigitalData.Core.Abstraction.Application.DTO;
using DigitalData.UserManager.Application.DTOs.ModuleOfUser;
using DigitalData.UserManager.Domain.Entities;

namespace DigitalData.UserManager.Application.Contracts
{
    [Obsolete("Use MediatR")]
    public interface IModuleOfUserService : ICRUDService<ModuleOfUserCreateDto, ModuleOfUserReadDto, ModuleOfUser, int>
    {
        Task<Result> DeleteAsyncByModuleUserId(int moduleId, int userId);

        Task<DataResult<IEnumerable<ModuleOfUserReadDto>>> ReadByUserAsync(string username);
    }
}