31 lines
940 B
C#

using UserManagement.Application.Dtos.Incomming;
using UserManagement.Application.Dtos.Outgoing;
using UserManagement.Domain.Entities;
namespace UserManagement.Application.Interfaces
{
public interface IUserService
{
// CREATE
Task<User?> AddUserAsync(CreatingUserDto creatingUserDto);
// READ ALL
Task<IEnumerable<ReadingUserDto>> GetAllUsersAsync(bool includeRoles = true);
// READ BY ID
Task<ReadingUserDto> GetUserByIdAsync(int id, bool includeRoles = true);
// READ BY USERNAME
Task<ReadingUserDto> GetUserByUsernameAsync(string username, bool includeRoles = true);
// READ BY ROLE
Task<IEnumerable<ReadingUserDto>> GetUsersByRoleAsync(string role);
// UPDATE
Task<bool> UpdateUserAsync(UpdatingUserDto updatingUserDto);
// DELETE
Task<bool> DeleteUserAsync(int id);
}
}