Files: simplified getHeaders method
This commit is contained in:
parent
a1778b5cdf
commit
dbfb84786e
@ -35,6 +35,7 @@ using ASC.Core;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.MessagingSystem
|
||||
{
|
||||
@ -81,7 +82,7 @@ namespace ASC.MessagingSystem
|
||||
}
|
||||
}
|
||||
|
||||
public EventMessage Create(MessageUserData userData, Dictionary<string, string> headers, MessageAction action, MessageTarget target, params string[] description)
|
||||
public EventMessage Create(MessageUserData userData, IDictionary<string, StringValues> headers, MessageAction action, MessageTarget target, params string[] description)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -97,10 +98,10 @@ namespace ASC.MessagingSystem
|
||||
|
||||
if (headers != null)
|
||||
{
|
||||
var userAgent = headers.ContainsKey(userAgentHeader) ? headers[userAgentHeader] : null;
|
||||
var forwarded = headers.ContainsKey(forwardedHeader) ? headers[forwardedHeader] : null;
|
||||
var host = headers.ContainsKey(hostHeader) ? headers[hostHeader] : null;
|
||||
var referer = headers.ContainsKey(refererHeader) ? headers[refererHeader] : null;
|
||||
var userAgent = headers.ContainsKey(userAgentHeader) ? headers[userAgentHeader].ToString() : null;
|
||||
var forwarded = headers.ContainsKey(forwardedHeader) ? headers[forwardedHeader].ToString() : null;
|
||||
var host = headers.ContainsKey(hostHeader) ? headers[hostHeader].ToString() : null;
|
||||
var referer = headers.ContainsKey(refererHeader) ? headers[refererHeader].ToString() : null;
|
||||
|
||||
message.IP = forwarded ?? host;
|
||||
message.UAHeader = userAgent;
|
||||
|
@ -34,6 +34,7 @@ using ASC.MessagingSystem.DbSender;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.MessagingSystem
|
||||
{
|
||||
@ -212,27 +213,27 @@ namespace ASC.MessagingSystem
|
||||
|
||||
#region HttpHeaders
|
||||
|
||||
public void Send(MessageUserData userData, Dictionary<string, string> httpHeaders, MessageAction action)
|
||||
public void Send(MessageUserData userData, IDictionary<string, StringValues> httpHeaders, MessageAction action)
|
||||
{
|
||||
SendHeadersMessage(userData, httpHeaders, action, null);
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, null);
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action, string d1)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action, string d1)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, null, d1);
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action, IEnumerable<string> d1)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action, IEnumerable<string> d1)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, null, d1?.ToArray());
|
||||
}
|
||||
|
||||
public void Send(MessageUserData userData, Dictionary<string, string> httpHeaders, MessageAction action, MessageTarget target)
|
||||
public void Send(MessageUserData userData, IDictionary<string, StringValues> httpHeaders, MessageAction action, MessageTarget target)
|
||||
{
|
||||
SendHeadersMessage(userData, httpHeaders, action, target);
|
||||
}
|
||||
@ -241,24 +242,24 @@ namespace ASC.MessagingSystem
|
||||
|
||||
#region HttpHeaders & Target
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action, MessageTarget target)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action, MessageTarget target)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, target);
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action, MessageTarget target, string d1)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action, MessageTarget target, string d1)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, target, d1);
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> httpHeaders, MessageAction action, MessageTarget target, IEnumerable<string> d1)
|
||||
public void Send(IDictionary<string, StringValues> httpHeaders, MessageAction action, MessageTarget target, IEnumerable<string> d1)
|
||||
{
|
||||
SendHeadersMessage(null, httpHeaders, action, target, d1?.ToArray());
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void SendHeadersMessage(MessageUserData userData, Dictionary<string, string> httpHeaders, MessageAction action, MessageTarget target, params string[] description)
|
||||
private void SendHeadersMessage(MessageUserData userData, IDictionary<string, StringValues> httpHeaders, MessageAction action, MessageTarget target, params string[] description)
|
||||
{
|
||||
if (sender == null) return;
|
||||
|
||||
|
@ -68,6 +68,7 @@ using ASC.Web.Files.Utils;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
using FileShare = ASC.Files.Core.Security.FileShare;
|
||||
using UrlShortener = ASC.Web.Core.Utility.UrlShortener;
|
||||
@ -1009,7 +1010,7 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
file = EntryManager.SaveEditing(fileId, null, url, null, doc, string.Format(FilesCommonResource.CommentRevertChanges, modifiedOnString));
|
||||
}
|
||||
|
||||
FilesMessageService.Send(file, GetHttpHeaders(), MessageAction.FileRestoreVersion, file.Title, version.ToString(CultureInfo.InvariantCulture));
|
||||
FilesMessageService.Send(file, HttpContextAccessor?.HttpContext?.Request?.Headers, MessageAction.FileRestoreVersion, file.Title, version.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
fileDao = GetFileDao();
|
||||
return new ItemList<EditHistory>(fileDao.GetEditHistory(DocumentServiceHelper, file.ID));
|
||||
@ -2041,18 +2042,9 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
return new InvalidOperationException(error.Message, error);
|
||||
}
|
||||
|
||||
private Dictionary<string, string> GetHttpHeaders()
|
||||
private IDictionary<string, StringValues> GetHttpHeaders()
|
||||
{
|
||||
if (HttpContextAccessor?.HttpContext != null && HttpContextAccessor?.HttpContext.Request != null && HttpContextAccessor?.HttpContext.Request.Headers != null)
|
||||
{
|
||||
var headers = new Dictionary<string, string>();
|
||||
foreach (var k in HttpContextAccessor?.HttpContext.Request.Headers)
|
||||
{
|
||||
headers[k.Key] = string.Join(", ", k.Value);
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
return null;
|
||||
return HttpContextAccessor?.HttpContext?.Request?.Headers;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,6 +60,7 @@ using DocuSign.eSign.Model;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
@ -204,7 +205,7 @@ namespace ASC.Web.Files.Helpers
|
||||
return true;
|
||||
}
|
||||
|
||||
public string SendDocuSign<T>(T fileId, DocuSignData docuSignData, Dictionary<string, string> requestHeaders)
|
||||
public string SendDocuSign<T>(T fileId, DocuSignData docuSignData, IDictionary<string, StringValues> requestHeaders)
|
||||
{
|
||||
if (docuSignData == null) throw new ArgumentNullException("docuSignData");
|
||||
var token = DocuSignToken.GetToken();
|
||||
|
@ -33,6 +33,7 @@ using ASC.MessagingSystem;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.Web.Files.Helpers
|
||||
{
|
||||
@ -64,12 +65,12 @@ namespace ASC.Web.Files.Helpers
|
||||
HttpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
public void Send(Dictionary<string, string> headers, MessageAction action)
|
||||
public void Send(IDictionary<string, StringValues> headers, MessageAction action)
|
||||
{
|
||||
SendHeadersMessage(headers, action, null);
|
||||
}
|
||||
|
||||
public void Send<T>(FileEntry<T> entry, Dictionary<string, string> headers, MessageAction action, params string[] description)
|
||||
public void Send<T>(FileEntry<T> entry, IDictionary<string, StringValues> headers, MessageAction action, params string[] description)
|
||||
{
|
||||
// do not log actions in users folder
|
||||
if (entry == null || entry.RootFolderType == FolderType.USER) return;
|
||||
@ -77,7 +78,7 @@ namespace ASC.Web.Files.Helpers
|
||||
SendHeadersMessage(headers, action, MessageTarget.Create(entry.ID), description);
|
||||
}
|
||||
|
||||
public void Send<T1, T2>(FileEntry<T1> entry1, FileEntry<T2> entry2, Dictionary<string, string> headers, MessageAction action, params string[] description)
|
||||
public void Send<T1, T2>(FileEntry<T1> entry1, FileEntry<T2> entry2, IDictionary<string, StringValues> headers, MessageAction action, params string[] description)
|
||||
{
|
||||
// do not log actions in users folder
|
||||
if (entry1 == null || entry2 == null || entry1.RootFolderType == FolderType.USER || entry2.RootFolderType == FolderType.USER) return;
|
||||
@ -85,7 +86,7 @@ namespace ASC.Web.Files.Helpers
|
||||
SendHeadersMessage(headers, action, MessageTarget.Create(new[] { entry1.ID.ToString(), entry2.ID.ToString() }), description);
|
||||
}
|
||||
|
||||
private void SendHeadersMessage(Dictionary<string, string> headers, MessageAction action, MessageTarget target, params string[] description)
|
||||
private void SendHeadersMessage(IDictionary<string, StringValues> headers, MessageAction action, MessageTarget target, params string[] description)
|
||||
{
|
||||
if (headers == null)
|
||||
{
|
||||
|
@ -37,6 +37,7 @@ using ASC.Web.Files.Helpers;
|
||||
using ASC.Web.Files.Utils;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
@ -44,16 +45,16 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
public bool IgnoreException { get; }
|
||||
public bool Immediately { get; }
|
||||
public Dictionary<string, string> Headers { get; }
|
||||
public IDictionary<string, StringValues> Headers { get; }
|
||||
|
||||
public FileDeleteOperationData(IEnumerable<object> folders, IEnumerable<object> files, Tenant tenant,
|
||||
bool holdResult = true, bool ignoreException = false, bool immediately = false, Dictionary<string, string> headers = null)
|
||||
bool holdResult = true, bool ignoreException = false, bool immediately = false, IDictionary<string, StringValues> headers = null)
|
||||
: this(folders.OfType<T>(), files.OfType<T>(), tenant, holdResult, ignoreException, immediately, headers)
|
||||
{
|
||||
}
|
||||
|
||||
public FileDeleteOperationData(IEnumerable<T> folders, IEnumerable<T> files, Tenant tenant,
|
||||
bool holdResult = true, bool ignoreException = false, bool immediately = false, Dictionary<string, string> headers = null)
|
||||
bool holdResult = true, bool ignoreException = false, bool immediately = false, IDictionary<string, StringValues> headers = null)
|
||||
: base(folders, files, tenant, holdResult)
|
||||
{
|
||||
IgnoreException = ignoreException;
|
||||
@ -80,7 +81,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
private int _trashId;
|
||||
private readonly bool _ignoreException;
|
||||
private readonly bool _immediately;
|
||||
private readonly Dictionary<string, string> _headers;
|
||||
private readonly IDictionary<string, StringValues> _headers;
|
||||
|
||||
public override FileOperationType OperationType
|
||||
{
|
||||
|
@ -47,15 +47,16 @@ using ASC.Web.Studio.Core;
|
||||
using Ionic.Zip;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
internal class FileDownloadOperationData<T> : FileOperationData<T>
|
||||
{
|
||||
public Dictionary<T, string> FilesDownload { get; }
|
||||
public Dictionary<string, string> Headers { get; }
|
||||
public IDictionary<string, StringValues> Headers { get; }
|
||||
|
||||
public FileDownloadOperationData(Dictionary<T, string> folders, Dictionary<T, string> files, Tenant tenant, Dictionary<string, string> headers, bool holdResult = true)
|
||||
public FileDownloadOperationData(Dictionary<T, string> folders, Dictionary<T, string> files, Tenant tenant, IDictionary<string, StringValues> headers, bool holdResult = true)
|
||||
: base(folders.Select(f => f.Key).ToList(), files.Select(f => f.Key).ToList(), tenant, holdResult)
|
||||
{
|
||||
FilesDownload = files;
|
||||
@ -117,7 +118,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
class FileDownloadOperation<T> : FileOperation<FileDownloadOperationData<T>, T>
|
||||
{
|
||||
private readonly Dictionary<T, string> files;
|
||||
private readonly Dictionary<string, string> headers;
|
||||
private readonly IDictionary<string, StringValues> headers;
|
||||
ItemNameValueCollection<T> entriesPathId;
|
||||
public override FileOperationType OperationType
|
||||
{
|
||||
|
@ -39,6 +39,7 @@ using ASC.Web.Files.Helpers;
|
||||
using ASC.Web.Files.Utils;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
@ -67,14 +68,14 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
public int DaoFolderId { get; }
|
||||
public bool Copy { get; }
|
||||
public FileConflictResolveType ResolveType { get; }
|
||||
public Dictionary<string, string> Headers { get; }
|
||||
public IDictionary<string, StringValues> Headers { get; }
|
||||
|
||||
public FileMoveCopyOperationData(IEnumerable<object> folders, IEnumerable<object> files, Tenant tenant, JsonElement toFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult = true, Dictionary<string, string> headers = null)
|
||||
public FileMoveCopyOperationData(IEnumerable<object> folders, IEnumerable<object> files, Tenant tenant, JsonElement toFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult = true, IDictionary<string, StringValues> headers = null)
|
||||
: this(folders.OfType<T>(), files.OfType<T>(), tenant, toFolderId, copy, resolveType, holdResult, headers)
|
||||
{
|
||||
}
|
||||
|
||||
public FileMoveCopyOperationData(IEnumerable<T> folders, IEnumerable<T> files, Tenant tenant, JsonElement toFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult = true, Dictionary<string, string> headers = null)
|
||||
public FileMoveCopyOperationData(IEnumerable<T> folders, IEnumerable<T> files, Tenant tenant, JsonElement toFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult = true, IDictionary<string, StringValues> headers = null)
|
||||
: base(folders, files, tenant, holdResult)
|
||||
{
|
||||
if (toFolderId.ValueKind == JsonValueKind.String)
|
||||
@ -99,7 +100,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
private readonly bool _copy;
|
||||
private readonly FileConflictResolveType _resolveType;
|
||||
|
||||
private readonly Dictionary<string, string> _headers;
|
||||
private readonly IDictionary<string, StringValues> _headers;
|
||||
|
||||
public override FileOperationType OperationType
|
||||
{
|
||||
|
@ -35,6 +35,8 @@ using ASC.Common.Threading;
|
||||
using ASC.Core;
|
||||
using ASC.Files.Resources;
|
||||
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
public class FileOperationsManager
|
||||
@ -109,7 +111,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
return QueueTask(authContext, op);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Download(AuthContext authContext, TenantManager tenantManager, Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Download(AuthContext authContext, TenantManager tenantManager, Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
var operations = tasks.GetTasks()
|
||||
.Where(t => t.GetProperty<Guid>(FileOperation.OWNER) == authContext.CurrentAccount.ID)
|
||||
@ -128,7 +130,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
return QueueTask(authContext, op);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> MoveOrCopy(AuthContext authContext, TenantManager tenantManager, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> MoveOrCopy(AuthContext authContext, TenantManager tenantManager, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
var tenant = tenantManager.GetCurrentTenant();
|
||||
var op1 = new FileMoveCopyOperation<int>(ServiceProvider, new FileMoveCopyOperationData<int>(folders.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), files.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), tenant, destFolderId, copy, resolveType, holdResult, headers));
|
||||
@ -138,13 +140,13 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
return QueueTask(authContext, op);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Delete<T>(AuthContext authContext, TenantManager tenantManager, IEnumerable<T> folders, IEnumerable<T> files, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Delete<T>(AuthContext authContext, TenantManager tenantManager, IEnumerable<T> folders, IEnumerable<T> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
var op = new FileDeleteOperation<T>(ServiceProvider, new FileDeleteOperationData<T>(folders, files, tenantManager.GetCurrentTenant(), holdResult, ignoreException, immediately, headers));
|
||||
return QueueTask(authContext, op);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Delete(AuthContext authContext, TenantManager tenantManager, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Delete(AuthContext authContext, TenantManager tenantManager, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
var op1 = new FileDeleteOperation<int>(ServiceProvider, new FileDeleteOperationData<int>(folders.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), files.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), tenantManager.GetCurrentTenant(), holdResult, ignoreException, immediately, headers));
|
||||
var op2 = new FileDeleteOperation<string>(ServiceProvider, new FileDeleteOperationData<string>(folders.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), files.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), tenantManager.GetCurrentTenant(), holdResult, ignoreException, immediately, headers));
|
||||
@ -198,32 +200,32 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
return FileOperationsManager.MarkAsRead(AuthContext, TenantManager, folderIds, fileIds);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Download(Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Download(Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return FileOperationsManager.Download(AuthContext, TenantManager, folders, files, headers);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> MoveOrCopy(IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> MoveOrCopy(IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return FileOperationsManager.MoveOrCopy(AuthContext, TenantManager, folders, files, destFolderId, copy, resolveType, holdResult, headers);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Delete(List<JsonElement> folders, List<JsonElement> files, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Delete(List<JsonElement> folders, List<JsonElement> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return FileOperationsManager.Delete(AuthContext, TenantManager, folders, files, ignoreException, holdResult, immediately, headers);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> Delete<T>(List<T> folders, List<T> files, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> Delete<T>(List<T> folders, List<T> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return FileOperationsManager.Delete(AuthContext, TenantManager, folders, files, ignoreException, holdResult, immediately, headers);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> DeleteFile<T>(T file, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> DeleteFile<T>(T file, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return Delete(new List<T>(), new List<T>() { file }, ignoreException, holdResult, immediately, headers);
|
||||
}
|
||||
|
||||
public ItemList<FileOperationResult> DeleteFolder<T>(T folder, bool ignoreException, bool holdResult, bool immediately, Dictionary<string, string> headers)
|
||||
public ItemList<FileOperationResult> DeleteFolder<T>(T folder, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
|
||||
{
|
||||
return Delete(new List<T>() { folder }, new List<T>(), ignoreException, holdResult, immediately, headers);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user