Author Controls

This commit is contained in:
Timothy Baldridge 2021-11-27 13:03:14 -07:00
parent 8b998586f7
commit 779e178bfe
3 changed files with 16 additions and 14 deletions

View File

@ -15,7 +15,7 @@ using Wabbajack.DTOs.GitHub;
using Wabbajack.DTOs.JsonConverters; using Wabbajack.DTOs.JsonConverters;
using Wabbajack.Networking.GitHub; using Wabbajack.Networking.GitHub;
using Wabbajack.Paths.IO; using Wabbajack.Paths.IO;
using Wabbajack.Server.DataLayer; using Wabbajack.Server.DataModels;
using Wabbajack.Server.Services; using Wabbajack.Server.Services;
namespace Wabbajack.BuildServer.Controllers; namespace Wabbajack.BuildServer.Controllers;
@ -30,19 +30,19 @@ public class AuthorControls : ControllerBase
private readonly QuickSync _quickSync; private readonly QuickSync _quickSync;
private readonly AppSettings _settings; private readonly AppSettings _settings;
private readonly ILogger<AuthorControls> _logger; private readonly ILogger<AuthorControls> _logger;
private readonly SqlService _sql; private readonly AuthorFiles _authorFiles;
public AuthorControls(ILogger<AuthorControls> logger, SqlService sql, QuickSync quickSync, HttpClient client, public AuthorControls(ILogger<AuthorControls> logger, QuickSync quickSync, HttpClient client,
AppSettings settings, DTOSerializer dtos, AppSettings settings, DTOSerializer dtos, AuthorFiles authorFiles,
Client gitHubClient) Client gitHubClient)
{ {
_logger = logger; _logger = logger;
_sql = sql;
_quickSync = quickSync; _quickSync = quickSync;
_client = client; _client = client;
_settings = settings; _settings = settings;
_dtos = dtos; _dtos = dtos;
_gitHubClient = gitHubClient; _gitHubClient = gitHubClient;
_authorFiles = authorFiles;
} }
[Route("login/{authorKey}")] [Route("login/{authorKey}")]
@ -75,7 +75,6 @@ public class AuthorControls : ControllerBase
try try
{ {
await _gitHubClient.UpdateList(user, data); await _gitHubClient.UpdateList(user, data);
await _quickSync.Notify<ModListDownloader>();
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -99,15 +98,15 @@ public class AuthorControls : ControllerBase
public async Task<IActionResult> HomePage() public async Task<IActionResult> HomePage()
{ {
var user = User.FindFirstValue(ClaimTypes.Name); var user = User.FindFirstValue(ClaimTypes.Name);
var files = (await _sql.AllAuthoredFiles()) var files = (await _authorFiles.AllAuthoredFiles())
.Where(af => af.Author == user) .Where(af => af.Definition.Author == user)
.Select(af => new .Select(af => new
{ {
Size = af.Size.FileSizeToString(), Size = af.Definition.Size.FileSizeToString(),
OriginalSize = af.Size, OriginalSize = af.Definition.Size,
Name = af.OriginalFileName, Name = af.Definition.OriginalFileName,
MangledName = af.MungedName, MangledName = af.Definition.MungedName,
UploadedDate = af.LastTouched UploadedDate = af.Updated
}) })
.OrderBy(f => f.Name) .OrderBy(f => f.Name)
.ThenBy(f => f.UploadedDate) .ThenBy(f => f.UploadedDate)

View File

@ -12,8 +12,10 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Newtonsoft.Json; using Newtonsoft.Json;
using Octokit;
using Wabbajack.BuildServer; using Wabbajack.BuildServer;
using Wabbajack.DTOs.JsonConverters; using Wabbajack.DTOs.JsonConverters;
using Wabbajack.Networking.GitHub;
using Wabbajack.Server.DataModels; using Wabbajack.Server.DataModels;
using Wabbajack.Server.Services; using Wabbajack.Server.Services;
@ -60,6 +62,8 @@ public class Startup
services.AddSingleton<HttpClient>(); services.AddSingleton<HttpClient>();
services.AddSingleton<AuthorFiles>(); services.AddSingleton<AuthorFiles>();
services.AddSingleton<AuthorKeys>(); services.AddSingleton<AuthorKeys>();
services.AddSingleton<Client>();
services.AddSingleton(s => new GitHubClient(new ProductHeaderValue("wabbajack")));
services.AddDTOSerializer(); services.AddDTOSerializer();
services.AddDTOConverters(); services.AddDTOConverters();
services.AddResponseCompression(options => services.AddResponseCompression(options =>

View File

@ -56,7 +56,6 @@
<Compile Remove="Services\ListValidator.cs" /> <Compile Remove="Services\ListValidator.cs" />
<Compile Remove="Controllers\ModFiles.cs" /> <Compile Remove="Controllers\ModFiles.cs" />
<Compile Remove="Controllers\Users.cs" /> <Compile Remove="Controllers\Users.cs" />
<Compile Remove="Controllers\AuthorControls.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>