SPMS_API/SPMS.Application/DTOs/Message/MessageInfoResponseDto.cs
SEAN 0eacf25eb3 improvement: 메시지 상세/프리뷰 응답 강화 (#226)
- MessageInfoResponseDto에 service_name, service_code, created_by_name, latest_send_status 추가
- MessagePreviewRequestDto/ResponseDto에 JsonPropertyName snake_case 적용
- MessagePreviewResponseDto에 link_type 필드 추가
- Repository에 GetByMessageCodeWithDetailsAsync (Navigation Include), GetSendStatsAsync 추가
- MessageService.GetInfoAsync에서 서비스/작성자/발송상태 매핑
- MessageService.PreviewAsync에서 link_type 반환

Closes #226
2026-02-25 14:43:29 +09:00

49 lines
1.3 KiB
C#

using System.Text.Json.Serialization;
namespace SPMS.Application.DTOs.Message;
public class MessageInfoResponseDto
{
[JsonPropertyName("message_code")]
public string MessageCode { get; set; } = string.Empty;
[JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
[JsonPropertyName("body")]
public string Body { get; set; } = string.Empty;
[JsonPropertyName("image_url")]
public string? ImageUrl { get; set; }
[JsonPropertyName("link_url")]
public string? LinkUrl { get; set; }
[JsonPropertyName("link_type")]
public string? LinkType { get; set; }
[JsonPropertyName("data")]
public object? Data { get; set; }
[JsonPropertyName("variables")]
public List<string> Variables { get; set; } = new();
[JsonPropertyName("is_active")]
public bool IsActive { get; set; }
[JsonPropertyName("service_name")]
public string ServiceName { get; set; } = string.Empty;
[JsonPropertyName("service_code")]
public string ServiceCode { get; set; } = string.Empty;
[JsonPropertyName("created_by_name")]
public string CreatedByName { get; set; } = string.Empty;
[JsonPropertyName("latest_send_status")]
public string LatestSendStatus { get; set; } = "pending";
[JsonPropertyName("created_at")]
public DateTime CreatedAt { get; set; }
}