Backup: added DeleteBackupRequest
This commit is contained in:
parent
fc0826b60d
commit
b35a60cac0
@ -30,6 +30,7 @@
|
||||
<ItemGroup>
|
||||
<None Remove="protos\AzRecordCache.proto" />
|
||||
<None Remove="protos\ConsumerCacheItem.proto" />
|
||||
<None Remove="protos\DeleteBackupRequest.proto" />
|
||||
<None Remove="protos\GroupCacheItem.proto" />
|
||||
<None Remove="protos\NotifyMessage.proto" />
|
||||
<None Remove="protos\QuotaCacheItem.proto" />
|
||||
@ -69,6 +70,7 @@
|
||||
<Protobuf Include="protos\NotifyMessage.proto" />
|
||||
<Protobuf Include="protos\SettingsCacheItem.proto" />
|
||||
<Protobuf Include="protos\ConsumerCacheItem.proto" />
|
||||
<Protobuf Include="protos\DeleteBackupRequest.proto" />
|
||||
<Protobuf Include="protos\TenantCacheItem.proto" />
|
||||
<Protobuf Include="protos\GroupCacheItem.proto" />
|
||||
<Protobuf Include="protos\UserGroupRefCacheItem.proto" />
|
||||
|
@ -29,11 +29,14 @@ using System.Collections.Generic;
|
||||
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
|
||||
|
||||
using Google.Protobuf;
|
||||
|
||||
namespace ASC.Core.Common.Contracts
|
||||
{
|
||||
public class BackupServiceClient : IBackupService
|
||||
{
|
||||
{
|
||||
public ICacheNotify<DeleteBackupRequest> CacheDeleteBackupRequest { get; }
|
||||
public ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
||||
public ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
||||
public ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
||||
@ -41,12 +44,14 @@ namespace ASC.Core.Common.Contracts
|
||||
public ICache Cache { get; }
|
||||
|
||||
public BackupServiceClient(
|
||||
ICacheNotify<DeleteBackupRequest> cacheDeleteBackupRequest,
|
||||
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
||||
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
||||
ICacheNotify<StartTransferRequest> cacheStartTransferRequest,
|
||||
ICacheNotify<BackupProgress> сacheBackupProgress
|
||||
)
|
||||
{
|
||||
CacheDeleteBackupRequest = cacheDeleteBackupRequest;
|
||||
СacheStartBackupRequest = cacheStartBackupRequest;
|
||||
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
||||
СacheStartTransferRequest = cacheStartTransferRequest;
|
||||
@ -72,13 +77,13 @@ namespace ASC.Core.Common.Contracts
|
||||
|
||||
public void DeleteBackup(Guid backupId)
|
||||
{
|
||||
// Channel.DeleteBackup(backupId);
|
||||
CacheDeleteBackupRequest.Publish(new DeleteBackupRequest() { Id = ByteString.CopyFrom(backupId.ToByteArray()), TenantId = -1 }, CacheNotifyAction.InsertOrUpdate);
|
||||
|
||||
}
|
||||
|
||||
public void DeleteAllBackups(int tenantId)
|
||||
{
|
||||
// Channel.DeleteAllBackups(tenantId);
|
||||
CacheDeleteBackupRequest.Publish(new DeleteBackupRequest() { Id = ByteString.CopyFrom(Guid.Empty.ToByteArray()), TenantId = tenantId }, CacheNotifyAction.InsertOrUpdate);
|
||||
}
|
||||
|
||||
public List<BackupHistoryRecord> GetBackupHistory(int tenantId)
|
||||
|
8
common/ASC.Core.Common/protos/DeleteBackupRequest.proto
Normal file
8
common/ASC.Core.Common/protos/DeleteBackupRequest.proto
Normal file
@ -0,0 +1,8 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package ASC.Core.Common.Contracts;
|
||||
|
||||
message DeleteBackupRequest {
|
||||
int32 TenantId = 1;
|
||||
bytes Id = 2;
|
||||
}
|
@ -52,17 +52,20 @@ namespace ASC.Data.Backup.Service
|
||||
internal class BackupServiceNotifier
|
||||
{
|
||||
private IServiceProvider ServiceProvider { get; }
|
||||
private ICacheNotify<DeleteBackupRequest> СacheDeleteBackupRequest { get; set; }
|
||||
private ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
||||
private ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
||||
private ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
||||
|
||||
public BackupServiceNotifier(
|
||||
IServiceProvider serviceProvider,
|
||||
ICacheNotify<DeleteBackupRequest> cacheDeleteBackupRequest,
|
||||
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
||||
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
||||
ICacheNotify<StartTransferRequest> cacheStartTransferRequest)
|
||||
{
|
||||
ServiceProvider = serviceProvider;
|
||||
СacheDeleteBackupRequest = cacheDeleteBackupRequest;
|
||||
СacheStartBackupRequest = cacheStartBackupRequest;
|
||||
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
||||
СacheStartTransferRequest = cacheStartTransferRequest;
|
||||
@ -70,6 +73,22 @@ namespace ASC.Data.Backup.Service
|
||||
|
||||
public void Subscribe()
|
||||
{
|
||||
СacheDeleteBackupRequest.Subscribe((n) =>
|
||||
{
|
||||
using var scope = ServiceProvider.CreateScope();
|
||||
var backupService = scope.ServiceProvider.GetService<BackupService>();
|
||||
var id = new Guid(n.Id.ToByteArray());
|
||||
if (!id.Equals(Guid.Empty))
|
||||
{
|
||||
backupService.DeleteBackup(id);
|
||||
}
|
||||
else if (n.TenantId != -1)
|
||||
{
|
||||
backupService.DeleteAllBackups(n.TenantId);
|
||||
}
|
||||
}
|
||||
, CacheNotifyAction.InsertOrUpdate);
|
||||
|
||||
СacheStartBackupRequest.Subscribe((n) =>
|
||||
{
|
||||
using var scope = ServiceProvider.CreateScope();
|
||||
|
Loading…
Reference in New Issue
Block a user