SPMS_API/SPMS.Application/DTOs/Device/DeviceListResponseDto.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

59 lines
1.5 KiB
C#

using System.Text.Json.Serialization;
using SPMS.Application.DTOs.Notice;
namespace SPMS.Application.DTOs.Device;
public class DeviceListResponseDto
{
[JsonPropertyName("items")]
public List<DeviceSummaryDto> Items { get; set; } = new();
[JsonPropertyName("pagination")]
public PaginationDto Pagination { get; set; } = new();
}
public class DeviceSummaryDto
{
[JsonPropertyName("device_id")]
public long DeviceId { get; set; }
[JsonPropertyName("platform")]
public string Platform { get; set; } = string.Empty;
[JsonPropertyName("model")]
public string? Model { get; set; }
[JsonPropertyName("push_agreed")]
public bool PushAgreed { get; set; }
[JsonPropertyName("tags")]
public List<int>? Tags { get; set; }
[JsonPropertyName("last_active_at")]
public DateTime? LastActiveAt { get; set; }
[JsonPropertyName("device_token")]
public string DeviceToken { get; set; } = string.Empty;
[JsonPropertyName("service_name")]
public string ServiceName { get; set; } = string.Empty;
[JsonPropertyName("service_code")]
public string ServiceCode { get; set; } = string.Empty;
[JsonPropertyName("os_version")]
public string? OsVersion { get; set; }
[JsonPropertyName("app_version")]
public string? AppVersion { get; set; }
[JsonPropertyName("marketing_agreed")]
public bool MarketingAgreed { get; set; }
[JsonPropertyName("is_active")]
public bool IsActive { get; set; }
[JsonPropertyName("created_at")]
public DateTime CreatedAt { get; set; }
}