37 lines
2.3 KiB
C#
37 lines
2.3 KiB
C#
using LCU.API.Internal.Operations.IncentiveApi.Models.DataTransfer;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Models.Dayforce;
|
|
using LCU.Library.Internal.IncentiveApiModels.Common;
|
|
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using LCU.Library.Internal.IncentiveApiModels.Requests;
|
|
using LCU.Library.Internal.IncentiveApiModels.Results;
|
|
|
|
namespace LCU.API.Internal.Operations.IncentiveApiLib.Services;
|
|
|
|
public interface IUserService
|
|
{
|
|
Task<ICollection<AppUser>> GetAllUsersAsync(UserSearchRequest userSearchRequest);
|
|
Task<AppUser> GetUserByEmployeeIdAsync(string employeeId);
|
|
Task<AppUser> GetUserByAdEmailAsync(string adEmail);
|
|
Task<AppUser> GetActiveUserByEmployeeIdAsync(string employeeId);
|
|
Task<AppUser> GetActiveUserByAdEmailAsync(string adEmail);
|
|
Task<AppUser> FindUserAsync( string employeeId, string adEmail);
|
|
Task<AppUser> SaveUserAsync(AppUser newAppUser);
|
|
Task<ICollection<AppUser>> SaveUserRangeAsync(List<AppUser> newUsers);
|
|
Task<AppUser> SyncDayForceEmployee(ActiveEmployeeResult activeEmployee);
|
|
Task<AppUser> TerminateDayForceEmployee(TerminatedEmployeeResult terminatedEmployee);
|
|
Task<List<UserDepartment>> AssignDepartments(string employeeId, DepartmentAssignmentRequest assignment);
|
|
Task<UserDepartment> UpdateDepartmentAssignment(DepartmentUpdateRequest request);
|
|
Task<List<AppUser>> FindDepartmentAssignments(DepartmentPersonnelSearchRequest searchRequest);
|
|
Task<List<Permission>> AssignPermissions(string employeeId, List<string> permCodes);
|
|
Task<List<Permission>> RemovePermissions(string employeeId, List<string> permCodes);
|
|
Task<List<Permission>> UpdatePermissions(string employeeId, AdditionalPermissionRequest request);
|
|
public Task<AppUser> TryFindSingleUserByName(UserNameSearchRequest searchRequest);
|
|
Task<AppUser> FindManager(AppUser appUser);
|
|
Task<List<AppUser>> FindDepartmentManagers(int departmentId);
|
|
Task<bool> UserHasAnyRequiredPermission(string appUserEmail, List<string> allowedPermissions);
|
|
Task<bool> SyncActiveUserIds();
|
|
Task<IReadOnlyCollection<UserSummary>> GetAllUserSummariesAsync();
|
|
IReadOnlyCollection<UserSummary> GetTerminatedUsersAsync(MonthRange monthRange);
|
|
Task<EmployeeDetailsUpdateResult> UpdateEmployeeDetails(EmployeeDetailsUpdate employeeDetailsUpdate);
|
|
}
|