Refactored project to module structure

This commit is contained in:
2026-03-12 22:50:15 +01:00
parent 93de9c5d00
commit 1257e8b950
219 changed files with 1231 additions and 1259 deletions

View File

@@ -6,10 +6,11 @@ using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Moonlight.Api.Configuration;
using Moonlight.Api.Implementations;
using Moonlight.Api.Implementations.ApiKeyScheme;
using Moonlight.Api.Services;
using Moonlight.Api.Admin.Sys.ApiKeys;
using Moonlight.Api.Admin.Sys.ApiKeys.Scheme;
using Moonlight.Api.Admin.Users.Users;
using Moonlight.Api.Infrastructure.Configuration;
using Moonlight.Api.Infrastructure.Implementations;
namespace Moonlight.Api.Startup;
@@ -25,7 +26,7 @@ public partial class Startup
var apiKeyOptions = new ApiOptions();
builder.Configuration.GetSection("Moonlight:Api").Bind(apiKeyOptions);
builder.Services.AddOptions<ApiOptions>().BindConfiguration("Moonlight:Api");
// Session
builder.Services.AddOptions<UserOptions>().BindConfiguration("Moonlight:User");
@@ -67,7 +68,7 @@ public partial class Startup
context.RejectPrincipal();
};
options.Cookie = new CookieBuilder()
options.Cookie = new CookieBuilder
{
Name = "token",
Path = "/",
@@ -109,7 +110,7 @@ public partial class Startup
options.LookupL1CacheTime = apiKeyOptions.LookupCacheL1Expiry;
options.LookupL2CacheTime = apiKeyOptions.LookupCacheL2Expiry;
});
// Authorization
builder.Services.AddAuthorization();
@@ -119,7 +120,7 @@ public partial class Startup
// Custom permission handling using named policies
builder.Services.AddSingleton<IAuthorizationHandler, PermissionAuthorizationHandler>();
builder.Services.AddSingleton<IAuthorizationPolicyProvider, PermissionPolicyProvider>();
builder.Services.AddScoped<UserDeletionService>();
builder.Services.AddScoped<UserLogoutService>();
builder.Services.AddScoped<UserAuthService>();

View File

@@ -5,12 +5,18 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
using Microsoft.Extensions.Options;
using Moonlight.Api.Configuration;
using Moonlight.Shared.Http;
using Moonlight.Api.Helpers;
using Moonlight.Api.Implementations;
using Moonlight.Api.Interfaces;
using Moonlight.Api.Services;
using Moonlight.Api.Admin.Sys;
using Moonlight.Api.Admin.Sys.ContainerHelper;
using Moonlight.Api.Admin.Sys.Diagnose;
using Moonlight.Api.Admin.Sys.Settings;
using Moonlight.Api.Admin.Sys.Versions;
using Moonlight.Api.Admin.Users.Users;
using Moonlight.Api.Infrastructure.Helpers;
using Moonlight.Api.Infrastructure.Hooks;
using Moonlight.Api.Infrastructure.Implementations;
using Moonlight.Api.Shared.Frontend;
using SerializationContext = Moonlight.Shared.SerializationContext;
using VersionService = Moonlight.Api.Admin.Sys.Versions.VersionService;
namespace Moonlight.Api.Startup;

View File

@@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Moonlight.Api.Configuration;
using Moonlight.Api.Infrastructure.Configuration;
namespace Moonlight.Api.Startup;
@@ -22,9 +22,9 @@ public partial class Startup
var redisOptions = new RedisOptions();
builder.Configuration.GetSection("Moonlight:Redis").Bind(redisOptions);
if(!redisOptions.Enable)
if (!redisOptions.Enable)
return;
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = redisOptions.ConnectionString;

View File

@@ -1,8 +1,6 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Moonlight.Api.Configuration;
using Moonlight.Api.Database;
using Moonlight.Api.Services;
using Moonlight.Api.Infrastructure.Database;
namespace Moonlight.Api.Startup;

View File

@@ -1,7 +1,4 @@
using System.Reflection;
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Builder;
using Moonlight.Shared.Http;
using Microsoft.AspNetCore.Builder;
using SimplePlugin.Abstractions;
namespace Moonlight.Api.Startup;