using System.ComponentModel;
using System.Text.Json.Serialization;
using decePubClient.Models.Types;

namespace decePubClient.Models
{
	public class Message
	{
		public MessageUser User { get; set; } = new();
		public MessageType MessageType { get; set; } = MessageType.Public;
		public string RootMessageId { get; set; }
		public string MessageId { get; set; }
		public string Title { get; set; }
		public string Content { get; set; }
		public bool IsFavourite { get; set; } = false;
		public int BoostsCounter { get; set; } = 0;
		public bool IsBoostedByCurrentUser { get; set; } = false;
		public BoostingUser BoostingUser { get; set; }
		public List<Media> Medias { get; set; } = new();
		public DateTime CreatedAt { get; set; }

		[Bindable(false), JsonIgnore]
		public bool IsOptionsOpen { get; set; } = false;
	}
}
