2026-05-14 11:00:12 -05:00
|
|
|
using Data.SeaHavenIndustries;
|
2026-07-24 17:35:34 -03:00
|
|
|
using SeaHaven.DataServices.Dto;
|
2026-05-14 11:00:12 -05:00
|
|
|
|
|
|
|
|
namespace SeaHaven.DataServices.Interfaces
|
|
|
|
|
{
|
|
|
|
|
public interface IUserDataService
|
|
|
|
|
{
|
|
|
|
|
Task<ApplicationUser?> GetByIdAsync(string id);
|
|
|
|
|
Task<IEnumerable<ApplicationUser>> GetAllAsync();
|
|
|
|
|
Task<ApplicationUser?> GetByEmailAsync(string email);
|
|
|
|
|
Task<bool> ExistsAsync(string id);
|
2026-07-24 17:35:34 -03:00
|
|
|
|
|
|
|
|
Task<IReadOnlyList<UserListRowData>> GetAllForListAsync(CancellationToken cancellationToken);
|
|
|
|
|
Task<UserProfileData?> GetProfileAsync(string id, CancellationToken cancellationToken);
|
|
|
|
|
Task<bool> UpdateProfileAsync(string id, string? name, string? email, string? contact, CancellationToken cancellationToken);
|
|
|
|
|
Task<ApplicationUser?> GetForEditAsync(string id, CancellationToken cancellationToken);
|
2026-09-16 18:26:20 -03:00
|
|
|
Task<bool> IsAccountOwnerAsync(string userId, CancellationToken cancellationToken);
|
2026-07-24 17:35:34 -03:00
|
|
|
Task<ApplicationUser?> GetByEmailNormalizedAsync(string email, CancellationToken cancellationToken);
|
|
|
|
|
Task UpdateUserAsync(ApplicationUser user, CancellationToken cancellationToken);
|
|
|
|
|
Task DeleteUserWithCascadeAsync(ApplicationUser user, CancellationToken cancellationToken);
|
2026-09-23 03:35:23 -03:00
|
|
|
Task ExecuteTransactionalAsync(Func<CancellationToken, Task> callback, CancellationToken cancellationToken);
|
2026-07-24 17:35:34 -03:00
|
|
|
Task<string?> GetEmailByIdAsync(string userId, CancellationToken cancellationToken);
|
2026-07-17 13:18:46 -03:00
|
|
|
Task<IReadOnlyDictionary<string, string>> GetDisplayNamesByIdsAsync(IEnumerable<string> ids);
|
2026-05-14 11:00:12 -05:00
|
|
|
}
|
|
|
|
|
}
|