From e220f994a982caf7e887f11261ae21992406f26b Mon Sep 17 00:00:00 2001 From: Jared Date: Wed, 27 Jan 2021 17:34:55 -0800 Subject: [PATCH] Remove all records in server admin. --- Server/Services/DataService.cs | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Server/Services/DataService.cs b/Server/Services/DataService.cs index 8b52e0fc..c8866c2b 100644 --- a/Server/Services/DataService.cs +++ b/Server/Services/DataService.cs @@ -369,23 +369,35 @@ namespace Remotely.Server.Services public async Task ClearLogs(string currentUserName) { + var currentUser = await RemotelyContext.Users.FirstOrDefaultAsync(x => x.UserName == currentUserName); + if (currentUser is null) + { + return; + } + try { - var currentUser = await RemotelyContext.Users.FirstOrDefaultAsync(x => x.UserName == currentUserName); - var eventLogs = RemotelyContext.EventLogs.Where(x => x.OrganizationID == currentUser.OrganizationID); if (currentUser.IsServerAdmin) { - eventLogs = eventLogs.Concat(RemotelyContext.EventLogs.Where(x => string.IsNullOrWhiteSpace(x.OrganizationID))); + RemotelyContext.EventLogs.RemoveRange(RemotelyContext.EventLogs); + RemotelyContext.CommandResults.RemoveRange(RemotelyContext.CommandResults); } - RemotelyContext.EventLogs.RemoveRange(eventLogs); + else + { + var eventLogs = RemotelyContext.EventLogs.Where(x => x.OrganizationID == currentUser.OrganizationID); + var commandResults = RemotelyContext.CommandResults.Where(x => x.OrganizationID == currentUser.OrganizationID); - var commandResults = RemotelyContext.CommandResults.Where(x => x.OrganizationID == currentUser.OrganizationID); - RemotelyContext.CommandResults.RemoveRange(commandResults); + RemotelyContext.CommandResults.RemoveRange(commandResults); + RemotelyContext.EventLogs.RemoveRange(eventLogs); + } await RemotelyContext.SaveChangesAsync(); } - catch { } + catch (Exception ex) + { + WriteEvent(ex, currentUser.OrganizationID); + } } public async Task CreateApiToken(string userName, string tokenName, string secretHash)