- 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
49 lines
1.3 KiB
C#
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; }
|
|
}
|