From 95751904fa38f027d1cad32822c4fde02f23ec9c Mon Sep 17 00:00:00 2001 From: Holden <122419606+midozen@users.noreply.github.com> Date: Fri, 19 Jun 2026 22:52:38 -0500 Subject: [PATCH] Move projects to src; add Neutrino secret --- RecNet.sln | 14 +++++++------- {API => src/API}/API.csproj | 0 src/API/Configuration/NeutrinoOptions.cs | 7 +++++++ {API => src/API}/Configuration/RecNetOptions.cs | 0 .../Neutrino/Enums/AuthenticationResultCode.cs | 0 .../Requests/NeutrinoAuthenticateRequest.cs | 0 .../Responses/NeutrinoAuthenticateResponse.cs | 0 .../Responses/NeutrinoResultCodeResponse.cs | 0 .../Contracts/Profiles/Requests/LoginRequest.cs | 0 .../Contracts/Profiles/Responses/LoginResponse.cs | 0 .../API}/Controllers/Config/V1/ConfigController.cs | 0 .../Controllers/Neutrino/NeutrinoController.cs | 14 ++++++++++++-- .../Controllers/Profiles/V1/ProfilesController.cs | 0 {API => src/API}/Program.cs | 5 +++++ {API => src/API}/Properties/launchSettings.json | 0 {API => src/API}/appsettings.Development.json | 0 {API => src/API}/appsettings.json | 0 {AppHost => src/AppHost}/AppHost.cs | 0 {AppHost => src/AppHost}/AppHost.csproj | 0 .../AppHost}/Properties/launchSettings.json | 0 .../AppHost}/appsettings.Development.json | 0 {AppHost => src/AppHost}/appsettings.json | 0 {AppHost => src/AppHost}/aspire.config.json | 0 .../Common/Interfaces/IConfigService.cs | 0 .../Common/Interfaces/IPlatformAuthValidator.cs | 0 .../Common/Interfaces/ISteamAuthService.cs | 0 .../Common/Interfaces/ITokenService.cs | 0 .../Common/Mapping/ApplicationMappingProfile.cs | 0 .../Common/PlatformAuth/PlatformAuthResult.cs | 0 .../Common/Security/ClaimsPrincipalExtensions.cs | 0 .../Common/Steam/SteamAuthResult.cs | 0 .../Common/Tokens/TokenResult.cs | 0 .../Common/Tokens/TokenVerifyResult.cs | 0 .../RecNet.Application}/DependencyInjection.cs | 0 .../Neutrino/AuthorizeNeutrinoCommand.cs | 0 .../Neutrino/INeutrinoAuthorizationService.cs | 0 .../Neutrino/NeutrinoAuthorizationFailure.cs | 0 .../Neutrino/NeutrinoAuthorizationResult.cs | 0 .../Neutrino/NeutrinoAuthorizationService.cs | 0 .../Profiles/IProfileService.cs | 0 .../Profiles/LoginProfileCommand.cs | 0 .../Profiles/LoginProfileResult.cs | 0 .../RecNet.Application}/Profiles/NameGenerator.cs | 0 .../RecNet.Application}/Profiles/ProfileDto.cs | 0 .../RecNet.Application}/Profiles/ProfileService.cs | 0 .../RecNet.Application}/RecNet.Application.csproj | 0 .../RecNet.Domain}/Common/PlatformType.cs | 0 .../Configuration/IServerConfigRepository.cs | 0 .../RecNet.Domain}/Configuration/ServerConfig.cs | 0 .../RecNet.Domain}/Exceptions/DomainException.cs | 0 .../RecNet.Domain}/GameVersions/GameVersion.cs | 0 .../GameVersions/IGameVersionRepository.cs | 0 .../RecNet.Domain}/Profiles/IProfileRepository.cs | 0 .../Profiles/Names/DefaultNameGenConfig.cs | 0 .../RecNet.Domain}/Profiles/Names/NameGenConfig.cs | 0 .../RecNet.Domain}/Profiles/Profile.cs | 0 .../RecNet.Domain}/RecNet.Domain.csproj | 0 .../RecNet.Infrastructure}/DependencyInjection.cs | 2 +- .../Configurations/GameVersionConfiguration.cs | 0 .../Configurations/ProfileConfiguration.cs | 0 .../Configurations/ServerConfigConfiguration.cs | 0 .../Persistence/DatabaseContext.cs | 0 .../Migrations/20260618180145_Initial.Designer.cs | 0 .../Migrations/20260618180145_Initial.cs | 0 .../20260618183916_ServerConfigs.Designer.cs | 0 .../Migrations/20260618183916_ServerConfigs.cs | 0 .../20260619025601_ProfileToggles.Designer.cs | 0 .../Migrations/20260619025601_ProfileToggles.cs | 0 .../20260619201140_GameVersion.Designer.cs | 0 .../Migrations/20260619201140_GameVersion.cs | 0 .../Migrations/DatabaseContextModelSnapshot.cs | 0 .../Repositories/GameVersionRepository.cs | 0 .../Persistence/Repositories/ProfileRepository.cs | 0 .../Repositories/ServerConfigRepository.cs | 0 .../RecNet.Infrastructure.csproj | 0 .../Services/Configuration/ConfigService.cs | 0 .../Services/Meta/MetaAuthValidator.cs | 0 .../Services/Steam/SteamAuthService.cs | 0 .../Services/Steam/SteamAuthValidator.cs | 0 .../Services/Steam/SteamOptions.cs | 0 .../Services/Tokens/JwtOptions.cs | 0 .../Services/Tokens/TokenService.cs | 0 .../RecNet.MigrationService}/Program.cs | 0 .../Properties/launchSettings.json | 0 .../RecNet.MigrationService.csproj | 0 .../RecNet.MigrationService}/Worker.cs | 0 .../appsettings.Development.json | 0 .../RecNet.MigrationService}/appsettings.json | 0 .../RecNet.ServiceDefaults}/Extensions.cs | 0 .../RecNet.ServiceDefaults.csproj | 0 90 files changed, 32 insertions(+), 10 deletions(-) rename {API => src/API}/API.csproj (100%) create mode 100644 src/API/Configuration/NeutrinoOptions.cs rename {API => src/API}/Configuration/RecNetOptions.cs (100%) rename {API => src/API}/Contracts/Neutrino/Enums/AuthenticationResultCode.cs (100%) rename {API => src/API}/Contracts/Neutrino/Requests/NeutrinoAuthenticateRequest.cs (100%) rename {API => src/API}/Contracts/Neutrino/Responses/NeutrinoAuthenticateResponse.cs (100%) rename {API => src/API}/Contracts/Neutrino/Responses/NeutrinoResultCodeResponse.cs (100%) rename {API => src/API}/Contracts/Profiles/Requests/LoginRequest.cs (100%) rename {API => src/API}/Contracts/Profiles/Responses/LoginResponse.cs (100%) rename {API => src/API}/Controllers/Config/V1/ConfigController.cs (100%) rename {API => src/API}/Controllers/Neutrino/NeutrinoController.cs (81%) rename {API => src/API}/Controllers/Profiles/V1/ProfilesController.cs (100%) rename {API => src/API}/Program.cs (93%) rename {API => src/API}/Properties/launchSettings.json (100%) rename {API => src/API}/appsettings.Development.json (100%) rename {API => src/API}/appsettings.json (100%) rename {AppHost => src/AppHost}/AppHost.cs (100%) rename {AppHost => src/AppHost}/AppHost.csproj (100%) rename {AppHost => src/AppHost}/Properties/launchSettings.json (100%) rename {AppHost => src/AppHost}/appsettings.Development.json (100%) rename {AppHost => src/AppHost}/appsettings.json (100%) rename {AppHost => src/AppHost}/aspire.config.json (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Interfaces/IConfigService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Interfaces/IPlatformAuthValidator.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Interfaces/ISteamAuthService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Interfaces/ITokenService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Mapping/ApplicationMappingProfile.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/PlatformAuth/PlatformAuthResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Security/ClaimsPrincipalExtensions.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Steam/SteamAuthResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Tokens/TokenResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Common/Tokens/TokenVerifyResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/DependencyInjection.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Neutrino/AuthorizeNeutrinoCommand.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Neutrino/INeutrinoAuthorizationService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Neutrino/NeutrinoAuthorizationFailure.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Neutrino/NeutrinoAuthorizationResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Neutrino/NeutrinoAuthorizationService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/IProfileService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/LoginProfileCommand.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/LoginProfileResult.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/NameGenerator.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/ProfileDto.cs (100%) rename {RecNet.Application => src/RecNet.Application}/Profiles/ProfileService.cs (100%) rename {RecNet.Application => src/RecNet.Application}/RecNet.Application.csproj (100%) rename {RecNet.Domain => src/RecNet.Domain}/Common/PlatformType.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Configuration/IServerConfigRepository.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Configuration/ServerConfig.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Exceptions/DomainException.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/GameVersions/GameVersion.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/GameVersions/IGameVersionRepository.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Profiles/IProfileRepository.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Profiles/Names/DefaultNameGenConfig.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Profiles/Names/NameGenConfig.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/Profiles/Profile.cs (100%) rename {RecNet.Domain => src/RecNet.Domain}/RecNet.Domain.csproj (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/DependencyInjection.cs (95%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Configurations/GameVersionConfiguration.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Configurations/ProfileConfiguration.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Configurations/ServerConfigConfiguration.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/DatabaseContext.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260618180145_Initial.Designer.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260618180145_Initial.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260618183916_ServerConfigs.Designer.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260618183916_ServerConfigs.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260619025601_ProfileToggles.Designer.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260619025601_ProfileToggles.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260619201140_GameVersion.Designer.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/20260619201140_GameVersion.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Migrations/DatabaseContextModelSnapshot.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Repositories/GameVersionRepository.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Repositories/ProfileRepository.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Persistence/Repositories/ServerConfigRepository.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/RecNet.Infrastructure.csproj (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Configuration/ConfigService.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Meta/MetaAuthValidator.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Steam/SteamAuthService.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Steam/SteamAuthValidator.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Steam/SteamOptions.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Tokens/JwtOptions.cs (100%) rename {RecNet.Infrastructure => src/RecNet.Infrastructure}/Services/Tokens/TokenService.cs (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/Program.cs (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/Properties/launchSettings.json (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/RecNet.MigrationService.csproj (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/Worker.cs (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/appsettings.Development.json (100%) rename {RecNet.MigrationService => src/RecNet.MigrationService}/appsettings.json (100%) rename {RecNet.ServiceDefaults => src/RecNet.ServiceDefaults}/Extensions.cs (100%) rename {RecNet.ServiceDefaults => src/RecNet.ServiceDefaults}/RecNet.ServiceDefaults.csproj (100%) diff --git a/RecNet.sln b/RecNet.sln index 4f0a5cb..6227855 100644 --- a/RecNet.sln +++ b/RecNet.sln @@ -1,18 +1,18 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.ServiceDefaults", "RecNet.ServiceDefaults\RecNet.ServiceDefaults.csproj", "{7773AA04-37C6-4E72-98AB-A239ED268ECC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.ServiceDefaults", "src\RecNet.ServiceDefaults\RecNet.ServiceDefaults.csproj", "{7773AA04-37C6-4E72-98AB-A239ED268ECC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppHost", "AppHost\AppHost.csproj", "{F539C6BB-F396-41CC-B275-DF8CC3B8CA2F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppHost", "src\AppHost\AppHost.csproj", "{F539C6BB-F396-41CC-B275-DF8CC3B8CA2F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "API", "API\API.csproj", "{CD6E60F3-675A-4F51-8645-9CA6B35C1032}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "API", "src\API\API.csproj", "{CD6E60F3-675A-4F51-8645-9CA6B35C1032}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Infrastructure", "RecNet.Infrastructure\RecNet.Infrastructure.csproj", "{E61153A9-DAD9-4ED3-A8A5-8F619BBE54D4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Infrastructure", "src\RecNet.Infrastructure\RecNet.Infrastructure.csproj", "{E61153A9-DAD9-4ED3-A8A5-8F619BBE54D4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Domain", "RecNet.Domain\RecNet.Domain.csproj", "{4E9D18A6-BC68-49BE-81FE-03B74270485D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Domain", "src\RecNet.Domain\RecNet.Domain.csproj", "{4E9D18A6-BC68-49BE-81FE-03B74270485D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Application", "RecNet.Application\RecNet.Application.csproj", "{BF255F63-3A85-4AD4-AB13-1C1C1C1724ED}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.Application", "src\RecNet.Application\RecNet.Application.csproj", "{BF255F63-3A85-4AD4-AB13-1C1C1C1724ED}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.MigrationService", "RecNet.MigrationService\RecNet.MigrationService.csproj", "{2343DEEB-8CBA-4B0A-BE67-3F8F76E6E7C1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RecNet.MigrationService", "src\RecNet.MigrationService\RecNet.MigrationService.csproj", "{2343DEEB-8CBA-4B0A-BE67-3F8F76E6E7C1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/API/API.csproj b/src/API/API.csproj similarity index 100% rename from API/API.csproj rename to src/API/API.csproj diff --git a/src/API/Configuration/NeutrinoOptions.cs b/src/API/Configuration/NeutrinoOptions.cs new file mode 100644 index 0000000..ba601bb --- /dev/null +++ b/src/API/Configuration/NeutrinoOptions.cs @@ -0,0 +1,7 @@ +namespace API.Configuration; + +public class NeutrinoOptions +{ + public string Secret { get; set; } = string.Empty; + public bool ValidateSecret { get; set; } = false; +} \ No newline at end of file diff --git a/API/Configuration/RecNetOptions.cs b/src/API/Configuration/RecNetOptions.cs similarity index 100% rename from API/Configuration/RecNetOptions.cs rename to src/API/Configuration/RecNetOptions.cs diff --git a/API/Contracts/Neutrino/Enums/AuthenticationResultCode.cs b/src/API/Contracts/Neutrino/Enums/AuthenticationResultCode.cs similarity index 100% rename from API/Contracts/Neutrino/Enums/AuthenticationResultCode.cs rename to src/API/Contracts/Neutrino/Enums/AuthenticationResultCode.cs diff --git a/API/Contracts/Neutrino/Requests/NeutrinoAuthenticateRequest.cs b/src/API/Contracts/Neutrino/Requests/NeutrinoAuthenticateRequest.cs similarity index 100% rename from API/Contracts/Neutrino/Requests/NeutrinoAuthenticateRequest.cs rename to src/API/Contracts/Neutrino/Requests/NeutrinoAuthenticateRequest.cs diff --git a/API/Contracts/Neutrino/Responses/NeutrinoAuthenticateResponse.cs b/src/API/Contracts/Neutrino/Responses/NeutrinoAuthenticateResponse.cs similarity index 100% rename from API/Contracts/Neutrino/Responses/NeutrinoAuthenticateResponse.cs rename to src/API/Contracts/Neutrino/Responses/NeutrinoAuthenticateResponse.cs diff --git a/API/Contracts/Neutrino/Responses/NeutrinoResultCodeResponse.cs b/src/API/Contracts/Neutrino/Responses/NeutrinoResultCodeResponse.cs similarity index 100% rename from API/Contracts/Neutrino/Responses/NeutrinoResultCodeResponse.cs rename to src/API/Contracts/Neutrino/Responses/NeutrinoResultCodeResponse.cs diff --git a/API/Contracts/Profiles/Requests/LoginRequest.cs b/src/API/Contracts/Profiles/Requests/LoginRequest.cs similarity index 100% rename from API/Contracts/Profiles/Requests/LoginRequest.cs rename to src/API/Contracts/Profiles/Requests/LoginRequest.cs diff --git a/API/Contracts/Profiles/Responses/LoginResponse.cs b/src/API/Contracts/Profiles/Responses/LoginResponse.cs similarity index 100% rename from API/Contracts/Profiles/Responses/LoginResponse.cs rename to src/API/Contracts/Profiles/Responses/LoginResponse.cs diff --git a/API/Controllers/Config/V1/ConfigController.cs b/src/API/Controllers/Config/V1/ConfigController.cs similarity index 100% rename from API/Controllers/Config/V1/ConfigController.cs rename to src/API/Controllers/Config/V1/ConfigController.cs diff --git a/API/Controllers/Neutrino/NeutrinoController.cs b/src/API/Controllers/Neutrino/NeutrinoController.cs similarity index 81% rename from API/Controllers/Neutrino/NeutrinoController.cs rename to src/API/Controllers/Neutrino/NeutrinoController.cs index 79a5e8a..8f91bac 100644 --- a/API/Controllers/Neutrino/NeutrinoController.cs +++ b/src/API/Controllers/Neutrino/NeutrinoController.cs @@ -1,21 +1,31 @@ using System.Text.Json; +using API.Configuration; using API.Contracts.Neutrino.Enums; using API.Contracts.Neutrino.Requests; using API.Contracts.Neutrino.Responses; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using RecNet.Application.Neutrino; namespace API.Controllers.Neutrino; [Route("[controller]")] [ApiController] -public class NeutrinoController(INeutrinoAuthorizationService authorizationService) : ControllerBase +public class NeutrinoController( + INeutrinoAuthorizationService authorizationService, + IOptions options) : ControllerBase { + private readonly NeutrinoOptions _options = options.Value; + // Photon sends the request with Content-Type: text/plain instead of application/json. [Route("authorize")] public async Task> AuthorizeNeutrinoAsync( - CancellationToken ct) + [FromQuery(Name = "secret")] string? secret = null, + CancellationToken ct = default) { + if (_options.ValidateSecret && secret != _options.Secret) + return Forbid(); + using var reader = new StreamReader(Request.Body); string rawText = await reader.ReadToEndAsync(ct); diff --git a/API/Controllers/Profiles/V1/ProfilesController.cs b/src/API/Controllers/Profiles/V1/ProfilesController.cs similarity index 100% rename from API/Controllers/Profiles/V1/ProfilesController.cs rename to src/API/Controllers/Profiles/V1/ProfilesController.cs diff --git a/API/Program.cs b/src/API/Program.cs similarity index 93% rename from API/Program.cs rename to src/API/Program.cs index eb5f1b8..fb5be79 100644 --- a/API/Program.cs +++ b/src/API/Program.cs @@ -15,6 +15,11 @@ public class Program public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); + + builder.Services + .AddOptions() + .Bind(builder.Configuration.GetSection("Neutrino")) + .ValidateOnStart(); var recNetOptions = builder.Configuration.GetSection("RecNet").Get() ?? new RecNetOptions(); diff --git a/API/Properties/launchSettings.json b/src/API/Properties/launchSettings.json similarity index 100% rename from API/Properties/launchSettings.json rename to src/API/Properties/launchSettings.json diff --git a/API/appsettings.Development.json b/src/API/appsettings.Development.json similarity index 100% rename from API/appsettings.Development.json rename to src/API/appsettings.Development.json diff --git a/API/appsettings.json b/src/API/appsettings.json similarity index 100% rename from API/appsettings.json rename to src/API/appsettings.json diff --git a/AppHost/AppHost.cs b/src/AppHost/AppHost.cs similarity index 100% rename from AppHost/AppHost.cs rename to src/AppHost/AppHost.cs diff --git a/AppHost/AppHost.csproj b/src/AppHost/AppHost.csproj similarity index 100% rename from AppHost/AppHost.csproj rename to src/AppHost/AppHost.csproj diff --git a/AppHost/Properties/launchSettings.json b/src/AppHost/Properties/launchSettings.json similarity index 100% rename from AppHost/Properties/launchSettings.json rename to src/AppHost/Properties/launchSettings.json diff --git a/AppHost/appsettings.Development.json b/src/AppHost/appsettings.Development.json similarity index 100% rename from AppHost/appsettings.Development.json rename to src/AppHost/appsettings.Development.json diff --git a/AppHost/appsettings.json b/src/AppHost/appsettings.json similarity index 100% rename from AppHost/appsettings.json rename to src/AppHost/appsettings.json diff --git a/AppHost/aspire.config.json b/src/AppHost/aspire.config.json similarity index 100% rename from AppHost/aspire.config.json rename to src/AppHost/aspire.config.json diff --git a/RecNet.Application/Common/Interfaces/IConfigService.cs b/src/RecNet.Application/Common/Interfaces/IConfigService.cs similarity index 100% rename from RecNet.Application/Common/Interfaces/IConfigService.cs rename to src/RecNet.Application/Common/Interfaces/IConfigService.cs diff --git a/RecNet.Application/Common/Interfaces/IPlatformAuthValidator.cs b/src/RecNet.Application/Common/Interfaces/IPlatformAuthValidator.cs similarity index 100% rename from RecNet.Application/Common/Interfaces/IPlatformAuthValidator.cs rename to src/RecNet.Application/Common/Interfaces/IPlatformAuthValidator.cs diff --git a/RecNet.Application/Common/Interfaces/ISteamAuthService.cs b/src/RecNet.Application/Common/Interfaces/ISteamAuthService.cs similarity index 100% rename from RecNet.Application/Common/Interfaces/ISteamAuthService.cs rename to src/RecNet.Application/Common/Interfaces/ISteamAuthService.cs diff --git a/RecNet.Application/Common/Interfaces/ITokenService.cs b/src/RecNet.Application/Common/Interfaces/ITokenService.cs similarity index 100% rename from RecNet.Application/Common/Interfaces/ITokenService.cs rename to src/RecNet.Application/Common/Interfaces/ITokenService.cs diff --git a/RecNet.Application/Common/Mapping/ApplicationMappingProfile.cs b/src/RecNet.Application/Common/Mapping/ApplicationMappingProfile.cs similarity index 100% rename from RecNet.Application/Common/Mapping/ApplicationMappingProfile.cs rename to src/RecNet.Application/Common/Mapping/ApplicationMappingProfile.cs diff --git a/RecNet.Application/Common/PlatformAuth/PlatformAuthResult.cs b/src/RecNet.Application/Common/PlatformAuth/PlatformAuthResult.cs similarity index 100% rename from RecNet.Application/Common/PlatformAuth/PlatformAuthResult.cs rename to src/RecNet.Application/Common/PlatformAuth/PlatformAuthResult.cs diff --git a/RecNet.Application/Common/Security/ClaimsPrincipalExtensions.cs b/src/RecNet.Application/Common/Security/ClaimsPrincipalExtensions.cs similarity index 100% rename from RecNet.Application/Common/Security/ClaimsPrincipalExtensions.cs rename to src/RecNet.Application/Common/Security/ClaimsPrincipalExtensions.cs diff --git a/RecNet.Application/Common/Steam/SteamAuthResult.cs b/src/RecNet.Application/Common/Steam/SteamAuthResult.cs similarity index 100% rename from RecNet.Application/Common/Steam/SteamAuthResult.cs rename to src/RecNet.Application/Common/Steam/SteamAuthResult.cs diff --git a/RecNet.Application/Common/Tokens/TokenResult.cs b/src/RecNet.Application/Common/Tokens/TokenResult.cs similarity index 100% rename from RecNet.Application/Common/Tokens/TokenResult.cs rename to src/RecNet.Application/Common/Tokens/TokenResult.cs diff --git a/RecNet.Application/Common/Tokens/TokenVerifyResult.cs b/src/RecNet.Application/Common/Tokens/TokenVerifyResult.cs similarity index 100% rename from RecNet.Application/Common/Tokens/TokenVerifyResult.cs rename to src/RecNet.Application/Common/Tokens/TokenVerifyResult.cs diff --git a/RecNet.Application/DependencyInjection.cs b/src/RecNet.Application/DependencyInjection.cs similarity index 100% rename from RecNet.Application/DependencyInjection.cs rename to src/RecNet.Application/DependencyInjection.cs diff --git a/RecNet.Application/Neutrino/AuthorizeNeutrinoCommand.cs b/src/RecNet.Application/Neutrino/AuthorizeNeutrinoCommand.cs similarity index 100% rename from RecNet.Application/Neutrino/AuthorizeNeutrinoCommand.cs rename to src/RecNet.Application/Neutrino/AuthorizeNeutrinoCommand.cs diff --git a/RecNet.Application/Neutrino/INeutrinoAuthorizationService.cs b/src/RecNet.Application/Neutrino/INeutrinoAuthorizationService.cs similarity index 100% rename from RecNet.Application/Neutrino/INeutrinoAuthorizationService.cs rename to src/RecNet.Application/Neutrino/INeutrinoAuthorizationService.cs diff --git a/RecNet.Application/Neutrino/NeutrinoAuthorizationFailure.cs b/src/RecNet.Application/Neutrino/NeutrinoAuthorizationFailure.cs similarity index 100% rename from RecNet.Application/Neutrino/NeutrinoAuthorizationFailure.cs rename to src/RecNet.Application/Neutrino/NeutrinoAuthorizationFailure.cs diff --git a/RecNet.Application/Neutrino/NeutrinoAuthorizationResult.cs b/src/RecNet.Application/Neutrino/NeutrinoAuthorizationResult.cs similarity index 100% rename from RecNet.Application/Neutrino/NeutrinoAuthorizationResult.cs rename to src/RecNet.Application/Neutrino/NeutrinoAuthorizationResult.cs diff --git a/RecNet.Application/Neutrino/NeutrinoAuthorizationService.cs b/src/RecNet.Application/Neutrino/NeutrinoAuthorizationService.cs similarity index 100% rename from RecNet.Application/Neutrino/NeutrinoAuthorizationService.cs rename to src/RecNet.Application/Neutrino/NeutrinoAuthorizationService.cs diff --git a/RecNet.Application/Profiles/IProfileService.cs b/src/RecNet.Application/Profiles/IProfileService.cs similarity index 100% rename from RecNet.Application/Profiles/IProfileService.cs rename to src/RecNet.Application/Profiles/IProfileService.cs diff --git a/RecNet.Application/Profiles/LoginProfileCommand.cs b/src/RecNet.Application/Profiles/LoginProfileCommand.cs similarity index 100% rename from RecNet.Application/Profiles/LoginProfileCommand.cs rename to src/RecNet.Application/Profiles/LoginProfileCommand.cs diff --git a/RecNet.Application/Profiles/LoginProfileResult.cs b/src/RecNet.Application/Profiles/LoginProfileResult.cs similarity index 100% rename from RecNet.Application/Profiles/LoginProfileResult.cs rename to src/RecNet.Application/Profiles/LoginProfileResult.cs diff --git a/RecNet.Application/Profiles/NameGenerator.cs b/src/RecNet.Application/Profiles/NameGenerator.cs similarity index 100% rename from RecNet.Application/Profiles/NameGenerator.cs rename to src/RecNet.Application/Profiles/NameGenerator.cs diff --git a/RecNet.Application/Profiles/ProfileDto.cs b/src/RecNet.Application/Profiles/ProfileDto.cs similarity index 100% rename from RecNet.Application/Profiles/ProfileDto.cs rename to src/RecNet.Application/Profiles/ProfileDto.cs diff --git a/RecNet.Application/Profiles/ProfileService.cs b/src/RecNet.Application/Profiles/ProfileService.cs similarity index 100% rename from RecNet.Application/Profiles/ProfileService.cs rename to src/RecNet.Application/Profiles/ProfileService.cs diff --git a/RecNet.Application/RecNet.Application.csproj b/src/RecNet.Application/RecNet.Application.csproj similarity index 100% rename from RecNet.Application/RecNet.Application.csproj rename to src/RecNet.Application/RecNet.Application.csproj diff --git a/RecNet.Domain/Common/PlatformType.cs b/src/RecNet.Domain/Common/PlatformType.cs similarity index 100% rename from RecNet.Domain/Common/PlatformType.cs rename to src/RecNet.Domain/Common/PlatformType.cs diff --git a/RecNet.Domain/Configuration/IServerConfigRepository.cs b/src/RecNet.Domain/Configuration/IServerConfigRepository.cs similarity index 100% rename from RecNet.Domain/Configuration/IServerConfigRepository.cs rename to src/RecNet.Domain/Configuration/IServerConfigRepository.cs diff --git a/RecNet.Domain/Configuration/ServerConfig.cs b/src/RecNet.Domain/Configuration/ServerConfig.cs similarity index 100% rename from RecNet.Domain/Configuration/ServerConfig.cs rename to src/RecNet.Domain/Configuration/ServerConfig.cs diff --git a/RecNet.Domain/Exceptions/DomainException.cs b/src/RecNet.Domain/Exceptions/DomainException.cs similarity index 100% rename from RecNet.Domain/Exceptions/DomainException.cs rename to src/RecNet.Domain/Exceptions/DomainException.cs diff --git a/RecNet.Domain/GameVersions/GameVersion.cs b/src/RecNet.Domain/GameVersions/GameVersion.cs similarity index 100% rename from RecNet.Domain/GameVersions/GameVersion.cs rename to src/RecNet.Domain/GameVersions/GameVersion.cs diff --git a/RecNet.Domain/GameVersions/IGameVersionRepository.cs b/src/RecNet.Domain/GameVersions/IGameVersionRepository.cs similarity index 100% rename from RecNet.Domain/GameVersions/IGameVersionRepository.cs rename to src/RecNet.Domain/GameVersions/IGameVersionRepository.cs diff --git a/RecNet.Domain/Profiles/IProfileRepository.cs b/src/RecNet.Domain/Profiles/IProfileRepository.cs similarity index 100% rename from RecNet.Domain/Profiles/IProfileRepository.cs rename to src/RecNet.Domain/Profiles/IProfileRepository.cs diff --git a/RecNet.Domain/Profiles/Names/DefaultNameGenConfig.cs b/src/RecNet.Domain/Profiles/Names/DefaultNameGenConfig.cs similarity index 100% rename from RecNet.Domain/Profiles/Names/DefaultNameGenConfig.cs rename to src/RecNet.Domain/Profiles/Names/DefaultNameGenConfig.cs diff --git a/RecNet.Domain/Profiles/Names/NameGenConfig.cs b/src/RecNet.Domain/Profiles/Names/NameGenConfig.cs similarity index 100% rename from RecNet.Domain/Profiles/Names/NameGenConfig.cs rename to src/RecNet.Domain/Profiles/Names/NameGenConfig.cs diff --git a/RecNet.Domain/Profiles/Profile.cs b/src/RecNet.Domain/Profiles/Profile.cs similarity index 100% rename from RecNet.Domain/Profiles/Profile.cs rename to src/RecNet.Domain/Profiles/Profile.cs diff --git a/RecNet.Domain/RecNet.Domain.csproj b/src/RecNet.Domain/RecNet.Domain.csproj similarity index 100% rename from RecNet.Domain/RecNet.Domain.csproj rename to src/RecNet.Domain/RecNet.Domain.csproj diff --git a/RecNet.Infrastructure/DependencyInjection.cs b/src/RecNet.Infrastructure/DependencyInjection.cs similarity index 95% rename from RecNet.Infrastructure/DependencyInjection.cs rename to src/RecNet.Infrastructure/DependencyInjection.cs index 53a3f10..9ff008d 100644 --- a/RecNet.Infrastructure/DependencyInjection.cs +++ b/src/RecNet.Infrastructure/DependencyInjection.cs @@ -38,7 +38,7 @@ public static class DependencyInjection builder.Services.AddScoped(); builder.Services.AddScoped(); - builder.Services.AddScoped(); + builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/RecNet.Infrastructure/Persistence/Configurations/GameVersionConfiguration.cs b/src/RecNet.Infrastructure/Persistence/Configurations/GameVersionConfiguration.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Configurations/GameVersionConfiguration.cs rename to src/RecNet.Infrastructure/Persistence/Configurations/GameVersionConfiguration.cs diff --git a/RecNet.Infrastructure/Persistence/Configurations/ProfileConfiguration.cs b/src/RecNet.Infrastructure/Persistence/Configurations/ProfileConfiguration.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Configurations/ProfileConfiguration.cs rename to src/RecNet.Infrastructure/Persistence/Configurations/ProfileConfiguration.cs diff --git a/RecNet.Infrastructure/Persistence/Configurations/ServerConfigConfiguration.cs b/src/RecNet.Infrastructure/Persistence/Configurations/ServerConfigConfiguration.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Configurations/ServerConfigConfiguration.cs rename to src/RecNet.Infrastructure/Persistence/Configurations/ServerConfigConfiguration.cs diff --git a/RecNet.Infrastructure/Persistence/DatabaseContext.cs b/src/RecNet.Infrastructure/Persistence/DatabaseContext.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/DatabaseContext.cs rename to src/RecNet.Infrastructure/Persistence/DatabaseContext.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.Designer.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.Designer.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.Designer.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.Designer.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260618180145_Initial.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.Designer.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.Designer.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.Designer.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.Designer.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260618183916_ServerConfigs.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.Designer.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.Designer.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.Designer.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.Designer.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260619025601_ProfileToggles.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.Designer.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.Designer.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.Designer.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.Designer.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.cs b/src/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/20260619201140_GameVersion.cs diff --git a/RecNet.Infrastructure/Persistence/Migrations/DatabaseContextModelSnapshot.cs b/src/RecNet.Infrastructure/Persistence/Migrations/DatabaseContextModelSnapshot.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Migrations/DatabaseContextModelSnapshot.cs rename to src/RecNet.Infrastructure/Persistence/Migrations/DatabaseContextModelSnapshot.cs diff --git a/RecNet.Infrastructure/Persistence/Repositories/GameVersionRepository.cs b/src/RecNet.Infrastructure/Persistence/Repositories/GameVersionRepository.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Repositories/GameVersionRepository.cs rename to src/RecNet.Infrastructure/Persistence/Repositories/GameVersionRepository.cs diff --git a/RecNet.Infrastructure/Persistence/Repositories/ProfileRepository.cs b/src/RecNet.Infrastructure/Persistence/Repositories/ProfileRepository.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Repositories/ProfileRepository.cs rename to src/RecNet.Infrastructure/Persistence/Repositories/ProfileRepository.cs diff --git a/RecNet.Infrastructure/Persistence/Repositories/ServerConfigRepository.cs b/src/RecNet.Infrastructure/Persistence/Repositories/ServerConfigRepository.cs similarity index 100% rename from RecNet.Infrastructure/Persistence/Repositories/ServerConfigRepository.cs rename to src/RecNet.Infrastructure/Persistence/Repositories/ServerConfigRepository.cs diff --git a/RecNet.Infrastructure/RecNet.Infrastructure.csproj b/src/RecNet.Infrastructure/RecNet.Infrastructure.csproj similarity index 100% rename from RecNet.Infrastructure/RecNet.Infrastructure.csproj rename to src/RecNet.Infrastructure/RecNet.Infrastructure.csproj diff --git a/RecNet.Infrastructure/Services/Configuration/ConfigService.cs b/src/RecNet.Infrastructure/Services/Configuration/ConfigService.cs similarity index 100% rename from RecNet.Infrastructure/Services/Configuration/ConfigService.cs rename to src/RecNet.Infrastructure/Services/Configuration/ConfigService.cs diff --git a/RecNet.Infrastructure/Services/Meta/MetaAuthValidator.cs b/src/RecNet.Infrastructure/Services/Meta/MetaAuthValidator.cs similarity index 100% rename from RecNet.Infrastructure/Services/Meta/MetaAuthValidator.cs rename to src/RecNet.Infrastructure/Services/Meta/MetaAuthValidator.cs diff --git a/RecNet.Infrastructure/Services/Steam/SteamAuthService.cs b/src/RecNet.Infrastructure/Services/Steam/SteamAuthService.cs similarity index 100% rename from RecNet.Infrastructure/Services/Steam/SteamAuthService.cs rename to src/RecNet.Infrastructure/Services/Steam/SteamAuthService.cs diff --git a/RecNet.Infrastructure/Services/Steam/SteamAuthValidator.cs b/src/RecNet.Infrastructure/Services/Steam/SteamAuthValidator.cs similarity index 100% rename from RecNet.Infrastructure/Services/Steam/SteamAuthValidator.cs rename to src/RecNet.Infrastructure/Services/Steam/SteamAuthValidator.cs diff --git a/RecNet.Infrastructure/Services/Steam/SteamOptions.cs b/src/RecNet.Infrastructure/Services/Steam/SteamOptions.cs similarity index 100% rename from RecNet.Infrastructure/Services/Steam/SteamOptions.cs rename to src/RecNet.Infrastructure/Services/Steam/SteamOptions.cs diff --git a/RecNet.Infrastructure/Services/Tokens/JwtOptions.cs b/src/RecNet.Infrastructure/Services/Tokens/JwtOptions.cs similarity index 100% rename from RecNet.Infrastructure/Services/Tokens/JwtOptions.cs rename to src/RecNet.Infrastructure/Services/Tokens/JwtOptions.cs diff --git a/RecNet.Infrastructure/Services/Tokens/TokenService.cs b/src/RecNet.Infrastructure/Services/Tokens/TokenService.cs similarity index 100% rename from RecNet.Infrastructure/Services/Tokens/TokenService.cs rename to src/RecNet.Infrastructure/Services/Tokens/TokenService.cs diff --git a/RecNet.MigrationService/Program.cs b/src/RecNet.MigrationService/Program.cs similarity index 100% rename from RecNet.MigrationService/Program.cs rename to src/RecNet.MigrationService/Program.cs diff --git a/RecNet.MigrationService/Properties/launchSettings.json b/src/RecNet.MigrationService/Properties/launchSettings.json similarity index 100% rename from RecNet.MigrationService/Properties/launchSettings.json rename to src/RecNet.MigrationService/Properties/launchSettings.json diff --git a/RecNet.MigrationService/RecNet.MigrationService.csproj b/src/RecNet.MigrationService/RecNet.MigrationService.csproj similarity index 100% rename from RecNet.MigrationService/RecNet.MigrationService.csproj rename to src/RecNet.MigrationService/RecNet.MigrationService.csproj diff --git a/RecNet.MigrationService/Worker.cs b/src/RecNet.MigrationService/Worker.cs similarity index 100% rename from RecNet.MigrationService/Worker.cs rename to src/RecNet.MigrationService/Worker.cs diff --git a/RecNet.MigrationService/appsettings.Development.json b/src/RecNet.MigrationService/appsettings.Development.json similarity index 100% rename from RecNet.MigrationService/appsettings.Development.json rename to src/RecNet.MigrationService/appsettings.Development.json diff --git a/RecNet.MigrationService/appsettings.json b/src/RecNet.MigrationService/appsettings.json similarity index 100% rename from RecNet.MigrationService/appsettings.json rename to src/RecNet.MigrationService/appsettings.json diff --git a/RecNet.ServiceDefaults/Extensions.cs b/src/RecNet.ServiceDefaults/Extensions.cs similarity index 100% rename from RecNet.ServiceDefaults/Extensions.cs rename to src/RecNet.ServiceDefaults/Extensions.cs diff --git a/RecNet.ServiceDefaults/RecNet.ServiceDefaults.csproj b/src/RecNet.ServiceDefaults/RecNet.ServiceDefaults.csproj similarity index 100% rename from RecNet.ServiceDefaults/RecNet.ServiceDefaults.csproj rename to src/RecNet.ServiceDefaults/RecNet.ServiceDefaults.csproj