using Application.DTOs.UserDTOs; using Application.DTOs.NodeDTOs; using Application.DTOs.FileDTOs; namespace Application.Abstractions.Interfaces { public interface IUserService { Task GetUserByIdAsync(int userId); Task> GetAllUsersAsync(); Task> SearchUsersAsync(string query, int currentUserId); Task GetProfileAsync(int userId); Task GetMyNodeAsync(int userId); Task UpdateMyNodeAsync(int userId, UpdateMyNodeDTO updateDto); Task UpdateProfileAsync(int userId, UpdateUserProfileDTO updateDto); Task UpdateProfileWithPhotoAsync(int userId, UpdateUserProfileDTO updateDto, FileUploadDTO? profilePhoto, string contentRootPath); Task GetProfilePhotoAsync(int userId); Task GetProfilePhotoContentAsync(int userId, string contentRootPath); Task DeleteUserAsync(int userId); Task AdminUpdateUserAsync(AdminUpdateUserDTO updateDto); } }