Merge pull request #287 from ONLYOFFICE/feature/remove_itemList

Feature/remove item list
This commit is contained in:
Pavel Bannov 2021-06-30 13:06:56 +03:00 committed by GitHub
commit 55e603f906
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 97 additions and 154 deletions

View File

@ -617,7 +617,7 @@ namespace ASC.CRM.Api
var contacts = _daoFactory.GetContactDao().GetContacts(contactIDs);
return contactIDs == null
? new ItemList<ContactDto>()
? new List<ContactDto>()
: _mapper.Map<List<Contact>, List<ContactDto>>(contacts);
}

View File

@ -220,14 +220,14 @@ namespace ASC.Web.Files.Services.WCFService
return folder;
}
public ItemList<FileEntry> GetFolders(T parentId)
public List<FileEntry> GetFolders(T parentId)
{
var folderDao = GetFolderDao();
try
{
var folders = EntryManager.GetEntries(folderDao.GetFolder(parentId), 0, 0, FilterType.FoldersOnly, false, Guid.Empty, string.Empty, false, false, new OrderBy(SortedByType.AZ, true), out var total);
return new ItemList<FileEntry>(folders);
return new List<FileEntry>(folders);
}
catch (Exception e)
{
@ -235,7 +235,7 @@ namespace ASC.Web.Files.Services.WCFService
}
}
public ItemList<object> GetPath(T folderId)
public List<object> GetPath(T folderId)
{
var folderDao = GetFolderDao();
var folder = folderDao.GetFolder(folderId);
@ -243,7 +243,7 @@ namespace ASC.Web.Files.Services.WCFService
ErrorIf(folder == null, FilesCommonResource.ErrorMassage_FolderNotFound);
ErrorIf(!FileSecurity.CanRead(folder), FilesCommonResource.ErrorMassage_SecurityException_ViewFolder);
return new ItemList<object>(EntryManager.GetBreadCrumbs(folderId, folderDao).Select(f =>
return new List<object>(EntryManager.GetBreadCrumbs(folderId, folderDao).Select(f =>
{
if (f is Folder<string> f1) return (object)f1.ID;
if (f is Folder<int> f2) return f2.ID;
@ -324,8 +324,8 @@ namespace ASC.Web.Files.Services.WCFService
var result = new DataWrapper<T>
{
Total = total,
Entries = new ItemList<FileEntry>(entries.ToList()),
FolderPathParts = new ItemList<object>(breadCrumbs.Select(f =>
Entries = new List<FileEntry>(entries.ToList()),
FolderPathParts = new List<object>(breadCrumbs.Select(f =>
{
if (f is Folder<string> f1) return (object)f1.ID;
if (f is Folder<int> f2) return f2.ID;
@ -349,7 +349,7 @@ namespace ASC.Web.Files.Services.WCFService
return response;
}
public ItemList<FileEntry> GetItems<TId>(IEnumerable<TId> filesId, IEnumerable<TId> foldersId, FilterType filter, bool subjectGroup, string subjectID, string search)
public List<FileEntry> GetItems<TId>(IEnumerable<TId> filesId, IEnumerable<TId> foldersId, FilterType filter, bool subjectGroup, string subjectID, string search)
{
var subjectId = string.IsNullOrEmpty(subjectID) ? Guid.Empty : new Guid(subjectID);
@ -391,7 +391,7 @@ namespace ASC.Web.Files.Services.WCFService
EntryStatusManager.SetFileStatus(entries);
return new ItemList<FileEntry>(entries);
return new List<FileEntry>(entries);
}
public Folder<T> CreateNewFolder(T parentId, string title)
@ -489,7 +489,7 @@ namespace ASC.Web.Files.Services.WCFService
return file;
}
public ItemList<File<T>> GetSiblingsFile(T fileId, T parentId, FilterType filter, bool subjectGroup, string subjectID, string search, bool searchInContent, bool withSubfolders, OrderBy orderBy)
public List<File<T>> GetSiblingsFile(T fileId, T parentId, FilterType filter, bool subjectGroup, string subjectID, string search, bool searchInContent, bool withSubfolders, OrderBy orderBy)
{
var subjectId = string.IsNullOrEmpty(subjectID) ? Guid.Empty : new Guid(subjectID);
@ -506,7 +506,7 @@ namespace ASC.Web.Files.Services.WCFService
if (filter == FilterType.FoldersOnly)
{
return new ItemList<File<T>>();
return new List<File<T>>();
}
if (filter == FilterType.None)
{
@ -552,7 +552,7 @@ namespace ASC.Web.Files.Services.WCFService
.OfType<File<T>>()
.Where(f => previewedType.Contains(FileUtility.GetFileTypeByFileName(f.Title)));
return new ItemList<File<T>>(result);
return new List<File<T>>(result);
}
public File<T> CreateNewFile(FileModel<T> fileWrapper, bool enableExternalExt = false)
@ -718,10 +718,10 @@ namespace ASC.Web.Files.Services.WCFService
}
}
public ItemDictionary<string, string> CheckEditing(ItemList<T> filesId)
public Dictionary<string, string> CheckEditing(List<T> filesId)
{
ErrorIf(!AuthContext.IsAuthenticated, FilesCommonResource.ErrorMassage_SecurityException);
var result = new ItemDictionary<string, string>();
var result = new Dictionary<string, string>();
var fileDao = GetFileDao();
var ids = filesId.Where(FileTracker.IsEditing).Select(id => id).ToList();
@ -884,16 +884,16 @@ namespace ASC.Web.Files.Services.WCFService
}
}
public ItemList<File<T>> GetFileHistory(T fileId)
public List<File<T>> GetFileHistory(T fileId)
{
var fileDao = GetFileDao();
var file = fileDao.GetFile(fileId);
ErrorIf(!FileSecurity.CanRead(file), FilesCommonResource.ErrorMassage_SecurityException_ReadFile);
return new ItemList<File<T>>(fileDao.GetFileHistory(fileId));
return new List<File<T>>(fileDao.GetFileHistory(fileId));
}
public KeyValuePair<File<T>, ItemList<File<T>>> UpdateToVersion(T fileId, int version)
public KeyValuePair<File<T>, List<File<T>>> UpdateToVersion(T fileId, int version)
{
var file = EntryManager.UpdateToVersionFile(fileId, version);
FilesMessageService.Send(file, GetHttpHeaders(), MessageAction.FileRestoreVersion, file.Title, version.ToString(CultureInfo.InvariantCulture));
@ -908,7 +908,7 @@ namespace ASC.Web.Files.Services.WCFService
}
}
return new KeyValuePair<File<T>, ItemList<File<T>>>(file, GetFileHistory(fileId));
return new KeyValuePair<File<T>, List<File<T>>>(file, GetFileHistory(fileId));
}
public string UpdateComment(T fileId, int version, string comment)
@ -927,7 +927,7 @@ namespace ASC.Web.Files.Services.WCFService
return comment;
}
public KeyValuePair<File<T>, ItemList<File<T>>> CompleteVersion(T fileId, int version, bool continueVersion)
public KeyValuePair<File<T>, List<File<T>>> CompleteVersion(T fileId, int version, bool continueVersion)
{
var file = EntryManager.CompleteVersionFile(fileId, version, continueVersion);
@ -945,7 +945,7 @@ namespace ASC.Web.Files.Services.WCFService
}
}
return new KeyValuePair<File<T>, ItemList<File<T>>>(file, GetFileHistory(fileId));
return new KeyValuePair<File<T>, List<File<T>>>(file, GetFileHistory(fileId));
}
public File<T> LockFile(T fileId, bool lockfile)
@ -1015,7 +1015,7 @@ namespace ASC.Web.Files.Services.WCFService
return file;
}
public ItemList<EditHistory> GetEditHistory(T fileId, string doc = null)
public List<EditHistory> GetEditHistory(T fileId, string doc = null)
{
var fileDao = GetFileDao();
var readLink = FileShareLink.Check(doc, true, fileDao, out var file);
@ -1026,7 +1026,7 @@ namespace ASC.Web.Files.Services.WCFService
ErrorIf(!readLink && !FileSecurity.CanRead(file), FilesCommonResource.ErrorMassage_SecurityException_ReadFile);
ErrorIf(file.ProviderEntry, FilesCommonResource.ErrorMassage_BadRequest);
return new ItemList<EditHistory>(fileDao.GetEditHistory(DocumentServiceHelper, file.ID));
return new List<EditHistory>(fileDao.GetEditHistory(DocumentServiceHelper, file.ID));
}
public EditHistoryData GetEditDiffUrl(T fileId, int version = 0, string doc = null)
@ -1105,7 +1105,7 @@ namespace ASC.Web.Files.Services.WCFService
return result;
}
public ItemList<EditHistory> RestoreVersion(T fileId, int version, string url = null, string doc = null)
public List<EditHistory> RestoreVersion(T fileId, int version, string url = null, string doc = null)
{
IFileDao<T> fileDao;
File<T> file;
@ -1125,7 +1125,7 @@ namespace ASC.Web.Files.Services.WCFService
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));
return new List<EditHistory>(fileDao.GetEditHistory(DocumentServiceHelper, file.ID));
}
public Web.Core.Files.DocumentService.FileLink GetPresignedUri(T fileId)
@ -1168,16 +1168,16 @@ namespace ASC.Web.Files.Services.WCFService
}
}
public ItemList<FileOperationResult> MarkAsRead(IEnumerable<JsonElement> foldersId, IEnumerable<JsonElement> filesId)
public List<FileOperationResult> MarkAsRead(IEnumerable<JsonElement> foldersId, IEnumerable<JsonElement> filesId)
{
if (!foldersId.Any() && !filesId.Any()) return GetTasksStatuses();
return FileOperationsManager.MarkAsRead(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), foldersId, filesId);
}
public ItemList<ThirdPartyParams> GetThirdParty()
public List<ThirdPartyParams> GetThirdParty()
{
var providerDao = GetProviderDao();
if (providerDao == null) return new ItemList<ThirdPartyParams>();
if (providerDao == null) return new List<ThirdPartyParams>();
var providersInfo = providerDao.GetProvidersInfo();
@ -1191,15 +1191,15 @@ namespace ASC.Web.Files.Services.WCFService
ProviderKey = r.ProviderKey
}
);
return new ItemList<ThirdPartyParams>(resultList.ToList());
return new List<ThirdPartyParams>(resultList.ToList());
}
public ItemList<FileEntry> GetThirdPartyFolder(int folderType = 0)
public List<FileEntry> GetThirdPartyFolder(int folderType = 0)
{
if (!FilesSettingsHelper.EnableThirdParty) return new ItemList<FileEntry>();
if (!FilesSettingsHelper.EnableThirdParty) return new List<FileEntry>();
var providerDao = GetProviderDao();
if (providerDao == null) return new ItemList<FileEntry>();
if (providerDao == null) return new List<FileEntry>();
var providersInfo = providerDao.GetProvidersInfo((FolderType)folderType);
@ -1210,7 +1210,7 @@ namespace ASC.Web.Files.Services.WCFService
return folder;
});
return new ItemList<FileEntry>(folders);
return new List<FileEntry>(folders);
}
public Folder<T> SaveThirdParty(ThirdPartyParams thirdPartyParams)
@ -1359,21 +1359,21 @@ namespace ASC.Web.Files.Services.WCFService
}
}
public ItemList<FileOperationResult> GetTasksStatuses()
public List<FileOperationResult> GetTasksStatuses()
{
ErrorIf(!AuthContext.IsAuthenticated, FilesCommonResource.ErrorMassage_SecurityException);
return FileOperationsManager.GetOperationResults(AuthContext.CurrentAccount.ID);
}
public ItemList<FileOperationResult> TerminateTasks()
public List<FileOperationResult> TerminateTasks()
{
ErrorIf(!AuthContext.IsAuthenticated, FilesCommonResource.ErrorMassage_SecurityException);
return FileOperationsManager.CancelOperations(AuthContext.CurrentAccount.ID);
}
public ItemList<FileOperationResult> BulkDownload(Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files)
public List<FileOperationResult> BulkDownload(Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files)
{
ErrorIf(!folders.Any() && !files.Any(), FilesCommonResource.ErrorMassage_BadRequest);
@ -1476,9 +1476,9 @@ namespace ASC.Web.Files.Services.WCFService
return (checkedFiles, checkedFolders);
}
public ItemList<FileOperationResult> MoveOrCopyItems(IEnumerable<JsonElement> foldersId, IEnumerable<JsonElement> filesId, JsonElement destFolderId, FileConflictResolveType resolve, bool ic, bool deleteAfter = false)
public List<FileOperationResult> MoveOrCopyItems(IEnumerable<JsonElement> foldersId, IEnumerable<JsonElement> filesId, JsonElement destFolderId, FileConflictResolveType resolve, bool ic, bool deleteAfter = false)
{
ItemList<FileOperationResult> result;
List<FileOperationResult> result;
if (foldersId.Any() || filesId.Any())
{
result = FileOperationsManager.MoveOrCopy(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), foldersId, filesId, destFolderId, ic, resolve, !deleteAfter, GetHttpHeaders());
@ -1491,21 +1491,21 @@ namespace ASC.Web.Files.Services.WCFService
}
public ItemList<FileOperationResult> DeleteFile(string action, T fileId, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
public List<FileOperationResult> DeleteFile(string action, T fileId, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
{
return FileOperationsManager.Delete(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), new List<T>(), new List<T>() { fileId }, ignoreException, !deleteAfter, immediately, GetHttpHeaders());
}
public ItemList<FileOperationResult> DeleteFolder(string action, T folderId, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
public List<FileOperationResult> DeleteFolder(string action, T folderId, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
{
return FileOperationsManager.Delete(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), new List<T>() { folderId }, new List<T>(), ignoreException, !deleteAfter, immediately, GetHttpHeaders());
}
public ItemList<FileOperationResult> DeleteItems(string action, List<JsonElement> files, List<JsonElement> folders, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
public List<FileOperationResult> DeleteItems(string action, List<JsonElement> files, List<JsonElement> folders, bool ignoreException = false, bool deleteAfter = false, bool immediately = false)
{
return FileOperationsManager.Delete(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), folders, files, ignoreException, !deleteAfter, immediately, GetHttpHeaders());
}
public ItemList<FileOperationResult> EmptyTrash()
public List<FileOperationResult> EmptyTrash()
{
var folderDao = GetFolderDao();
var fileDao = GetFileDao();
@ -1516,9 +1516,9 @@ namespace ASC.Web.Files.Services.WCFService
return FileOperationsManager.Delete(AuthContext.CurrentAccount.ID, TenantManager.GetCurrentTenant(), foldersId, filesId, false, true, false, GetHttpHeaders());
}
public ItemList<FileOperationResult> CheckConversion(ItemList<ItemList<string>> filesInfoJSON)
public List<FileOperationResult> CheckConversion(List<List<string>> filesInfoJSON)
{
if (filesInfoJSON == null || filesInfoJSON.Count == 0) return new ItemList<FileOperationResult>();
if (filesInfoJSON == null || filesInfoJSON.Count == 0) return new List<FileOperationResult>();
var fileDao = GetFileDao();
var files = new List<KeyValuePair<File<T>, bool>>();
@ -1560,7 +1560,7 @@ namespace ASC.Web.Files.Services.WCFService
var results = FileConverter.GetStatus(files).ToList();
return new ItemList<FileOperationResult>(results);
return new List<FileOperationResult>(results);
}
public void ReassignStorage(Guid userFromId, Guid userToId)
@ -1698,7 +1698,7 @@ namespace ASC.Web.Files.Services.WCFService
return favorite;
}
public ItemList<FileEntry<T>> AddToFavorites(IEnumerable<T> foldersId, IEnumerable<T> filesId)
public List<FileEntry<T>> AddToFavorites(IEnumerable<T> foldersId, IEnumerable<T> filesId)
{
if (UserManager.GetUsers(AuthContext.CurrentAccount.ID).IsVisitor(UserManager)) throw new SecurityException(FilesCommonResource.ErrorMassage_SecurityException);
@ -1719,10 +1719,10 @@ namespace ASC.Web.Files.Services.WCFService
tagDao.SaveTags(tags);
return new ItemList<FileEntry<T>>(entries);
return new List<FileEntry<T>>(entries);
}
public ItemList<FileEntry<T>> DeleteFavorites(IEnumerable<T> foldersId, IEnumerable<T> filesId)
public List<FileEntry<T>> DeleteFavorites(IEnumerable<T> foldersId, IEnumerable<T> filesId)
{
var tagDao = GetTagDao();
var fileDao = GetFileDao();
@ -1741,14 +1741,14 @@ namespace ASC.Web.Files.Services.WCFService
tagDao.RemoveTags(tags);
return new ItemList<FileEntry<T>>(entries);
return new List<FileEntry<T>>(entries);
}
#endregion
#region Templates Manager
public ItemList<FileEntry<T>> AddToTemplates(IEnumerable<T> filesId)
public List<FileEntry<T>> AddToTemplates(IEnumerable<T> filesId)
{
if (UserManager.GetUsers(AuthContext.CurrentAccount.ID).IsVisitor(UserManager)) throw new SecurityException(FilesCommonResource.ErrorMassage_SecurityException);
@ -1764,10 +1764,10 @@ namespace ASC.Web.Files.Services.WCFService
tagDao.SaveTags(tags);
return new ItemList<FileEntry<T>>(files);
return new List<FileEntry<T>>(files);
}
public ItemList<FileEntry<T>> DeleteTemplates(IEnumerable<T> filesId)
public List<FileEntry<T>> DeleteTemplates(IEnumerable<T> filesId)
{
var tagDao = GetTagDao();
var fileDao = GetFileDao();
@ -1779,10 +1779,10 @@ namespace ASC.Web.Files.Services.WCFService
tagDao.RemoveTags(tags);
return new ItemList<FileEntry<T>>(files);
return new List<FileEntry<T>>(files);
}
public ItemList<FileEntry<T>> GetTemplates(FilterType filter, int from, int count, bool subjectGroup, string subjectID, string search, bool searchInContent)
public List<FileEntry<T>> GetTemplates(FilterType filter, int from, int count, bool subjectGroup, string subjectID, string search, bool searchInContent)
{
try
{
@ -1797,7 +1797,7 @@ namespace ASC.Web.Files.Services.WCFService
return null;
result = result.Skip(from).Take(count);
return new ItemList<FileEntry<T>>(result);
return new List<FileEntry<T>>(result);
}
catch (Exception e)
{
@ -1807,17 +1807,17 @@ namespace ASC.Web.Files.Services.WCFService
#endregion
public ItemList<AceWrapper> GetSharedInfo(IEnumerable<T> fileIds, IEnumerable<T> folderIds)
public List<AceWrapper> GetSharedInfo(IEnumerable<T> fileIds, IEnumerable<T> folderIds)
{
return FileSharing.GetSharedInfo(fileIds, folderIds);
}
public ItemList<AceShortWrapper> GetSharedInfoShortFile(T fileId)
public List<AceShortWrapper> GetSharedInfoShortFile(T fileId)
{
return FileSharing.GetSharedInfoShortFile(fileId);
}
public ItemList<AceShortWrapper> GetSharedInfoShortFolder(T folderId)
public List<AceShortWrapper> GetSharedInfoShortFolder(T folderId)
{
return FileSharing.GetSharedInfoShortFolder(folderId);
}
@ -1922,7 +1922,7 @@ namespace ASC.Web.Files.Services.WCFService
return securityDao.IsShared(file.ID, FileEntryType.File);
}
public ItemList<MentionWrapper> SharedUsers(T fileId)
public List<MentionWrapper> SharedUsers(T fileId)
{
if (!AuthContext.IsAuthenticated || CoreBaseSettings.Personal)
return null;
@ -1957,10 +1957,10 @@ namespace ASC.Web.Files.Services.WCFService
.ThenBy(user => user.User, UserInfoComparer.Default)
.ToList();
return new ItemList<MentionWrapper>(users);
return new List<MentionWrapper>(users);
}
public ItemList<AceShortWrapper> SendEditorNotify(T fileId, MentionMessageWrapper mentionMessage)
public List<AceShortWrapper> SendEditorNotify(T fileId, MentionMessageWrapper mentionMessage)
{
ErrorIf(!AuthContext.IsAuthenticated, FilesCommonResource.ErrorMassage_SecurityException);
@ -2055,15 +2055,15 @@ namespace ASC.Web.Files.Services.WCFService
return showSharingSettings ? GetSharedInfoShortFile(fileId) : null;
}
public ItemList<EncryptionKeyPair> GetEncryptionAccess(T fileId)
public List<EncryptionKeyPair> GetEncryptionAccess(T fileId)
{
ErrorIf(!PrivacyRoomSettings.GetEnabled(SettingsManager), FilesCommonResource.ErrorMassage_SecurityException);
var fileKeyPair = EncryptionKeyPairHelper.GetKeyPair(fileId, this);
return new ItemList<EncryptionKeyPair>(fileKeyPair);
return new List<EncryptionKeyPair>(fileKeyPair);
}
public ItemList<string> GetMailAccounts()
public List<string> GetMailAccounts()
{
return null;
//var apiServer = new ASC.Api.ApiServer();
@ -2089,7 +2089,7 @@ namespace ASC.Web.Files.Services.WCFService
//}
//ErrorIf(!accounts.Any(), FilesCommonResource.ErrorMassage_MailAccountNotFound);
//return new ItemList<string>(accounts);
//return new List<string>(accounts);
}
public IEnumerable<FileEntry> ChangeOwner(IEnumerable<T> foldersId, IEnumerable<T> filesId, Guid userId)

View File

@ -454,7 +454,7 @@ namespace ASC.Web.Files.Helpers
public string Name { get; set; }
public ItemList<Guid> Users { get; set; }
public List<Guid> Users { get; set; }
}
public enum DocuSignStatus

View File

@ -254,7 +254,7 @@ namespace ASC.Web.Files.Services.DocumentService
get { return File.CreateOnString; }
}
public ItemList<AceShortWrapper> SharingSettings
public List<AceShortWrapper> SharingSettings
{
set { }
get

View File

@ -44,7 +44,7 @@ namespace ASC.Web.Files.Services.WCFService
static FileEntrySerializer()
{
serializers[typeof(File<>)] = new DataContractSerializer(typeof(File<>));
//serializers[typeof(ItemList<FileEntry<>>)] = new DataContractSerializer(typeof(ItemList<FileEntry<>>));
//serializers[typeof(List<FileEntry<>>)] = new DataContractSerializer(typeof(List<FileEntry<>>));
serializers[typeof(DataWrapper<>)] = new DataContractSerializer(typeof(DataWrapper<>));
//if (WorkContext.IsMono && !string.IsNullOrEmpty(WorkContext.MonoVersion))
@ -54,7 +54,7 @@ namespace ASC.Web.Files.Services.WCFService
// if (2 <= version.Length && (Convert.ToInt32(version[0]) * 1000 + Convert.ToInt32(version[1])) < 4002)
// {
// oldMonoSerializer = true;
// serializers[typeof(ItemList<FileEntry>)] = new DataContractSerializer(typeof(ItemList<FileEntry>), Type.EmptyTypes, ushort.MaxValue, false, false, null, new FileEntryResolver());
// serializers[typeof(List<FileEntry>)] = new DataContractSerializer(typeof(List<FileEntry>), Type.EmptyTypes, ushort.MaxValue, false, false, null, new FileEntryResolver());
// serializers[typeof(DataWrapper)] = new DataContractSerializer(typeof(DataWrapper), Type.EmptyTypes, ushort.MaxValue, false, false, null, new FileEntryResolver());
// }
//}

View File

@ -54,7 +54,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
ServiceProvider = serviceProvider;
}
public ItemList<FileOperationResult> GetOperationResults(Guid userId)
public List<FileOperationResult> GetOperationResults(Guid userId)
{
var operations = tasks.GetTasks();
var processlist = Process.GetProcesses();
@ -91,10 +91,10 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
})
.ToList();
return new ItemList<FileOperationResult>(results);
return new List<FileOperationResult>(results);
}
public ItemList<FileOperationResult> CancelOperations(Guid userId)
public List<FileOperationResult> CancelOperations(Guid userId)
{
var operations = tasks.GetTasks()
.Where(t => t.GetProperty<Guid>(FileOperation.OWNER) == userId);
@ -108,7 +108,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
}
public ItemList<FileOperationResult> MarkAsRead(Guid userId, Tenant tenant, IEnumerable<JsonElement> folderIds, IEnumerable<JsonElement> fileIds)
public List<FileOperationResult> MarkAsRead(Guid userId, Tenant tenant, IEnumerable<JsonElement> folderIds, IEnumerable<JsonElement> fileIds)
{
var op1 = new FileMarkAsReadOperation<int>(ServiceProvider, new FileMarkAsReadOperationData<int>(folderIds.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), fileIds.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), tenant));
var op2 = new FileMarkAsReadOperation<string>(ServiceProvider, new FileMarkAsReadOperationData<string>(folderIds.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), fileIds.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), tenant));
@ -116,7 +116,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
return QueueTask(userId, op);
}
public ItemList<FileOperationResult> Download(Guid userId, Tenant tenant, Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, IDictionary<string, StringValues> headers)
public List<FileOperationResult> Download(Guid userId, Tenant tenant, Dictionary<JsonElement, string> folders, Dictionary<JsonElement, string> files, IDictionary<string, StringValues> headers)
{
var operations = tasks.GetTasks()
.Where(t => t.GetProperty<Guid>(FileOperation.OWNER) == userId)
@ -134,7 +134,7 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
return QueueTask(userId, op);
}
public ItemList<FileOperationResult> MoveOrCopy(Guid userId, Tenant tenant, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, IDictionary<string, StringValues> headers)
public List<FileOperationResult> MoveOrCopy(Guid userId, Tenant tenant, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, JsonElement destFolderId, bool copy, FileConflictResolveType resolveType, bool holdResult, IDictionary<string, StringValues> headers)
{
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));
var op2 = new FileMoveCopyOperation<string>(ServiceProvider, new FileMoveCopyOperationData<string>(folders.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), files.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), tenant, destFolderId, copy, resolveType, holdResult, headers));
@ -143,13 +143,13 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
return QueueTask(userId, op);
}
public ItemList<FileOperationResult> Delete<T>(Guid userId, Tenant tenant, IEnumerable<T> folders, IEnumerable<T> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
public List<FileOperationResult> Delete<T>(Guid userId, Tenant tenant, 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, tenant, holdResult, ignoreException, immediately, headers));
return QueueTask(userId, op);
}
public ItemList<FileOperationResult> Delete(Guid userId, Tenant tenant, IEnumerable<JsonElement> folders, IEnumerable<JsonElement> files, bool ignoreException, bool holdResult, bool immediately, IDictionary<string, StringValues> headers)
public List<FileOperationResult> Delete(Guid userId, Tenant tenant, 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()), tenant, 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()), tenant, holdResult, ignoreException, immediately, headers));
@ -159,13 +159,13 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
}
private ItemList<FileOperationResult> QueueTask(Guid userId, FileOperation op)
private List<FileOperationResult> QueueTask(Guid userId, FileOperation op)
{
tasks.QueueTask(op.RunJob, op.GetDistributedTask());
return GetOperationResults(userId);
}
private ItemList<FileOperationResult> QueueTask<T, TId>(Guid userId, FileOperation<T, TId> op) where T : FileOperationData<TId>
private List<FileOperationResult> QueueTask<T, TId>(Guid userId, FileOperation<T, TId> op) where T : FileOperationData<TId>
{
tasks.QueueTask(op.RunJob, op.GetDistributedTask());
return GetOperationResults(userId);

View File

@ -39,7 +39,7 @@ namespace ASC.Web.Files.Services.WCFService
public IEnumerable<T> Files { get; set; }
public IEnumerable<T> Folders { get; set; }
public ItemList<AceWrapper> Aces { get; set; }
public List<AceWrapper> Aces { get; set; }
public string Message { get; set; }
}

