71 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using System.Text.Json.Serialization;
using gehGassi.Dto.Common;
namespace gehGassi.Dto.Messages
{
/// <summary>
/// DTO für eine Nachricht
/// </summary>
public class MessageDto : SyncEntityDto
{
/// <summary>
/// Id der Konversation
/// </summary>
[Required]
[MaxLength(128)]
[JsonPropertyName("conversationId")]
public string ConversationId { get; set; }
/// <summary>
/// Sender der Nachricht
/// </summary>
[MaxLength(128)]
[JsonPropertyName("senderId")]
public string SenderId { get; set; }
/// <summary>
/// Empfänger der Nachricht
/// </summary>
[MaxLength(128)]
[JsonPropertyName("receiverId")]
public string ReceiverId { get; set; }
/// <summary>
/// Inhalt Nachricht
/// </summary>
[MaxLength(500)]
[JsonPropertyName("content")]
public string Content { get; set; }
}
/// <summary>
/// Dto für die Bestätigung des erfolgreichen Erhalts von Nachrichten
/// </summary>
public class MessageConfirmationDto
{
/// <summary>
/// Sender der Nachricht
/// </summary>
[MaxLength(128)]
[JsonPropertyName("senderId")]
public string SenderId { get; set; }
/// <summary>
/// Letztes update
/// </summary>
[JsonPropertyName("lastUpdate")]
public DateTimeOffset? LastUpdate { get; set; }
/// <summary>
/// Id der Konversation
/// </summary>
[MaxLength(128)]
[JsonPropertyName("conversationId")]
public string ConversationId { get; set; }
}
}