2025-01-27 09:17:17 +05:00
|
|
|
|
2025-01-23 12:46:34 +05:00
|
|
|
using DD.Persistence.Database.EntityAbstractions;
|
|
|
|
using DD.Persistence.ModelsAbstractions;
|
2024-12-05 18:13:52 +05:00
|
|
|
using Microsoft.EntityFrameworkCore;
|
2024-12-10 10:43:12 +05:00
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
2024-11-25 10:05:23 +05:00
|
|
|
|
2025-01-23 12:46:34 +05:00
|
|
|
namespace DD.Persistence.Database.Entity;
|
2024-11-25 10:05:23 +05:00
|
|
|
|
|
|
|
/// <summary>
|
2024-11-25 18:11:46 +05:00
|
|
|
/// Часть записи, описывающая изменение
|
2024-11-25 10:05:23 +05:00
|
|
|
/// </summary>
|
2024-12-26 17:23:50 +05:00
|
|
|
[Table("change_log")]
|
2025-02-10 17:25:45 +05:00
|
|
|
public class ChangeLog : IDiscriminatorItem, IChangeLog
|
2024-11-25 10:05:23 +05:00
|
|
|
{
|
2024-12-05 18:13:52 +05:00
|
|
|
[Key, Comment("Ключ записи")]
|
2024-11-25 10:05:23 +05:00
|
|
|
public Guid Id { get; set; }
|
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Comment("Дискриминатор таблицы")]
|
2025-02-10 17:25:45 +05:00
|
|
|
public Guid DiscriminatorId { get; set; }
|
2024-11-25 18:11:46 +05:00
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Comment("Автор изменения")]
|
2024-11-25 10:05:23 +05:00
|
|
|
public Guid IdAuthor { get; set; }
|
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Comment("Дата создания записи")]
|
2024-11-25 10:05:23 +05:00
|
|
|
public DateTimeOffset Creation { get; set; }
|
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Comment("Дата устаревания (например при удалении)")]
|
2024-11-25 10:05:23 +05:00
|
|
|
public DateTimeOffset? Obsolete { get; set; }
|
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Comment("Id заменяющей записи")]
|
2024-11-25 10:05:23 +05:00
|
|
|
public Guid? IdNext { get; set; }
|
|
|
|
|
2024-12-05 18:13:52 +05:00
|
|
|
[Column(TypeName = "jsonb"), Comment("Значение")]
|
2024-11-26 11:47:42 +05:00
|
|
|
public required IDictionary<string, object> Value { get; set; }
|
2025-02-11 17:58:52 +05:00
|
|
|
|
|
|
|
[Required, Comment("Id коммита")]
|
|
|
|
public Guid IdCommit { get; set; }
|
|
|
|
|
|
|
|
[Required, ForeignKey(nameof(IdCommit)), Comment("Коммит пользователя")]
|
|
|
|
public virtual ChangeLogCommit Commit { get; set; } = null!;
|
2024-11-25 10:05:23 +05:00
|
|
|
}
|