Skip to content

Commit df91940

Browse files
committed
moved database to github
1 parent 4a4f118 commit df91940

File tree

64 files changed

+266
-223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+266
-223
lines changed

.editorconfig

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dotnet_diagnostic.IDE0058.severity = warning
55

66
dotnet_diagnostic.CA2002.severity = warning
77

8-
dotnet_diagnostic.CS8618.severity = none
8+
dotnet_diagnostic.CS8618.severity = error
99

1010
# XML doc warnings
1111
dotnet_diagnostic.CS1591.severity = none
@@ -45,6 +45,7 @@ dotnet_diagnostic.IDE0079.severity = none
4545

4646
# CA2000: Dispose objects before losing scope
4747
dotnet_diagnostic.CA2000.severity = error
48+
dotnet_diagnostic.CA2213.severity = error
4849
csharp_indent_labels = one_less_than_current
4950
csharp_using_directive_placement = outside_namespace:silent
5051
csharp_prefer_simple_using_statement = true:suggestion
@@ -176,4 +177,3 @@ dotnet_style_qualification_for_property = false:silent
176177
dotnet_style_qualification_for_method = false:silent
177178
dotnet_style_qualification_for_event = false:silent
178179
dotnet_diagnostic.CA1806.severity = error
179-
dotnet_diagnostic.CA2254.severity = none

Directory.Build.props

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
<UseArtifactsOutput>true</UseArtifactsOutput>
1111
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
1212
<InvariantGlobalization>true</InvariantGlobalization>
13-
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1413
<MvvmToolkitEnableINotifyPropertyChangingSupport>false</MvvmToolkitEnableINotifyPropertyChangingSupport>
14+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1515
<IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
16+
<JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
1617
</PropertyGroup>
1718
</Project>

Directory.Packages.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
3333
<PackageVersion Include="xunit" Version="2.9.2" />
3434
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
35-
<PackageVersion Include="AWSSDK.S3" Version="3.7.405.10" />
35+
<PackageVersion Include="AWSSDK.S3" Version="3.7.405.12" />
3636
<PackageVersion Include="ConfigureAwaitAnalyzer" Version="1.1.0" />
3737
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.9.0" />
3838
<PackageVersion Include="Microsoft.AspNetCore.SpaProxy" Version="8.0.10" />

Web.Blazor/Components/AddonsList.razor

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
@using Markdig
44
@using Web.Blazor.Providers
55

6-
@inject DatabaseAddonsProvider AddonsProvider
6+
@inject DatabaseAddonsRetriever AddonsProvider
77

