This commit is contained in:
2025-11-12 14:29:31 +01:00
parent 8ab1689309
commit d798eea1d8
25 changed files with 394 additions and 2778 deletions

View File

@@ -0,0 +1,7 @@
namespace ModpackUpdater.Apps.Manager.Api.Model;
public class WorkspaceContext(IMainApi mainApi, IWorkspace workspace)
{
public IMainApi MainApi => mainApi;
public IWorkspace Workspace { get; set; } = workspace;
}

View File

@@ -10,16 +10,12 @@ public abstract class WorkspaceFeature(string identifier, string name) : PluginF
return workspace?.Config == null || workspace.Config.ProviderId == Identifier;
}
public virtual bool Configure(ref IWorkspace? workspace)
public virtual async Task Configure(WorkspaceContext context)
{
OnConfigure(ref workspace);
await OnConfigure(context);
if (workspace?.Config is null)
return false;
workspace.Config.ProviderId = Identifier;
return true;
if (context?.Workspace?.Config is not null)
context.Workspace.Config.ProviderId = Identifier;
}
public virtual IWorkspace CreateFromConfig(WorkspaceConfig config)
@@ -30,5 +26,5 @@ public abstract class WorkspaceFeature(string identifier, string name) : PluginF
protected abstract void OnCreate(out IWorkspace workspace, WorkspaceConfig config);
protected abstract bool OnConfigure(ref IWorkspace? workspace);
protected abstract Task OnConfigure(WorkspaceContext context);
}