Files
GreenHomeBack/src/GreenHome.Application/Interfaces/IAdminService.cs

16 lines
1020 B
C#

using GreenHome.Application.Dtos.Admin;
namespace GreenHome.Application;
public interface IAdminService
{
Task<AdminDashboardDto> GetDashboardAsync(CancellationToken cancellationToken);
Task<PagedResult<AdminUserListItemDto>> GetUsersAsync(AdminUserFilter filter, CancellationToken cancellationToken);
Task<AdminUserDetailDto?> GetUserAsync(int id, CancellationToken cancellationToken);
Task<UserMutationOutcome> SetUserRoleAsync(int id, Domain.UserRole role, int currentAdminId, CancellationToken cancellationToken);
Task<UserMutationOutcome> SetUserStatusAsync(int id, bool isEnabled, int currentAdminId, CancellationToken cancellationToken);
Task<PagedResult<AdminDeviceListItemDto>> GetDevicesAsync(AdminDeviceFilter filter, CancellationToken cancellationToken);
Task<AdminDeviceDetailDto?> GetDeviceAsync(int id, CancellationToken cancellationToken);
Task<IReadOnlyList<UsageDayDto>> GetUsageAsync(DateTime? from, DateTime? to, int? userId, CancellationToken cancellationToken);
}