Server side fixes for the new Nexus API

This commit is contained in:
Timothy Baldridge 2021-06-24 21:56:02 -06:00
parent ab49b08f19
commit 1d0dab1bea
10 changed files with 28 additions and 16 deletions

View File

@ -1,6 +1,9 @@
### Changelog
#### Version - 2.5.0.0 - ??
#### Version - 2.5.0.1 - 6/25/2021
* HOTFIX: Fix NPE with LL downloader
#### Version - 2.5.0.0 - 6/24/2021
* LoversLab downloader switched to OAuth2
* VectorPlexus downloader switched to OAuth2
* Wabbajack can now detect and compile modlists that contain resized/recompressed textures without binary

View File

@ -6,8 +6,8 @@
<AssemblyName>wabbajack-cli</AssemblyName>
<Company>Wabbajack</Company>
<Platforms>x64</Platforms>
<AssemblyVersion>2.5.0.0</AssemblyVersion>
<FileVersion>2.5.0.0</FileVersion>
<AssemblyVersion>2.5.0.1</AssemblyVersion>
<FileVersion>2.5.0.1</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>

View File

@ -4,8 +4,8 @@
<OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyVersion>2.5.0.0</AssemblyVersion>
<FileVersion>2.5.0.0</FileVersion>
<AssemblyVersion>2.5.0.1</AssemblyVersion>
<FileVersion>2.5.0.1</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Application Launcher</Description>
<PublishReadyToRun>true</PublishReadyToRun>

View File

@ -27,7 +27,7 @@ namespace Wabbajack.Lib.Downloaders
public static List<Type> KnownSubTypes = new List<Type>
{
typeof(DeprecatedLoversLabDownloader.State),
typeof(DeprecatedVectorPlexusDownloader),
typeof(DeprecatedVectorPlexusDownloader.State),
typeof(HTTPDownloader.State),
typeof(GameFileSourceDownloader.State),
typeof(GoogleDriveDownloader.State),

View File

@ -38,7 +38,7 @@ namespace Wabbajack.Lib.Downloaders.DTOs
public class Author
{
[JsonProperty("id")]
public int Id { get; set; }
public int? Id { get; set; }
[JsonProperty("name")]
public string? Name { get; set; }
@ -83,7 +83,7 @@ namespace Wabbajack.Lib.Downloaders.DTOs
public DateTime? LastPost { get; set; }
[JsonProperty("profileViews")]
public int ProfileViews { get; set; }
public int? ProfileViews { get; set; }
}

View File

@ -85,7 +85,7 @@ namespace Wabbajack.BuildServer.Controllers
<h3>Lists ({{lists.Length}}):</h3>
<ul>
{{each $.lists }}
<li><a href='/lists/status/{{$.Name}}.html'>{{$.Name}}</a> - {{$.Time}}</li>
<li><a href='/lists/status/{{$.Name}}.html'>{{$.Name}}</a> - {{$.Time}} {{$.FailMessage}}</li>
{{/each}}
</ul>
</body></html>
@ -100,7 +100,12 @@ namespace Wabbajack.BuildServer.Controllers
.Select(s => new {Name = s.Key.Name, Time = s.Value.LastRunTime, MaxTime = s.Value.Delay, IsLate = s.Value.LastRunTime > s.Value.Delay})
.OrderBy(s => s.Name)
.ToArray(),
lists = _listValidator.ValidationInfo.Select(s => new {Name = s.Key, Time = s.Value.ValidationTime})
lists = _listValidator.ValidationInfo.Select(s => new
{
Name = s.Key,
Time = s.Value.ValidationTime,
FailMessage = s.Value.Detailed.HasFailures ? "Failed" : ""
})
.OrderBy(l => l.Name)
.ToArray()
});

View File

@ -44,7 +44,7 @@ namespace Wabbajack.Server.DataLayer
public async Task<HashSet<(long NexusGameId, long ModId, long FileId, string category)>> AllNexusFiles()
{
await using var conn = await Open();
var results = await conn.QueryAsync<(long, long, long, string)>(@"SELECT Game, ModId, FileId, JSON_VALUE(Data, '$.category') FROM dbo.NexusModFile");
var results = await conn.QueryAsync<(long, long, long, string)>(@"SELECT Game, ModId, FileId, JSON_VALUE(Data, '$.category_name') FROM dbo.NexusModFile");
return results.ToHashSet();
}

View File

@ -3,8 +3,8 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<AssemblyVersion>2.5.0.0</AssemblyVersion>
<FileVersion>2.5.0.0</FileVersion>
<AssemblyVersion>2.5.0.1</AssemblyVersion>
<FileVersion>2.5.0.1</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>Wabbajack Server</Description>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>

View File

@ -294,7 +294,8 @@ namespace Wabbajack.Test
[Fact]
public async Task CanFindOtherLLMods()
{
await DownloadDispatcher.GetInstance<LoversLabOAuthDownloader>().Prepare();
var downloader = DownloadDispatcher.GetInstance<LoversLabOAuthDownloader>();
await downloader.Prepare();
var ini = @"[General]
ips4Site=Lovers Lab
@ -303,6 +304,9 @@ namespace Wabbajack.Test
var state = (AbstractDownloadState)await DownloadDispatcher.ResolveArchive(ini.LoadIniString());
var otherfiles = await ((LoversLabOAuthDownloader.State)state).GetFilesInGroup();
// Throws a NPE
var data = await downloader.GetDownloads(9023);
}

View File

@ -6,8 +6,8 @@
<UseWPF>true</UseWPF>
<Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<AssemblyVersion>2.5.0.0</AssemblyVersion>
<FileVersion>2.5.0.0</FileVersion>
<AssemblyVersion>2.5.0.1</AssemblyVersion>
<FileVersion>2.5.0.1</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>