From 355884e999a0c6b6bfeaaf50fcacd7c5bbccbc04 Mon Sep 17 00:00:00 2001 From: Marcel Baumgartner Date: Thu, 20 Apr 2023 07:57:20 +0200 Subject: [PATCH] Removed legacy website --- Moonlight/App/Database/DataContext.cs | 2 - .../App/Database/Entities/PleskServer.cs | 9 - Moonlight/App/Database/Entities/Website.cs | 12 - Moonlight/App/Helpers/PleskApiHelper.cs | 220 ------------------ .../App/Repositories/PleskServerRepository.cs | 44 ---- .../App/Repositories/WebsiteRepository.cs | 44 ---- .../Statistics/StatisticsCaptureService.cs | 16 +- Moonlight/Program.cs | 3 - Moonlight/Shared/Views/Index.razor | 18 +- 9 files changed, 12 insertions(+), 356 deletions(-) delete mode 100644 Moonlight/App/Database/Entities/PleskServer.cs delete mode 100644 Moonlight/App/Database/Entities/Website.cs delete mode 100644 Moonlight/App/Helpers/PleskApiHelper.cs delete mode 100644 Moonlight/App/Repositories/PleskServerRepository.cs delete mode 100644 Moonlight/App/Repositories/WebsiteRepository.cs diff --git a/Moonlight/App/Database/DataContext.cs b/Moonlight/App/Database/DataContext.cs index aeaa61b1..2a18b2d0 100644 --- a/Moonlight/App/Database/DataContext.cs +++ b/Moonlight/App/Database/DataContext.cs @@ -39,8 +39,6 @@ public class DataContext : DbContext public DbSet NotificationActions { get; set; } public DbSet DdosAttacks { get; set; } public DbSet Subscriptions { get; set; } - public DbSet PleskServers { get; set; } - public DbSet Websites { get; set; } public DbSet Statistics { get; set; } public DbSet NewsEntries { get; set; } diff --git a/Moonlight/App/Database/Entities/PleskServer.cs b/Moonlight/App/Database/Entities/PleskServer.cs deleted file mode 100644 index a4cd6307..00000000 --- a/Moonlight/App/Database/Entities/PleskServer.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Moonlight.App.Database.Entities; - -public class PleskServer -{ - public int Id { get; set; } - public string Name { get; set; } = ""; - public string ApiUrl { get; set; } = ""; - public string ApiKey { get; set; } = ""; -} \ No newline at end of file diff --git a/Moonlight/App/Database/Entities/Website.cs b/Moonlight/App/Database/Entities/Website.cs deleted file mode 100644 index 56e9fd12..00000000 --- a/Moonlight/App/Database/Entities/Website.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Moonlight.App.Database.Entities; - -public class Website -{ - public int Id { get; set; } - public string BaseDomain { get; set; } = ""; - public int PleskId { get; set; } - public PleskServer PleskServer { get; set; } - public User Owner { get; set; } - public string FtpLogin { get; set; } = ""; - public string FtpPassword { get; set; } = ""; -} \ No newline at end of file diff --git a/Moonlight/App/Helpers/PleskApiHelper.cs b/Moonlight/App/Helpers/PleskApiHelper.cs deleted file mode 100644 index 87ea9878..00000000 --- a/Moonlight/App/Helpers/PleskApiHelper.cs +++ /dev/null @@ -1,220 +0,0 @@ -using System.Text; -using Moonlight.App.Database.Entities; -using Moonlight.App.Exceptions; -using Newtonsoft.Json; -using RestSharp; - -namespace Moonlight.App.Helpers; - -public class PleskApiHelper -{ - private readonly RestClient Client; - - public PleskApiHelper() - { - Client = new(); - } - - public async Task Get(PleskServer server, string resource) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Get; - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - - return JsonConvert.DeserializeObject(response.Content!)!; - } - - public async Task GetRaw(PleskServer server, string resource) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Get; - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - - return response.Content!; - } - - public async Task Post(PleskServer server, string resource, object? body) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Post; - - request.AddParameter("text/plain", - JsonConvert.SerializeObject(body), - ParameterType.RequestBody - ); - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - - return JsonConvert.DeserializeObject(response.Content!)!; - } - - public async Task Post(PleskServer server, string resource, object? body) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Post; - - if(body != null) - request.AddParameter("text/plain", JsonConvert.SerializeObject(body), ParameterType.RequestBody); - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - } - - public async Task PostRaw(PleskServer server, string resource, object body) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Post; - - request.AddParameter("text/plain", body, ParameterType.RequestBody); - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - } - - public async Task Delete(PleskServer server, string resource, object? body) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Delete; - - if(body != null) - request.AddParameter("text/plain", JsonConvert.SerializeObject(body), ParameterType.RequestBody); - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - } - - public async Task Put(PleskServer server, string resource, object? body) - { - var request = CreateRequest(server, resource); - - request.Method = Method.Put; - - request.AddParameter("text/plain", JsonConvert.SerializeObject(body), ParameterType.RequestBody); - - var response = await Client.ExecuteAsync(request); - - if (!response.IsSuccessful) - { - if (response.StatusCode != 0) - { - throw new PleskException( - $"An error occured: ({response.StatusCode}) {response.Content}", - (int)response.StatusCode - ); - } - else - { - throw new Exception($"An internal error occured: {response.ErrorMessage}"); - } - } - } - - private RestRequest CreateRequest(PleskServer pleskServer, string resource) - { - var url = $"{pleskServer.ApiUrl}/" + resource; - - var request = new RestRequest(url); - var ba = Convert.ToBase64String(Encoding.UTF8.GetBytes(pleskServer.ApiKey)); - - request.AddHeader("Content-Type", "application/json"); - request.AddHeader("Accept", "application/json"); - request.AddHeader("Authorization", "Basic " + ba); - - return request; - } -} \ No newline at end of file diff --git a/Moonlight/App/Repositories/PleskServerRepository.cs b/Moonlight/App/Repositories/PleskServerRepository.cs deleted file mode 100644 index 53742635..00000000 --- a/Moonlight/App/Repositories/PleskServerRepository.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Moonlight.App.Database; -using Moonlight.App.Database.Entities; - -namespace Moonlight.App.Repositories; - -public class PleskServerRepository : IDisposable -{ - private readonly DataContext DataContext; - - public PleskServerRepository(DataContext dataContext) - { - DataContext = dataContext; - } - - public DbSet Get() - { - return DataContext.PleskServers; - } - - public PleskServer Add(PleskServer pleskServer) - { - var x = DataContext.PleskServers.Add(pleskServer); - DataContext.SaveChanges(); - return x.Entity; - } - - public void Update(PleskServer pleskServer) - { - DataContext.PleskServers.Update(pleskServer); - DataContext.SaveChanges(); - } - - public void Delete(PleskServer pleskServer) - { - DataContext.PleskServers.Remove(pleskServer); - DataContext.SaveChanges(); - } - - public void Dispose() - { - DataContext.Dispose(); - } -} \ No newline at end of file diff --git a/Moonlight/App/Repositories/WebsiteRepository.cs b/Moonlight/App/Repositories/WebsiteRepository.cs deleted file mode 100644 index 4a45b5da..00000000 --- a/Moonlight/App/Repositories/WebsiteRepository.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Moonlight.App.Database; -using Moonlight.App.Database.Entities; - -namespace Moonlight.App.Repositories; - -public class WebsiteRepository : IDisposable -{ - private readonly DataContext DataContext; - - public WebsiteRepository(DataContext dataContext) - { - DataContext = dataContext; - } - - public DbSet Get() - { - return DataContext.Websites; - } - - public Website Add(Website website) - { - var x = DataContext.Websites.Add(website); - DataContext.SaveChanges(); - return x.Entity; - } - - public void Update(Website website) - { - DataContext.Websites.Update(website); - DataContext.SaveChanges(); - } - - public void Delete(Website website) - { - DataContext.Websites.Remove(website); - DataContext.SaveChanges(); - } - - public void Dispose() - { - DataContext.Dispose(); - } -} \ No newline at end of file diff --git a/Moonlight/App/Services/Statistics/StatisticsCaptureService.cs b/Moonlight/App/Services/Statistics/StatisticsCaptureService.cs index f3a9d59b..3bfd9caf 100644 --- a/Moonlight/App/Services/Statistics/StatisticsCaptureService.cs +++ b/Moonlight/App/Services/Statistics/StatisticsCaptureService.cs @@ -10,8 +10,7 @@ public class StatisticsCaptureService private readonly StatisticsRepository StatisticsRepository; private readonly IServiceScopeFactory ServiceScopeFactory; private readonly WebSpaceService WebSpaceService; - private readonly PleskServerRepository PleskServerRepository; - private PeriodicTimer Timer; + private readonly PeriodicTimer Timer; public StatisticsCaptureService(IServiceScopeFactory serviceScopeFactory, ConfigService configService) { @@ -22,7 +21,6 @@ public class StatisticsCaptureService ConfigService = configService; StatisticsRepository = provider.GetRequiredService(); WebSpaceService = provider.GetRequiredService(); - PleskServerRepository = provider.GetRequiredService(); var config = ConfigService.GetSection("Moonlight").GetSection("Statistics"); if(!config.GetValue("Enabled")) @@ -42,16 +40,8 @@ public class StatisticsCaptureService StatisticsRepository.Add("statistics.usersCount", DataContext.Users.Count()); StatisticsRepository.Add("statistics.serversCount", DataContext.Servers.Count()); StatisticsRepository.Add("statistics.domainsCount", DataContext.Domains.Count()); - StatisticsRepository.Add("statistics.websitesCount", DataContext.Websites.Count()); - - int databases = 0; - - await foreach (var pleskServer in PleskServerRepository.Get()) - { - //databases += (await WebsiteService.GetDefaultDatabaseServer(pleskServer)).DbCount; - } - - StatisticsRepository.Add("statistics.databasesCount", databases); + StatisticsRepository.Add("statistics.webspacesCount", DataContext.WebSpaces.Count()); + StatisticsRepository.Add("statistics.databasesCount", DataContext.Databases.Count()); } } } \ No newline at end of file diff --git a/Moonlight/Program.cs b/Moonlight/Program.cs index eba93a6f..9d0664d6 100644 --- a/Moonlight/Program.cs +++ b/Moonlight/Program.cs @@ -68,8 +68,6 @@ namespace Moonlight builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); - builder.Services.AddScoped(); - builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); @@ -137,7 +135,6 @@ namespace Moonlight builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddScoped(); - builder.Services.AddScoped(); builder.Services.AddScoped(); // Background services diff --git a/Moonlight/Shared/Views/Index.razor b/Moonlight/Shared/Views/Index.razor index 47bddf8c..c4d6b8e6 100644 --- a/Moonlight/Shared/Views/Index.razor +++ b/Moonlight/Shared/Views/Index.razor @@ -9,7 +9,7 @@ @using Markdig @inject ServerRepository ServerRepository -@inject WebsiteRepository WebsiteRepository +@inject Repository WebSpaceRepository @inject DomainRepository DomainRepository @inject NewsEntryRepository NewsEntryRepository @@ -90,7 +90,7 @@ Webspaces - @(WebsiteCount) + @(WebSpaceCount)
@@ -155,8 +155,8 @@
- - Create a website + + Create a webspace Make your own websites with a webspace @@ -210,11 +210,11 @@
- - Manage your websites + + Manage your webspaces - Modify the content of your websites + Modify the content of your webspaces
@@ -244,7 +244,7 @@ private int ServerCount = 0; private int DomainCount = 0; - private int WebsiteCount = 0; + private int WebSpaceCount = 0; private List NewsEntries; private int CurrentNewsIndex = 0; @@ -261,7 +261,7 @@ .Include(x => x.Owner) .Count(x => x.Owner.Id == User.Id); - WebsiteCount = WebsiteRepository + WebSpaceCount = WebSpaceRepository .Get() .Include(x => x.Owner) .Count(x => x.Owner.Id == User.Id);