namespace Deal.Modules.Discovery.Application;
///
/// Статусы задачи поиска Discovery (колонка DiscTasks.Status; discovery.py L147, api-map §4.8).
///
///
/// draft — создана, поиск не запускался; running — поиск/оценка/вступления идут; paused — поставлена на паузу
/// вручную; done — план авто-вступлений выполнен (воркер, discovery_worker _finish_done); failed — упала/остановлена
/// (зарезервировано прототипом). done/failed — терминальные: не занимают бюджет plan_joins (python _DONE_TASK L37)
/// и при повторном start сбрасывают прогресс поиска (start_task L332–339).
///
public static class DiscoveryTaskStatuses
{
///
/// Создана, поиск ещё не запускался (значение по умолчанию при INSERT).
///
public const string Draft = "draft";
///
/// Поиск запущен (обрабатывается воркером).
///
public const string Running = "running";
///
/// Поставлена на паузу вручную (POST …/pause); прогресс поиска сохраняется.
///
public const string Paused = "paused";
///
/// План авто-вступлений выполнен (терминальный; повторный start сбрасывает прогресс).
///
public const string Done = "done";
///
/// Упала/остановлена (терминальный статус прототипа; повторный start сбрасывает прогресс).
///
public const string Failed = "failed";
///
/// Проверка терминального статуса: задача не занимает бюджет plan_joins (python _DONE_TASK L37).
///
/// Статус задачи.
/// True — done/failed (повторный start сбрасывает прогресс поиска, L332–339).
public static bool IsFinished(string status)
{
return status is Done or Failed;
}
}