Keep main server out of file business, and disable user file deletion
This commit is contained in:
@@ -37,11 +37,6 @@ public partial class MareHub
|
|||||||
_dbContext.Remove(userProfileData);
|
_dbContext.Remove(userProfileData);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (_dbContext.Files.Any(f => f.Uploader == user))
|
|
||||||
{
|
|
||||||
await Task.Delay(1000).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
_dbContext.ClientPairs.RemoveRange(ownPairData);
|
_dbContext.ClientPairs.RemoveRange(ownPairData);
|
||||||
await _dbContext.SaveChangesAsync().ConfigureAwait(false);
|
await _dbContext.SaveChangesAsync().ConfigureAwait(false);
|
||||||
var otherPairData = await _dbContext.ClientPairs.Include(u => u.User)
|
var otherPairData = await _dbContext.ClientPairs.Include(u => u.User)
|
||||||
|
|||||||
@@ -120,9 +120,6 @@ public partial class MareHub : Hub<IMareHub>, IMareHub
|
|||||||
await RemoveUserFromRedis().ConfigureAwait(false);
|
await RemoveUserFromRedis().ConfigureAwait(false);
|
||||||
|
|
||||||
await SendOfflineToAllPairedUsers().ConfigureAwait(false);
|
await SendOfflineToAllPairedUsers().ConfigureAwait(false);
|
||||||
|
|
||||||
_dbContext.RemoveRange(_dbContext.Files.Where(f => !f.Uploaded && f.UploaderUID == UserUID));
|
|
||||||
await _dbContext.SaveChangesAsync().ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,8 @@ public class Program
|
|||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
// clean up residuals
|
// clean up residuals
|
||||||
var looseFiles = context.Files.Where(f => f.Uploaded == false);
|
|
||||||
var unfinishedRegistrations = context.LodeStoneAuth.Where(c => c.StartedAt != null);
|
var unfinishedRegistrations = context.LodeStoneAuth.Where(c => c.StartedAt != null);
|
||||||
context.RemoveRange(unfinishedRegistrations);
|
context.RemoveRange(unfinishedRegistrations);
|
||||||
context.RemoveRange(looseFiles);
|
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
logger.LogInformation(options.ToString());
|
logger.LogInformation(options.ToString());
|
||||||
|
|||||||
@@ -144,9 +144,6 @@ public class UserCleanupService : IHostedService
|
|||||||
|
|
||||||
var auth = dbContext.Auth.Single(a => a.UserUID == user.UID);
|
var auth = dbContext.Auth.Single(a => a.UserUID == user.UID);
|
||||||
|
|
||||||
var userFiles = dbContext.Files.Where(f => f.Uploaded && f.Uploader.UID == user.UID).ToList();
|
|
||||||
dbContext.Files.RemoveRange(userFiles);
|
|
||||||
|
|
||||||
var ownPairData = dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToList();
|
var ownPairData = dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToList();
|
||||||
dbContext.ClientPairs.RemoveRange(ownPairData);
|
dbContext.ClientPairs.RemoveRange(ownPairData);
|
||||||
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
||||||
|
|||||||
@@ -65,9 +65,6 @@ public static class SharedDbFunctions
|
|||||||
|
|
||||||
var auth = dbContext.Auth.Single(a => a.UserUID == user.UID);
|
var auth = dbContext.Auth.Single(a => a.UserUID == user.UID);
|
||||||
|
|
||||||
var userFiles = dbContext.Files.Where(f => f.Uploaded && f.Uploader.UID == user.UID).ToList();
|
|
||||||
dbContext.Files.RemoveRange(userFiles);
|
|
||||||
|
|
||||||
var ownPairData = dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToList();
|
var ownPairData = dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToList();
|
||||||
dbContext.ClientPairs.RemoveRange(ownPairData);
|
dbContext.ClientPairs.RemoveRange(ownPairData);
|
||||||
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
var otherPairData = dbContext.ClientPairs.Include(u => u.User)
|
||||||
|
|||||||
@@ -53,38 +53,6 @@ public class ServerFilesController : ControllerBase
|
|||||||
[HttpPost(MareFiles.ServerFiles_DeleteAll)]
|
[HttpPost(MareFiles.ServerFiles_DeleteAll)]
|
||||||
public async Task<IActionResult> FilesDeleteAll()
|
public async Task<IActionResult> FilesDeleteAll()
|
||||||
{
|
{
|
||||||
var ownFiles = await _mareDbContext.Files.Where(f => f.Uploaded && f.Uploader.UID == MareUser).ToListAsync().ConfigureAwait(false);
|
|
||||||
|
|
||||||
foreach (var dbFile in ownFiles)
|
|
||||||
{
|
|
||||||
var fi = FilePathUtil.GetFileInfoForHash(_basePath, dbFile.Hash);
|
|
||||||
if (fi != null)
|
|
||||||
{
|
|
||||||
_metricsClient.DecGauge(MetricsAPI.GaugeFilesTotal, fi == null ? 0 : 1);
|
|
||||||
_metricsClient.DecGauge(MetricsAPI.GaugeFilesTotalSize, fi?.Length ?? 0);
|
|
||||||
|
|
||||||
fi?.Delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!_coldBasePath.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
foreach (var dbFile in ownFiles)
|
|
||||||
{
|
|
||||||
var fi = FilePathUtil.GetFileInfoForHash(_coldBasePath, dbFile.Hash);
|
|
||||||
if (fi != null)
|
|
||||||
{
|
|
||||||
_metricsClient.DecGauge(MetricsAPI.GaugeFilesTotalColdStorage, fi == null ? 0 : 1);
|
|
||||||
_metricsClient.DecGauge(MetricsAPI.GaugeFilesTotalSizeColdStorage, fi?.Length ?? 0);
|
|
||||||
|
|
||||||
fi?.Delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_mareDbContext.Files.RemoveRange(ownFiles);
|
|
||||||
await _mareDbContext.SaveChangesAsync().ConfigureAwait(false);
|
|
||||||
|
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user