ad62ac96ac
Шаг маршрута получает флаг «Автосогласование» (AutoApprove). Когда у активной строки такого шага истекает SLA, часовая задача Hangfire принимает за согласующего положительное решение: помечает строку, двигает очередь и пересчитывает статус заявки — тем же набором правил, что и портал, когда решение принимает человек (зеркало approverDecision.service.ts/decide). Флаг не nullable, в отличие от SLA рядом: наследовать его неоткуда — у типа заявки такого поля нет и быть не должно. - ApprovalRow и константы статусов переехали в общий Approvals: их теперь читают и напоминания, и автосогласование, разъезжаться разбору одного и того же списка нельзя; - SharePointClient научился MERGE'ить элементы (раньше умел только читать). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
using System.Reflection;
|
|
using FluentValidation;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Tnsu.ApprovalRoute.Application.Approvals;
|
|
using Tnsu.ApprovalRoute.Application.Reminders;
|
|
using Tnsu.ApprovalRoute.Application.ListPartitioning;
|
|
using Tnsu.ApprovalRoute.Application.Reports;
|
|
using Tnsu.ApprovalRoute.Application.RequestTypes;
|
|
using Tnsu.ApprovalRoute.Application.TemplateRoutes;
|
|
using Tnsu.ApprovalRoute.Application.TemplateRouteSteps;
|
|
|
|
namespace Tnsu.ApprovalRoute.Application;
|
|
|
|
public static class ApplicationServiceCollectionExtensions
|
|
{
|
|
public static IServiceCollection AddApprovalRouteApplication(this IServiceCollection services)
|
|
{
|
|
services.AddScoped<ReminderService>();
|
|
services.AddScoped<RequestTypeService>();
|
|
services.AddScoped<ListPartitionRegistry>();
|
|
services.AddScoped<ListPartitionService>();
|
|
// Джоба резолвится Hangfire'ом из scope на каждое выполнение.
|
|
services.AddScoped<CreateNextListPartitionJob>();
|
|
services.AddScoped<AutoApproveService>();
|
|
services.AddScoped<AutoApproveJob>();
|
|
services.AddScoped<VacancyReportService>();
|
|
services.AddScoped<TemplateRouteService>();
|
|
services.AddScoped<TemplateRouteStepService>();
|
|
|
|
services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
|
|
|
|
return services;
|
|
}
|
|
}
|