diff --git a/Moonlight/Core/Actions/Dummy/DummyActions.cs b/Moonlight/Core/Actions/Dummy/DummyActions.cs index dfc76c4e..4f11be23 100644 --- a/Moonlight/Core/Actions/Dummy/DummyActions.cs +++ b/Moonlight/Core/Actions/Dummy/DummyActions.cs @@ -1,5 +1,5 @@ -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Models.Abstractions.Services; +using Moonlight.Features.ServiceManagement.Entities; +using Moonlight.Features.ServiceManagement.Models.Abstractions; namespace Moonlight.Core.Actions.Dummy; diff --git a/Moonlight/Core/Actions/Dummy/DummyServiceDefinition.cs b/Moonlight/Core/Actions/Dummy/DummyServiceDefinition.cs index d6a647bb..72f0c84c 100644 --- a/Moonlight/Core/Actions/Dummy/DummyServiceDefinition.cs +++ b/Moonlight/Core/Actions/Dummy/DummyServiceDefinition.cs @@ -1,7 +1,7 @@ using Moonlight.Core.Actions.Dummy.Layouts; using Moonlight.Core.Actions.Dummy.Pages; using Moonlight.Core.Helpers; -using Moonlight.Core.Models.Abstractions.Services; +using Moonlight.Features.ServiceManagement.Models.Abstractions; namespace Moonlight.Core.Actions.Dummy; diff --git a/Moonlight/Core/Configuration/ConfigV1.cs b/Moonlight/Core/Configuration/ConfigV1.cs index a1dce9cd..251f5f80 100644 --- a/Moonlight/Core/Configuration/ConfigV1.cs +++ b/Moonlight/Core/Configuration/ConfigV1.cs @@ -1,6 +1,8 @@ using System.ComponentModel; using Moonlight.Core.Helpers; +using Moonlight.Features.Advertisement.Configuration; using Moonlight.Features.StoreSystem.Configuration; +using Moonlight.Features.Theming.Configuration; using Newtonsoft.Json; namespace Moonlight.Core.Configuration; @@ -20,17 +22,6 @@ public class ConfigV1 [JsonProperty("Theme")] public ThemeData Theme { get; set; } = new(); [JsonProperty("Advertisement")] public AdvertisementData Advertisement { get; set; } = new(); - public class AdvertisementData - { - [JsonProperty("PreventAdBlockers")] - [Description("This prevents users from using ad blockers while using moonlight. (Note: The detection might not always work)")] - public bool PreventAdBlockers { get; set; } - } - public class ThemeData - { - [JsonProperty("EnableDefault")] public bool EnableDefault { get; set; } = true; - } - public class SecurityData { [JsonProperty("Token")] diff --git a/Moonlight/Core/Database/DataContext.cs b/Moonlight/Core/Database/DataContext.cs index 12c93df4..6667857c 100644 --- a/Moonlight/Core/Database/DataContext.cs +++ b/Moonlight/Core/Database/DataContext.cs @@ -1,9 +1,10 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Services; using Moonlight.Features.Community.Entities; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.StoreSystem.Entities; +using Moonlight.Features.Theming.Entities; using Moonlight.Features.Ticketing.Entities; namespace Moonlight.Core.Database; diff --git a/Moonlight/Core/Database/Entities/Store/ServiceShare.cs b/Moonlight/Core/Database/Entities/Store/ServiceShare.cs deleted file mode 100644 index 3b4d1a4f..00000000 --- a/Moonlight/Core/Database/Entities/Store/ServiceShare.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Moonlight.Core.Database.Entities.Store; - -public class ServiceShare -{ - public int Id { get; set; } - public User User { get; set; } -} \ No newline at end of file diff --git a/Moonlight/Core/Database/Entities/User.cs b/Moonlight/Core/Database/Entities/User.cs index 22c61747..1c830224 100644 --- a/Moonlight/Core/Database/Entities/User.cs +++ b/Moonlight/Core/Database/Entities/User.cs @@ -1,5 +1,4 @@ -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Features.StoreSystem.Entities; +using Moonlight.Features.StoreSystem.Entities; namespace Moonlight.Core.Database.Entities; diff --git a/Moonlight/Core/Event/Args/TransactionCreatedEventArgs.cs b/Moonlight/Core/Event/Args/TransactionCreatedEventArgs.cs index 6d815626..a04e258a 100644 --- a/Moonlight/Core/Event/Args/TransactionCreatedEventArgs.cs +++ b/Moonlight/Core/Event/Args/TransactionCreatedEventArgs.cs @@ -1,5 +1,4 @@ using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Features.StoreSystem.Entities; namespace Moonlight.Core.Event.Args; diff --git a/Moonlight/Core/Event/Events.cs b/Moonlight/Core/Event/Events.cs index 623e8e75..9f3f38a5 100644 --- a/Moonlight/Core/Event/Events.cs +++ b/Moonlight/Core/Event/Events.cs @@ -1,7 +1,7 @@ using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Event.Args; using Moonlight.Features.Community.Entities; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.Ticketing.Entities; namespace Moonlight.Core.Event; diff --git a/Moonlight/Core/Http/Controllers/Api/AssetProxyController.cs b/Moonlight/Core/Http/Controllers/Api/AssetProxyController.cs index f73ab0dd..e38b5a44 100644 --- a/Moonlight/Core/Http/Controllers/Api/AssetProxyController.cs +++ b/Moonlight/Core/Http/Controllers/Api/AssetProxyController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Moonlight.Core.Helpers; -using Moonlight.Core.Services.Sys; +using Moonlight.Features.Theming.Services; namespace Moonlight.Core.Http.Controllers.Api; @@ -8,9 +8,9 @@ namespace Moonlight.Core.Http.Controllers.Api; [Route("api/assetproxy")] public class AssetProxyController : Controller { - private readonly MoonlightThemeService ThemeService; + private readonly ThemeService ThemeService; - public AssetProxyController(MoonlightThemeService themeService) + public AssetProxyController(ThemeService themeService) { ThemeService = themeService; } diff --git a/Moonlight/Core/Plugins/Contexts/PluginContext.cs b/Moonlight/Core/Plugins/Contexts/PluginContext.cs index c1ab4c56..f16b8d1f 100644 --- a/Moonlight/Core/Plugins/Contexts/PluginContext.cs +++ b/Moonlight/Core/Plugins/Contexts/PluginContext.cs @@ -1,4 +1,4 @@ -using Moonlight.Core.Models.Abstractions.Services; +using Moonlight.Features.ServiceManagement.Models.Abstractions; namespace Moonlight.Core.Plugins.Contexts; diff --git a/Moonlight/Core/Services/Background/AutoMailSendService.cs b/Moonlight/Core/Services/Background/AutoMailSendService.cs index c0b99818..3cbff631 100644 --- a/Moonlight/Core/Services/Background/AutoMailSendService.cs +++ b/Moonlight/Core/Services/Background/AutoMailSendService.cs @@ -1,7 +1,7 @@ using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Event; using Moonlight.Core.Event.Args; +using Moonlight.Features.ServiceManagement.Entities; namespace Moonlight.Core.Services.Background; diff --git a/Moonlight/Core/Services/IdentityService.cs b/Moonlight/Core/Services/IdentityService.cs index 666bb866..7f217691 100644 --- a/Moonlight/Core/Services/IdentityService.cs +++ b/Moonlight/Core/Services/IdentityService.cs @@ -1,6 +1,5 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Exceptions; using Moonlight.Core.Helpers; using Moonlight.Core.Models.Abstractions; diff --git a/Moonlight/Core/Services/Sys/MoonlightService.cs b/Moonlight/Core/Services/MoonlightService.cs similarity index 94% rename from Moonlight/Core/Services/Sys/MoonlightService.cs rename to Moonlight/Core/Services/MoonlightService.cs index 11ce3416..44e65214 100644 --- a/Moonlight/Core/Services/Sys/MoonlightService.cs +++ b/Moonlight/Core/Services/MoonlightService.cs @@ -2,8 +2,9 @@ using Moonlight.Core.Event; using Moonlight.Core.Extensions; using Moonlight.Core.Helpers; +using Moonlight.Features.Theming.Services; -namespace Moonlight.Core.Services.Sys; +namespace Moonlight.Core.Services; public class MoonlightService // This service can be used to perform strictly panel specific actions { @@ -12,7 +13,7 @@ public class MoonlightService // This service can be used to perform strictly pa public WebApplication Application { get; set; } // Do NOT modify using a plugin public string LogPath { get; set; } // Do NOT modify using a plugin - public MoonlightThemeService Theme => ServiceProvider.GetRequiredService(); + public ThemeService Theme => ServiceProvider.GetRequiredService(); public MoonlightService(ConfigService configService, IServiceProvider serviceProvider) { diff --git a/Moonlight/Core/Services/PluginService.cs b/Moonlight/Core/Services/PluginService.cs index 350f3a99..74f70a39 100644 --- a/Moonlight/Core/Services/PluginService.cs +++ b/Moonlight/Core/Services/PluginService.cs @@ -1,8 +1,8 @@ using System.Reflection; using Moonlight.Core.Helpers; -using Moonlight.Core.Models.Abstractions.Services; using Moonlight.Core.Plugins; using Moonlight.Core.Plugins.Contexts; +using Moonlight.Features.ServiceManagement.Models.Abstractions; namespace Moonlight.Core.Services; diff --git a/Moonlight/Core/Services/Users/UserDeleteService.cs b/Moonlight/Core/Services/Users/UserDeleteService.cs index c943b9e4..07a31acb 100644 --- a/Moonlight/Core/Services/Users/UserDeleteService.cs +++ b/Moonlight/Core/Services/Users/UserDeleteService.cs @@ -1,10 +1,10 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Repositories; -using Moonlight.Core.Services.ServiceManage; using Moonlight.Features.Community.Entities; using Moonlight.Features.Community.Services; +using Moonlight.Features.ServiceManagement.Entities; +using Moonlight.Features.ServiceManagement.Services; using Moonlight.Features.StoreSystem.Entities; using Moonlight.Features.Ticketing.Entities; diff --git a/Moonlight/Shared/Components/Alerts/NotFoundAlert.razor b/Moonlight/Core/UI/Components/Alerts/NotFoundAlert.razor similarity index 100% rename from Moonlight/Shared/Components/Alerts/NotFoundAlert.razor rename to Moonlight/Core/UI/Components/Alerts/NotFoundAlert.razor diff --git a/Moonlight/Shared/Components/Alerts/RestartAlert.razor b/Moonlight/Core/UI/Components/Alerts/RestartAlert.razor similarity index 100% rename from Moonlight/Shared/Components/Alerts/RestartAlert.razor rename to Moonlight/Core/UI/Components/Alerts/RestartAlert.razor diff --git a/Moonlight/Shared/Components/Auth/ChangePassword.razor b/Moonlight/Core/UI/Components/Auth/ChangePassword.razor similarity index 100% rename from Moonlight/Shared/Components/Auth/ChangePassword.razor rename to Moonlight/Core/UI/Components/Auth/ChangePassword.razor diff --git a/Moonlight/Shared/Components/Auth/Login.razor b/Moonlight/Core/UI/Components/Auth/Login.razor similarity index 100% rename from Moonlight/Shared/Components/Auth/Login.razor rename to Moonlight/Core/UI/Components/Auth/Login.razor diff --git a/Moonlight/Shared/Components/Auth/MailVerify.razor b/Moonlight/Core/UI/Components/Auth/MailVerify.razor similarity index 100% rename from Moonlight/Shared/Components/Auth/MailVerify.razor rename to Moonlight/Core/UI/Components/Auth/MailVerify.razor diff --git a/Moonlight/Shared/Components/Auth/PasswordReset.razor b/Moonlight/Core/UI/Components/Auth/PasswordReset.razor similarity index 100% rename from Moonlight/Shared/Components/Auth/PasswordReset.razor rename to Moonlight/Core/UI/Components/Auth/PasswordReset.razor diff --git a/Moonlight/Shared/Components/Auth/Register.razor b/Moonlight/Core/UI/Components/Auth/Register.razor similarity index 100% rename from Moonlight/Shared/Components/Auth/Register.razor rename to Moonlight/Core/UI/Components/Auth/Register.razor diff --git a/Moonlight/Shared/Components/Navigations/AccountNavigation.razor b/Moonlight/Core/UI/Components/Navigations/AccountNavigation.razor similarity index 100% rename from Moonlight/Shared/Components/Navigations/AccountNavigation.razor rename to Moonlight/Core/UI/Components/Navigations/AccountNavigation.razor diff --git a/Moonlight/Shared/Components/Navigations/AdminSysNavigation.razor b/Moonlight/Core/UI/Components/Navigations/AdminSysNavigation.razor similarity index 100% rename from Moonlight/Shared/Components/Navigations/AdminSysNavigation.razor rename to Moonlight/Core/UI/Components/Navigations/AdminSysNavigation.razor diff --git a/Moonlight/Shared/Components/Navigations/AdminUsersNavigation.razor b/Moonlight/Core/UI/Components/Navigations/AdminUsersNavigation.razor similarity index 100% rename from Moonlight/Shared/Components/Navigations/AdminUsersNavigation.razor rename to Moonlight/Core/UI/Components/Navigations/AdminUsersNavigation.razor diff --git a/Moonlight/Core/UI/Layouts/MainLayout.razor b/Moonlight/Core/UI/Layouts/MainLayout.razor index 7c797e7e..92031361 100644 --- a/Moonlight/Core/UI/Layouts/MainLayout.razor +++ b/Moonlight/Core/UI/Layouts/MainLayout.razor @@ -1,10 +1,12 @@ -@using Moonlight.Shared.Components.Auth -@using Moonlight.Core.Models.Abstractions +@using Moonlight.Core.Models.Abstractions @using Moonlight.Core.Models.Enums @using Moonlight.Core.Services @using Moonlight.Core.Services.Interop @using Moonlight.Core.Services.Utils @using Moonlight.Core.Event +@using Moonlight.Core.UI.Components.Auth +@using Moonlight.Features.Advertisement.Services +@using Moonlight.Features.Advertisement.UI.Components @inherits LayoutComponentBase @implements IDisposable diff --git a/Moonlight/Shared/Views/Account/Index.razor b/Moonlight/Core/UI/Views/Account/Index.razor similarity index 100% rename from Moonlight/Shared/Views/Account/Index.razor rename to Moonlight/Core/UI/Views/Account/Index.razor diff --git a/Moonlight/Shared/Views/Account/Payments.razor b/Moonlight/Core/UI/Views/Account/Payments.razor similarity index 99% rename from Moonlight/Shared/Views/Account/Payments.razor rename to Moonlight/Core/UI/Views/Account/Payments.razor index c777980a..359b1404 100644 --- a/Moonlight/Shared/Views/Account/Payments.razor +++ b/Moonlight/Core/UI/Views/Account/Payments.razor @@ -1,6 +1,5 @@ @page "/account/payments" @using BlazorTable -@using Moonlight.Core.Database.Entities.Store @using Moonlight.Core.Exceptions @using Moonlight.Core.Helpers @using Moonlight.Core.Models.Abstractions diff --git a/Moonlight/Shared/Views/Account/Security.razor b/Moonlight/Core/UI/Views/Account/Security.razor similarity index 100% rename from Moonlight/Shared/Views/Account/Security.razor rename to Moonlight/Core/UI/Views/Account/Security.razor diff --git a/Moonlight/Shared/Views/Admin/Index.razor b/Moonlight/Core/UI/Views/Admin/Index.razor similarity index 100% rename from Moonlight/Shared/Views/Admin/Index.razor rename to Moonlight/Core/UI/Views/Admin/Index.razor diff --git a/Moonlight/Shared/Views/Admin/Services/Index.razor b/Moonlight/Core/UI/Views/Admin/Services/Index.razor similarity index 98% rename from Moonlight/Shared/Views/Admin/Services/Index.razor rename to Moonlight/Core/UI/Views/Admin/Services/Index.razor index 081eaee8..06d5939c 100644 --- a/Moonlight/Shared/Views/Admin/Services/Index.razor +++ b/Moonlight/Core/UI/Views/Admin/Services/Index.razor @@ -1,10 +1,10 @@ @page "/admin/services" @using Microsoft.EntityFrameworkCore @using BlazorTable -@using Moonlight.Core.Database.Entities.Store @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Models.Enums @using Moonlight.Core.Repositories +@using Moonlight.Features.ServiceManagement.Entities @attribute [RequirePermission(Permission.AdminServices)] diff --git a/Moonlight/Shared/Views/Admin/Services/View.razor b/Moonlight/Core/UI/Views/Admin/Services/View.razor similarity index 93% rename from Moonlight/Shared/Views/Admin/Services/View.razor rename to Moonlight/Core/UI/Views/Admin/Services/View.razor index 3b3e288a..dedfe3bb 100644 --- a/Moonlight/Shared/Views/Admin/Services/View.razor +++ b/Moonlight/Core/UI/Views/Admin/Services/View.razor @@ -1,12 +1,12 @@ @page "/admin/services/view/{Id:int}/{Route?}" @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Entities.Store @using Moonlight.Core.Extensions.Attributes -@using Moonlight.Core.Models.Abstractions.Services @using Moonlight.Core.Models.Enums @using Moonlight.Core.Repositories @using Moonlight.Core.Services -@using Moonlight.Core.Services.ServiceManage +@using Moonlight.Features.ServiceManagement.Entities +@using Moonlight.Features.ServiceManagement.Models.Abstractions +@using Moonlight.Features.ServiceManagement.Services @attribute [RequirePermission(Permission.AdminServices)] diff --git a/Moonlight/Shared/Views/Admin/Sys/Diagnose.razor b/Moonlight/Core/UI/Views/Admin/Sys/Diagnose.razor similarity index 96% rename from Moonlight/Shared/Views/Admin/Sys/Diagnose.razor rename to Moonlight/Core/UI/Views/Admin/Sys/Diagnose.razor index b828111c..be0cb392 100644 --- a/Moonlight/Shared/Views/Admin/Sys/Diagnose.razor +++ b/Moonlight/Core/UI/Views/Admin/Sys/Diagnose.razor @@ -1,8 +1,8 @@ @page "/admin/sys/diagnose" @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Models.Enums +@using Moonlight.Core.Services @using Moonlight.Core.Services.Interop -@using Moonlight.Core.Services.Sys @attribute [RequirePermission(Permission.AdminRoot)] diff --git a/Moonlight/Shared/Views/Admin/Sys/Index.razor b/Moonlight/Core/UI/Views/Admin/Sys/Index.razor similarity index 92% rename from Moonlight/Shared/Views/Admin/Sys/Index.razor rename to Moonlight/Core/UI/Views/Admin/Sys/Index.razor index 04bb660e..37bfa4f5 100644 --- a/Moonlight/Shared/Views/Admin/Sys/Index.razor +++ b/Moonlight/Core/UI/Views/Admin/Sys/Index.razor @@ -1,7 +1,7 @@ @page "/admin/sys" @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Models.Enums -@using Moonlight.Core.Services.Sys +@using Moonlight.Core.Services @attribute [RequirePermission(Permission.AdminRoot)] diff --git a/Moonlight/Shared/Views/Admin/Sys/Settings.razor b/Moonlight/Core/UI/Views/Admin/Sys/Settings.razor similarity index 100% rename from Moonlight/Shared/Views/Admin/Sys/Settings.razor rename to Moonlight/Core/UI/Views/Admin/Sys/Settings.razor diff --git a/Moonlight/Shared/Views/Admin/Users/Index.razor b/Moonlight/Core/UI/Views/Admin/Users/Index.razor similarity index 100% rename from Moonlight/Shared/Views/Admin/Users/Index.razor rename to Moonlight/Core/UI/Views/Admin/Users/Index.razor diff --git a/Moonlight/Shared/Views/Admin/Users/Sessions.razor b/Moonlight/Core/UI/Views/Admin/Users/Sessions.razor similarity index 100% rename from Moonlight/Shared/Views/Admin/Users/Sessions.razor rename to Moonlight/Core/UI/Views/Admin/Users/Sessions.razor diff --git a/Moonlight/Shared/Views/Admin/Users/View.razor b/Moonlight/Core/UI/Views/Admin/Users/View.razor similarity index 99% rename from Moonlight/Shared/Views/Admin/Users/View.razor rename to Moonlight/Core/UI/Views/Admin/Users/View.razor index 803ffdab..324b6b9e 100644 --- a/Moonlight/Shared/Views/Admin/Users/View.razor +++ b/Moonlight/Core/UI/Views/Admin/Users/View.razor @@ -3,7 +3,6 @@ @using Mappy.Net @using BlazorTable @using Moonlight.Core.Database.Entities -@using Moonlight.Core.Database.Entities.Store @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Helpers @using Moonlight.Core.Models.Enums @@ -12,6 +11,7 @@ @using Moonlight.Core.Services @using Moonlight.Core.Services.Interop @using Moonlight.Core.Services.Users +@using Moonlight.Features.ServiceManagement.Entities @using Moonlight.Features.StoreSystem.Entities @attribute [RequirePermission(Permission.AdminUsers)] diff --git a/Moonlight/Shared/Views/Index.razor b/Moonlight/Core/UI/Views/Index.razor similarity index 99% rename from Moonlight/Shared/Views/Index.razor rename to Moonlight/Core/UI/Views/Index.razor index 5a006295..82b9cd63 100644 --- a/Moonlight/Shared/Views/Index.razor +++ b/Moonlight/Core/UI/Views/Index.razor @@ -1,4 +1,5 @@ @page "/" + @using Moonlight.Core.Services @inject IdentityService IdentityService diff --git a/Moonlight/Features/Advertisement/Configuration/AdvertisementData.cs b/Moonlight/Features/Advertisement/Configuration/AdvertisementData.cs new file mode 100644 index 00000000..89046873 --- /dev/null +++ b/Moonlight/Features/Advertisement/Configuration/AdvertisementData.cs @@ -0,0 +1,11 @@ +using System.ComponentModel; +using Newtonsoft.Json; + +namespace Moonlight.Features.Advertisement.Configuration; + +public class AdvertisementData +{ + [JsonProperty("PreventAdBlockers")] + [Description("This prevents users from using ad blockers while using moonlight. (Note: The detection might not always work)")] + public bool PreventAdBlockers { get; set; } +} \ No newline at end of file diff --git a/Moonlight/Core/Services/Interop/AdBlockService.cs b/Moonlight/Features/Advertisement/Services/AdBlockService.cs similarity index 92% rename from Moonlight/Core/Services/Interop/AdBlockService.cs rename to Moonlight/Features/Advertisement/Services/AdBlockService.cs index 11e9341f..74061af0 100644 --- a/Moonlight/Core/Services/Interop/AdBlockService.cs +++ b/Moonlight/Features/Advertisement/Services/AdBlockService.cs @@ -1,7 +1,7 @@ using Microsoft.JSInterop; using Moonlight.Core.Helpers; -namespace Moonlight.Core.Services.Interop; +namespace Moonlight.Features.Advertisement.Services; public class AdBlockService { diff --git a/Moonlight/Shared/Components/Alerts/AdBlockAlert.razor b/Moonlight/Features/Advertisement/UI/Components/AdBlockAlert.razor similarity index 100% rename from Moonlight/Shared/Components/Alerts/AdBlockAlert.razor rename to Moonlight/Features/Advertisement/UI/Components/AdBlockAlert.razor diff --git a/Moonlight/Features/Community/Services/PostService.cs b/Moonlight/Features/Community/Services/PostService.cs index 42a38f44..63e65197 100644 --- a/Moonlight/Features/Community/Services/PostService.cs +++ b/Moonlight/Features/Community/Services/PostService.cs @@ -1,7 +1,6 @@ using System.Text.RegularExpressions; using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Enums; using Moonlight.Core.Event; using Moonlight.Core.Exceptions; using Moonlight.Core.Extensions; diff --git a/Moonlight/Features/Community/UI/Components/CreatePostModal.razor b/Moonlight/Features/Community/UI/Components/CreatePostModal.razor index 6f5e8647..03955cc1 100644 --- a/Moonlight/Features/Community/UI/Components/CreatePostModal.razor +++ b/Moonlight/Features/Community/UI/Components/CreatePostModal.razor @@ -1,5 +1,4 @@ -@using Moonlight.Core.Database.Enums -@using Moonlight.Core.Services +@using Moonlight.Core.Services @using Moonlight.Core.Services.Interop @using Moonlight.Features.Community.Entities.Enums @using Moonlight.Features.Community.Models.Forms diff --git a/Moonlight/Features/Community/UI/Views/Projects.razor b/Moonlight/Features/Community/UI/Views/Projects.razor index 9567e745..7bbe54e2 100644 --- a/Moonlight/Features/Community/UI/Views/Projects.razor +++ b/Moonlight/Features/Community/UI/Views/Projects.razor @@ -1,7 +1,6 @@ @page "/community/projects" @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Enums @using Moonlight.Core.Repositories @using Moonlight.Features.Community.Entities @using Moonlight.Features.Community.Entities.Enums diff --git a/Moonlight/Core/Database/Enums/ServiceType.cs b/Moonlight/Features/ServiceManagement/Entities/Enums/ServiceType.cs similarity index 54% rename from Moonlight/Core/Database/Enums/ServiceType.cs rename to Moonlight/Features/ServiceManagement/Entities/Enums/ServiceType.cs index 1a68a5bc..50df6ddd 100644 --- a/Moonlight/Core/Database/Enums/ServiceType.cs +++ b/Moonlight/Features/ServiceManagement/Entities/Enums/ServiceType.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Database.Enums; +namespace Moonlight.Features.ServiceManagement.Entities.Enums; public enum ServiceType { diff --git a/Moonlight/Core/Database/Entities/Store/Service.cs b/Moonlight/Features/ServiceManagement/Entities/Service.cs similarity index 76% rename from Moonlight/Core/Database/Entities/Store/Service.cs rename to Moonlight/Features/ServiceManagement/Entities/Service.cs index 475d2ad4..7e1c624c 100644 --- a/Moonlight/Core/Database/Entities/Store/Service.cs +++ b/Moonlight/Features/ServiceManagement/Entities/Service.cs @@ -1,6 +1,7 @@ -using Moonlight.Features.StoreSystem.Entities; +using Moonlight.Core.Database.Entities; +using Moonlight.Features.StoreSystem.Entities; -namespace Moonlight.Core.Database.Entities.Store; +namespace Moonlight.Features.ServiceManagement.Entities; public class Service { diff --git a/Moonlight/Features/ServiceManagement/Entities/ServiceShare.cs b/Moonlight/Features/ServiceManagement/Entities/ServiceShare.cs new file mode 100644 index 00000000..20b5f8a4 --- /dev/null +++ b/Moonlight/Features/ServiceManagement/Entities/ServiceShare.cs @@ -0,0 +1,9 @@ +using Moonlight.Core.Database.Entities; + +namespace Moonlight.Features.ServiceManagement.Entities; + +public class ServiceShare +{ + public int Id { get; set; } + public User User { get; set; } +} \ No newline at end of file diff --git a/Moonlight/Core/Models/Abstractions/Services/ServiceActions.cs b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceActions.cs similarity index 68% rename from Moonlight/Core/Models/Abstractions/Services/ServiceActions.cs rename to Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceActions.cs index 5c5f2a58..2c04d8a0 100644 --- a/Moonlight/Core/Models/Abstractions/Services/ServiceActions.cs +++ b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceActions.cs @@ -1,6 +1,6 @@ -using Moonlight.Core.Database.Entities.Store; +using Moonlight.Features.ServiceManagement.Entities; -namespace Moonlight.Core.Models.Abstractions.Services; +namespace Moonlight.Features.ServiceManagement.Models.Abstractions; public abstract class ServiceActions { diff --git a/Moonlight/Core/Models/Abstractions/Services/ServiceDefinition.cs b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceDefinition.cs similarity index 81% rename from Moonlight/Core/Models/Abstractions/Services/ServiceDefinition.cs rename to Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceDefinition.cs index 0388ff8c..221ffbe0 100644 --- a/Moonlight/Core/Models/Abstractions/Services/ServiceDefinition.cs +++ b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceDefinition.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Models.Abstractions.Services; +namespace Moonlight.Features.ServiceManagement.Models.Abstractions; public abstract class ServiceDefinition { diff --git a/Moonlight/Core/Models/Abstractions/Services/ServiceUiPage.cs b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceUiPage.cs similarity index 77% rename from Moonlight/Core/Models/Abstractions/Services/ServiceUiPage.cs rename to Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceUiPage.cs index 6706bb87..27f866f0 100644 --- a/Moonlight/Core/Models/Abstractions/Services/ServiceUiPage.cs +++ b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceUiPage.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Components; -namespace Moonlight.Core.Models.Abstractions.Services; +namespace Moonlight.Features.ServiceManagement.Models.Abstractions; public class ServiceUiPage { diff --git a/Moonlight/Core/Models/Abstractions/Services/ServiceViewContext.cs b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceViewContext.cs similarity index 86% rename from Moonlight/Core/Models/Abstractions/Services/ServiceViewContext.cs rename to Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceViewContext.cs index be32d11b..e02b7b5b 100644 --- a/Moonlight/Core/Models/Abstractions/Services/ServiceViewContext.cs +++ b/Moonlight/Features/ServiceManagement/Models/Abstractions/ServiceViewContext.cs @@ -1,10 +1,10 @@ using Microsoft.AspNetCore.Components; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Helpers; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.StoreSystem.Entities; -namespace Moonlight.Core.Models.Abstractions.Services; +namespace Moonlight.Features.ServiceManagement.Models.Abstractions; public class ServiceViewContext { diff --git a/Moonlight/Core/Models/Forms/Services/AddUserToServiceForm.cs b/Moonlight/Features/ServiceManagement/Models/Forms/AddUserToServiceForm.cs similarity index 88% rename from Moonlight/Core/Models/Forms/Services/AddUserToServiceForm.cs rename to Moonlight/Features/ServiceManagement/Models/Forms/AddUserToServiceForm.cs index 03671774..48afc858 100644 --- a/Moonlight/Core/Models/Forms/Services/AddUserToServiceForm.cs +++ b/Moonlight/Features/ServiceManagement/Models/Forms/AddUserToServiceForm.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace Moonlight.Core.Models.Forms.Services; +namespace Moonlight.Features.ServiceManagement.Models.Forms; public class AddUserToServiceForm { diff --git a/Moonlight/Core/Services/ServiceManage/ServiceAdminService.cs b/Moonlight/Features/ServiceManagement/Services/ServiceAdminService.cs similarity index 96% rename from Moonlight/Core/Services/ServiceManage/ServiceAdminService.cs rename to Moonlight/Features/ServiceManagement/Services/ServiceAdminService.cs index 57aa90c0..b50781f8 100644 --- a/Moonlight/Core/Services/ServiceManage/ServiceAdminService.cs +++ b/Moonlight/Features/ServiceManagement/Services/ServiceAdminService.cs @@ -1,11 +1,11 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Exceptions; using Moonlight.Core.Repositories; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.StoreSystem.Entities; -namespace Moonlight.Core.Services.ServiceManage; +namespace Moonlight.Features.ServiceManagement.Services; public class ServiceAdminService { diff --git a/Moonlight/Core/Services/ServiceManage/ServiceDefinitionService.cs b/Moonlight/Features/ServiceManagement/Services/ServiceDefinitionService.cs similarity index 87% rename from Moonlight/Core/Services/ServiceManage/ServiceDefinitionService.cs rename to Moonlight/Features/ServiceManagement/Services/ServiceDefinitionService.cs index 8b390797..0044c2ee 100644 --- a/Moonlight/Core/Services/ServiceManage/ServiceDefinitionService.cs +++ b/Moonlight/Features/ServiceManagement/Services/ServiceDefinitionService.cs @@ -1,11 +1,11 @@ using Microsoft.EntityFrameworkCore; -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Database.Enums; -using Moonlight.Core.Models.Abstractions.Services; using Moonlight.Core.Repositories; +using Moonlight.Features.ServiceManagement.Entities; +using Moonlight.Features.ServiceManagement.Entities.Enums; +using Moonlight.Features.ServiceManagement.Models.Abstractions; using Moonlight.Features.StoreSystem.Entities; -namespace Moonlight.Core.Services.ServiceManage; +namespace Moonlight.Features.ServiceManagement.Services; public class ServiceDefinitionService { diff --git a/Moonlight/Core/Services/ServiceManage/ServiceManageService.cs b/Moonlight/Features/ServiceManagement/Services/ServiceManageService.cs similarity index 94% rename from Moonlight/Core/Services/ServiceManage/ServiceManageService.cs rename to Moonlight/Features/ServiceManagement/Services/ServiceManageService.cs index 5e0c7c78..5bcd40e1 100644 --- a/Moonlight/Core/Services/ServiceManage/ServiceManageService.cs +++ b/Moonlight/Features/ServiceManagement/Services/ServiceManageService.cs @@ -1,11 +1,11 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Models.Abstractions; using Moonlight.Core.Models.Enums; using Moonlight.Core.Repositories; +using Moonlight.Features.ServiceManagement.Entities; -namespace Moonlight.Core.Services.ServiceManage; +namespace Moonlight.Features.ServiceManagement.Services; public class ServiceManageService { diff --git a/Moonlight/Core/Services/ServiceManage/ServiceService.cs b/Moonlight/Features/ServiceManagement/Services/ServiceService.cs similarity index 97% rename from Moonlight/Core/Services/ServiceManage/ServiceService.cs rename to Moonlight/Features/ServiceManagement/Services/ServiceService.cs index 021bec43..2d23083a 100644 --- a/Moonlight/Core/Services/ServiceManage/ServiceService.cs +++ b/Moonlight/Features/ServiceManagement/Services/ServiceService.cs @@ -1,10 +1,10 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Exceptions; using Moonlight.Core.Repositories; +using Moonlight.Features.ServiceManagement.Entities; -namespace Moonlight.Core.Services.ServiceManage; +namespace Moonlight.Features.ServiceManagement.Services; public class ServiceService // This service is used for managing services and create the connection to the actual logic behind a service type { diff --git a/Moonlight/Shared/Components/Modals/ManageServiceShareModal.razor b/Moonlight/Features/ServiceManagement/UI/Components/ManageServiceShareModal.razor similarity index 95% rename from Moonlight/Shared/Components/Modals/ManageServiceShareModal.razor rename to Moonlight/Features/ServiceManagement/UI/Components/ManageServiceShareModal.razor index da556f39..d8e5bd82 100644 --- a/Moonlight/Shared/Components/Modals/ManageServiceShareModal.razor +++ b/Moonlight/Features/ServiceManagement/UI/Components/ManageServiceShareModal.razor @@ -1,8 +1,8 @@ @using BlazorTable @using Moonlight.Core.Database.Entities -@using Moonlight.Core.Database.Entities.Store -@using Moonlight.Core.Models.Forms.Services -@using Moonlight.Core.Services.ServiceManage +@using Moonlight.Features.ServiceManagement.Entities +@using Moonlight.Features.ServiceManagement.Models.Forms +@using Moonlight.Features.ServiceManagement.Services @inject ServiceService ServiceService diff --git a/Moonlight/Shared/Components/Alerts/NeedsRenewalAlert.razor b/Moonlight/Features/ServiceManagement/UI/Components/NeedsRenewalAlert.razor similarity index 100% rename from Moonlight/Shared/Components/Alerts/NeedsRenewalAlert.razor rename to Moonlight/Features/ServiceManagement/UI/Components/NeedsRenewalAlert.razor diff --git a/Moonlight/Shared/Components/Service/ServiceItem.razor b/Moonlight/Features/ServiceManagement/UI/Components/ServiceItem.razor similarity index 98% rename from Moonlight/Shared/Components/Service/ServiceItem.razor rename to Moonlight/Features/ServiceManagement/UI/Components/ServiceItem.razor index f120bb61..d42e69fe 100644 --- a/Moonlight/Shared/Components/Service/ServiceItem.razor +++ b/Moonlight/Features/ServiceManagement/UI/Components/ServiceItem.razor @@ -1,10 +1,9 @@ -@using Moonlight.Shared.Components.Modals -@using Moonlight.Core.Database.Entities.Store -@using Moonlight.Core.Exceptions +@using Moonlight.Core.Exceptions @using Moonlight.Core.Helpers @using Moonlight.Core.Services @using Moonlight.Core.Services.Interop -@using Moonlight.Core.Services.ServiceManage +@using Moonlight.Features.ServiceManagement.Entities +@using Moonlight.Features.ServiceManagement.Services @using Moonlight.Features.StoreSystem.Services @inject ConfigService ConfigService diff --git a/Moonlight/Shared/Views/Services/Index.razor b/Moonlight/Features/ServiceManagement/UI/Views/Index.razor similarity index 95% rename from Moonlight/Shared/Views/Services/Index.razor rename to Moonlight/Features/ServiceManagement/UI/Views/Index.razor index 5ae2ce63..53c92bb8 100644 --- a/Moonlight/Shared/Views/Services/Index.razor +++ b/Moonlight/Features/ServiceManagement/UI/Views/Index.razor @@ -1,9 +1,10 @@ @page "/services" -@using Moonlight.Shared.Components.Service -@using Moonlight.Core.Database.Entities.Store + @using Moonlight.Core.Helpers @using Moonlight.Core.Services -@using Moonlight.Core.Services.ServiceManage +@using Moonlight.Features.ServiceManagement.Entities +@using Moonlight.Features.ServiceManagement.Services +@using Moonlight.Features.ServiceManagement.UI.Components @inject ServiceService ServiceService @inject IdentityService IdentityService diff --git a/Moonlight/Shared/Views/Service/Index.razor b/Moonlight/Features/ServiceManagement/UI/Views/View.razor similarity index 94% rename from Moonlight/Shared/Views/Service/Index.razor rename to Moonlight/Features/ServiceManagement/UI/Views/View.razor index 79336e81..b66dca36 100644 --- a/Moonlight/Shared/Views/Service/Index.razor +++ b/Moonlight/Features/ServiceManagement/UI/Views/View.razor @@ -1,11 +1,11 @@ @page "/service/{Id:int}/{Route?}" @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Entities.Store -@using Moonlight.Core.Models.Abstractions.Services @using Moonlight.Core.Models.Enums @using Moonlight.Core.Repositories @using Moonlight.Core.Services -@using Moonlight.Core.Services.ServiceManage +@using Moonlight.Features.ServiceManagement.Entities +@using Moonlight.Features.ServiceManagement.Models.Abstractions +@using Moonlight.Features.ServiceManagement.Services @inject Repository ServiceRepository @inject ServiceService ServiceService diff --git a/Moonlight/Features/StoreSystem/Entities/Product.cs b/Moonlight/Features/StoreSystem/Entities/Product.cs index 89926bba..16500850 100644 --- a/Moonlight/Features/StoreSystem/Entities/Product.cs +++ b/Moonlight/Features/StoreSystem/Entities/Product.cs @@ -1,4 +1,4 @@ -using Moonlight.Core.Database.Enums; +using Moonlight.Features.ServiceManagement.Entities.Enums; namespace Moonlight.Features.StoreSystem.Entities; diff --git a/Moonlight/Features/StoreSystem/Models/Forms/AddProductForm.cs b/Moonlight/Features/StoreSystem/Models/Forms/AddProductForm.cs index 784a7c26..c8cd95a6 100644 --- a/Moonlight/Features/StoreSystem/Models/Forms/AddProductForm.cs +++ b/Moonlight/Features/StoreSystem/Models/Forms/AddProductForm.cs @@ -1,8 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Database.Enums; using Moonlight.Core.Extensions.Attributes; +using Moonlight.Features.ServiceManagement.Entities.Enums; using Moonlight.Features.StoreSystem.Entities; namespace Moonlight.Features.StoreSystem.Models.Forms; diff --git a/Moonlight/Features/StoreSystem/Models/Forms/EditProductForm.cs b/Moonlight/Features/StoreSystem/Models/Forms/EditProductForm.cs index b2844dde..775a1b18 100644 --- a/Moonlight/Features/StoreSystem/Models/Forms/EditProductForm.cs +++ b/Moonlight/Features/StoreSystem/Models/Forms/EditProductForm.cs @@ -1,6 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Database.Enums; +using Moonlight.Features.ServiceManagement.Entities.Enums; using Moonlight.Features.StoreSystem.Entities; namespace Moonlight.Features.StoreSystem.Models.Forms; diff --git a/Moonlight/Features/StoreSystem/Services/StoreAdminService.cs b/Moonlight/Features/StoreSystem/Services/StoreAdminService.cs index 38ea78d7..dcdc49b9 100644 --- a/Moonlight/Features/StoreSystem/Services/StoreAdminService.cs +++ b/Moonlight/Features/StoreSystem/Services/StoreAdminService.cs @@ -1,8 +1,8 @@ -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Database.Enums; -using Moonlight.Core.Exceptions; +using Moonlight.Core.Exceptions; using Moonlight.Core.Repositories; -using Moonlight.Core.Services.ServiceManage; +using Moonlight.Features.ServiceManagement.Entities; +using Moonlight.Features.ServiceManagement.Entities.Enums; +using Moonlight.Features.ServiceManagement.Services; using Moonlight.Features.StoreSystem.Entities; using Newtonsoft.Json; diff --git a/Moonlight/Features/StoreSystem/Services/StoreGiftService.cs b/Moonlight/Features/StoreSystem/Services/StoreGiftService.cs index 1c77d266..34896da1 100644 --- a/Moonlight/Features/StoreSystem/Services/StoreGiftService.cs +++ b/Moonlight/Features/StoreSystem/Services/StoreGiftService.cs @@ -1,6 +1,5 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Exceptions; using Moonlight.Core.Repositories; using Moonlight.Features.StoreSystem.Entities; diff --git a/Moonlight/Features/StoreSystem/Services/StoreOrderService.cs b/Moonlight/Features/StoreSystem/Services/StoreOrderService.cs index 0cc79643..39671f6c 100644 --- a/Moonlight/Features/StoreSystem/Services/StoreOrderService.cs +++ b/Moonlight/Features/StoreSystem/Services/StoreOrderService.cs @@ -1,11 +1,11 @@ using Microsoft.EntityFrameworkCore; using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Event; using Moonlight.Core.Exceptions; using Moonlight.Core.Extensions; using Moonlight.Core.Repositories; -using Moonlight.Core.Services.ServiceManage; +using Moonlight.Features.ServiceManagement.Entities; +using Moonlight.Features.ServiceManagement.Services; using Moonlight.Features.StoreSystem.Entities; namespace Moonlight.Features.StoreSystem.Services; diff --git a/Moonlight/Features/StoreSystem/Services/TransactionService.cs b/Moonlight/Features/StoreSystem/Services/TransactionService.cs index 940b7c38..f71e4a6f 100644 --- a/Moonlight/Features/StoreSystem/Services/TransactionService.cs +++ b/Moonlight/Features/StoreSystem/Services/TransactionService.cs @@ -1,5 +1,4 @@ using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; using Moonlight.Core.Event; using Moonlight.Core.Extensions; using Moonlight.Core.Repositories; diff --git a/Moonlight/Features/StoreSystem/UI/Components/StoreModals.razor b/Moonlight/Features/StoreSystem/UI/Components/StoreModals.razor index d48db9ef..0e247ad5 100644 --- a/Moonlight/Features/StoreSystem/UI/Components/StoreModals.razor +++ b/Moonlight/Features/StoreSystem/UI/Components/StoreModals.razor @@ -1,8 +1,7 @@ @using Mappy.Net -@using Moonlight.Core.Database.Entities.Store -@using Moonlight.Core.Database.Enums @using Moonlight.Core.Repositories @using Moonlight.Core.Services.Interop +@using Moonlight.Features.ServiceManagement.Entities.Enums @using Moonlight.Features.StoreSystem.Entities @using Moonlight.Features.StoreSystem.Models.Forms @using Moonlight.Features.StoreSystem.Services diff --git a/Moonlight/Features/StoreSystem/UI/Views/Admin/Expired.razor b/Moonlight/Features/StoreSystem/UI/Views/Admin/Expired.razor index 107bea23..aee8f5dd 100644 --- a/Moonlight/Features/StoreSystem/UI/Views/Admin/Expired.razor +++ b/Moonlight/Features/StoreSystem/UI/Views/Admin/Expired.razor @@ -2,11 +2,11 @@ @using BlazorTable @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Entities.Store @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Helpers @using Moonlight.Core.Models.Enums @using Moonlight.Core.Repositories +@using Moonlight.Features.ServiceManagement.Entities @using Moonlight.Features.StoreSystem.UI.Components @attribute [RequirePermission(Permission.AdminStore)] diff --git a/Moonlight/Features/Theming/Configuration/ThemeData.cs b/Moonlight/Features/Theming/Configuration/ThemeData.cs new file mode 100644 index 00000000..cdc872b3 --- /dev/null +++ b/Moonlight/Features/Theming/Configuration/ThemeData.cs @@ -0,0 +1,8 @@ +using Newtonsoft.Json; + +namespace Moonlight.Features.Theming.Configuration; + +public class ThemeData +{ + [JsonProperty("EnableDefault")] public bool EnableDefault { get; set; } = true; +} \ No newline at end of file diff --git a/Moonlight/Core/Database/Entities/Theme.cs b/Moonlight/Features/Theming/Entities/Theme.cs similarity index 86% rename from Moonlight/Core/Database/Entities/Theme.cs rename to Moonlight/Features/Theming/Entities/Theme.cs index abae4f6b..099538bb 100644 --- a/Moonlight/Core/Database/Entities/Theme.cs +++ b/Moonlight/Features/Theming/Entities/Theme.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Database.Entities; +namespace Moonlight.Features.Theming.Entities; public class Theme { diff --git a/Moonlight/Core/Models/Abstractions/ApplicationTheme.cs b/Moonlight/Features/Theming/Models/Abstractions/ApplicationTheme.cs similarity index 84% rename from Moonlight/Core/Models/Abstractions/ApplicationTheme.cs rename to Moonlight/Features/Theming/Models/Abstractions/ApplicationTheme.cs index 4c601a5f..5089069f 100644 --- a/Moonlight/Core/Models/Abstractions/ApplicationTheme.cs +++ b/Moonlight/Features/Theming/Models/Abstractions/ApplicationTheme.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Models.Abstractions; +namespace Moonlight.Features.Theming.Models.Abstractions; public class ApplicationTheme { diff --git a/Moonlight/Core/Models/Forms/Admin/Sys/Themes/AddThemeForm.cs b/Moonlight/Features/Theming/Models/Forms/AddThemeForm.cs similarity index 93% rename from Moonlight/Core/Models/Forms/Admin/Sys/Themes/AddThemeForm.cs rename to Moonlight/Features/Theming/Models/Forms/AddThemeForm.cs index 51269606..d3301467 100644 --- a/Moonlight/Core/Models/Forms/Admin/Sys/Themes/AddThemeForm.cs +++ b/Moonlight/Features/Theming/Models/Forms/AddThemeForm.cs @@ -1,7 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; -namespace Moonlight.Core.Models.Forms.Admin.Sys.Themes; +namespace Moonlight.Features.Theming.Models.Forms; public class AddThemeForm { diff --git a/Moonlight/Core/Models/Forms/Admin/Sys/Themes/EditThemeForm.cs b/Moonlight/Features/Theming/Models/Forms/EditThemeForm.cs similarity index 94% rename from Moonlight/Core/Models/Forms/Admin/Sys/Themes/EditThemeForm.cs rename to Moonlight/Features/Theming/Models/Forms/EditThemeForm.cs index 0020ecf1..4f6435ad 100644 --- a/Moonlight/Core/Models/Forms/Admin/Sys/Themes/EditThemeForm.cs +++ b/Moonlight/Features/Theming/Models/Forms/EditThemeForm.cs @@ -1,7 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; -namespace Moonlight.Core.Models.Forms.Admin.Sys.Themes; +namespace Moonlight.Features.Theming.Models.Forms; public class EditThemeForm { diff --git a/Moonlight/Core/Models/Json/Theme/ThemeExport.cs b/Moonlight/Features/Theming/Models/ThemeExport.cs similarity index 85% rename from Moonlight/Core/Models/Json/Theme/ThemeExport.cs rename to Moonlight/Features/Theming/Models/ThemeExport.cs index ab933344..75cda78f 100644 --- a/Moonlight/Core/Models/Json/Theme/ThemeExport.cs +++ b/Moonlight/Features/Theming/Models/ThemeExport.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Models.Json.Theme; +namespace Moonlight.Features.Theming.Models; public class ThemeExport { diff --git a/Moonlight/Core/Models/Json/Theme/ThemeImport.cs b/Moonlight/Features/Theming/Models/ThemeImport.cs similarity index 85% rename from Moonlight/Core/Models/Json/Theme/ThemeImport.cs rename to Moonlight/Features/Theming/Models/ThemeImport.cs index 60b31b6b..956e5a80 100644 --- a/Moonlight/Core/Models/Json/Theme/ThemeImport.cs +++ b/Moonlight/Features/Theming/Models/ThemeImport.cs @@ -1,4 +1,4 @@ -namespace Moonlight.Core.Models.Json.Theme; +namespace Moonlight.Features.Theming.Models; public class ThemeImport { diff --git a/Moonlight/Core/Services/Sys/MoonlightThemeService.cs b/Moonlight/Features/Theming/Services/ThemeService.cs similarity index 81% rename from Moonlight/Core/Services/Sys/MoonlightThemeService.cs rename to Moonlight/Features/Theming/Services/ThemeService.cs index 1d9b81c4..13a8c195 100644 --- a/Moonlight/Core/Services/Sys/MoonlightThemeService.cs +++ b/Moonlight/Features/Theming/Services/ThemeService.cs @@ -1,16 +1,18 @@ using Mappy.Net; -using Moonlight.Core.Database.Entities; using Moonlight.Core.Models.Abstractions; using Moonlight.Core.Repositories; +using Moonlight.Core.Services; +using Moonlight.Features.Theming.Entities; +using Moonlight.Features.Theming.Models.Abstractions; -namespace Moonlight.Core.Services.Sys; +namespace Moonlight.Features.Theming.Services; -public class MoonlightThemeService +public class ThemeService { private readonly IServiceProvider ServiceProvider; private readonly ConfigService ConfigService; - public MoonlightThemeService(IServiceProvider serviceProvider, ConfigService configService) + public ThemeService(IServiceProvider serviceProvider, ConfigService configService) { ServiceProvider = serviceProvider; ConfigService = configService; diff --git a/Moonlight/Shared/Views/Admin/Sys/Themes.razor b/Moonlight/Features/Theming/UI/Views/Admin/Themes.razor similarity index 97% rename from Moonlight/Shared/Views/Admin/Sys/Themes.razor rename to Moonlight/Features/Theming/UI/Views/Admin/Themes.razor index 3d132665..8c68446a 100644 --- a/Moonlight/Shared/Views/Admin/Sys/Themes.razor +++ b/Moonlight/Features/Theming/UI/Views/Admin/Themes.razor @@ -1,15 +1,16 @@ @page "/admin/sys/themes" + @using BlazorTable @using Mappy.Net @using Microsoft.AspNetCore.Components.Forms -@using Moonlight.Core.Database.Entities @using Moonlight.Core.Exceptions @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Models.Enums -@using Moonlight.Core.Models.Forms.Admin.Sys.Themes -@using Moonlight.Core.Models.Json.Theme @using Moonlight.Core.Repositories @using Moonlight.Core.Services.Interop +@using Moonlight.Features.Theming.Entities +@using Moonlight.Features.Theming.Models +@using Moonlight.Features.Theming.Models.Forms @using Newtonsoft.Json @attribute [RequirePermission(Permission.AdminRoot)] diff --git a/Moonlight/Features/Ticketing/Entities/Ticket.cs b/Moonlight/Features/Ticketing/Entities/Ticket.cs index 9fb4c751..564f9958 100644 --- a/Moonlight/Features/Ticketing/Entities/Ticket.cs +++ b/Moonlight/Features/Ticketing/Entities/Ticket.cs @@ -1,5 +1,5 @@ using Moonlight.Core.Database.Entities; -using Moonlight.Core.Database.Entities.Store; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.Ticketing.Entities.Enums; namespace Moonlight.Features.Ticketing.Entities; diff --git a/Moonlight/Features/Ticketing/Models/Forms/CreateTicketForm.cs b/Moonlight/Features/Ticketing/Models/Forms/CreateTicketForm.cs index 58c23372..6a1091e0 100644 --- a/Moonlight/Features/Ticketing/Models/Forms/CreateTicketForm.cs +++ b/Moonlight/Features/Ticketing/Models/Forms/CreateTicketForm.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Moonlight.Core.Database.Entities.Store; +using Moonlight.Features.ServiceManagement.Entities; namespace Moonlight.Features.Ticketing.Models.Forms; diff --git a/Moonlight/Features/Ticketing/Services/TicketCreateService.cs b/Moonlight/Features/Ticketing/Services/TicketCreateService.cs index 7a9b7a88..19b6f382 100644 --- a/Moonlight/Features/Ticketing/Services/TicketCreateService.cs +++ b/Moonlight/Features/Ticketing/Services/TicketCreateService.cs @@ -1,8 +1,8 @@ -using Moonlight.Core.Database.Entities.Store; -using Moonlight.Core.Event; +using Moonlight.Core.Event; using Moonlight.Core.Extensions; using Moonlight.Core.Repositories; using Moonlight.Core.Services; +using Moonlight.Features.ServiceManagement.Entities; using Moonlight.Features.Ticketing.Entities; using Moonlight.Features.Ticketing.Entities.Enums; diff --git a/Moonlight/Core/UI/Components/Forms/ChatFileSelect.razor b/Moonlight/Features/Ticketing/UI/Components/ChatFileSelect.razor similarity index 100% rename from Moonlight/Core/UI/Components/Forms/ChatFileSelect.razor rename to Moonlight/Features/Ticketing/UI/Components/ChatFileSelect.razor diff --git a/Moonlight/Features/Ticketing/UI/Components/TicketPopupCreate.razor b/Moonlight/Features/Ticketing/UI/Components/TicketPopupCreate.razor index f6c9e9bd..e25411d5 100644 --- a/Moonlight/Features/Ticketing/UI/Components/TicketPopupCreate.razor +++ b/Moonlight/Features/Ticketing/UI/Components/TicketPopupCreate.razor @@ -1,7 +1,7 @@ -@using Moonlight.Core.Database.Entities.Store -@using Moonlight.Core.Exceptions +@using Moonlight.Core.Exceptions @using Moonlight.Core.Repositories @using Moonlight.Core.Services +@using Moonlight.Features.ServiceManagement.Entities @using Moonlight.Features.Ticketing.Models.Forms @using Moonlight.Features.Ticketing.Services diff --git a/Moonlight/Features/Ticketing/UI/Views/Admin/Index.razor b/Moonlight/Features/Ticketing/UI/Views/Admin/Index.razor index c5f634cd..9baf8d00 100644 --- a/Moonlight/Features/Ticketing/UI/Views/Admin/Index.razor +++ b/Moonlight/Features/Ticketing/UI/Views/Admin/Index.razor @@ -2,7 +2,6 @@ @using BlazorTable @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Enums @using Moonlight.Core.Event @using Moonlight.Core.Event.Args @using Moonlight.Core.Extensions.Attributes diff --git a/Moonlight/Features/Ticketing/UI/Views/Admin/View.razor b/Moonlight/Features/Ticketing/UI/Views/Admin/View.razor index e808f429..7b116ecd 100644 --- a/Moonlight/Features/Ticketing/UI/Views/Admin/View.razor +++ b/Moonlight/Features/Ticketing/UI/Views/Admin/View.razor @@ -2,7 +2,6 @@ @using System.Text.RegularExpressions @using Microsoft.EntityFrameworkCore -@using Moonlight.Core.Database.Enums @using Moonlight.Core.Extensions.Attributes @using Moonlight.Core.Helpers @using Moonlight.Core.Models.Enums @@ -11,6 +10,7 @@ @using Moonlight.Features.Ticketing.Entities @using Moonlight.Features.Ticketing.Entities.Enums @using Moonlight.Features.Ticketing.Services +@using Moonlight.Features.Ticketing.UI.Components @attribute [RequirePermission(Permission.AdminTickets)] diff --git a/Moonlight/Moonlight.csproj b/Moonlight/Moonlight.csproj index cfafa495..ba1edaa8 100644 --- a/Moonlight/Moonlight.csproj +++ b/Moonlight/Moonlight.csproj @@ -19,7 +19,6 @@ - @@ -34,21 +33,7 @@ - - - - - - - - - - - - - - @@ -78,10 +63,16 @@ + + + + + + + - @@ -92,6 +83,9 @@ + + + @@ -103,6 +97,18 @@ + + + + + + + + + + + + @@ -123,5 +129,24 @@ <_ContentIncludedByDefault Remove="Shared\Layouts\DefaultLayout.razor" /> <_ContentIncludedByDefault Remove="Shared\Layouts\MainLayout.razor" /> <_ContentIncludedByDefault Remove="Shared\Layouts\OverlayLayout.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Auth\ChangePassword.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Auth\Login.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Auth\MailVerify.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Auth\PasswordReset.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Auth\Register.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Alerts\NotFoundAlert.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Alerts\RestartAlert.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Navigations\AccountNavigation.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Navigations\AdminSysNavigation.razor" /> + <_ContentIncludedByDefault Remove="Shared\Components\Navigations\AdminUsersNavigation.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Index.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Services\Index.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Services\View.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Sys\Diagnose.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Sys\Index.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Sys\Settings.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Users\Index.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Users\Sessions.razor" /> + <_ContentIncludedByDefault Remove="Shared\Views\Admin\Users\View.razor" /> diff --git a/Moonlight/Pages/_Host.cshtml b/Moonlight/Pages/_Host.cshtml index 4dfe4fca..b011d180 100644 --- a/Moonlight/Pages/_Host.cshtml +++ b/Moonlight/Pages/_Host.cshtml @@ -1,13 +1,13 @@ @page "/" @using Microsoft.AspNetCore.Components.Web -@using Moonlight.Core.Services.Sys +@using Moonlight.Features.Theming.Services @namespace Moonlight.Pages @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@inject MoonlightThemeService MoonlightThemeService +@inject ThemeService ThemeService @{ - var themes = await MoonlightThemeService.GetEnabled(); + var themes = await ThemeService.GetEnabled(); } diff --git a/Moonlight/Program.cs b/Moonlight/Program.cs index ce7dfd5d..d3d6a7f1 100644 --- a/Moonlight/Program.cs +++ b/Moonlight/Program.cs @@ -2,7 +2,6 @@ using BlazorTable; using Moonlight.Core.Database; using Moonlight.Core.Actions.Dummy; using Moonlight.Core.Database; -using Moonlight.Core.Database.Enums; using Moonlight.Core.Extensions; using Moonlight.Core.Helpers; using Moonlight.Core.Helpers.LogMigrator; @@ -10,12 +9,14 @@ using Moonlight.Core.Repositories; using Moonlight.Core.Services; using Moonlight.Core.Services.Background; using Moonlight.Core.Services.Interop; -using Moonlight.Core.Services.ServiceManage; -using Moonlight.Core.Services.Sys; using Moonlight.Core.Services.Users; using Moonlight.Core.Services.Utils; +using Moonlight.Features.Advertisement.Services; using Moonlight.Features.Community.Services; +using Moonlight.Features.ServiceManagement.Entities.Enums; +using Moonlight.Features.ServiceManagement.Services; using Moonlight.Features.StoreSystem.Services; +using Moonlight.Features.Theming.Services; using Moonlight.Features.Ticketing.Services; using Serilog; @@ -105,7 +106,7 @@ builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); -builder.Services.AddSingleton(); +builder.Services.AddSingleton(); builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); diff --git a/Moonlight/_Imports.razor b/Moonlight/_Imports.razor index b8d75130..2eee3207 100644 --- a/Moonlight/_Imports.razor +++ b/Moonlight/_Imports.razor @@ -4,5 +4,5 @@ @using Moonlight.Core.UI.Components.Partials @using Moonlight.Core.UI.Components.Forms -@using Moonlight.Shared.Components.Navigations -@using Moonlight.Shared.Components.Alerts \ No newline at end of file +@using Moonlight.Core.UI.Components.Navigations +@using Moonlight.Core.UI.Components.Alerts \ No newline at end of file