SPMS_API/SPMS.Domain/Interfaces/IDeviceRepository.cs
SEAN afaeb6d116 improvement: 관리자 기기 목록 API 확장 (#237)
- DeviceListRequestDto: keyword, marketing_agreed 필터 추가
- DeviceSummaryDto: 8개 응답 필드 추가 (device_token, service_name, service_code, os_version, app_version, marketing_agreed, is_active, created_at)
- DeviceRepository: keyword/marketingAgreed 필터 + Include(Service) 추가
- DeviceService: 새 필터 전달 + 응답 매핑 확장

Closes #237
2026-02-25 16:56:59 +09:00

18 lines
739 B
C#

using SPMS.Domain.Entities;
using SPMS.Domain.Enums;
namespace SPMS.Domain.Interfaces;
public interface IDeviceRepository : IRepository<Device>
{
Task<Device?> GetByServiceAndTokenAsync(long serviceId, string deviceToken);
Task<Device?> GetByIdAndServiceAsync(long id, long serviceId);
Task<int> GetActiveCountByServiceAsync(long serviceId);
Task<IReadOnlyList<Device>> GetByPlatformAsync(long serviceId, Platform platform);
Task<(IReadOnlyList<Device> Items, int TotalCount)> GetPagedAsync(
long? serviceId, int page, int size,
Platform? platform = null, bool? pushAgreed = null,
bool? isActive = null, List<int>? tags = null,
string? keyword = null, bool? marketingAgreed = null);
}