Merge branch 'master' into feature/files

# Conflicts:
#	products/ASC.Files/Server/Controllers/FilesController.cs
This commit is contained in:
pavelbannov 2020-08-02 22:31:52 +03:00
commit 34c2252b25
9 changed files with 72 additions and 35 deletions

View File

@ -0,0 +1,8 @@
namespace ASC.Files.Core.Model
{
public class ChangeHistoryModel
{
public int Version { get; set; }
public bool ContinueVersion { get; set; }
}
}

View File

@ -0,0 +1,7 @@
namespace ASC.Files.Core.Model
{
public class CreateFileModel
{
public string Title { get; set; }
}
}

View File

@ -0,0 +1,7 @@
namespace ASC.Files.Core.Model
{
public class CreateFolderModel
{
public string Title { get; set; }
}
}

View File

@ -0,0 +1,8 @@
namespace ASC.Files.Core.Model
{
public class UpdateCommentModel
{
public int Version { get; set; }
public string Comment { get; set; }
}
}

View File

@ -0,0 +1,8 @@
namespace ASC.Files.Core.Model
{
public class UpdateFileModel
{
public string Title { get; set; }
public int LastVersion { get; set; }
}
}

View File

@ -42,6 +42,7 @@ using ASC.Core.Users;
using ASC.FederatedLogin.Helpers; using ASC.FederatedLogin.Helpers;
using ASC.FederatedLogin.LoginProviders; using ASC.FederatedLogin.LoginProviders;
using ASC.Files.Core; using ASC.Files.Core;
using ASC.Files.Core.Model;
using ASC.Files.Helpers; using ASC.Files.Helpers;
using ASC.Files.Model; using ASC.Files.Model;
using ASC.MessagingSystem; using ASC.MessagingSystem;
@ -679,13 +680,13 @@ namespace ASC.Api.Documents
/// <param name="title">Title of new folder</param> /// <param name="title">Title of new folder</param>
/// <returns>New folder contents</returns> /// <returns>New folder contents</returns>
[Create("folder/{folderId}", DisableFormat = true)] [Create("folder/{folderId}", DisableFormat = true)]
public FolderWrapper<string> CreateFolder(string folderId, FolderModel folderModel) public FolderWrapper<string> CreateFolder(string folderId, CreateFolderModel folderModel)
{ {
return FilesControllerHelperString.CreateFolder(folderId, folderModel.Title); return FilesControllerHelperString.CreateFolder(folderId, folderModel.Title);
} }
[Create("folder/{folderId:int}")] [Create("folder/{folderId:int}")]
public FolderWrapper<int> CreateFolder(int folderId, FolderModel folderModel) public FolderWrapper<int> CreateFolder(int folderId, CreateFolderModel folderModel)
{ {
return FilesControllerHelperInt.CreateFolder(folderId, folderModel.Title); return FilesControllerHelperInt.CreateFolder(folderId, folderModel.Title);
} }
@ -700,7 +701,7 @@ namespace ASC.Api.Documents
/// <remarks>In case the extension for the file title differs from DOCX/XLSX/PPTX and belongs to one of the known text, spreadsheet or presentation formats, it will be changed to DOCX/XLSX/PPTX accordingly. If the file extension is not set or is unknown, the DOCX extension will be added to the file title.</remarks> /// <remarks>In case the extension for the file title differs from DOCX/XLSX/PPTX and belongs to one of the known text, spreadsheet or presentation formats, it will be changed to DOCX/XLSX/PPTX accordingly. If the file extension is not set or is unknown, the DOCX extension will be added to the file title.</remarks>
/// <returns>New file info</returns> /// <returns>New file info</returns>
[Create("@my/file")] [Create("@my/file")]
public FileWrapper<int> CreateFile([FromBody]FileModelFull model) public FileWrapper<int> CreateFile(CreateFileModel model)
{ {
return CreateFile(GlobalFolderHelper.FolderMy, model); return CreateFile(GlobalFolderHelper.FolderMy, model);
} }
@ -715,13 +716,13 @@ namespace ASC.Api.Documents
/// <remarks>In case the extension for the file title differs from DOCX/XLSX/PPTX and belongs to one of the known text, spreadsheet or presentation formats, it will be changed to DOCX/XLSX/PPTX accordingly. If the file extension is not set or is unknown, the DOCX extension will be added to the file title.</remarks> /// <remarks>In case the extension for the file title differs from DOCX/XLSX/PPTX and belongs to one of the known text, spreadsheet or presentation formats, it will be changed to DOCX/XLSX/PPTX accordingly. If the file extension is not set or is unknown, the DOCX extension will be added to the file title.</remarks>
/// <returns>New file info</returns> /// <returns>New file info</returns>
[Create("{folderId}/file", DisableFormat = true)] [Create("{folderId}/file", DisableFormat = true)]
public FileWrapper<string> CreateFile(string folderId, [FromBody]FileModelFull model) public FileWrapper<string> CreateFile(string folderId, CreateFileModel model)
{ {
return FilesControllerHelperString.CreateFile(folderId, model.Title); return FilesControllerHelperString.CreateFile(folderId, model.Title);
} }
[Create("{folderId:int}/file")] [Create("{folderId:int}/file")]
public FileWrapper<int> CreateFile(int folderId, [FromBody]FileModelFull model) public FileWrapper<int> CreateFile(int folderId, CreateFileModel model)
{ {
return FilesControllerHelperInt.CreateFile(folderId, model.Title); return FilesControllerHelperInt.CreateFile(folderId, model.Title);
} }
@ -737,13 +738,13 @@ namespace ASC.Api.Documents
/// <param name="title">New title</param> /// <param name="title">New title</param>
/// <returns>Folder contents</returns> /// <returns>Folder contents</returns>
[Update("folder/{folderId}", DisableFormat = true)] [Update("folder/{folderId}", DisableFormat = true)]
public FolderWrapper<string> RenameFolder(string folderId, FolderModel folderModel) public FolderWrapper<string> RenameFolder(string folderId, CreateFolderModel folderModel)
{ {
return FilesControllerHelperString.RenameFolder(folderId, folderModel.Title); return FilesControllerHelperString.RenameFolder(folderId, folderModel.Title);
} }
[Update("folder/{folderId:int}")] [Update("folder/{folderId:int}")]
public FolderWrapper<int> RenameFolder(int folderId, FolderModel folderModel) public FolderWrapper<int> RenameFolder(int folderId, CreateFolderModel folderModel)
{ {
return FilesControllerHelperInt.RenameFolder(folderId, folderModel.Title); return FilesControllerHelperInt.RenameFolder(folderId, folderModel.Title);
} }
@ -812,15 +813,15 @@ namespace ASC.Api.Documents
/// <param name="lastVersion">File last version number</param> /// <param name="lastVersion">File last version number</param>
/// <returns>File info</returns> /// <returns>File info</returns>
[Update("file/{fileId}", DisableFormat = true)] [Update("file/{fileId}", DisableFormat = true)]
public FileWrapper<string> UpdateFile(string fileId, int lastVersion, [FromBody]FileModelFull model) public FileWrapper<string> UpdateFile(string fileId, UpdateFileModel model)
{ {
return FilesControllerHelperString.UpdateFile(fileId, model.Title, lastVersion); return FilesControllerHelperString.UpdateFile(fileId, model.Title, model.LastVersion);
} }
[Update("file/{fileId:int}")] [Update("file/{fileId:int}")]
public FileWrapper<int> UpdateFile(int fileId, int lastVersion, [FromBody]FileModelFull model) public FileWrapper<int> UpdateFile(int fileId, UpdateFileModel model)
{ {
return FilesControllerHelperInt.UpdateFile(fileId, model.Title, lastVersion); return FilesControllerHelperInt.UpdateFile(fileId, model.Title, model.LastVersion);
} }
/// <summary> /// <summary>
@ -1061,14 +1062,27 @@ namespace ASC.Api.Documents
/// <category>Files</category> /// <category>Files</category>
/// <returns></returns> /// <returns></returns>
[Update("file/{fileId}/history", DisableFormat = true)] [Update("file/{fileId}/history", DisableFormat = true)]
public IEnumerable<FileWrapper<string>> ChangeHistory(string fileId, int version, bool continueVersion) public IEnumerable<FileWrapper<string>> ChangeHistory(string fileId, ChangeHistoryModel model)
{ {
return FilesControllerHelperString.ChangeHistory(fileId, version, continueVersion); return FilesControllerHelperString.ChangeHistory(fileId, model.Version, model.ContinueVersion);
} }
[Update("file/{fileId:int}/history")] [Update("file/{fileId:int}/history")]
public IEnumerable<FileWrapper<int>> ChangeHistory(int fileId, int version, bool continueVersion) public IEnumerable<FileWrapper<int>> ChangeHistory(int fileId, ChangeHistoryModel model)
{ {
return FilesControllerHelperInt.ChangeHistory(fileId, version, continueVersion); return FilesControllerHelperInt.ChangeHistory(fileId, model.Version, model.ContinueVersion);
}
[Update("file/{fileId}/comment", DisableFormat = true)]
public object UpdateComment(string fileId, UpdateCommentModel model)
{
return FilesControllerHelperString.UpdateComment(fileId, model.Version, model.Comment);
}
[Update("file/{fileId:int}/comment")]
public object UpdateComment(int fileId, UpdateCommentModel model)
{
return FilesControllerHelperInt.UpdateComment(fileId, model.Version, model.Comment);
} }
/// <summary> /// <summary>

View File

@ -549,6 +549,11 @@ namespace ASC.Files.Helpers
return history.Select(FileWrapperHelper.Get); return history.Select(FileWrapperHelper.Get);
} }
public string UpdateComment(T fileId, int version, string comment)
{
return FileStorageService.UpdateComment(fileId, version, comment);
}
public IEnumerable<FileShareWrapper> GetFileSecurityInfo(T fileId) public IEnumerable<FileShareWrapper> GetFileSecurityInfo(T fileId)
{ {
var fileShares = FileStorageService.GetSharedInfo(new ItemList<string> { string.Format("file_{0}", fileId) }); var fileShares = FileStorageService.GetSharedInfo(new ItemList<string> { string.Format("file_{0}", fileId) });

View File

@ -1,13 +0,0 @@
using ASC.Files.Core.Security;
namespace ASC.Files.Model
{
public class FileModelFull
{
public string FileId { get; set; }
public string ParentId { get; set; }
public string Title { get; set; }
public int Version { get; set; } = -1;
public FileShare Share { get; set; }
}
}

View File

@ -1,7 +0,0 @@
namespace ASC.Files.Model
{
public class FolderModel
{
public string Title { get; set; }
}
}