feat(templateUpdater): расширены правила валидации шаблона перед обновлением
This commit is contained in:
@@ -170,13 +170,35 @@ namespace PARR.TemplateUpdater.Services
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private async Task<bool> IsValidAsync(TemplateUpdaterMq query)
|
private async Task<bool> IsValidAsync(TemplateUpdaterMq query)
|
||||||
{
|
{
|
||||||
var template = await templateService.Get().AsNoTracking().AnyAsync(t => t.Id == query.TemplateId);
|
var template= await templateService.Get().AsNoTracking()
|
||||||
if (!template)
|
.Include(t=>t.RobotConfigurations)
|
||||||
|
.FirstOrDefaultAsync(t => t.Id == query.TemplateId);
|
||||||
|
|
||||||
|
if (template == null)
|
||||||
{
|
{
|
||||||
logger.LogError("Сообщение не валидно. Не найден шаблон с id: {TemplateId}", query.TemplateId);
|
logger.LogError("Сообщение не валидно. Не найден шаблон с id: {TemplateId}", query.TemplateId);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(template.ScheduleEsppId == null)
|
||||||
|
{
|
||||||
|
logger.LogError("Сообщение не валидно. Номер расписания не может быть null, робот не сможет обновить шаблон: {TemplateName}", query.Name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.TemplateOrder, template);
|
||||||
|
if (config == null)
|
||||||
|
{
|
||||||
|
logger.LogError("Сообщение не валидно. Не создана конфигурация роботов: {TemplateName}", query.Name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config.TaskStatusCode != (int)TaskStatusEnum.Ok)
|
||||||
|
{
|
||||||
|
logger.LogError("Сообщение не валидно. Не закончено создание или предыдущее обновление - нельзя начинать новое изменение шаблона: {TemplateName}", query.Name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(query.Name?.Trim()))
|
if (string.IsNullOrEmpty(query.Name?.Trim()))
|
||||||
{
|
{
|
||||||
logger.LogError("Сообщение не валидно. Имя шаблона не может быть пустым: {TemplateName}", query.Name);
|
logger.LogError("Сообщение не валидно. Имя шаблона не может быть пустым: {TemplateName}", query.Name);
|
||||||
|
|||||||
Reference in New Issue
Block a user