From ffc2c9cc2c003461bcc6b51aa48fafad05ecdfe5 Mon Sep 17 00:00:00 2001 From: Marcel Baumgartner Date: Mon, 3 Apr 2023 03:31:56 +0200 Subject: [PATCH] Added server reset setting --- .../ServerControl/ServerSettings.razor | 2 + .../Settings/ServerResetSetting.razor | 62 +++++++++++++++++++ Moonlight/resources/lang/de_de.lang | 14 +++++ 3 files changed, 78 insertions(+) create mode 100644 Moonlight/Shared/Components/ServerControl/Settings/ServerResetSetting.razor diff --git a/Moonlight/Shared/Components/ServerControl/ServerSettings.razor b/Moonlight/Shared/Components/ServerControl/ServerSettings.razor index f207dfd..280936c 100644 --- a/Moonlight/Shared/Components/ServerControl/ServerSettings.razor +++ b/Moonlight/Shared/Components/ServerControl/ServerSettings.razor @@ -52,6 +52,8 @@ if(Tags.Contains("pythonfile")) Settings.Add("Python file", typeof(PythonFileSetting)); + + Settings.Add("Server reset", typeof(ServerResetSetting)); return Task.CompletedTask; } diff --git a/Moonlight/Shared/Components/ServerControl/Settings/ServerResetSetting.razor b/Moonlight/Shared/Components/ServerControl/Settings/ServerResetSetting.razor new file mode 100644 index 0000000..0af9551 --- /dev/null +++ b/Moonlight/Shared/Components/ServerControl/Settings/ServerResetSetting.razor @@ -0,0 +1,62 @@ +@using Moonlight.App.Services +@using Moonlight.App.Database.Entities +@using Moonlight.App.Helpers +@using Moonlight.App.Helpers.Files +@using Moonlight.App.Services.Interop + +@inject SmartTranslateService SmartTranslateService +@inject AlertService AlertService +@inject ToastService ToastService +@inject WingsApiHelper WingsApiHelper +@inject ConfigService ConfigService +@inject ServerService ServerService + + + + +@code +{ + [CascadingParameter] + public Server CurrentServer { get; set; } + + private async Task OnClick() + { + var b = await AlertService.YesNo( + SmartTranslateService.Translate("Are you sure you want to reset this server?"), + SmartTranslateService.Translate("Are you sure? This cannot be undone"), + SmartTranslateService.Translate("Yes"), + SmartTranslateService.Translate("No") + ); + + if (b) + { + await ToastService.CreateProcessToast("serverReset", SmartTranslateService.Translate("Resetting server")); + + var access = new WingsFileAccess( + WingsApiHelper, + null!, + CurrentServer, + ConfigService, + null! + ); + + var files = await access.Ls(); + + int i = 1; + foreach (var file in files) + { + await access.Delete(file); + await ToastService.UpdateProcessToast("serverReset", $"{SmartTranslateService.Translate("Deleted file")} {i}/{files.Length}"); + i++; + } + + await ToastService.UpdateProcessToast("serverReset", SmartTranslateService.Translate("Reinstalling server")); + + await ServerService.Reinstall(CurrentServer); + await ToastService.RemoveProcessToast("serverReset"); + } + } +} diff --git a/Moonlight/resources/lang/de_de.lang b/Moonlight/resources/lang/de_de.lang index c14f200..cb3d333 100644 --- a/Moonlight/resources/lang/de_de.lang +++ b/Moonlight/resources/lang/de_de.lang @@ -424,3 +424,17 @@ Processing;Processing Go up;Go up Running cleanup;Running cleanup servers;servers +Select folder to move the file(s) to;Select folder to move the file(s) to +Paper version;Paper version +Join2Start;Join2Start +Server reset;Server reset +Reset;Reset +Resetting;Resetting +Are you sure you want to reset this server?;Are you sure you want to reset this server? +Are you sure? This cannot be undone;Are you sure? This cannot be undone +Resetting server;Resetting server +Deleted file;Deleted file +Reinstalling server;Reinstalling server +Uploading files;Uploading files +complete;complete +Upload complete;Upload complete