using PARR.Domain.Entities.Base.History;

namespace PARR.Domain.Common.Rabbit.Messages.TemplateMatching
{
    /// <summary>
    /// Модель в MQ, простого создания Template
    /// </summary>
    public record TemplateGeneratorMessage
    {
        /// <summary>
        /// Id регламентной работы
        /// </summary>
        public Guid JobId { get; init; }

        /// <summary>
        /// Id Юнита(единицы обслуживания)/ЭК
        /// </summary>
        public Guid UnitId { get; init; }

        /// <summary>
        /// Актировать шаблон при инициализации
        /// </summary>
        public bool? IsActiveTemplate { get; init; }

        /// <summary>
        /// Актировать расписание при инициализации
        /// </summary>
        public bool? IsActiveSchedule { get; init; }

        /// <summary>
        /// Инициатор запроса к генератору
        /// </summary>
        public HistoryInitiator? HistoryInitiator { get; init; }

        /// <summary>
        /// Связанные ЭК для сгруппированного типа JobGroup
        /// </summary>
        public required List<UnitInTemplateMessage> UnitsInTemplate { get; init; }

        /// <summary>
        /// Индекс, используется в групповых шаблонах
        /// </summary>
        public int? Index { get; init; }

    }
}
