allow edit
This commit is contained in:
@@ -7,6 +7,9 @@ namespace ModpackUpdater.Apps.Manager.Features.Workspaces.GitLabRepo;
|
||||
|
||||
internal class GitLabRepoWorkspace(GitLabRepoWorkspaceConfig config) : IWorkspace
|
||||
{
|
||||
private string? rawInstallInfos = null;
|
||||
private string? rawUpdateInfos = null;
|
||||
|
||||
public WorkspaceConfig Config => ConfigX;
|
||||
|
||||
public GitLabRepoWorkspaceConfig ConfigX { get; } = config;
|
||||
@@ -19,19 +22,38 @@ internal class GitLabRepoWorkspace(GitLabRepoWorkspaceConfig config) : IWorkspac
|
||||
|
||||
public async Task<bool> Load()
|
||||
{
|
||||
InstallInfos = InstallInfos.Parse(await GetContent(ConfigX.FileLocationInstallJson));
|
||||
UpdateInfos = UpdateInfos.Parse(await GetContent(ConfigX.FileLocationUpdateJson));
|
||||
rawInstallInfos = await GetContent(ConfigX.FileLocationInstallJson);
|
||||
InstallInfos = InstallInfos.Parse(rawInstallInfos);
|
||||
|
||||
rawUpdateInfos = await GetContent(ConfigX.FileLocationUpdateJson);
|
||||
UpdateInfos = UpdateInfos.Parse(rawUpdateInfos);
|
||||
|
||||
ConfigX.RepoName = (await Gitlab.Projects.GetByIdAsync((int)ConfigX.RepoId, new())).Name;
|
||||
|
||||
return InstallInfos != null && UpdateInfos != null;
|
||||
}
|
||||
|
||||
public async Task<bool> Save()
|
||||
{
|
||||
if (InstallInfos != null)
|
||||
await SaveContent(ConfigX.FileLocationInstallJson, InstallInfos.ToString());
|
||||
{
|
||||
var newInstallInfos = InstallInfos.ToString();
|
||||
if (newInstallInfos != rawInstallInfos)
|
||||
{
|
||||
await SaveContent(ConfigX.FileLocationInstallJson, newInstallInfos);
|
||||
rawInstallInfos = newInstallInfos;
|
||||
}
|
||||
}
|
||||
|
||||
if (UpdateInfos != null)
|
||||
await SaveContent(ConfigX.FileLocationUpdateJson, UpdateInfos.ToString());
|
||||
{
|
||||
var newUpdateInfos = UpdateInfos.ToString();
|
||||
if (newUpdateInfos != rawUpdateInfos)
|
||||
{
|
||||
await SaveContent(ConfigX.FileLocationUpdateJson, newUpdateInfos);
|
||||
rawUpdateInfos = newUpdateInfos;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user