diff --git a/code/Cleanuparr.Api/Cleanuparr.Api.csproj b/code/backend/Cleanuparr.Api/Cleanuparr.Api.csproj similarity index 100% rename from code/Cleanuparr.Api/Cleanuparr.Api.csproj rename to code/backend/Cleanuparr.Api/Cleanuparr.Api.csproj diff --git a/code/Cleanuparr.Api/Controllers/ApiDocumentationController.cs b/code/backend/Cleanuparr.Api/Controllers/ApiDocumentationController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/ApiDocumentationController.cs rename to code/backend/Cleanuparr.Api/Controllers/ApiDocumentationController.cs diff --git a/code/Cleanuparr.Api/Controllers/ConfigurationController.cs b/code/backend/Cleanuparr.Api/Controllers/ConfigurationController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/ConfigurationController.cs rename to code/backend/Cleanuparr.Api/Controllers/ConfigurationController.cs diff --git a/code/Cleanuparr.Api/Controllers/EventsController.cs b/code/backend/Cleanuparr.Api/Controllers/EventsController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/EventsController.cs rename to code/backend/Cleanuparr.Api/Controllers/EventsController.cs diff --git a/code/Cleanuparr.Api/Controllers/HealthCheckController.cs b/code/backend/Cleanuparr.Api/Controllers/HealthCheckController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/HealthCheckController.cs rename to code/backend/Cleanuparr.Api/Controllers/HealthCheckController.cs diff --git a/code/Cleanuparr.Api/Controllers/JobsController.cs b/code/backend/Cleanuparr.Api/Controllers/JobsController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/JobsController.cs rename to code/backend/Cleanuparr.Api/Controllers/JobsController.cs diff --git a/code/Cleanuparr.Api/Controllers/StatusController.cs b/code/backend/Cleanuparr.Api/Controllers/StatusController.cs similarity index 100% rename from code/Cleanuparr.Api/Controllers/StatusController.cs rename to code/backend/Cleanuparr.Api/Controllers/StatusController.cs diff --git a/code/Cleanuparr.Api/DependencyInjection/ApiDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/ApiDI.cs similarity index 73% rename from code/Cleanuparr.Api/DependencyInjection/ApiDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/ApiDI.cs index 3fbd15a7..d695ee34 100644 --- a/code/Cleanuparr.Api/DependencyInjection/ApiDI.cs +++ b/code/backend/Cleanuparr.Api/DependencyInjection/ApiDI.cs @@ -59,12 +59,38 @@ public static class ApiDI return services; } - public static WebApplication ConfigureApi(this WebApplication app) + public static WebApplication ConfigureApi(this WebApplication app, IConfiguration configuration) { + ILogger logger = app.Services.GetRequiredService>(); + + string? basePath = configuration.GetValue("BASE_PATH"); + + if (basePath is not null) + { + logger.LogInformation("Using base path: {basePath}", basePath); + app.UsePathBase(basePath); + } + + // Enable compression + app.UseResponseCompression(); + + // Serve static files with caching + app.UseStaticFiles(new StaticFileOptions + { + OnPrepareResponse = ctx => + { + // Cache static assets for 30 days + // if (ctx.File.Name.EndsWith(".js") || ctx.File.Name.EndsWith(".css")) + // { + // ctx.Context.Response.Headers.CacheControl = "public,max-age=2592000"; + // } + } + }); + // Add the global exception handling middleware first app.UseMiddleware(); - app.UseCors("SignalRPolicy"); + app.UseCors("Any"); app.UseRouting(); // Configure middleware pipeline for API @@ -83,6 +109,9 @@ public static class ApiDI app.UseAuthorization(); app.MapControllers(); + // SPA fallback - must be last + app.MapFallbackToFile("index.html"); + // Map SignalR hubs app.MapHub("/api/hubs/health"); app.MapHub("/api/hubs/app"); diff --git a/code/Cleanuparr.Api/DependencyInjection/LoggingDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/LoggingDI.cs similarity index 100% rename from code/Cleanuparr.Api/DependencyInjection/LoggingDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/LoggingDI.cs diff --git a/code/Cleanuparr.Api/DependencyInjection/MainDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/MainDI.cs similarity index 100% rename from code/Cleanuparr.Api/DependencyInjection/MainDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/MainDI.cs diff --git a/code/Cleanuparr.Api/DependencyInjection/NotificationsDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/NotificationsDI.cs similarity index 100% rename from code/Cleanuparr.Api/DependencyInjection/NotificationsDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/NotificationsDI.cs diff --git a/code/Cleanuparr.Api/DependencyInjection/QuartzDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/QuartzDI.cs similarity index 100% rename from code/Cleanuparr.Api/DependencyInjection/QuartzDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/QuartzDI.cs diff --git a/code/Cleanuparr.Api/DependencyInjection/ServicesDI.cs b/code/backend/Cleanuparr.Api/DependencyInjection/ServicesDI.cs similarity index 100% rename from code/Cleanuparr.Api/DependencyInjection/ServicesDI.cs rename to code/backend/Cleanuparr.Api/DependencyInjection/ServicesDI.cs diff --git a/code/Cleanuparr.Api/HostExtensions.cs b/code/backend/Cleanuparr.Api/HostExtensions.cs similarity index 73% rename from code/Cleanuparr.Api/HostExtensions.cs rename to code/backend/Cleanuparr.Api/HostExtensions.cs index c141fbb6..f090f58e 100644 --- a/code/Cleanuparr.Api/HostExtensions.cs +++ b/code/backend/Cleanuparr.Api/HostExtensions.cs @@ -6,9 +6,9 @@ namespace Cleanuparr.Api; public static class HostExtensions { - public static async Task Init(this IHost host) + public static async Task Init(this WebApplication app) { - ILogger logger = host.Services.GetRequiredService>(); + ILogger logger = app.Services.GetRequiredService>(); Version? version = Assembly.GetExecutingAssembly().GetName().Version; @@ -21,18 +21,18 @@ public static class HostExtensions logger.LogInformation("timezone: {tz}", TimeZoneInfo.Local.DisplayName); // Apply db migrations - var eventsContext = host.Services.GetRequiredService(); + var eventsContext = app.Services.GetRequiredService(); if ((await eventsContext.Database.GetPendingMigrationsAsync()).Any()) { await eventsContext.Database.MigrateAsync(); } - var configContext = host.Services.GetRequiredService(); + var configContext = app.Services.GetRequiredService(); if ((await configContext.Database.GetPendingMigrationsAsync()).Any()) { await configContext.Database.MigrateAsync(); } - return host; + return app; } } \ No newline at end of file diff --git a/code/Cleanuparr.Api/Jobs/BackgroundJobManager.cs b/code/backend/Cleanuparr.Api/Jobs/BackgroundJobManager.cs similarity index 100% rename from code/Cleanuparr.Api/Jobs/BackgroundJobManager.cs rename to code/backend/Cleanuparr.Api/Jobs/BackgroundJobManager.cs diff --git a/code/Cleanuparr.Api/Jobs/GenericJob.cs b/code/backend/Cleanuparr.Api/Jobs/GenericJob.cs similarity index 100% rename from code/Cleanuparr.Api/Jobs/GenericJob.cs rename to code/backend/Cleanuparr.Api/Jobs/GenericJob.cs diff --git a/code/Cleanuparr.Api/Middleware/ExceptionMiddleware.cs b/code/backend/Cleanuparr.Api/Middleware/ExceptionMiddleware.cs similarity index 100% rename from code/Cleanuparr.Api/Middleware/ExceptionMiddleware.cs rename to code/backend/Cleanuparr.Api/Middleware/ExceptionMiddleware.cs diff --git a/code/Cleanuparr.Api/Models/ErrorResponse.cs b/code/backend/Cleanuparr.Api/Models/ErrorResponse.cs similarity index 100% rename from code/Cleanuparr.Api/Models/ErrorResponse.cs rename to code/backend/Cleanuparr.Api/Models/ErrorResponse.cs diff --git a/code/Cleanuparr.Api/Models/ScheduleRequest.cs b/code/backend/Cleanuparr.Api/Models/ScheduleRequest.cs similarity index 100% rename from code/Cleanuparr.Api/Models/ScheduleRequest.cs rename to code/backend/Cleanuparr.Api/Models/ScheduleRequest.cs diff --git a/code/Cleanuparr.Api/Program.cs b/code/backend/Cleanuparr.Api/Program.cs similarity index 79% rename from code/Cleanuparr.Api/Program.cs rename to code/backend/Cleanuparr.Api/Program.cs index 70475344..e98c2162 100644 --- a/code/Cleanuparr.Api/Program.cs +++ b/code/backend/Cleanuparr.Api/Program.cs @@ -1,13 +1,15 @@ -// using Infrastructure.Logging; -// using Serilog; using System.Text.Json.Serialization; using Cleanuparr.Api; using Cleanuparr.Api.DependencyInjection; using Cleanuparr.Infrastructure.Logging; +using Cleanuparr.Shared.Helpers; using Serilog; var builder = WebApplication.CreateBuilder(args); +builder.Configuration + .AddJsonFile(Path.Combine(ConfigurationPathProvider.GetConfigPath(), "cleanuparr.json"), optional: true, reloadOnChange: true); + // Configure JSON options to serialize enums as strings builder.Services.ConfigureHttpJsonOptions(options => { @@ -22,9 +24,11 @@ builder.Services // Add CORS before SignalR builder.Services.AddCors(options => { - options.AddPolicy("SignalRPolicy", policy => + options.AddPolicy("Any", policy => { - policy.WithOrigins("http://localhost:4200") // Your Angular URL + policy + // https://github.com/dotnet/aspnetcore/issues/4457#issuecomment-465669576 + .SetIsOriginAllowed(_ => true) .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); // Required for SignalR auth @@ -62,6 +66,6 @@ logConfig.WriteTo.Sink(signalRSink); Log.Logger = logConfig.CreateLogger(); // Configure the HTTP request pipeline -app.ConfigureApi(); +app.ConfigureApi(builder.Configuration); await app.RunAsync(); \ No newline at end of file diff --git a/code/Cleanuparr.Application/Cleanuparr.Application.csproj b/code/backend/Cleanuparr.Application/Cleanuparr.Application.csproj similarity index 100% rename from code/Cleanuparr.Application/Cleanuparr.Application.csproj rename to code/backend/Cleanuparr.Application/Cleanuparr.Application.csproj diff --git a/code/Cleanuparr.Application/Features/Arr/Dtos/ArrConfigDto.cs b/code/backend/Cleanuparr.Application/Features/Arr/Dtos/ArrConfigDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/Arr/Dtos/ArrConfigDto.cs rename to code/backend/Cleanuparr.Application/Features/Arr/Dtos/ArrConfigDto.cs diff --git a/code/Cleanuparr.Application/Features/Arr/Dtos/CreateArrInstanceDto.cs b/code/backend/Cleanuparr.Application/Features/Arr/Dtos/CreateArrInstanceDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/Arr/Dtos/CreateArrInstanceDto.cs rename to code/backend/Cleanuparr.Application/Features/Arr/Dtos/CreateArrInstanceDto.cs diff --git a/code/Cleanuparr.Application/Features/Arr/Dtos/UpdateLidarrConfigDto.cs b/code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateLidarrConfigDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/Arr/Dtos/UpdateLidarrConfigDto.cs rename to code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateLidarrConfigDto.cs diff --git a/code/Cleanuparr.Application/Features/Arr/Dtos/UpdateRadarrConfigDto.cs b/code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateRadarrConfigDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/Arr/Dtos/UpdateRadarrConfigDto.cs rename to code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateRadarrConfigDto.cs diff --git a/code/Cleanuparr.Application/Features/Arr/Dtos/UpdateSonarrConfigDto.cs b/code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateSonarrConfigDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/Arr/Dtos/UpdateSonarrConfigDto.cs rename to code/backend/Cleanuparr.Application/Features/Arr/Dtos/UpdateSonarrConfigDto.cs diff --git a/code/Cleanuparr.Application/Features/DownloadCleaner/DownloadCleaner.cs b/code/backend/Cleanuparr.Application/Features/DownloadCleaner/DownloadCleaner.cs similarity index 100% rename from code/Cleanuparr.Application/Features/DownloadCleaner/DownloadCleaner.cs rename to code/backend/Cleanuparr.Application/Features/DownloadCleaner/DownloadCleaner.cs diff --git a/code/Cleanuparr.Application/Features/DownloadClient/Dtos/CreateDownloadClientDto.cs b/code/backend/Cleanuparr.Application/Features/DownloadClient/Dtos/CreateDownloadClientDto.cs similarity index 100% rename from code/Cleanuparr.Application/Features/DownloadClient/Dtos/CreateDownloadClientDto.cs rename to code/backend/Cleanuparr.Application/Features/DownloadClient/Dtos/CreateDownloadClientDto.cs diff --git a/code/Cleanuparr.Application/Features/QueueCleaner/QueueCleaner.cs b/code/backend/Cleanuparr.Application/Features/QueueCleaner/QueueCleaner.cs similarity index 100% rename from code/Cleanuparr.Application/Features/QueueCleaner/QueueCleaner.cs rename to code/backend/Cleanuparr.Application/Features/QueueCleaner/QueueCleaner.cs diff --git a/code/Cleanuparr.Domain/Cleanuparr.Domain.csproj b/code/backend/Cleanuparr.Domain/Cleanuparr.Domain.csproj similarity index 100% rename from code/Cleanuparr.Domain/Cleanuparr.Domain.csproj rename to code/backend/Cleanuparr.Domain/Cleanuparr.Domain.csproj diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/Image.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/Image.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/Image.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/Image.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/LidarrImage.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/LidarrImage.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/LidarrImage.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/LidarrImage.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/QueueAlbum.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueAlbum.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/QueueAlbum.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueAlbum.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/QueueListResponse.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueListResponse.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/QueueListResponse.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueListResponse.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/QueueMovie.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueMovie.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/QueueMovie.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueMovie.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/QueueRecord.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueRecord.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/QueueRecord.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueRecord.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/QueueSeries.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueSeries.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/QueueSeries.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/QueueSeries.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/Queue/TrackedDownloadStatusMessage.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/Queue/TrackedDownloadStatusMessage.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/Queue/TrackedDownloadStatusMessage.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/Queue/TrackedDownloadStatusMessage.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/SearchItem.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/SearchItem.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/SearchItem.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/SearchItem.cs diff --git a/code/Cleanuparr.Domain/Entities/Arr/SonarrSearchItem.cs b/code/backend/Cleanuparr.Domain/Entities/Arr/SonarrSearchItem.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Arr/SonarrSearchItem.cs rename to code/backend/Cleanuparr.Domain/Entities/Arr/SonarrSearchItem.cs diff --git a/code/Cleanuparr.Domain/Entities/ByteSize.cs b/code/backend/Cleanuparr.Domain/Entities/ByteSize.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/ByteSize.cs rename to code/backend/Cleanuparr.Domain/Entities/ByteSize.cs diff --git a/code/Cleanuparr.Domain/Entities/Cache/StalledCacheItem.cs b/code/backend/Cleanuparr.Domain/Entities/Cache/StalledCacheItem.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Cache/StalledCacheItem.cs rename to code/backend/Cleanuparr.Domain/Entities/Cache/StalledCacheItem.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Request/DelugeRequest.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Request/DelugeRequest.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Request/DelugeRequest.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Request/DelugeRequest.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeContents.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeContents.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeContents.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeContents.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeError.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeError.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeError.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeError.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeFileOrDirectory.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeFileOrDirectory.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeFileOrDirectory.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeFileOrDirectory.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeResponse.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeResponse.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeResponse.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeResponse.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrent.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrent.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrent.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrent.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrentExtended.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrentExtended.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrentExtended.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DelugeTorrentExtended.cs diff --git a/code/Cleanuparr.Domain/Entities/Deluge/Response/DownloadStatus.cs b/code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DownloadStatus.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Deluge/Response/DownloadStatus.cs rename to code/backend/Cleanuparr.Domain/Entities/Deluge/Response/DownloadStatus.cs diff --git a/code/Cleanuparr.Domain/Entities/Lidarr/Album.cs b/code/backend/Cleanuparr.Domain/Entities/Lidarr/Album.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Lidarr/Album.cs rename to code/backend/Cleanuparr.Domain/Entities/Lidarr/Album.cs diff --git a/code/Cleanuparr.Domain/Entities/Lidarr/Artist.cs b/code/backend/Cleanuparr.Domain/Entities/Lidarr/Artist.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Lidarr/Artist.cs rename to code/backend/Cleanuparr.Domain/Entities/Lidarr/Artist.cs diff --git a/code/Cleanuparr.Domain/Entities/Lidarr/LidarrCommand.cs b/code/backend/Cleanuparr.Domain/Entities/Lidarr/LidarrCommand.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Lidarr/LidarrCommand.cs rename to code/backend/Cleanuparr.Domain/Entities/Lidarr/LidarrCommand.cs diff --git a/code/Cleanuparr.Domain/Entities/Radarr/Movie.cs b/code/backend/Cleanuparr.Domain/Entities/Radarr/Movie.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Radarr/Movie.cs rename to code/backend/Cleanuparr.Domain/Entities/Radarr/Movie.cs diff --git a/code/Cleanuparr.Domain/Entities/Radarr/RadarrCommand.cs b/code/backend/Cleanuparr.Domain/Entities/Radarr/RadarrCommand.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Radarr/RadarrCommand.cs rename to code/backend/Cleanuparr.Domain/Entities/Radarr/RadarrCommand.cs diff --git a/code/Cleanuparr.Domain/Entities/SmartTimeSpan.cs b/code/backend/Cleanuparr.Domain/Entities/SmartTimeSpan.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/SmartTimeSpan.cs rename to code/backend/Cleanuparr.Domain/Entities/SmartTimeSpan.cs diff --git a/code/Cleanuparr.Domain/Entities/Sonarr/Episode.cs b/code/backend/Cleanuparr.Domain/Entities/Sonarr/Episode.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Sonarr/Episode.cs rename to code/backend/Cleanuparr.Domain/Entities/Sonarr/Episode.cs diff --git a/code/Cleanuparr.Domain/Entities/Sonarr/Series.cs b/code/backend/Cleanuparr.Domain/Entities/Sonarr/Series.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Sonarr/Series.cs rename to code/backend/Cleanuparr.Domain/Entities/Sonarr/Series.cs diff --git a/code/Cleanuparr.Domain/Entities/Sonarr/SonarrCommand.cs b/code/backend/Cleanuparr.Domain/Entities/Sonarr/SonarrCommand.cs similarity index 100% rename from code/Cleanuparr.Domain/Entities/Sonarr/SonarrCommand.cs rename to code/backend/Cleanuparr.Domain/Entities/Sonarr/SonarrCommand.cs diff --git a/code/Cleanuparr.Domain/Enums/BlocklistType.cs b/code/backend/Cleanuparr.Domain/Enums/BlocklistType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/BlocklistType.cs rename to code/backend/Cleanuparr.Domain/Enums/BlocklistType.cs diff --git a/code/Cleanuparr.Domain/Enums/CertificateValidationType.cs b/code/backend/Cleanuparr.Domain/Enums/CertificateValidationType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/CertificateValidationType.cs rename to code/backend/Cleanuparr.Domain/Enums/CertificateValidationType.cs diff --git a/code/Cleanuparr.Domain/Enums/CleanReason.cs b/code/backend/Cleanuparr.Domain/Enums/CleanReason.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/CleanReason.cs rename to code/backend/Cleanuparr.Domain/Enums/CleanReason.cs diff --git a/code/Cleanuparr.Domain/Enums/DeleteReason.cs b/code/backend/Cleanuparr.Domain/Enums/DeleteReason.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/DeleteReason.cs rename to code/backend/Cleanuparr.Domain/Enums/DeleteReason.cs diff --git a/code/Cleanuparr.Domain/Enums/DownloadClientType.cs b/code/backend/Cleanuparr.Domain/Enums/DownloadClientType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/DownloadClientType.cs rename to code/backend/Cleanuparr.Domain/Enums/DownloadClientType.cs diff --git a/code/Cleanuparr.Domain/Enums/DownloadClientTypeName.cs b/code/backend/Cleanuparr.Domain/Enums/DownloadClientTypeName.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/DownloadClientTypeName.cs rename to code/backend/Cleanuparr.Domain/Enums/DownloadClientTypeName.cs diff --git a/code/Cleanuparr.Domain/Enums/EventSeverity.cs b/code/backend/Cleanuparr.Domain/Enums/EventSeverity.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/EventSeverity.cs rename to code/backend/Cleanuparr.Domain/Enums/EventSeverity.cs diff --git a/code/Cleanuparr.Domain/Enums/EventType.cs b/code/backend/Cleanuparr.Domain/Enums/EventType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/EventType.cs rename to code/backend/Cleanuparr.Domain/Enums/EventType.cs diff --git a/code/Cleanuparr.Domain/Enums/InstanceType.cs b/code/backend/Cleanuparr.Domain/Enums/InstanceType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/InstanceType.cs rename to code/backend/Cleanuparr.Domain/Enums/InstanceType.cs diff --git a/code/Cleanuparr.Domain/Enums/SonarrSearchType.cs b/code/backend/Cleanuparr.Domain/Enums/SonarrSearchType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/SonarrSearchType.cs rename to code/backend/Cleanuparr.Domain/Enums/SonarrSearchType.cs diff --git a/code/Cleanuparr.Domain/Enums/StrikeType.cs b/code/backend/Cleanuparr.Domain/Enums/StrikeType.cs similarity index 100% rename from code/Cleanuparr.Domain/Enums/StrikeType.cs rename to code/backend/Cleanuparr.Domain/Enums/StrikeType.cs diff --git a/code/Cleanuparr.Domain/Exceptions/DelugeClientException.cs b/code/backend/Cleanuparr.Domain/Exceptions/DelugeClientException.cs similarity index 100% rename from code/Cleanuparr.Domain/Exceptions/DelugeClientException.cs rename to code/backend/Cleanuparr.Domain/Exceptions/DelugeClientException.cs diff --git a/code/Cleanuparr.Domain/Exceptions/DelugeLoginException.cs b/code/backend/Cleanuparr.Domain/Exceptions/DelugeLoginException.cs similarity index 100% rename from code/Cleanuparr.Domain/Exceptions/DelugeLoginException.cs rename to code/backend/Cleanuparr.Domain/Exceptions/DelugeLoginException.cs diff --git a/code/Cleanuparr.Domain/Exceptions/DelugeLogoutException.cs b/code/backend/Cleanuparr.Domain/Exceptions/DelugeLogoutException.cs similarity index 100% rename from code/Cleanuparr.Domain/Exceptions/DelugeLogoutException.cs rename to code/backend/Cleanuparr.Domain/Exceptions/DelugeLogoutException.cs diff --git a/code/Cleanuparr.Domain/Exceptions/FatalException.cs b/code/backend/Cleanuparr.Domain/Exceptions/FatalException.cs similarity index 100% rename from code/Cleanuparr.Domain/Exceptions/FatalException.cs rename to code/backend/Cleanuparr.Domain/Exceptions/FatalException.cs diff --git a/code/Cleanuparr.Domain/Exceptions/ValidationException.cs b/code/backend/Cleanuparr.Domain/Exceptions/ValidationException.cs similarity index 100% rename from code/Cleanuparr.Domain/Exceptions/ValidationException.cs rename to code/backend/Cleanuparr.Domain/Exceptions/ValidationException.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Cleanuparr.Infrastructure.Tests.csproj b/code/backend/Cleanuparr.Infrastructure.Tests/Cleanuparr.Infrastructure.Tests.csproj similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Cleanuparr.Infrastructure.Tests.csproj rename to code/backend/Cleanuparr.Infrastructure.Tests/Cleanuparr.Infrastructure.Tests.csproj diff --git a/code/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceFixture.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceFixture.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceFixture.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceFixture.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceTests.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceTests.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceTests.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Health/HealthCheckServiceTests.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderFixture.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderFixture.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderFixture.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderFixture.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderTests.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderTests.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderTests.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Http/DynamicHttpClientProviderTests.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorFixture.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorFixture.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorFixture.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorFixture.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorTests.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorTests.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorTests.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Verticals/ContentBlocker/FilenameEvaluatorTests.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceFixture.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceFixture.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceFixture.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceFixture.cs diff --git a/code/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceTests.cs b/code/backend/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceTests.cs similarity index 100% rename from code/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceTests.cs rename to code/backend/Cleanuparr.Infrastructure.Tests/Verticals/DownloadClient/DownloadServiceTests.cs diff --git a/code/Cleanuparr.Infrastructure/Cleanuparr.Infrastructure.csproj b/code/backend/Cleanuparr.Infrastructure/Cleanuparr.Infrastructure.csproj similarity index 100% rename from code/Cleanuparr.Infrastructure/Cleanuparr.Infrastructure.csproj rename to code/backend/Cleanuparr.Infrastructure/Cleanuparr.Infrastructure.csproj diff --git a/code/Cleanuparr.Infrastructure/Events/EventCleanupService.cs b/code/backend/Cleanuparr.Infrastructure/Events/EventCleanupService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Events/EventCleanupService.cs rename to code/backend/Cleanuparr.Infrastructure/Events/EventCleanupService.cs diff --git a/code/Cleanuparr.Infrastructure/Events/EventPublisher.cs b/code/backend/Cleanuparr.Infrastructure/Events/EventPublisher.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Events/EventPublisher.cs rename to code/backend/Cleanuparr.Infrastructure/Events/EventPublisher.cs diff --git a/code/Cleanuparr.Infrastructure/Extensions/DelugeExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Extensions/DelugeExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Extensions/DelugeExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Extensions/DelugeExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Extensions/IpAddressExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Extensions/IpAddressExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Extensions/IpAddressExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Extensions/IpAddressExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Extensions/QBitExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Extensions/QBitExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Extensions/QBitExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Extensions/QBitExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Extensions/TransmissionExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Extensions/TransmissionExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Extensions/TransmissionExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Extensions/TransmissionExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/ArrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/ArrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/ArrClientFactory.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrClientFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/ArrClientFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrClientFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/ArrQueueIterator.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrQueueIterator.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/ArrQueueIterator.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/ArrQueueIterator.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IArrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IArrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IArrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IArrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ILidarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ILidarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ILidarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ILidarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IRadarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IRadarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IRadarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/IRadarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ISonarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ISonarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ISonarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/Interfaces/ISonarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/LidarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/LidarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/LidarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/LidarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/RadarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/RadarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/RadarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/RadarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Arr/SonarrClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/Arr/SonarrClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Arr/SonarrClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Arr/SonarrClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/ContentBlocker/BlocklistProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/BlocklistProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/ContentBlocker/BlocklistProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/BlocklistProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/ContentBlocker/FilenameEvaluator.cs b/code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/FilenameEvaluator.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/ContentBlocker/FilenameEvaluator.cs rename to code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/FilenameEvaluator.cs diff --git a/code/Cleanuparr.Infrastructure/Features/ContentBlocker/IFilenameEvaluator.cs b/code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/IFilenameEvaluator.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/ContentBlocker/IFilenameEvaluator.cs rename to code/backend/Cleanuparr.Infrastructure/Features/ContentBlocker/IFilenameEvaluator.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Context/ContextProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/Context/ContextProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Context/ContextProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Context/ContextProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeClient.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeClient.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeClient.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeClient.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceDC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceDC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceDC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceDC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceQC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceQC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceQC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/DelugeServiceQC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/Extensions/DelugeExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/Extensions/DelugeExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/Extensions/DelugeExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/Extensions/DelugeExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/IDelugeService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/IDelugeService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/IDelugeService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Deluge/IDelugeService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadCheckResult.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadCheckResult.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadCheckResult.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadCheckResult.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadServiceFactory.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadServiceFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadServiceFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/DownloadServiceFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/IDownloadService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/IDownloadService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/IDownloadService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/IDownloadService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/IQBitService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/IQBitService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/IQBitService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/IQBitService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceDC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceDC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceDC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceDC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceQC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceQC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceQC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/QBittorrent/QBitServiceQC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/SeedingCheckResult.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/SeedingCheckResult.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/SeedingCheckResult.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/SeedingCheckResult.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/ITransmissionService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/ITransmissionService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/ITransmissionService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/ITransmissionService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionService.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceDC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceDC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceDC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceDC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceQC.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceQC.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceQC.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadClient/Transmission/TransmissionServiceQC.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadRemover/Consumers/DownloadRemoverConsumer.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Consumers/DownloadRemoverConsumer.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadRemover/Consumers/DownloadRemoverConsumer.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Consumers/DownloadRemoverConsumer.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadRemover/Interfaces/IQueueItemRemover.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Interfaces/IQueueItemRemover.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadRemover/Interfaces/IQueueItemRemover.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Interfaces/IQueueItemRemover.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadRemover/Models/QueueItemRemoveRequest.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Models/QueueItemRemoveRequest.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadRemover/Models/QueueItemRemoveRequest.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/Models/QueueItemRemoveRequest.cs diff --git a/code/Cleanuparr.Infrastructure/Features/DownloadRemover/QueueItemRemover.cs b/code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/QueueItemRemover.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/DownloadRemover/QueueItemRemover.cs rename to code/backend/Cleanuparr.Infrastructure/Features/DownloadRemover/QueueItemRemover.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Files/HardLinkFileService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Files/HardLinkFileService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Files/HardLinkFileService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Files/HardLinkFileService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Files/IHardLinkFileService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Files/IHardLinkFileService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Files/IHardLinkFileService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Files/IHardLinkFileService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Files/UnixHardLinkFileService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Files/UnixHardLinkFileService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Files/UnixHardLinkFileService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Files/UnixHardLinkFileService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Files/WindowsHardLinkFileService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Files/WindowsHardLinkFileService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Files/WindowsHardLinkFileService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Files/WindowsHardLinkFileService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/ItemStriker/IStriker.cs b/code/backend/Cleanuparr.Infrastructure/Features/ItemStriker/IStriker.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/ItemStriker/IStriker.cs rename to code/backend/Cleanuparr.Infrastructure/Features/ItemStriker/IStriker.cs diff --git a/code/Cleanuparr.Infrastructure/Features/ItemStriker/Striker.cs b/code/backend/Cleanuparr.Infrastructure/Features/ItemStriker/Striker.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/ItemStriker/Striker.cs rename to code/backend/Cleanuparr.Infrastructure/Features/ItemStriker/Striker.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Jobs/GenericHandler.cs b/code/backend/Cleanuparr.Infrastructure/Features/Jobs/GenericHandler.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Jobs/GenericHandler.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Jobs/GenericHandler.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Jobs/IHandler.cs b/code/backend/Cleanuparr.Infrastructure/Features/Jobs/IHandler.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Jobs/IHandler.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Jobs/IHandler.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Jobs/JobChainingListener.cs b/code/backend/Cleanuparr.Infrastructure/Features/Jobs/JobChainingListener.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Jobs/JobChainingListener.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Jobs/JobChainingListener.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/ApprisePayload.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/ApprisePayload.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/ApprisePayload.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/ApprisePayload.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProxy.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProxy.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProxy.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/AppriseProxy.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/IAppriseProxy.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/IAppriseProxy.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Apprise/IAppriseProxy.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Apprise/IAppriseProxy.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Consumers/NotificationConsumer.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Consumers/NotificationConsumer.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Consumers/NotificationConsumer.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Consumers/NotificationConsumer.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/INotificationFactory.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/INotificationFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/INotificationProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/INotificationProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/INotificationPublisher.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationPublisher.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/INotificationPublisher.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationPublisher.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/ArrNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/ArrNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/ArrNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/ArrNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/CategoryChangedNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/CategoryChangedNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/CategoryChangedNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/CategoryChangedNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/DownloadCleanedNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/DownloadCleanedNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/DownloadCleanedNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/DownloadCleanedNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/FailedImportStrikeNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/FailedImportStrikeNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/FailedImportStrikeNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/FailedImportStrikeNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/Notification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/Notification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/Notification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/Notification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationField.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationField.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationField.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationField.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationLevel.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationLevel.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationLevel.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/NotificationLevel.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/QueueItemDeletedNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/QueueItemDeletedNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/QueueItemDeletedNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/QueueItemDeletedNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/SlowStrikeNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/SlowStrikeNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/SlowStrikeNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/SlowStrikeNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Models/StalledStrikeNotification.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/StalledStrikeNotification.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Models/StalledStrikeNotification.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Models/StalledStrikeNotification.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/INotifiarrProxy.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/INotifiarrProxy.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/INotifiarrProxy.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/INotifiarrProxy.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrException.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrException.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrException.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrException.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrPayload.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrPayload.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrPayload.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrPayload.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProxy.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProxy.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProxy.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/Notifiarr/NotifiarrProxy.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/NotificationFactory.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/NotificationFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/NotificationProvider.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/NotificationProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/NotificationPublisher.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationPublisher.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/NotificationPublisher.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationPublisher.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Notifications/NotificationService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Notifications/NotificationService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Notifications/NotificationService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Security/AesEncryptionService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Security/AesEncryptionService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Security/AesEncryptionService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Security/AesEncryptionService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Security/IEncryptionService.cs b/code/backend/Cleanuparr.Infrastructure/Features/Security/IEncryptionService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Security/IEncryptionService.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Security/IEncryptionService.cs diff --git a/code/Cleanuparr.Infrastructure/Features/Security/SensitiveDataJsonConverter.cs b/code/backend/Cleanuparr.Infrastructure/Features/Security/SensitiveDataJsonConverter.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Features/Security/SensitiveDataJsonConverter.cs rename to code/backend/Cleanuparr.Infrastructure/Features/Security/SensitiveDataJsonConverter.cs diff --git a/code/Cleanuparr.Infrastructure/Health/ClientHealthChangedEventArgs.cs b/code/backend/Cleanuparr.Infrastructure/Health/ClientHealthChangedEventArgs.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/ClientHealthChangedEventArgs.cs rename to code/backend/Cleanuparr.Infrastructure/Health/ClientHealthChangedEventArgs.cs diff --git a/code/Cleanuparr.Infrastructure/Health/HealthCheckBackgroundService.cs b/code/backend/Cleanuparr.Infrastructure/Health/HealthCheckBackgroundService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/HealthCheckBackgroundService.cs rename to code/backend/Cleanuparr.Infrastructure/Health/HealthCheckBackgroundService.cs diff --git a/code/Cleanuparr.Infrastructure/Health/HealthCheckService.cs b/code/backend/Cleanuparr.Infrastructure/Health/HealthCheckService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/HealthCheckService.cs rename to code/backend/Cleanuparr.Infrastructure/Health/HealthCheckService.cs diff --git a/code/Cleanuparr.Infrastructure/Health/HealthStatus.cs b/code/backend/Cleanuparr.Infrastructure/Health/HealthStatus.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/HealthStatus.cs rename to code/backend/Cleanuparr.Infrastructure/Health/HealthStatus.cs diff --git a/code/Cleanuparr.Infrastructure/Health/HealthStatusBroadcaster.cs b/code/backend/Cleanuparr.Infrastructure/Health/HealthStatusBroadcaster.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/HealthStatusBroadcaster.cs rename to code/backend/Cleanuparr.Infrastructure/Health/HealthStatusBroadcaster.cs diff --git a/code/Cleanuparr.Infrastructure/Health/HealthStatusHub.cs b/code/backend/Cleanuparr.Infrastructure/Health/HealthStatusHub.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/HealthStatusHub.cs rename to code/backend/Cleanuparr.Infrastructure/Health/HealthStatusHub.cs diff --git a/code/Cleanuparr.Infrastructure/Health/IHealthCheckService.cs b/code/backend/Cleanuparr.Infrastructure/Health/IHealthCheckService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Health/IHealthCheckService.cs rename to code/backend/Cleanuparr.Infrastructure/Health/IHealthCheckService.cs diff --git a/code/Cleanuparr.Infrastructure/Helpers/CacheKeys.cs b/code/backend/Cleanuparr.Infrastructure/Helpers/CacheKeys.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Helpers/CacheKeys.cs rename to code/backend/Cleanuparr.Infrastructure/Helpers/CacheKeys.cs diff --git a/code/Cleanuparr.Infrastructure/Helpers/LogProperties.cs b/code/backend/Cleanuparr.Infrastructure/Helpers/LogProperties.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Helpers/LogProperties.cs rename to code/backend/Cleanuparr.Infrastructure/Helpers/LogProperties.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientProvider.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientConfiguration.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientConfiguration.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientConfiguration.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientConfiguration.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientFactory.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientServiceCollectionExtensions.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientServiceCollectionExtensions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientServiceCollectionExtensions.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/DynamicHttpClientServiceCollectionExtensions.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfig.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfig.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfig.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfig.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigStore.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigStore.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigStore.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigStore.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigurationService.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigurationService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigurationService.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientConfigurationService.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientOptionsInvalidator.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientOptionsInvalidator.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientOptionsInvalidator.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/HttpClientOptionsInvalidator.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IDynamicHttpClientFactory.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IDynamicHttpClientFactory.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IDynamicHttpClientFactory.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IDynamicHttpClientFactory.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientConfigStore.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientConfigStore.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientConfigStore.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientConfigStore.cs diff --git a/code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientOptionsInvalidator.cs b/code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientOptionsInvalidator.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientOptionsInvalidator.cs rename to code/backend/Cleanuparr.Infrastructure/Http/DynamicHttpClientSystem/IHttpClientOptionsInvalidator.cs diff --git a/code/Cleanuparr.Infrastructure/Http/IDynamicHttpClientProvider.cs b/code/backend/Cleanuparr.Infrastructure/Http/IDynamicHttpClientProvider.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Http/IDynamicHttpClientProvider.cs rename to code/backend/Cleanuparr.Infrastructure/Http/IDynamicHttpClientProvider.cs diff --git a/code/Cleanuparr.Infrastructure/Hubs/AppHub.cs b/code/backend/Cleanuparr.Infrastructure/Hubs/AppHub.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Hubs/AppHub.cs rename to code/backend/Cleanuparr.Infrastructure/Hubs/AppHub.cs diff --git a/code/Cleanuparr.Infrastructure/Interceptors/DryRunInterceptor.cs b/code/backend/Cleanuparr.Infrastructure/Interceptors/DryRunInterceptor.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Interceptors/DryRunInterceptor.cs rename to code/backend/Cleanuparr.Infrastructure/Interceptors/DryRunInterceptor.cs diff --git a/code/Cleanuparr.Infrastructure/Interceptors/IDryRunInterceptor.cs b/code/backend/Cleanuparr.Infrastructure/Interceptors/IDryRunInterceptor.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Interceptors/IDryRunInterceptor.cs rename to code/backend/Cleanuparr.Infrastructure/Interceptors/IDryRunInterceptor.cs diff --git a/code/Cleanuparr.Infrastructure/Logging/LogBuffer.cs b/code/backend/Cleanuparr.Infrastructure/Logging/LogBuffer.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Logging/LogBuffer.cs rename to code/backend/Cleanuparr.Infrastructure/Logging/LogBuffer.cs diff --git a/code/Cleanuparr.Infrastructure/Logging/LoggingConfigManager.cs b/code/backend/Cleanuparr.Infrastructure/Logging/LoggingConfigManager.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Logging/LoggingConfigManager.cs rename to code/backend/Cleanuparr.Infrastructure/Logging/LoggingConfigManager.cs diff --git a/code/Cleanuparr.Infrastructure/Logging/LoggingInitializer.cs b/code/backend/Cleanuparr.Infrastructure/Logging/LoggingInitializer.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Logging/LoggingInitializer.cs rename to code/backend/Cleanuparr.Infrastructure/Logging/LoggingInitializer.cs diff --git a/code/Cleanuparr.Infrastructure/Logging/README.md b/code/backend/Cleanuparr.Infrastructure/Logging/README.md similarity index 100% rename from code/Cleanuparr.Infrastructure/Logging/README.md rename to code/backend/Cleanuparr.Infrastructure/Logging/README.md diff --git a/code/Cleanuparr.Infrastructure/Logging/SignalRLogSink.cs b/code/backend/Cleanuparr.Infrastructure/Logging/SignalRLogSink.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Logging/SignalRLogSink.cs rename to code/backend/Cleanuparr.Infrastructure/Logging/SignalRLogSink.cs diff --git a/code/Cleanuparr.Infrastructure/Models/JobInfo.cs b/code/backend/Cleanuparr.Infrastructure/Models/JobInfo.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Models/JobInfo.cs rename to code/backend/Cleanuparr.Infrastructure/Models/JobInfo.cs diff --git a/code/Cleanuparr.Infrastructure/Models/JobSchedule.cs b/code/backend/Cleanuparr.Infrastructure/Models/JobSchedule.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Models/JobSchedule.cs rename to code/backend/Cleanuparr.Infrastructure/Models/JobSchedule.cs diff --git a/code/Cleanuparr.Infrastructure/Models/JobType.cs b/code/backend/Cleanuparr.Infrastructure/Models/JobType.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Models/JobType.cs rename to code/backend/Cleanuparr.Infrastructure/Models/JobType.cs diff --git a/code/Cleanuparr.Infrastructure/Services/CertificateValidationService.cs b/code/backend/Cleanuparr.Infrastructure/Services/CertificateValidationService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Services/CertificateValidationService.cs rename to code/backend/Cleanuparr.Infrastructure/Services/CertificateValidationService.cs diff --git a/code/Cleanuparr.Infrastructure/Services/Interfaces/IJobManagementService.cs b/code/backend/Cleanuparr.Infrastructure/Services/Interfaces/IJobManagementService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Services/Interfaces/IJobManagementService.cs rename to code/backend/Cleanuparr.Infrastructure/Services/Interfaces/IJobManagementService.cs diff --git a/code/Cleanuparr.Infrastructure/Services/JobManagementService.cs b/code/backend/Cleanuparr.Infrastructure/Services/JobManagementService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Services/JobManagementService.cs rename to code/backend/Cleanuparr.Infrastructure/Services/JobManagementService.cs diff --git a/code/Cleanuparr.Infrastructure/Services/UriService.cs b/code/backend/Cleanuparr.Infrastructure/Services/UriService.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Services/UriService.cs rename to code/backend/Cleanuparr.Infrastructure/Services/UriService.cs diff --git a/code/Cleanuparr.Infrastructure/Utilities/CronExpressionConverter.cs b/code/backend/Cleanuparr.Infrastructure/Utilities/CronExpressionConverter.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Utilities/CronExpressionConverter.cs rename to code/backend/Cleanuparr.Infrastructure/Utilities/CronExpressionConverter.cs diff --git a/code/Cleanuparr.Infrastructure/Utilities/CronValidationHelper.cs b/code/backend/Cleanuparr.Infrastructure/Utilities/CronValidationHelper.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Utilities/CronValidationHelper.cs rename to code/backend/Cleanuparr.Infrastructure/Utilities/CronValidationHelper.cs diff --git a/code/Cleanuparr.Infrastructure/Utilities/ScheduleOptions.cs b/code/backend/Cleanuparr.Infrastructure/Utilities/ScheduleOptions.cs similarity index 100% rename from code/Cleanuparr.Infrastructure/Utilities/ScheduleOptions.cs rename to code/backend/Cleanuparr.Infrastructure/Utilities/ScheduleOptions.cs diff --git a/code/Cleanuparr.Persistence/Cleanuparr.Persistence.csproj b/code/backend/Cleanuparr.Persistence/Cleanuparr.Persistence.csproj similarity index 100% rename from code/Cleanuparr.Persistence/Cleanuparr.Persistence.csproj rename to code/backend/Cleanuparr.Persistence/Cleanuparr.Persistence.csproj diff --git a/code/Cleanuparr.Persistence/Converters/LowercaseEnumConverter.cs b/code/backend/Cleanuparr.Persistence/Converters/LowercaseEnumConverter.cs similarity index 100% rename from code/Cleanuparr.Persistence/Converters/LowercaseEnumConverter.cs rename to code/backend/Cleanuparr.Persistence/Converters/LowercaseEnumConverter.cs diff --git a/code/Cleanuparr.Persistence/Converters/UtcDateTimeConverter.cs b/code/backend/Cleanuparr.Persistence/Converters/UtcDateTimeConverter.cs similarity index 100% rename from code/Cleanuparr.Persistence/Converters/UtcDateTimeConverter.cs rename to code/backend/Cleanuparr.Persistence/Converters/UtcDateTimeConverter.cs diff --git a/code/Cleanuparr.Persistence/DataContext.cs b/code/backend/Cleanuparr.Persistence/DataContext.cs similarity index 100% rename from code/Cleanuparr.Persistence/DataContext.cs rename to code/backend/Cleanuparr.Persistence/DataContext.cs diff --git a/code/Cleanuparr.Persistence/EventsContext.cs b/code/backend/Cleanuparr.Persistence/EventsContext.cs similarity index 100% rename from code/Cleanuparr.Persistence/EventsContext.cs rename to code/backend/Cleanuparr.Persistence/EventsContext.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.Designer.cs b/code/backend/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.Designer.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.Designer.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.Designer.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.cs b/code/backend/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Data/20250615190608_InitialData.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Data/DataContextModelSnapshot.cs b/code/backend/Cleanuparr.Persistence/Migrations/Data/DataContextModelSnapshot.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Data/DataContextModelSnapshot.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Data/DataContextModelSnapshot.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.Designer.cs b/code/backend/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.Designer.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.Designer.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.Designer.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.cs b/code/backend/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Events/20250614211246_InitialEvents.cs diff --git a/code/Cleanuparr.Persistence/Migrations/Events/EventsContextModelSnapshot.cs b/code/backend/Cleanuparr.Persistence/Migrations/Events/EventsContextModelSnapshot.cs similarity index 100% rename from code/Cleanuparr.Persistence/Migrations/Events/EventsContextModelSnapshot.cs rename to code/backend/Cleanuparr.Persistence/Migrations/Events/EventsContextModelSnapshot.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/Arr/ArrConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/Arr/ArrConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/Arr/ArrConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/Arr/ArrConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/Arr/ArrInstance.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/Arr/ArrInstance.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/Arr/ArrInstance.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/Arr/ArrInstance.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/CleanCategory.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/CleanCategory.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/CleanCategory.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/CleanCategory.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/DownloadCleanerConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/DownloadCleanerConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/DownloadCleanerConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/DownloadCleanerConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/DownloadClientConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadClientConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/DownloadClientConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadClientConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/General/GeneralConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/General/GeneralConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/General/GeneralConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/General/GeneralConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/IConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/IConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/IConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/IConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/IJobConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/IJobConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/IJobConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/IJobConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/Notification/AppriseConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/AppriseConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/Notification/AppriseConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/AppriseConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/Notification/NotifiarrConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/NotifiarrConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/Notification/NotifiarrConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/NotifiarrConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/Notification/NotificationConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/NotificationConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/Notification/NotificationConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/Notification/NotificationConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/BlocklistSettings.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/BlocklistSettings.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/BlocklistSettings.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/BlocklistSettings.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/ContentBlockerConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/ContentBlockerConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/ContentBlockerConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/ContentBlockerConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/FailedImportConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/FailedImportConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/FailedImportConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/FailedImportConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/QueueCleanerConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/QueueCleanerConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/QueueCleanerConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/QueueCleanerConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/SlowConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/SlowConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/SlowConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/SlowConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/StalledConfig.cs b/code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/StalledConfig.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/StalledConfig.cs rename to code/backend/Cleanuparr.Persistence/Models/Configuration/QueueCleaner/StalledConfig.cs diff --git a/code/Cleanuparr.Persistence/Models/Events/AppEvent.cs b/code/backend/Cleanuparr.Persistence/Models/Events/AppEvent.cs similarity index 100% rename from code/Cleanuparr.Persistence/Models/Events/AppEvent.cs rename to code/backend/Cleanuparr.Persistence/Models/Events/AppEvent.cs diff --git a/code/Cleanuparr.Shared/Attributes/SensitiveDataAttribute.cs b/code/backend/Cleanuparr.Shared/Attributes/SensitiveDataAttribute.cs similarity index 100% rename from code/Cleanuparr.Shared/Attributes/SensitiveDataAttribute.cs rename to code/backend/Cleanuparr.Shared/Attributes/SensitiveDataAttribute.cs diff --git a/code/Cleanuparr.Shared/Cleanuparr.Shared.csproj b/code/backend/Cleanuparr.Shared/Cleanuparr.Shared.csproj similarity index 100% rename from code/Cleanuparr.Shared/Cleanuparr.Shared.csproj rename to code/backend/Cleanuparr.Shared/Cleanuparr.Shared.csproj diff --git a/code/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs b/code/backend/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs similarity index 68% rename from code/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs rename to code/backend/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs index 618f5756..2a6aad46 100644 --- a/code/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs +++ b/code/backend/Cleanuparr.Shared/Helpers/ConfigurationPathProvider.cs @@ -7,7 +7,6 @@ namespace Cleanuparr.Shared.Helpers; public static class ConfigurationPathProvider { private static string? _configPath; - private static string? _settingsPath; static ConfigurationPathProvider() { @@ -19,13 +18,6 @@ public static class ConfigurationPathProvider { Directory.CreateDirectory(configPath); } - - string settingsPath = InitializeSettingsPath(); - - if (!Directory.Exists(settingsPath)) - { - Directory.CreateDirectory(settingsPath); - } } catch (Exception ex) { @@ -51,25 +43,9 @@ public static class ConfigurationPathProvider return _configPath; } - - private static string InitializeSettingsPath() - { - if (string.IsNullOrEmpty(_settingsPath)) - { - string configPath = _configPath ?? InitializeConfigPath(); - _settingsPath = Path.Combine(configPath, "settings"); - } - - return _settingsPath; - } public static string GetConfigPath() { return _configPath ?? InitializeConfigPath(); } - - public static string GetSettingsPath() - { - return _settingsPath ?? InitializeConfigPath(); - } } diff --git a/code/Cleanuparr.Shared/Helpers/Constants.cs b/code/backend/Cleanuparr.Shared/Helpers/Constants.cs similarity index 100% rename from code/Cleanuparr.Shared/Helpers/Constants.cs rename to code/backend/Cleanuparr.Shared/Helpers/Constants.cs diff --git a/code/Cleanuparr.Shared/Helpers/StaticConfiguration.cs b/code/backend/Cleanuparr.Shared/Helpers/StaticConfiguration.cs similarity index 100% rename from code/Cleanuparr.Shared/Helpers/StaticConfiguration.cs rename to code/backend/Cleanuparr.Shared/Helpers/StaticConfiguration.cs diff --git a/code/cleanuparr.sln b/code/backend/cleanuparr.sln similarity index 100% rename from code/cleanuparr.sln rename to code/backend/cleanuparr.sln