Enhance grid import/export functionality to support dynamic groups and collections
ci / build-backend (push) Successful in 1m43s
ci / build-frontend (push) Successful in 58s
ci / tests (push) Successful in 4m14s
ci / sonar (push) Successful in 4m38s

Updated the grid import/export process to allow for the inclusion of groups and collections directly from the configuration file. This enhancement ensures that missing groups and collections are created during import, improving the flexibility of the grid management system. Adjusted related classes and methods to accommodate these changes, ensuring a cohesive integration. Enhanced documentation and user prompts to clarify the new functionality and its usage.
This commit is contained in:
Leonid Pershin
2026-07-28 02:23:43 +03:00
parent f7e7b5f7c3
commit fe11034b16
14 changed files with 539 additions and 28 deletions
@@ -19,7 +19,7 @@ public sealed class BuildGridPromptQueryHandler(IAppDbContext dbContext, GroupCa
/// с ограниченным контекстом: группы для сетки важнее поимённого перечисления, поэтому список
/// обрезается, и об обрезке прямо написано в запросе.
/// </summary>
private const int ShowLimit = 150;
private const int ShowLimit = 300;
private static readonly CultureInfo Culture = CultureInfo.GetCultureInfo("ru-RU");
@@ -116,8 +116,9 @@ public sealed class BuildGridPromptQueryHandler(IAppDbContext dbContext, GroupCa
}
text.AppendLine(
"Имя группы в слотах должно совпадать с этим списком дословно. «Единиц» — сколько "
+ "выходов группа даёт без повторов, «средняя» — длительность одной единицы."
"Эти группы уже собраны — их имена можно ставить в слоты как есть. «Единиц» — сколько "
+ "выходов группа даёт без повторов, «средняя» — длительность одной единицы. "
+ "Если нужного разреза библиотеки здесь нет, собери свою группу в разделе groups."
);
text.AppendLine();
text.AppendLine("| Группа | Тип | Единиц | Средняя | Рейтинг | Жанр |");
@@ -149,8 +150,8 @@ public sealed class BuildGridPromptQueryHandler(IAppDbContext dbContext, GroupCa
}
text.AppendLine(
$"Всего готового к эфиру: {shows.Count}. Это справка о том, чем канал располагает; "
+ "слоты всё равно ссылаются на группы, а не на шоу."
$"Всего готового к эфиру: {shows.Count}. Названия — ключ: собирая свои группы, пиши их "
+ "дословно отсюда, иначе шоу не найдётся при загрузке."
);
text.AppendLine();
text.AppendLine("| Шоу | Тип | Год | Единиц | Средняя | Рейтинг | Жанр |");