using System.Reflection; using System.Text.Json.Serialization; using Microsoft.AspNetCore.Builder; using SimplePlugin.Abstractions; namespace Moonlight.Api; public abstract class MoonlightPlugin : IPluginModule { protected MoonlightPlugin[] Plugins { get; private set; } public void Initialize(MoonlightPlugin[] plugins) { Plugins = plugins; } public virtual void PreBuild(WebApplicationBuilder builder) { } public virtual void PostBuild(WebApplication application) { } public virtual void PostMiddleware(WebApplication application) { } }