diff --git a/ModpackUpdater.Apps.Manager/Api/Model/IWorkspace.cs b/ModpackUpdater.Apps.Manager/Api/Model/IWorkspace.cs index 77a81f6..fd0962a 100644 --- a/ModpackUpdater.Apps.Manager/Api/Model/IWorkspace.cs +++ b/ModpackUpdater.Apps.Manager/Api/Model/IWorkspace.cs @@ -6,6 +6,8 @@ public interface IWorkspace { WorkspaceConfig Config { get; } + ModpackConfig? ModpackConfig { get; } + InstallInfos? InstallInfos { get; } UpdateInfos? UpdateInfos { get; } diff --git a/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceConfig.cs b/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceConfig.cs index 3846aa2..59fb3df 100644 --- a/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceConfig.cs +++ b/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceConfig.cs @@ -9,4 +9,6 @@ public abstract class WorkspaceConfig [JsonIgnore] public abstract string DisplayText { get; } + + public string? ModpackConfigUrl { get; set; } } diff --git a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspace.cs b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspace.cs index 5f67f54..1c9b0b6 100644 --- a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspace.cs +++ b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspace.cs @@ -16,12 +16,16 @@ internal class GitLabRepoWorkspace(GitLabRepoWorkspaceConfig config) : IWorkspac public IGitLabClient Gitlab { get; } = new GitLabClient(config.InstanceUrl, config.ApiToken); + public ModpackConfig? ModpackConfig { get; private set; } + public InstallInfos? InstallInfos { get; private set; } public UpdateInfos? UpdateInfos { get; private set; } public async Task Load() { + ModpackConfig = ModpackConfig.LoadFromUrl(Config.ModpackConfigUrl); + rawInstallInfos = await GetContent(ConfigX.FileLocationInstallJson); InstallInfos = InstallInfos.Parse(rawInstallInfos); diff --git a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.Designer.cs b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.Designer.cs index 1f14a20..8fab3f7 100644 --- a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.Designer.cs +++ b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.Designer.cs @@ -41,6 +41,8 @@ partial class GitLabRepoWorkspaceConfigEditor radLabel4 = new Telerik.WinControls.UI.RadLabel(); radLabel5 = new Telerik.WinControls.UI.RadLabel(); radLabel6 = new Telerik.WinControls.UI.RadLabel(); + radLabel7 = new Telerik.WinControls.UI.RadLabel(); + radTextBox_ModpackConfigUrl = new Telerik.WinControls.UI.RadTextBox(); tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)radTextBox_FileLocUpdateJson).BeginInit(); ((System.ComponentModel.ISupportInitialize)radTextBox_FileLocInstallJson).BeginInit(); @@ -54,6 +56,8 @@ partial class GitLabRepoWorkspaceConfigEditor ((System.ComponentModel.ISupportInitialize)radLabel4).BeginInit(); ((System.ComponentModel.ISupportInitialize)radLabel5).BeginInit(); ((System.ComponentModel.ISupportInitialize)radLabel6).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radLabel7).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radTextBox_ModpackConfigUrl).BeginInit(); SuspendLayout(); // // tableLayoutPanel1 @@ -74,10 +78,12 @@ partial class GitLabRepoWorkspaceConfigEditor tableLayoutPanel1.Controls.Add(radLabel4, 0, 6); tableLayoutPanel1.Controls.Add(radLabel5, 0, 8); tableLayoutPanel1.Controls.Add(radLabel6, 0, 10); + tableLayoutPanel1.Controls.Add(radLabel7, 0, 12); + tableLayoutPanel1.Controls.Add(radTextBox_ModpackConfigUrl, 0, 13); tableLayoutPanel1.Dock = DockStyle.Fill; tableLayoutPanel1.Location = new Point(0, 30); tableLayoutPanel1.Name = "tableLayoutPanel1"; - tableLayoutPanel1.RowCount = 12; + tableLayoutPanel1.RowCount = 14; tableLayoutPanel1.RowStyles.Add(new RowStyle()); tableLayoutPanel1.RowStyles.Add(new RowStyle()); tableLayoutPanel1.RowStyles.Add(new RowStyle()); @@ -90,8 +96,9 @@ partial class GitLabRepoWorkspaceConfigEditor tableLayoutPanel1.RowStyles.Add(new RowStyle()); tableLayoutPanel1.RowStyles.Add(new RowStyle()); tableLayoutPanel1.RowStyles.Add(new RowStyle()); - tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F)); - tableLayoutPanel1.Size = new Size(300, 348); + tableLayoutPanel1.RowStyles.Add(new RowStyle()); + tableLayoutPanel1.RowStyles.Add(new RowStyle()); + tableLayoutPanel1.Size = new Size(300, 406); tableLayoutPanel1.TabIndex = 4; // // radTextBox_FileLocUpdateJson @@ -191,6 +198,22 @@ partial class GitLabRepoWorkspaceConfigEditor radLabel6.TabIndex = 12; radLabel6.Text = "File location for updates info"; // + // radLabel7 + // + radLabel7.Location = new Point(3, 351); + radLabel7.Name = "radLabel7"; + radLabel7.Size = new Size(131, 22); + radLabel7.TabIndex = 13; + radLabel7.Text = "Modpack config url"; + // + // radTextBox_ModpackConfigUrl + // + radTextBox_ModpackConfigUrl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + radTextBox_ModpackConfigUrl.Location = new Point(3, 379); + radTextBox_ModpackConfigUrl.Name = "radTextBox_ModpackConfigUrl"; + radTextBox_ModpackConfigUrl.Size = new Size(294, 24); + radTextBox_ModpackConfigUrl.TabIndex = 14; + // // GitLabRepoWorkspaceConfigEditor // AutoScaleDimensions = new SizeF(7F, 15F); @@ -201,7 +224,7 @@ partial class GitLabRepoWorkspaceConfigEditor Controls.Add(tableLayoutPanel1); MinimumSize = new Size(300, 0); Name = "GitLabRepoWorkspaceConfigEditor"; - Size = new Size(300, 408); + Size = new Size(300, 466); Controls.SetChildIndex(tableLayoutPanel1, 0); tableLayoutPanel1.ResumeLayout(false); tableLayoutPanel1.PerformLayout(); @@ -217,6 +240,8 @@ partial class GitLabRepoWorkspaceConfigEditor ((System.ComponentModel.ISupportInitialize)radLabel4).EndInit(); ((System.ComponentModel.ISupportInitialize)radLabel5).EndInit(); ((System.ComponentModel.ISupportInitialize)radLabel6).EndInit(); + ((System.ComponentModel.ISupportInitialize)radLabel7).EndInit(); + ((System.ComponentModel.ISupportInitialize)radTextBox_ModpackConfigUrl).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -236,4 +261,6 @@ partial class GitLabRepoWorkspaceConfigEditor private Telerik.WinControls.UI.RadLabel radLabel4; private Telerik.WinControls.UI.RadLabel radLabel5; private Telerik.WinControls.UI.RadLabel radLabel6; + private Telerik.WinControls.UI.RadLabel radLabel7; + private Telerik.WinControls.UI.RadTextBox radTextBox_ModpackConfigUrl; } diff --git a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.cs b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.cs index 749b1c6..329984b 100644 --- a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.cs +++ b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditor.cs @@ -28,6 +28,7 @@ internal partial class GitLabRepoWorkspaceConfigEditor : RadFlyoutBase, ILoadCon radTextBox_RepoBranche.Text = settings.RepoBranche; radTextBox_FileLocInstallJson.Text = settings.FileLocationInstallJson; radTextBox_FileLocUpdateJson.Text = settings.FileLocationUpdateJson; + radTextBox_ModpackConfigUrl.Text = settings.ModpackConfigUrl; } protected override bool ValidateOK() @@ -38,6 +39,7 @@ internal partial class GitLabRepoWorkspaceConfigEditor : RadFlyoutBase, ILoadCon settings.RepoBranche = radTextBox_RepoBranche.Text.Trim(); settings.FileLocationInstallJson = radTextBox_FileLocInstallJson.Text.Trim(); settings.FileLocationUpdateJson = radTextBox_FileLocUpdateJson.Text.Trim(); + settings.ModpackConfigUrl = radTextBox_ModpackConfigUrl.Text.Trim(); return base.ValidateOK(); } }