|
|
|
@@ -6,17 +6,28 @@ namespace SecureSharing.Quartz; |
|
|
|
public sealed class MessageDeletionJob : IJob |
|
|
|
{ |
|
|
|
private readonly IMessageService _messageService; |
|
|
|
private readonly string _basePath; |
|
|
|
private readonly string _basePathTmp; |
|
|
|
|
|
|
|
public MessageDeletionJob(IMessageService messageService) |
|
|
|
public MessageDeletionJob(IMessageService messageService, IWebHostEnvironment webHostEnvironment) |
|
|
|
{ |
|
|
|
_messageService = messageService; |
|
|
|
_basePath = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "files"); |
|
|
|
_basePathTmp = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "filestmp"); |
|
|
|
} |
|
|
|
|
|
|
|
public async Task Execute(IJobExecutionContext context) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
await _messageService.DeleteExpiredMessages(); |
|
|
|
var foldersToRemove = await _messageService.DeleteExpiredMessages(); |
|
|
|
|
|
|
|
foreach (var path in foldersToRemove.Select(folder => Path.Combine(_basePath, folder))) |
|
|
|
{ |
|
|
|
Directory.Delete(path, true); |
|
|
|
} |
|
|
|
|
|
|
|
Directory.Delete(_basePathTmp, true); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |