using Deal.Modules.Cards.Application.Dtos; using Deal.Modules.Cards.Application.Models; namespace Deal.Modules.Cards.Application.Abstractions; /// /// Политика контейнера: правила размещения карточек и жизненного цикла зоны. /// /// /// Роль контейнера (не enum): пользовательская колонка-фильтр, стадия, «Неразобранное», архив/корзина, /// терминальная зона — каждая реализует политику по-своему. Политика отвечает на два вопроса: /// (1) можно ли карточке попасть сюда (правила фильтрации) и (2) что происходит с карточкой здесь /// (возврат, автоочистка, терминальность, напоминания). /// public interface IContainerPolicy { /// /// Правила попадания карточки в контейнер (null — фильтра нет, карточки кладутся вручную/ИИ). /// public IContainerRules? Rules { get; } /// /// Можно ли вернуть карточку из контейнера на доску пространства (архив/корзина — да; терминальные — нет). /// public bool CanRestore { get; } /// /// Терминальная зона: карточка завершила жизненный путь, ручная очистка без возврата. /// public bool IsTerminal { get; } /// /// Автоочистка контейнера: срок хранения карточек (null — автоочистки нет). /// public TimeSpan? Retention { get; } }