Rob / Application /Abstractions /Interfaces /IUserService.cs
danylokhodus's picture
add admin functions
3be30d5
Raw
History Blame Contribute Delete
1.14 kB
using Application.DTOs.UserDTOs;
using Application.DTOs.NodeDTOs;
using Application.DTOs.FileDTOs;
namespace Application.Abstractions.Interfaces
{
public interface IUserService
{
Task<UserProfileDTO?> GetUserByIdAsync(int userId);
Task<IEnumerable<UserProfileDTO>> GetAllUsersAsync();
Task<IEnumerable<UserSearchResultDTO>> SearchUsersAsync(string query, int currentUserId);
Task<UserProfileDTO?> GetProfileAsync(int userId);
Task<NodeResponseDTO?> GetMyNodeAsync(int userId);
Task<NodeResponseDTO> UpdateMyNodeAsync(int userId, UpdateMyNodeDTO updateDto);
Task<UserProfileDTO> UpdateProfileAsync(int userId, UpdateUserProfileDTO updateDto);
Task<UserProfileDTO> UpdateProfileWithPhotoAsync(int userId, UpdateUserProfileDTO updateDto, FileUploadDTO? profilePhoto, string contentRootPath);
Task<FileResponseDTO?> GetProfilePhotoAsync(int userId);
Task<byte[]?> GetProfilePhotoContentAsync(int userId, string contentRootPath);
Task<bool> DeleteUserAsync(int userId);
Task<bool> AdminUpdateUserAsync(AdminUpdateUserDTO updateDto);
}
}