FilesMessageService: removed GetHttpHeaders
This commit is contained in:
parent
b670c532cc
commit
7c62a28318
@ -33,7 +33,6 @@ public class CustomTagsService
|
|||||||
private readonly FileSecurity _fileSecurity;
|
private readonly FileSecurity _fileSecurity;
|
||||||
private readonly AuthContext _authContext;
|
private readonly AuthContext _authContext;
|
||||||
private readonly FilesMessageService _filesMessageService;
|
private readonly FilesMessageService _filesMessageService;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
||||||
private readonly UserManager _userManager;
|
private readonly UserManager _userManager;
|
||||||
|
|
||||||
public CustomTagsService(
|
public CustomTagsService(
|
||||||
@ -41,14 +40,12 @@ public class CustomTagsService
|
|||||||
FileSecurity fileSecurity,
|
FileSecurity fileSecurity,
|
||||||
AuthContext authContext,
|
AuthContext authContext,
|
||||||
FilesMessageService filesMessageService,
|
FilesMessageService filesMessageService,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
|
||||||
UserManager userManager)
|
UserManager userManager)
|
||||||
{
|
{
|
||||||
_daoFactory = daoFactory;
|
_daoFactory = daoFactory;
|
||||||
_fileSecurity = fileSecurity;
|
_fileSecurity = fileSecurity;
|
||||||
_authContext = authContext;
|
_authContext = authContext;
|
||||||
_filesMessageService = filesMessageService;
|
_filesMessageService = filesMessageService;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,6 @@ public class RoomLogoManager
|
|||||||
private readonly TenantManager _tenantManager;
|
private readonly TenantManager _tenantManager;
|
||||||
private IDataStore _dataStore;
|
private IDataStore _dataStore;
|
||||||
private readonly FilesMessageService _filesMessageService;
|
private readonly FilesMessageService _filesMessageService;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
||||||
private readonly EmailValidationKeyProvider _emailValidationKeyProvider;
|
private readonly EmailValidationKeyProvider _emailValidationKeyProvider;
|
||||||
private readonly SecurityContext _securityContext;
|
private readonly SecurityContext _securityContext;
|
||||||
private readonly FileUtilityConfiguration _fileUtilityConfiguration;
|
private readonly FileUtilityConfiguration _fileUtilityConfiguration;
|
||||||
@ -59,7 +58,6 @@ public class RoomLogoManager
|
|||||||
FileSecurity fileSecurity,
|
FileSecurity fileSecurity,
|
||||||
ILogger<RoomLogoManager> logger,
|
ILogger<RoomLogoManager> logger,
|
||||||
FilesMessageService filesMessageService,
|
FilesMessageService filesMessageService,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
|
||||||
EmailValidationKeyProvider emailValidationKeyProvider,
|
EmailValidationKeyProvider emailValidationKeyProvider,
|
||||||
SecurityContext securityContext,
|
SecurityContext securityContext,
|
||||||
FileUtilityConfiguration fileUtilityConfiguration)
|
FileUtilityConfiguration fileUtilityConfiguration)
|
||||||
@ -70,7 +68,6 @@ public class RoomLogoManager
|
|||||||
_fileSecurity = fileSecurity;
|
_fileSecurity = fileSecurity;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_filesMessageService = filesMessageService;
|
_filesMessageService = filesMessageService;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
|
||||||
_emailValidationKeyProvider = emailValidationKeyProvider;
|
_emailValidationKeyProvider = emailValidationKeyProvider;
|
||||||
_securityContext = securityContext;
|
_securityContext = securityContext;
|
||||||
_fileUtilityConfiguration = fileUtilityConfiguration;
|
_fileUtilityConfiguration = fileUtilityConfiguration;
|
||||||
|
@ -34,23 +34,17 @@ public class FilesMessageService
|
|||||||
private readonly MessageService _messageService;
|
private readonly MessageService _messageService;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||||
private readonly IDaoFactory _daoFactory;
|
private readonly IDaoFactory _daoFactory;
|
||||||
private readonly NotifyClient _notifyClient;
|
|
||||||
private readonly AuthContext _authContext;
|
|
||||||
|
|
||||||
public FilesMessageService(
|
public FilesMessageService(
|
||||||
ILoggerProvider options,
|
ILoggerProvider options,
|
||||||
MessageTarget messageTarget,
|
MessageTarget messageTarget,
|
||||||
MessageService messageService,
|
MessageService messageService,
|
||||||
IDaoFactory daoFactory,
|
IDaoFactory daoFactory)
|
||||||
NotifyClient notifyClient,
|
|
||||||
AuthContext authContext)
|
|
||||||
{
|
{
|
||||||
_logger = options.CreateLogger("ASC.Messaging");
|
_logger = options.CreateLogger("ASC.Messaging");
|
||||||
_messageTarget = messageTarget;
|
_messageTarget = messageTarget;
|
||||||
_messageService = messageService;
|
_messageService = messageService;
|
||||||
_daoFactory = daoFactory;
|
_daoFactory = daoFactory;
|
||||||
_notifyClient = notifyClient;
|
|
||||||
_authContext = authContext;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public FilesMessageService(
|
public FilesMessageService(
|
||||||
@ -58,10 +52,8 @@ public class FilesMessageService
|
|||||||
MessageTarget messageTarget,
|
MessageTarget messageTarget,
|
||||||
MessageService messageService,
|
MessageService messageService,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
IHttpContextAccessor httpContextAccessor,
|
||||||
IDaoFactory daoFactory,
|
IDaoFactory daoFactory)
|
||||||
NotifyClient notifyClient,
|
: this(options, messageTarget, messageService, daoFactory)
|
||||||
AuthContext authContext)
|
|
||||||
: this(options, messageTarget, messageService, daoFactory, notifyClient, authContext)
|
|
||||||
{
|
{
|
||||||
_httpContextAccessor = httpContextAccessor;
|
_httpContextAccessor = httpContextAccessor;
|
||||||
}
|
}
|
||||||
@ -78,34 +70,23 @@ public class FilesMessageService
|
|||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, params string[] description)
|
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, params string[] description)
|
||||||
{
|
{
|
||||||
await SendAsync(action, entry, GetHttpHeaders(), null, Guid.Empty, FileShare.None, description);
|
await SendAsync(action, entry, null, Guid.Empty, FileShare.None, description);
|
||||||
}
|
|
||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, IDictionary<string, StringValues> headers, List<AceWrapper> aces, params string[] description)
|
|
||||||
{
|
|
||||||
if (action == MessageAction.RoomDeleted)
|
|
||||||
{
|
|
||||||
var userId = _authContext.CurrentAccount.ID;
|
|
||||||
await _notifyClient.SendRoomRemovedAsync(entry, aces, userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
await SendAsync(action, entry, headers, null, Guid.Empty, FileShare.None, description);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, string oldTitle, FileEntry<T> entry, params string[] description)
|
public async Task SendAsync<T>(MessageAction action, string oldTitle, FileEntry<T> entry, params string[] description)
|
||||||
{
|
{
|
||||||
await SendAsync(action, entry, GetHttpHeaders(), oldTitle, description: description);
|
await SendAsync(action, entry, oldTitle, description: description);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, Guid userId, params string[] description)
|
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, Guid userId, params string[] description)
|
||||||
{
|
{
|
||||||
await SendAsync(action, entry, GetHttpHeaders(), userId: userId, description: description);
|
await SendAsync(action, entry, null, userId, FileShare.None, description);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, Guid userId, FileShare userRole, params string[] description)
|
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, Guid userId, FileShare userRole, params string[] description)
|
||||||
{
|
{
|
||||||
description = description.Append(FileStorageService.GetAccessString(userRole)).ToArray();
|
description = description.Append(FileStorageService.GetAccessString(userRole)).ToArray();
|
||||||
await SendAsync(action, entry, GetHttpHeaders(), null, userId, userRole, description);
|
await SendAsync(action, entry, null, userId, userRole, description);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, IDictionary<string, StringValues> headers, string oldTitle = null, Guid userId = default(Guid), FileShare userRole = FileShare.None, params string[] description)
|
private async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, IDictionary<string, StringValues> headers, string oldTitle = null, Guid userId = default(Guid), FileShare userRole = FileShare.None, params string[] description)
|
||||||
@ -122,7 +103,31 @@ public class FilesMessageService
|
|||||||
description = description.Append(additionalParam).ToArray();
|
description = description.Append(additionalParam).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
await SendHeadersMessageAsync(headers, action, _messageTarget.Create(entry.Id), description);
|
if (headers == null)//todo check need if
|
||||||
|
{
|
||||||
|
_logger.DebugEmptyRequestHeaders(action);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _messageService.SendHeadersMessageAsync(action, _messageTarget.Create(entry.Id), headers, description);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, string oldTitle = null, Guid userId = default(Guid), FileShare userRole = FileShare.None, params string[] description)
|
||||||
|
{
|
||||||
|
if (entry == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var additionalParam = await GetAdditionalNotificationParamAsync(entry, action, oldTitle, userId, userRole);
|
||||||
|
|
||||||
|
if (additionalParam != "")
|
||||||
|
{
|
||||||
|
description = description.Append(additionalParam).ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
await _messageService.SendAsync(action, _messageTarget.Create(entry.Id), description);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendAsync<T1, T2>(MessageAction action, FileEntry<T1> entry1, FileEntry<T2> entry2, IDictionary<string, StringValues> headers, params string[] description)
|
public async Task SendAsync<T1, T2>(MessageAction action, FileEntry<T1> entry1, FileEntry<T2> entry2, IDictionary<string, StringValues> headers, params string[] description)
|
||||||
@ -139,11 +144,6 @@ public class FilesMessageService
|
|||||||
description = description.Append(additionalParams).ToArray();
|
description = description.Append(additionalParams).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
await SendHeadersMessageAsync(headers, action, _messageTarget.CreateFromGroupValues(new[] { entry1.Id.ToString(), entry2.Id.ToString() }), description);
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task SendHeadersMessageAsync(IDictionary<string, StringValues> headers, MessageAction action, MessageTarget target, params string[] description)
|
|
||||||
{
|
|
||||||
if (headers == null)//todo check need if
|
if (headers == null)//todo check need if
|
||||||
{
|
{
|
||||||
_logger.DebugEmptyRequestHeaders(action);
|
_logger.DebugEmptyRequestHeaders(action);
|
||||||
@ -151,7 +151,7 @@ public class FilesMessageService
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await _messageService.SendHeadersMessageAsync(action, target, headers, description);
|
await _messageService.SendHeadersMessageAsync(action, _messageTarget.CreateFromGroupValues(new[] { entry1.Id.ToString(), entry2.Id.ToString() }), headers, description);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, string description)
|
public async Task SendAsync<T>(MessageAction action, FileEntry<T> entry, string description)
|
||||||
@ -254,9 +254,4 @@ public class FilesMessageService
|
|||||||
|
|
||||||
return serializedParam;
|
return serializedParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IDictionary<string, StringValues> GetHttpHeaders()
|
|
||||||
{
|
|
||||||
return _httpContextAccessor?.HttpContext?.Request?.Headers?.ToDictionary(k => k.Key, v => v.Value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,11 @@ class FileDeleteOperation<T> : FileOperation<FileDeleteOperationData<T>, T>
|
|||||||
var scopeClass = scope.ServiceProvider.GetService<FileDeleteOperationScope>();
|
var scopeClass = scope.ServiceProvider.GetService<FileDeleteOperationScope>();
|
||||||
var socketManager = scope.ServiceProvider.GetService<SocketManager>();
|
var socketManager = scope.ServiceProvider.GetService<SocketManager>();
|
||||||
var fileSharing = scope.ServiceProvider.GetService<FileSharing>();
|
var fileSharing = scope.ServiceProvider.GetService<FileSharing>();
|
||||||
|
var authContext = scope.ServiceProvider.GetService<AuthContext>();
|
||||||
|
var notifyClient = scope.ServiceProvider.GetService<NotifyClient>();
|
||||||
|
|
||||||
var (fileMarker, filesMessageService, roomLogoManager) = scopeClass;
|
var (fileMarker, filesMessageService, roomLogoManager) = scopeClass;
|
||||||
|
|
||||||
foreach (var folderId in folderIds)
|
foreach (var folderId in folderIds)
|
||||||
{
|
{
|
||||||
CancellationToken.ThrowIfCancellationRequested();
|
CancellationToken.ThrowIfCancellationRequested();
|
||||||
@ -209,7 +213,8 @@ class FileDeleteOperation<T> : FileOperation<FileDeleteOperationData<T>, T>
|
|||||||
|
|
||||||
if (isRoom)
|
if (isRoom)
|
||||||
{
|
{
|
||||||
_ = filesMessageService.SendAsync(MessageAction.RoomDeleted, folder, _headers, aces, folder.Title);
|
await notifyClient.SendRoomRemovedAsync(folder, aces, authContext.CurrentAccount.ID);
|
||||||
|
_ = filesMessageService.SendAsync(MessageAction.RoomDeleted, folder, _headers, folder.Title);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -253,7 +258,8 @@ class FileDeleteOperation<T> : FileOperation<FileDeleteOperationData<T>, T>
|
|||||||
{
|
{
|
||||||
if (isRoom)
|
if (isRoom)
|
||||||
{
|
{
|
||||||
_ = filesMessageService.SendAsync(MessageAction.RoomDeleted, folder, _headers, aces, folder.Title);
|
await notifyClient.SendRoomRemovedAsync(folder, aces, authContext.CurrentAccount.ID);
|
||||||
|
_ = filesMessageService.SendAsync(MessageAction.RoomDeleted, folder, _headers, folder.Title);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user