Backup: added DeleteBackupRequest
This commit is contained in:
parent
fc0826b60d
commit
b35a60cac0
@ -30,6 +30,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Remove="protos\AzRecordCache.proto" />
|
<None Remove="protos\AzRecordCache.proto" />
|
||||||
<None Remove="protos\ConsumerCacheItem.proto" />
|
<None Remove="protos\ConsumerCacheItem.proto" />
|
||||||
|
<None Remove="protos\DeleteBackupRequest.proto" />
|
||||||
<None Remove="protos\GroupCacheItem.proto" />
|
<None Remove="protos\GroupCacheItem.proto" />
|
||||||
<None Remove="protos\NotifyMessage.proto" />
|
<None Remove="protos\NotifyMessage.proto" />
|
||||||
<None Remove="protos\QuotaCacheItem.proto" />
|
<None Remove="protos\QuotaCacheItem.proto" />
|
||||||
@ -69,6 +70,7 @@
|
|||||||
<Protobuf Include="protos\NotifyMessage.proto" />
|
<Protobuf Include="protos\NotifyMessage.proto" />
|
||||||
<Protobuf Include="protos\SettingsCacheItem.proto" />
|
<Protobuf Include="protos\SettingsCacheItem.proto" />
|
||||||
<Protobuf Include="protos\ConsumerCacheItem.proto" />
|
<Protobuf Include="protos\ConsumerCacheItem.proto" />
|
||||||
|
<Protobuf Include="protos\DeleteBackupRequest.proto" />
|
||||||
<Protobuf Include="protos\TenantCacheItem.proto" />
|
<Protobuf Include="protos\TenantCacheItem.proto" />
|
||||||
<Protobuf Include="protos\GroupCacheItem.proto" />
|
<Protobuf Include="protos\GroupCacheItem.proto" />
|
||||||
<Protobuf Include="protos\UserGroupRefCacheItem.proto" />
|
<Protobuf Include="protos\UserGroupRefCacheItem.proto" />
|
||||||
|
@ -30,10 +30,13 @@ using System.Collections.Generic;
|
|||||||
using ASC.Common;
|
using ASC.Common;
|
||||||
using ASC.Common.Caching;
|
using ASC.Common.Caching;
|
||||||
|
|
||||||
|
using Google.Protobuf;
|
||||||
|
|
||||||
namespace ASC.Core.Common.Contracts
|
namespace ASC.Core.Common.Contracts
|
||||||
{
|
{
|
||||||
public class BackupServiceClient : IBackupService
|
public class BackupServiceClient : IBackupService
|
||||||
{
|
{
|
||||||
|
public ICacheNotify<DeleteBackupRequest> CacheDeleteBackupRequest { get; }
|
||||||
public ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
public ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
||||||
public ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
public ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
||||||
public ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
public ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
||||||
@ -41,12 +44,14 @@ namespace ASC.Core.Common.Contracts
|
|||||||
public ICache Cache { get; }
|
public ICache Cache { get; }
|
||||||
|
|
||||||
public BackupServiceClient(
|
public BackupServiceClient(
|
||||||
|
ICacheNotify<DeleteBackupRequest> cacheDeleteBackupRequest,
|
||||||
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
||||||
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
||||||
ICacheNotify<StartTransferRequest> cacheStartTransferRequest,
|
ICacheNotify<StartTransferRequest> cacheStartTransferRequest,
|
||||||
ICacheNotify<BackupProgress> сacheBackupProgress
|
ICacheNotify<BackupProgress> сacheBackupProgress
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
CacheDeleteBackupRequest = cacheDeleteBackupRequest;
|
||||||
СacheStartBackupRequest = cacheStartBackupRequest;
|
СacheStartBackupRequest = cacheStartBackupRequest;
|
||||||
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
||||||
СacheStartTransferRequest = cacheStartTransferRequest;
|
СacheStartTransferRequest = cacheStartTransferRequest;
|
||||||
@ -72,13 +77,13 @@ namespace ASC.Core.Common.Contracts
|
|||||||
|
|
||||||
public void DeleteBackup(Guid backupId)
|
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)
|
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)
|
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
|
internal class BackupServiceNotifier
|
||||||
{
|
{
|
||||||
private IServiceProvider ServiceProvider { get; }
|
private IServiceProvider ServiceProvider { get; }
|
||||||
|
private ICacheNotify<DeleteBackupRequest> СacheDeleteBackupRequest { get; set; }
|
||||||
private ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
private ICacheNotify<StartBackupRequest> СacheStartBackupRequest { get; set; }
|
||||||
private ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
private ICacheNotify<StartRestoreRequest> СacheStartRestoreRequest { get; set; }
|
||||||
private ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
private ICacheNotify<StartTransferRequest> СacheStartTransferRequest { get; set; }
|
||||||
|
|
||||||
public BackupServiceNotifier(
|
public BackupServiceNotifier(
|
||||||
IServiceProvider serviceProvider,
|
IServiceProvider serviceProvider,
|
||||||
|
ICacheNotify<DeleteBackupRequest> cacheDeleteBackupRequest,
|
||||||
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
ICacheNotify<StartBackupRequest> cacheStartBackupRequest,
|
||||||
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
ICacheNotify<StartRestoreRequest> cacheStartRestoreRequest,
|
||||||
ICacheNotify<StartTransferRequest> cacheStartTransferRequest)
|
ICacheNotify<StartTransferRequest> cacheStartTransferRequest)
|
||||||
{
|
{
|
||||||
ServiceProvider = serviceProvider;
|
ServiceProvider = serviceProvider;
|
||||||
|
СacheDeleteBackupRequest = cacheDeleteBackupRequest;
|
||||||
СacheStartBackupRequest = cacheStartBackupRequest;
|
СacheStartBackupRequest = cacheStartBackupRequest;
|
||||||
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
СacheStartRestoreRequest = cacheStartRestoreRequest;
|
||||||
СacheStartTransferRequest = cacheStartTransferRequest;
|
СacheStartTransferRequest = cacheStartTransferRequest;
|
||||||
@ -70,6 +73,22 @@ namespace ASC.Data.Backup.Service
|
|||||||
|
|
||||||
public void Subscribe()
|
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) =>
|
СacheStartBackupRequest.Subscribe((n) =>
|
||||||
{
|
{
|
||||||
using var scope = ServiceProvider.CreateScope();
|
using var scope = ServiceProvider.CreateScope();
|
||||||
|
Loading…
Reference in New Issue
Block a user