Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.API.Internal.Operations.IncentiveApiLib/Repositories/IUserRepository.cs
T
2026-03-17 09:53:09 -05:00

26 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Common;
using LCU.Library.Internal.IncentiveApiModels.Requests;
namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
public interface IUserRepository
{
Task<ICollection<AppUser>> GetAllUsersAsync();
Task<ICollection<AppUser>> GetAllUsersToPayoutAsync(MonthRange range);
Task<AppUser> FindUserByEmployeeIdAsync(string employeeId);
Task<AppUser> FindUserByAdEmailAsync(string adEmail);
Task<AppUser> FindActiveUserByEmployeeIdAsync(string employeeId);
Task<AppUser> FindActiveUserByAdEmailAsync(string adEmail);
Task<AppUser> FindUserAsync(string employeeId, string adEmail);
Task<ICollection<AppUser>> FindUsersByHomeDepartmentsAsync(List<string> homeDepartments);
Task<ICollection<AppUser>> FindUsersByBaseRolesAsync(List<string> baseRoles);
Task<AppUser> SaveUserAsync(AppUser newAppUser);
Task<ICollection<AppUser>> SaveUserRangeAsync(List<AppUser> newUsers);
Task<ICollection<AppUser>> SearchUsersAsync(UserSearchRequest userSearchRequest);
Task<IReadOnlyCollection<UserSummary>> GetAllUserSummariesAsync();
IReadOnlyCollection<UserSummary> GetTerminatedUsersAsync(MonthRange monthRange);
}