using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace Persistence.Database.Model;
///
/// Часть записи, описывающая изменение
///
public class ChangeLog : IChangeLog
{
///
/// Ид записи
///
[Key, Column("Id")]
public Guid Id { get; set; }
///
/// Дискриминатор таблицы
///
[Column("IdDiscriminator")]
public Guid IdDiscriminator { get; set; }
///
/// Автор изменения
///
[Column("IdAuthor")]
public Guid IdAuthor { get; set; }
///
/// Редактор
///
[Column("IdEditor")]
public Guid? IdEditor { get; set; }
///
/// Дата создания записи
///
[Column("Creation")]
public DateTimeOffset Creation { get; set; }
///
/// Дата устаревания (например при удалении)
///
[Column("Obsolete")]
public DateTimeOffset? Obsolete { get; set; }
///
/// Id заменяющей записи
///
[Column("IdNext")]
public Guid? IdNext { get; set; }
///
/// Значение
///
[Column("Value", TypeName = "jsonb")]
public required object Value { get; set; }
}