Skip to content

Commit

Permalink
tweaked getting dependencies from db
Browse files Browse the repository at this point in the history
  • Loading branch information
fgsfds committed Jun 16, 2024
1 parent 24ed3da commit 56d7f8d
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 30 deletions.
13 changes: 3 additions & 10 deletions Web.Server/Database/DatabaseContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ private bool FillDb()
{
using var httpClient = new HttpClient();
var addons = httpClient.GetStringAsync("https://files.fgsfds.link/buildlauncher/addons.json").Result;
var addonsList = JsonSerializer.Deserialize(addons, AddonsJsonEntityListContext.Default.ListAddonsJsonEntity);
var addonsList = JsonSerializer.Deserialize(addons, AddonsJsonEntityListContext.Default.ListAddonsJsonEntity)!;


//TYPES
Expand Down Expand Up @@ -149,18 +149,11 @@ private bool FillDb()

foreach (var dep in addon.Dependencies)
{
var existingDepVersion = Versions.SingleOrDefault(x => x.AddonId == dep.Key && (x.Version == dep.Value || dep.Value == null));

if (existingDepVersion is null)
{
continue;
//throw new Exception("Addon doesn't exist");
}

Dependencies.Add(new()
{
AddonVersionId = existingVersion.Id,
DependencyVersionId = existingDepVersion.Id
DependencyId = dep.Key,
DependencyVersion = dep.Value
});
}
}
Expand Down
9 changes: 5 additions & 4 deletions Web.Server/DbEntities/DependenciesDbEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ public sealed class DependenciesDbEntity
[Column("version_id")]
public required int AddonVersionId { get; set; }

[ForeignKey(nameof(VersionsTable2))]
[Column("dependency_version_id")]
public required int DependencyVersionId { get; set; }
[Column("dependency_id")]
public required string DependencyId { get; set; }

[Column("dependency_version")]
public required string? DependencyVersion { get; set; }


public VersionsDbEntity VersionsTable { get; set; }
public VersionsDbEntity VersionsTable2 { get; set; }

}
}
19 changes: 6 additions & 13 deletions Web.Server/Providers/AddonsProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ namespace Web.Server.Providers
{
public sealed class AddonsProvider
{
private readonly ILogger<AppReleasesProvider> _logger;
private readonly ILogger<AddonsProvider> _logger;
private readonly DatabaseContextFactory _dbContextFactory;

public GeneralReleaseEntity? AppRelease { get; private set; }

public AddonsProvider(
ILogger<AppReleasesProvider> logger,
ILogger<AddonsProvider> logger,
DatabaseContextFactory dbContextFactory)
{
_logger = logger;
Expand Down Expand Up @@ -62,10 +62,9 @@ internal List<DownloadableAddonEntity> GetAddons(GameEnum gameEnum)
{
depsResult ??= [];

var depVersion = versions[dep.DependencyVersionId];
var depAddon = addons[depVersion.AddonId];
var depAddon = addons[dep.DependencyId];

depsResult.Add(depAddon.Title);
depsResult.Add(depAddon.Title + $"{(dep.DependencyVersion is not null ? $", {dep.DependencyVersion}" : string.Empty)}");
}

var hasInstalls = installs.TryGetValue(addon.Id, out var installsNumber);
Expand Down Expand Up @@ -234,17 +233,11 @@ internal bool AddAddonToDatabase(AddonsJsonEntity addon)

foreach (var dep in addon.Dependencies)
{
var existingDepVersion = dbContext.Versions.SingleOrDefault(x => x.AddonId == dep.Key && (x.Version == dep.Value || dep.Value == null));

if (existingDepVersion is null)
{
return false;
}

dbContext.Dependencies.Add(new()
{
AddonVersionId = existingVersion.Id,
DependencyVersionId = existingDepVersion.Id
DependencyId = dep.Key,
DependencyVersion = dep.Value
});
}

Expand Down
4 changes: 2 additions & 2 deletions src/Avalonia/Core/ViewModels/DevViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public bool LocalApiCheckbox
}
}

public string? AddonIdPrefix
public string AddonIdPrefix
{
get
{
Expand Down Expand Up @@ -89,7 +89,7 @@ public bool LocalApiCheckbox
return "slave-";
}

return null;
return string.Empty;
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Common/Tools/ArchiveTools.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public sealed class ArchiveTools
{
while (reader.MoveToNextEntry())
{
var fullName = Path.Combine(unpackTo, reader.Entry.Key);
var fullName = Path.Combine(unpackTo, reader.Entry.Key!);
if (reader.Entry.IsDirectory)
{
Expand Down

0 comments on commit 56d7f8d

Please sign in to comment.