using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace Pf2e.Database.Model.Base.Targets;
///
/// Внешняя ссылка сущности.
///
[PrimaryKey(nameof(EntityId), nameof(TargetId))]
public class EntityExternal
{
///
/// Идентификатор сущности.
///
[Column(Order = 1)]
[Comment("Идентификатор сущности")]
public int EntityId { get; set; }
///
/// Идентификатор цели.
///
[Column(Order = 2)]
[Comment("Идентификатор цели")]
public int TargetId { get; set; }
///
/// Идентификатор элемента по ссылке.
///
[Column(Order = 3)]
[MaxLength(255)]
[Comment("Идентификатор элемента в ссылке")]
public string? ExternalId { get; set; } = null;
///
/// Конечная часть URL внешней ссылки.
/// Для источников Foundry - полный UUID объекта.
///
[Column(Order = 4)]
[MaxLength(255)]
[Comment("Часть URL до объекта. Для источников Foundry - полный UUID объекта")]
public string Suffix { get; set; } = "";
///
/// Контрольная сумма объекта.
///
[Column(Order = 5)]
[MaxLength(32)]
[Comment("Контрольная сумма объекта")]
public string Md5 { get; set; } = null!;
///
/// Сущность, которая ссылается на внешнюю ссылку.
///
public Entity Entity { get; set; } = null!;
///
/// Цель внешней ссылки.
///
public ExternalTarget Target { get; set; } = null!;
}