18 lines
752 B
C#
18 lines
752 B
C#
namespace ModeusSchedule.Abstractions;
|
|
|
|
// Базовый контракт плагина (общий для хоста и плагинов)
|
|
public interface IPlugin
|
|
{
|
|
string Name { get; }
|
|
|
|
// Регистрация сервисов плагина в DI (выполняется до Build())
|
|
void ConfigureServices(IServiceCollection services);
|
|
|
|
// Регистрация маршрутов (Minimal API) плагина после Build()
|
|
void MapEndpoints(IEndpointRouteBuilder endpoints);
|
|
|
|
// Инвалидация или обновление внутренних кэшей плагина.
|
|
Task InvalidateCacheAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken) =>
|
|
Task.CompletedTask;
|
|
}
|