Refactored project to module structure
This commit is contained in:
@@ -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>();
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user