View File

@ -1,59 +0,0 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2018
*
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
*
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
*
* You can contact Ascensio System SIA by email at sales@onlyoffice.com
*
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
*
* Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
* relevant author attributions when distributing the software. If the display of the logo in its graphic
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
* in every copy of the program you distribute.
* Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
*
*/
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace ASC.Web.Files.Services.WCFService
{
[CollectionDataContract(Name = "{0}List", ItemName = "entry", Namespace = "")]
public class ItemList<TItem> : List<TItem>
{
public ItemList()
: base()
{
}
public ItemList(IEnumerable<TItem> items)
: base(items)
{
}
}
[CollectionDataContract(Name = "{1}Hash", ItemName = "entry", KeyName = "key", ValueName = "value", Namespace = "")]
public class ItemDictionary<TKey, TValue> : Dictionary<TKey, TValue>
{
public ItemDictionary()
: base()
{
}
public ItemDictionary(IDictionary<TKey, TValue> items)
: base(items)
{
}
}
}

View File

@ -24,6 +24,7 @@
*/
using System.Collections.Generic;
using System.Text.Json.Serialization;
using ASC.Files.Core;
@ -32,12 +33,12 @@ namespace ASC.Web.Files.Services.WCFService
{
public class DataWrapper<T>
{
public ItemList<FileEntry> Entries { get; set; }
public List<FileEntry> Entries { get; set; }
public int Total { get; set; }
[JsonPropertyName("path_parts")]
public ItemList<object> FolderPathParts { get; set; }
public List<object> FolderPathParts { get; set; }
[JsonPropertyName("folder_info")]
public Folder<T> FolderInfo { get; set; }

View File

@ -432,7 +432,7 @@ namespace ASC.Web.Files.Utils
return result;
}
public ItemList<AceWrapper> GetSharedInfo<T>(IEnumerable<T> fileIds, IEnumerable<T> folderIds)
public List<AceWrapper> GetSharedInfo<T>(IEnumerable<T> fileIds, IEnumerable<T> folderIds)
{
if (!AuthContext.IsAuthenticated)
{
@ -542,26 +542,26 @@ namespace ASC.Web.Files.Utils
result = new List<AceWrapper> { linkAce }.Concat(result).ToList();
}
return new ItemList<AceWrapper>(result);
return new List<AceWrapper>(result);
}
public ItemList<AceShortWrapper> GetSharedInfoShortFile<T>(T fileID)
public List<AceShortWrapper> GetSharedInfoShortFile<T>(T fileID)
{
var aces = GetSharedInfo(new List<T> { fileID}, new List<T>());
return GetAceShortWrappers(aces);
}
public ItemList<AceShortWrapper> GetSharedInfoShortFolder<T>(T folderId)
public List<AceShortWrapper> GetSharedInfoShortFolder<T>(T folderId)
{
var aces = GetSharedInfo(new List<T>(), new List<T> { folderId });
return GetAceShortWrappers(aces);
}
private ItemList<AceShortWrapper> GetAceShortWrappers(ItemList<AceWrapper> aces)
private List<AceShortWrapper> GetAceShortWrappers(List<AceWrapper> aces)
{
return new ItemList<AceShortWrapper>(aces
return new List<AceShortWrapper>(aces
.Where(aceWrapper => !aceWrapper.SubjectId.Equals(FileConstant.ShareLinkId) || aceWrapper.Share != FileShare.Restrict)
.Select(aceWrapper => new AceShortWrapper(aceWrapper)));
}

View File

@ -369,9 +369,9 @@ namespace ASC.Files.Helpers
public IEnumerable<ConversationResult<T>> CheckConversion(T fileId, bool start)
{
return FileStorageService.CheckConversion(new ItemList<ItemList<string>>
return FileStorageService.CheckConversion(new List<List<string>>
{
new ItemList<string> { fileId.ToString(), "0", start.ToString() }
new List<string> { fileId.ToString(), "0", start.ToString() }
})
.Select(r =>
{
@ -550,7 +550,7 @@ namespace ASC.Files.Helpers
{
if (share != null && share.Any())
{
var list = new ItemList<AceWrapper>(share.Select(FileShareParamsHelper.ToAceObject));
var list = new List<AceWrapper>(share.Select(FileShareParamsHelper.ToAceObject));
var aceCollection = new AceCollection<T>
{
Files = fileIds,
@ -578,7 +578,7 @@ namespace ASC.Files.Helpers
var sharedInfo = FileStorageService.GetSharedInfo(new List<T> { fileId }, new List<T> { }).Find(r => r.SubjectId == FileConstant.ShareLinkId);
if (sharedInfo == null || sharedInfo.Share != share)
{
var list = new ItemList<AceWrapper>
var list = new List<AceWrapper>
{
new AceWrapper
{

View File

@ -277,7 +277,7 @@ namespace ASC.Files.Tests
return;
}
ItemList<FileOperationResult> statuses;
List<FileOperationResult> statuses;
while (true)
{
statuses = FileStorageService.GetTasksStatuses();

View File

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Threading;
using ASC.Api.Documents;
@ -52,9 +53,9 @@ namespace ASC.Files.Tests
[Order(2)]
public void DeleteFileFromTrash()
{
var Empty = FilesControllerHelper.EmptyTrash();
ItemList<FileOperationResult> statuses;
var Empty = FilesControllerHelper.EmptyTrash();
List<FileOperationResult> statuses;
while (true)
{