88
@if (_addons == null)
99
{

Web.Blazor/Handlers/GetAddonsHandler.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ namespace Web.Blazor.Handlers;
77

88
public sealed class GetAddonsHandler : IRequestHandler<GetAddonsRequest, GetAddonsResponse>
99
{
10-
private readonly DatabaseAddonsProvider _addonsProvider;
10+
private readonly DatabaseAddonsRetriever _addonsProvider;
1111

12-
public GetAddonsHandler(DatabaseAddonsProvider addonsProvider)
12+
public GetAddonsHandler(DatabaseAddonsRetriever addonsProvider)
1313
{
1414
_addonsProvider = addonsProvider;
1515
}
@@ -18,8 +18,8 @@ public Task<GetAddonsResponse> Handle(GetAddonsRequest request, CancellationToke
1818
{
1919
var addons = _addonsProvider.GetAddons(request.GameEnum);
2020

21-
GetAddonsResponse response = new()
22-
{
21+
GetAddonsResponse response = new()
22+
{
2323
AddonsList = addons
2424
};
2525

Web.Blazor/Handlers/GetAppReleaseHandler.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ namespace Web.Blazor.Handlers;
77

88
public sealed class GetAppReleaseHandler : IRequestHandler<GetAppReleaseRequest, GetAppReleaseResponse?>
99
{
10-
private readonly AppReleasesProvider _appReleasesProvider;
10+
private readonly RepoAppReleasesRetriever _appReleasesProvider;
1111

12-
public GetAppReleaseHandler(AppReleasesProvider appReleasesProvider)
12+
public GetAppReleaseHandler(RepoAppReleasesRetriever appReleasesProvider)
1313
{
1414
_appReleasesProvider = appReleasesProvider;
1515
}

Web.Blazor/Handlers/GetPortsReleasesHandler.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Api.Common.Requests;
22
using Api.Common.Responses;
3-
using Common.Common.Providers;
3+
using Common.Common.Interfaces;
44
using Common.Entities;
55
using Common.Enums;
66
using MediatR;
@@ -9,11 +9,11 @@ namespace Web.Blazor.Handlers;
99

1010
public sealed class GetPortsReleasesHandler : IRequestHandler<GetPortsReleasesRequest, GetPortsReleasesResponse?>
1111
{
12-
private readonly PortsReleasesProvider _portsReleasesProvider;
12+
private readonly IRetriever<Dictionary<PortEnum, GeneralReleaseEntity>?> _portsReleasesRetriever;
1313

14-
public GetPortsReleasesHandler(PortsReleasesProvider portsReleasesProvider)
14+
public GetPortsReleasesHandler(IRetriever<Dictionary<PortEnum, GeneralReleaseEntity>?> portsReleasesProvider)
1515
{
16-
_portsReleasesProvider = portsReleasesProvider;
16+
_portsReleasesRetriever = portsReleasesProvider;
1717
}
1818

1919
public Task<GetPortsReleasesResponse?> Handle(GetPortsReleasesRequest request, CancellationToken cancellationToken)
@@ -22,11 +22,11 @@ public GetPortsReleasesHandler(PortsReleasesProvider portsReleasesProvider)
2222

2323
if (request.OSEnum is OSEnum.Windows)
2424
{
25-
releases = _portsReleasesProvider.WindowsReleases;
25+
//releases = _portsReleasesRetriever.WindowsReleases;
2626
}
2727
else if (request.OSEnum is OSEnum.Linux)
2828
{
29-
releases = _portsReleasesProvider.LinuxReleases;
29+
//releases = _portsReleasesRetriever.LinuxReleases;
3030
}
3131

3232
if (releases is null)

Web.Blazor/Handlers/GetRatingsHandler.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ namespace Web.Blazor.Handlers;
77

88
public sealed class GetRatingsHandler : IRequestHandler<GetRatingsRequest, GetRatingsResponse>
99
{
10-
private readonly DatabaseAddonsProvider _addonsProvider;
10+
private readonly DatabaseAddonsRetriever _addonsProvider;
1111

12-
public GetRatingsHandler(DatabaseAddonsProvider addonsProvider)
12+
public GetRatingsHandler(DatabaseAddonsRetriever addonsProvider)
1313
{
1414
_addonsProvider = addonsProvider;
1515
}
@@ -18,8 +18,8 @@ public Task<GetRatingsResponse> Handle(GetRatingsRequest request, CancellationTo
1818
{
1919
var ratings = _addonsProvider.GetRating();
2020

21-
GetRatingsResponse response = new()
22-
{
21+
GetRatingsResponse response = new()
22+
{
2323
Ratings = ratings
2424
};
2525

Web.Blazor/Program.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
using Common.Common.Interfaces;
12
using Common.Common.Providers;
23
using Common.Entities;
4+
using Common.Enums;
35
using Common.Serializable.Addon;
46
using Database.Server;
57
using Web.Blazor.Helpers;
@@ -50,11 +52,9 @@ public static void Main(string[] args)
5052
ServerProperties.IsDeveloperMode = true;
5153
}
5254

53-
_ = builder.Services.AddSingleton<AppReleasesProvider>();
54-
_ = builder.Services.AddSingleton<DatabaseAddonsProvider>();
55-
_ = builder.Services.AddSingleton<PortsReleasesProvider>();
56-
_ = builder.Services.AddSingleton<ToolsReleasesProvider>();
57-
_ = builder.Services.AddSingleton<RepositoriesProvider>();
55+
_ = builder.Services.AddSingleton<RepoAppReleasesRetriever>();
56+
_ = builder.Services.AddSingleton<DatabaseAddonsRetriever>();
57+
_ = builder.Services.AddSingleton<IRetriever<Dictionary<PortEnum, GeneralReleaseEntity>?>>();
5858

5959
_ = builder.Services.AddSingleton<HttpClient>(CreateHttpClient);
6060
_ = builder.Services.AddSingleton<S3Client>();

Web.Blazor/Providers/DatabaseAddonsProvider.cs Web.Blazor/Providers/DatabaseAddonsRetriever.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
namespace Web.Blazor.Providers;
1010

11-
public sealed class DatabaseAddonsProvider
11+
public sealed class DatabaseAddonsRetriever
1212
{
13-
private readonly ILogger<DatabaseAddonsProvider> _logger;
13+
private readonly ILogger<DatabaseAddonsRetriever> _logger;
1414
private readonly DatabaseContextFactory _dbContextFactory;
1515

1616
public GeneralReleaseEntity? AppRelease { get; private set; }
1717

18-
public DatabaseAddonsProvider(
19-
ILogger<DatabaseAddonsProvider> logger,
18+
public DatabaseAddonsRetriever(
19+
ILogger<DatabaseAddonsRetriever> logger,
2020
DatabaseContextFactory dbContextFactory)
2121
{
2222
_logger = logger;

Web.Blazor/Tasks/AppReleasesTask.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ namespace Web.Blazor.Tasks;
44

55
public sealed class AppReleasesTask : IHostedService, IDisposable
66
{
7-
private readonly AppReleasesProvider _appReleasesProvider;
7+
private readonly RepoAppReleasesRetriever _appReleasesProvider;
88

9-
private Timer _timer;
9+
private Timer? _timer;
1010

11-
public AppReleasesTask(AppReleasesProvider appReleasesProvider)
11+
public AppReleasesTask(RepoAppReleasesRetriever appReleasesProvider)
1212
{
1313
_appReleasesProvider = appReleasesProvider;
1414
}
@@ -32,13 +32,13 @@ private void DoWork(object? state)
3232

3333
public Task StopAsync(CancellationToken stoppingToken)
3434
{
35-
_ = _timer.Change(Timeout.Infinite, 0);
35+
_ = _timer?.Change(Timeout.Infinite, 0);
3636

3737
return Task.CompletedTask;
3838
}
3939

4040
public void Dispose()
4141
{
42-
_timer.Dispose();
42+
_timer?.Dispose();
4343
}
4444
}

Web.Blazor/Tasks/FileCheckTask.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public sealed class FileCheckTask : IHostedService, IDisposable
99
private readonly DatabaseContextFactory _dbContextFactory;
1010
private readonly HttpClient _httpClient;
1111

12-
private Timer _timer;
12+
private Timer? _timer;
1313

1414
public FileCheckTask(
1515
ILogger<FileCheckTask> logger,
@@ -71,13 +71,13 @@ private void DoWork(object? state)
7171

7272
public Task StopAsync(CancellationToken stoppingToken)
7373
{
74-
_ = _timer.Change(Timeout.Infinite, 0);
74+
_ = _timer?.Change(Timeout.Infinite, 0);
7575

7676
return Task.CompletedTask;
7777
}
7878

7979
public void Dispose()
8080
{
81-
_timer.Dispose();
81+
_timer?.Dispose();
8282
}
8383
}

Web.Blazor/Tasks/PortsReleasesTask.cs

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
using Common.Common.Providers;
2-
using Web.Blazor.Providers;
1+
using Common.Common.Interfaces;
2+
using Common.Entities;
3+
using Common.Enums;
34

45
namespace Web.Blazor.Tasks;
56

67
public sealed class PortsReleasesTask : IHostedService, IDisposable
78
{
8-
private readonly PortsReleasesProvider _portsReleasesProvider;
9+
private readonly IRetriever<Dictionary<PortEnum, GeneralReleaseEntity>?> _portsReleasesProvider;
910

10-
private Timer _timer;
11+
private Timer? _timer;
1112

12-
public PortsReleasesTask(PortsReleasesProvider portsReleasesProvider)
13+
public PortsReleasesTask(IRetriever<Dictionary<PortEnum, GeneralReleaseEntity>?> portsReleasesProvider)
1314
{
1415
_portsReleasesProvider = portsReleasesProvider;
1516
}
@@ -28,18 +29,18 @@ public Task StartAsync(CancellationToken stoppingToken)
2829

2930
private void DoWork(object? state)
3031
{
31-
_ = _portsReleasesProvider.GetLatestReleasesAsync();
32+
_ = _portsReleasesProvider.RetrieveAsync();
3233
}
3334

3435
public Task StopAsync(CancellationToken stoppingToken)
3536
{
36-
_ = _timer.Change(Timeout.Infinite, 0);
37+
_ = _timer?.Change(Timeout.Infinite, 0);
3738

3839
return Task.CompletedTask;
3940
}
4041

4142
public void Dispose()
4243
{
43-
_timer.Dispose();
44+
_timer?.Dispose();
4445
}
4546
}

Web.Blazor/Tasks/ToolsReleasesTask.cs

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
using Common.Common.Providers;
2-
using Web.Blazor.Providers;
3-
4-
namespace Web.Blazor.Tasks;
1+
namespace Web.Blazor.Tasks;
52

63
public sealed class ToolsReleasesTask : IHostedService, IDisposable
74
{
8-
private readonly ToolsReleasesProvider _toolsReleasesProvider;
5+
//private readonly ToolsReleasesRepoRetriever _toolsReleasesProvider;
96

10-
private Timer _timer;
7+
private Timer? _timer;
118

12-
public ToolsReleasesTask(ToolsReleasesProvider toolsReleasesProvider)
9+
public ToolsReleasesTask(
10+
//ToolsReleasesRepoRetriever toolsReleasesProvider
11+
)
1312
{
14-
_toolsReleasesProvider = toolsReleasesProvider;
13+
//_toolsReleasesProvider = toolsReleasesProvider;
1514
}
1615

1716
public Task StartAsync(CancellationToken stoppingToken)
@@ -28,18 +27,18 @@ public Task StartAsync(CancellationToken stoppingToken)
2827

2928
private void DoWork(object? state)
3029
{
31-
_ = _toolsReleasesProvider.GetLatestReleasesAsync();
30+
//_ = _toolsReleasesProvider.GetLatestReleasesAsync();
3231
}
3332

3433
public Task StopAsync(CancellationToken stoppingToken)
3534
{
36-
_ = _timer.Change(Timeout.Infinite, 0);
35+
_ = _timer?.Change(Timeout.Infinite, 0);
3736

3837
return Task.CompletedTask;
3938
}
4039

4140
public void Dispose()
4241
{
43-
_timer.Dispose();
42+
_timer?.Dispose();
4443
}
4544
}

src/Addons/Providers/DownloadableAddonsProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public sealed class DownloadableAddonsProvider : IDownloadableAddonsProvider
2323
private Dictionary<AddonTypeEnum, Dictionary<AddonVersion, IDownloadableAddon>>? _cache;
2424
private static readonly SemaphoreSlim _semaphore = new(1);
2525

26-
public event AddonChanged AddonDownloadedEvent;
26+
public event AddonChanged? AddonDownloadedEvent;
2727

2828
/// <inheritdoc/>
2929
public Progress<float> Progress { get; private set; }

src/Addons/Providers/InstalledAddonsProvider.cs

+8-5
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public sealed class InstalledAddonsProvider : IInstalledAddonsProvider
2727

2828
private bool _isCacheUpdating = false;
2929

30-
public event AddonChanged AddonsChangedEvent;
30+
public event AddonChanged? AddonsChangedEvent;
3131

3232
[Obsolete($"Don't create directly. Use {nameof(InstalledAddonsProvider)}.")]
3333
public InstalledAddonsProvider(
@@ -398,10 +398,12 @@ newAddon.Version is not null &&
398398
return null;
399399
}
400400

401+
using var stream = manifestFile.OpenEntryStream();
402+
401403
var manifest = JsonSerializer.Deserialize(
402-
manifestFile.OpenEntryStream(),
404+
stream,
403405
AddonManifestContext.Default.AddonDto
404-
)!;
406+
);
405407

406408
if (manifest is null)
407409
{
@@ -886,8 +888,10 @@ or GameEnum.NAM
886888
{
887889
try
888890
{
891+
using var stream = addonJson.OpenEntryStream();
892+
889893
addonDto = JsonSerializer.Deserialize(
890-
addonJson.OpenEntryStream(),
894+
stream,
891895
AddonManifestContext.Default.AddonDto
892896
)!;
893897

@@ -934,7 +938,6 @@ private string Unpack(string pathToFile, IArchive archive)
934938
}
935939

936940
archive.ExtractToDirectory(unpackTo);
937-
archive.Dispose();
938941

939942
File.Delete(pathToFile);
940943

0 commit comments

Comments
 (0)