diff --git a/common/services/ASC.ApiSystem/Models/TenantModel.cs b/common/services/ASC.ApiSystem/Models/TenantModel.cs
index 5a04053123..d54b4347f6 100644
--- a/common/services/ASC.ApiSystem/Models/TenantModel.cs
+++ b/common/services/ASC.ApiSystem/Models/TenantModel.cs
@@ -24,9 +24,8 @@
*/
-using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations;
-using ASC.ApiSystem.Classes;
using ASC.ApiSystem.Interfaces;
using ASC.Core.Tenants;
diff --git a/common/services/ASC.Data.Backup/Controllers/BackupController.cs b/common/services/ASC.Data.Backup/Controllers/BackupController.cs
index a39e2d6d58..392690a0a6 100644
--- a/common/services/ASC.Data.Backup/Controllers/BackupController.cs
+++ b/common/services/ASC.Data.Backup/Controllers/BackupController.cs
@@ -61,7 +61,19 @@ namespace ASC.Data.Backup.Controllers
/// Include mail in the backup
/// Backup
[Create("createbackupschedule")]
- public bool CreateBackupSchedule(BackupSchedule backupSchedule)
+ public bool CreateBackupScheduleFromBody([FromBody]BackupSchedule backupSchedule)
+ {
+ return CreateBackupSchedule(backupSchedule);
+ }
+
+ [Create("createbackupschedule")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool CreateBackupScheduleFromForm([FromForm]BackupSchedule backupSchedule)
+ {
+ return CreateBackupSchedule(backupSchedule);
+ }
+
+ private bool CreateBackupSchedule(BackupSchedule backupSchedule)
{
if (CoreBaseSettings.Standalone)
{
@@ -106,7 +118,19 @@ namespace ASC.Data.Backup.Controllers
/// Backup
/// Backup Progress
[Create("startbackup")]
- public BackupProgress StartBackup(Models.Backup backup)
+ public BackupProgress StartBackupFromBody([FromBody]Models.Backup backup)
+ {
+ return StartBackup(backup);
+ }
+
+ [Create("startbackup")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public BackupProgress StartBackupFromForm([FromForm]Models.Backup backup)
+ {
+ return StartBackup(backup);
+ }
+
+ private BackupProgress StartBackup(Models.Backup backup)
{
if (CoreBaseSettings.Standalone)
{
@@ -193,7 +217,19 @@ namespace ASC.Data.Backup.Controllers
/// Backup
/// Restore Progress
[Create("startrestore")]
- public BackupProgress StartBackupRestore(BackupRestore backupRestore)
+ public BackupProgress StartBackupRestoreFromBody([FromBody]BackupRestore backupRestore)
+ {
+ return StartBackupRestore(backupRestore);
+ }
+
+ [Create("startrestore")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public BackupProgress StartBackupRestoreFromForm([FromForm]BackupRestore backupRestore)
+ {
+ return StartBackupRestore(backupRestore);
+ }
+
+ private BackupProgress StartBackupRestore(BackupRestore backupRestore)
{
if (CoreBaseSettings.Standalone)
{
diff --git a/common/services/ASC.Data.Backup/ModelApi/Backup.cs b/common/services/ASC.Data.Backup/ModelApi/Backup.cs
index c8d8b78f6e..edd9583d3d 100644
--- a/common/services/ASC.Data.Backup/ModelApi/Backup.cs
+++ b/common/services/ASC.Data.Backup/ModelApi/Backup.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using ASC.Api.Collections;
-using ASC.Data.Backup.Contracts;
namespace ASC.Data.Backup.Models
{
diff --git a/common/services/ASC.Data.Backup/ModelApi/BackupRestore.cs b/common/services/ASC.Data.Backup/ModelApi/BackupRestore.cs
index 3cfb758533..f34503b7df 100644
--- a/common/services/ASC.Data.Backup/ModelApi/BackupRestore.cs
+++ b/common/services/ASC.Data.Backup/ModelApi/BackupRestore.cs
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using ASC.Api.Collections;
-using ASC.Data.Backup.Contracts;
namespace ASC.Data.Backup.Models
{
diff --git a/common/services/ASC.Data.Backup/ModelApi/BackupSchedule.cs b/common/services/ASC.Data.Backup/ModelApi/BackupSchedule.cs
index 2b53ababae..3d21bea195 100644
--- a/common/services/ASC.Data.Backup/ModelApi/BackupSchedule.cs
+++ b/common/services/ASC.Data.Backup/ModelApi/BackupSchedule.cs
@@ -1,12 +1,6 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
+using System.Collections.Generic;
using ASC.Api.Collections;
-using ASC.Data.Backup.Contracts;
-
-using static ASC.Data.Backup.BackupAjaxHandler;
namespace ASC.Data.Backup.ModelApi
{
diff --git a/products/ASC.Files/Core/Model/CheckDocServiceUrlModel.cs b/products/ASC.Files/Core/Model/CheckDocServiceUrlModel.cs
new file mode 100644
index 0000000000..f47c630a5d
--- /dev/null
+++ b/products/ASC.Files/Core/Model/CheckDocServiceUrlModel.cs
@@ -0,0 +1,9 @@
+namespace ASC.Files.Core.Model
+{
+ public class CheckDocServiceUrlModel
+ {
+ public string DocServiceUrl { get; set; }
+ public string DocServiceUrlInternal { get; set; }
+ public string DocServiceUrlPortal { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/CreateTextOrHtmlFileModel.cs b/products/ASC.Files/Core/Model/CreateTextOrHtmlFileModel.cs
new file mode 100644
index 0000000000..79f8bda381
--- /dev/null
+++ b/products/ASC.Files/Core/Model/CreateTextOrHtmlFileModel.cs
@@ -0,0 +1,8 @@
+namespace ASC.Files.Core.Model
+{
+ public class CreateTextOrHtmlFileModel
+ {
+ public string Title { get; set; }
+ public string Content { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/CreateWordpressPostModel.cs b/products/ASC.Files/Core/Model/CreateWordpressPostModel.cs
new file mode 100644
index 0000000000..d8def65094
--- /dev/null
+++ b/products/ASC.Files/Core/Model/CreateWordpressPostModel.cs
@@ -0,0 +1,9 @@
+namespace ASC.Files.Core.Model
+{
+ public class CreateWordpressPostModel
+ {
+ public string Title { get; set; }
+ public string Content { get; set; }
+ public int Status { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/DisplayModel.cs b/products/ASC.Files/Core/Model/DisplayModel.cs
new file mode 100644
index 0000000000..9e9a2f359d
--- /dev/null
+++ b/products/ASC.Files/Core/Model/DisplayModel.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace ASC.Files.Core.Model
+{
+ public class DisplayModel
+ {
+ public bool Set { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/EasyBibCitationBookModel.cs b/products/ASC.Files/Core/Model/EasyBibCitationBookModel.cs
new file mode 100644
index 0000000000..8d07334f08
--- /dev/null
+++ b/products/ASC.Files/Core/Model/EasyBibCitationBookModel.cs
@@ -0,0 +1,7 @@
+namespace ASC.Files.Core.Model
+{
+ public class EasyBibCitationBookModel
+ {
+ public string CitationData { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/FileStreamModel.cs b/products/ASC.Files/Core/Model/FileStreamModel.cs
new file mode 100644
index 0000000000..9937b15f4c
--- /dev/null
+++ b/products/ASC.Files/Core/Model/FileStreamModel.cs
@@ -0,0 +1,11 @@
+using System.IO;
+
+namespace ASC.Files.Core.Model
+{
+ public class FileStreamModel
+ {
+ public Stream File { get; set; }
+ public bool Encrypted { get; set; }
+ public bool Forcesave { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/GenerateSharedLinkModel.cs b/products/ASC.Files/Core/Model/GenerateSharedLinkModel.cs
new file mode 100644
index 0000000000..99b66435e1
--- /dev/null
+++ b/products/ASC.Files/Core/Model/GenerateSharedLinkModel.cs
@@ -0,0 +1,9 @@
+using ASC.Files.Core.Security;
+
+namespace ASC.Files.Core.Model
+{
+ public class GenerateSharedLinkModel
+ {
+ public FileShare Share { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/HideConfirmConvertModel.cs b/products/ASC.Files/Core/Model/HideConfirmConvertModel.cs
new file mode 100644
index 0000000000..b7f3a462a9
--- /dev/null
+++ b/products/ASC.Files/Core/Model/HideConfirmConvertModel.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace ASC.Files.Core.Model
+{
+ public class HideConfirmConvertModel
+ {
+ public bool Save { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/InsertFileModel.cs b/products/ASC.Files/Core/Model/InsertFileModel.cs
new file mode 100644
index 0000000000..8f7b821598
--- /dev/null
+++ b/products/ASC.Files/Core/Model/InsertFileModel.cs
@@ -0,0 +1,12 @@
+using System.IO;
+
+namespace ASC.Files.Core.Model
+{
+ public class InsertFileModel
+ {
+ public Stream File { get; set; }
+ public string Title { get; set; }
+ public bool? CreateNewIfExist { get; set; }
+ public bool KeepConvertStatus { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/SaveEditingModel.cs b/products/ASC.Files/Core/Model/SaveEditingModel.cs
new file mode 100644
index 0000000000..b94e8d8f42
--- /dev/null
+++ b/products/ASC.Files/Core/Model/SaveEditingModel.cs
@@ -0,0 +1,13 @@
+using System.IO;
+
+namespace ASC.Files.Core.Model
+{
+ public class SaveEditingModel
+ {
+ public string FileExtension { get; set; }
+ public string DownloadUri { get; set; }
+ public Stream Stream { get; set; }
+ public string Doc { get; set; }
+ public bool Forcesave { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/TemplatesModel.cs b/products/ASC.Files/Core/Model/TemplatesModel.cs
new file mode 100644
index 0000000000..60b6b74646
--- /dev/null
+++ b/products/ASC.Files/Core/Model/TemplatesModel.cs
@@ -0,0 +1,9 @@
+using System.Collections.Generic;
+
+namespace ASC.Files.Core.Model
+{
+ public class TemplatesModel
+ {
+ public IEnumerable FileIds { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/ThirdPartyModel.cs b/products/ASC.Files/Core/Model/ThirdPartyModel.cs
new file mode 100644
index 0000000000..2758a84915
--- /dev/null
+++ b/products/ASC.Files/Core/Model/ThirdPartyModel.cs
@@ -0,0 +1,14 @@
+namespace ASC.Files.Core.Model
+{
+ public class ThirdPartyModel
+ {
+ public string Url { get; set; }
+ public string Login { get; set; }
+ public string Password { get; set; }
+ public string Token { get; set; }
+ public bool IsCorporate { get; set; }
+ public string CustomerTitle { get; set; }
+ public string ProviderKey { get; set; }
+ public string ProviderId { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/WordpressSaveModel.cs b/products/ASC.Files/Core/Model/WordpressSaveModel.cs
new file mode 100644
index 0000000000..06bf7928cf
--- /dev/null
+++ b/products/ASC.Files/Core/Model/WordpressSaveModel.cs
@@ -0,0 +1,7 @@
+namespace ASC.Files.Core.Model
+{
+ public class WordpressSaveModel
+ {
+ public string Code { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Server/Controllers/FilesController.cs b/products/ASC.Files/Server/Controllers/FilesController.cs
index b170f69cff..a47f10b93c 100644
--- a/products/ASC.Files/Server/Controllers/FilesController.cs
+++ b/products/ASC.Files/Server/Controllers/FilesController.cs
@@ -64,8 +64,6 @@ using Microsoft.AspNetCore.Mvc.ActionConstraints;
using Newtonsoft.Json.Linq;
-using FileShare = ASC.Files.Core.Security.FileShare;
-
namespace ASC.Api.Documents
{
///
@@ -403,10 +401,18 @@ namespace ASC.Api.Documents
/// List of files when posted as multipart/form-data
/// Uploaded file
[Create("@my/upload")]
- public List> UploadFileToMy(UploadModel uploadModel)
+ public List> UploadFileToMyFromBody([FromBody]UploadModel uploadModel)
{
uploadModel.CreateNewIfExist = false;
- return UploadFile(GlobalFolderHelper.FolderMy, uploadModel);
+ return FilesControllerHelperInt.UploadFile(GlobalFolderHelper.FolderMy, uploadModel);
+ }
+
+ [Create("@my/upload")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public List> UploadFileToMyFromForm([FromForm]UploadModel uploadModel)
+ {
+ uploadModel.CreateNewIfExist = false;
+ return FilesControllerHelperInt.UploadFile(GlobalFolderHelper.FolderMy, uploadModel);
}
///
@@ -428,12 +434,19 @@ namespace ASC.Api.Documents
/// List of files when posted as multipart/form-data
/// Uploaded file
[Create("@common/upload")]
- public List> UploadFileToCommon(UploadModel uploadModel)
+ public List> UploadFileToCommonFromBody([FromBody]UploadModel uploadModel)
{
uploadModel.CreateNewIfExist = false;
- return UploadFile(GlobalFolderHelper.FolderCommon, uploadModel);
+ return FilesControllerHelperInt.UploadFile(GlobalFolderHelper.FolderCommon, uploadModel);
}
+ [Create("@common/upload")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public List> UploadFileToCommonFromForm([FromForm]UploadModel uploadModel)
+ {
+ uploadModel.CreateNewIfExist = false;
+ return FilesControllerHelperInt.UploadFile(GlobalFolderHelper.FolderCommon, uploadModel);
+ }
///
/// Uploads the file specified with single file upload or standart multipart/form-data method to the selected folder
@@ -458,13 +471,28 @@ namespace ASC.Api.Documents
/// Keep status conversation after finishing
/// Uploaded file
[Create("{folderId}/upload", DisableFormat = true)]
- public List> UploadFile(string folderId, UploadModel uploadModel)
+ public List> UploadFileFromBody(string folderId, [FromBody]UploadModel uploadModel)
{
return FilesControllerHelperString.UploadFile(folderId, uploadModel);
}
+ [Create("{folderId}/upload", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public List> UploadFileFromForm(string folderId, [FromForm]UploadModel uploadModel)
+ {
+ return FilesControllerHelperString.UploadFile(folderId, uploadModel);
+ }
+
+
[Create("{folderId:int}/upload")]
- public List> UploadFile(int folderId, UploadModel uploadModel)
+ public List> UploadFileFromBody(int folderId, [FromBody]UploadModel uploadModel)
+ {
+ return FilesControllerHelperInt.UploadFile(folderId, uploadModel);
+ }
+
+ [Create("{folderId:int}/upload")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public List> UploadFileFromForm(int folderId, [FromForm]UploadModel uploadModel)
{
return FilesControllerHelperInt.UploadFile(folderId, uploadModel);
}
@@ -479,9 +507,16 @@ namespace ASC.Api.Documents
/// Uploads
///
[Create("@my/insert")]
- public FileWrapper InsertFileToMy(Stream file, string title, bool? createNewIfExist, bool keepConvertStatus = false)
+ public FileWrapper InsertFileToMyFromBody([FromBody]InsertFileModel model)
{
- return InsertFile(GlobalFolderHelper.FolderMy, file, title, createNewIfExist, keepConvertStatus);
+ return InsertFile(GlobalFolderHelper.FolderMy, model);
+ }
+
+ [Create("@my/insert")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper InsertFileToMyFromForm([FromForm]InsertFileModel model)
+ {
+ return InsertFile(GlobalFolderHelper.FolderMy, model);
}
///
@@ -494,9 +529,16 @@ namespace ASC.Api.Documents
/// Uploads
///
[Create("@common/insert")]
- public FileWrapper InsertFileToCommon(Stream file, string title, bool? createNewIfExist, bool keepConvertStatus = false)
+ public FileWrapper InsertFileToCommonFromBody([FromBody]InsertFileModel model)
{
- return InsertFile(GlobalFolderHelper.FolderCommon, file, title, createNewIfExist, keepConvertStatus);
+ return InsertFile(GlobalFolderHelper.FolderCommon, model);
+ }
+
+ [Create("@common/insert")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper InsertFileToCommonFromForm([FromForm]InsertFileModel model)
+ {
+ return InsertFile(GlobalFolderHelper.FolderCommon, model);
}
///
@@ -510,15 +552,38 @@ namespace ASC.Api.Documents
/// Uploads
///
[Create("{folderId}/insert", DisableFormat = true)]
- public FileWrapper InsertFile(string folderId, Stream file, string title, bool? createNewIfExist, bool keepConvertStatus = false)
+ public FileWrapper InsertFileFromBody(string folderId, [FromBody]InsertFileModel model)
{
- return FilesControllerHelperString.InsertFile(folderId, file, title, createNewIfExist, keepConvertStatus);
+ return InsertFile(folderId, model);
+ }
+
+ [Create("{folderId}/insert", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper InsertFileFromForm(string folderId, [FromForm]InsertFileModel model)
+ {
+ return InsertFile(folderId, model);
+ }
+
+ private FileWrapper InsertFile(string folderId, InsertFileModel model)
+ {
+ return FilesControllerHelperString.InsertFile(folderId, model.File, model.Title, model.CreateNewIfExist, model.KeepConvertStatus);
}
[Create("{folderId:int}/insert")]
- public FileWrapper InsertFile(int folderId, Stream file, string title, bool? createNewIfExist, bool keepConvertStatus = false)
+ public FileWrapper InsertFileFromBody(int folderId, [FromBody]InsertFileModel model)
{
- return FilesControllerHelperInt.InsertFile(folderId, file, title, createNewIfExist, keepConvertStatus);
+ return InsertFile(folderId, model);
+ }
+
+ [Create("{folderId:int}/insert")]
+ public FileWrapper InsertFileFromForm(int folderId, [FromForm]InsertFileModel model)
+ {
+ return InsertFile(folderId, model);
+ }
+
+ private FileWrapper InsertFile(int folderId, InsertFileModel model)
+ {
+ return FilesControllerHelperInt.InsertFile(folderId, model.File, model.Title, model.CreateNewIfExist, model.KeepConvertStatus);
}
///
@@ -530,15 +595,29 @@ namespace ASC.Api.Documents
///
/// false
[Update("{fileId}/update", DisableFormat = true)]
- public FileWrapper UpdateFileStream(Stream file, string fileId, bool encrypted = false, bool forcesave = false)
+ public FileWrapper UpdateFileStreamFromBody(string fileId, [FromBody]FileStreamModel model)
{
- return FilesControllerHelperString.UpdateFileStream(file, fileId, encrypted, forcesave);
+ return FilesControllerHelperString.UpdateFileStream(model.File, fileId, model.Encrypted, model.Forcesave);
+ }
+
+ [Update("{fileId}/update", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper UpdateFileStreamFromForm(string fileId, [FromForm]FileStreamModel model)
+ {
+ return FilesControllerHelperString.UpdateFileStream(model.File, fileId, model.Encrypted, model.Forcesave);
}
[Update("{fileId:int}/update")]
- public FileWrapper UpdateFileStream(Stream file, int fileId, bool encrypted = false, bool forcesave = false)
+ public FileWrapper UpdateFileStreamFromBody(int fileId, [FromBody]FileStreamModel model)
{
- return FilesControllerHelperInt.UpdateFileStream(file, fileId, encrypted, forcesave);
+ return FilesControllerHelperInt.UpdateFileStream(model.File, fileId, model.Encrypted, model.Forcesave);
+ }
+
+ [Update("{fileId:int}/update")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper UpdateFileStreamFromForm(int fileId, [FromForm]FileStreamModel model)
+ {
+ return FilesControllerHelperInt.UpdateFileStream(model.File, fileId, model.Encrypted, model.Forcesave);
}
@@ -554,15 +633,29 @@ namespace ASC.Api.Documents
/// Files
///
[Update("file/{fileId}/saveediting", DisableFormat = true)]
- public FileWrapper SaveEditing(string fileId, string fileExtension, string downloadUri, Stream stream, string doc, bool forcesave)
+ public FileWrapper SaveEditingFromBody(string fileId, [FromBody]SaveEditingModel model)
{
- return FilesControllerHelperString.SaveEditing(fileId, fileExtension, downloadUri, stream, doc, forcesave);
+ return FilesControllerHelperString.SaveEditing(fileId, model.FileExtension, model.DownloadUri, model.Stream, model.Doc, model.Forcesave);
+ }
+
+ [Update("file/{fileId}/saveediting", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper SaveEditingFromForm(string fileId, [FromForm]SaveEditingModel model)
+ {
+ return FilesControllerHelperString.SaveEditing(fileId, model.FileExtension, model.DownloadUri, model.Stream, model.Doc, model.Forcesave);
}
[Update("file/{fileId:int}/saveediting")]
- public FileWrapper SaveEditing(int fileId, string fileExtension, string downloadUri, Stream stream, string doc, bool forcesave)
+ public FileWrapper SaveEditingFromBody(int fileId, [FromBody]SaveEditingModel model)
{
- return FilesControllerHelperInt.SaveEditing(fileId, fileExtension, downloadUri, stream, doc, forcesave);
+ return FilesControllerHelperInt.SaveEditing(fileId, model.FileExtension, model.DownloadUri, model.Stream, model.Doc, model.Forcesave);
+ }
+
+ [Update("file/{fileId:int}/saveediting")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper SaveEditingFromForm(int fileId, [FromForm]SaveEditingModel model)
+ {
+ return FilesControllerHelperInt.SaveEditing(fileId, model.FileExtension, model.DownloadUri, model.Stream, model.Doc, model.Forcesave);
}
///
@@ -574,13 +667,27 @@ namespace ASC.Api.Documents
/// Files
///
[Create("file/{fileId}/startedit", DisableFormat = true)]
- public object StartEdit(string fileId, StartEditModel model)
+ public object StartEditFromBody(string fileId, [FromBody]StartEditModel model)
+ {
+ return FilesControllerHelperString.StartEdit(fileId, model.EditingAlone, model.Doc);
+ }
+
+ [Create("file/{fileId}/startedit", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object StartEditFromForm(string fileId, [FromForm]StartEditModel model)
{
return FilesControllerHelperString.StartEdit(fileId, model.EditingAlone, model.Doc);
}
[Create("file/{fileId:int}/startedit")]
- public object StartEdit(int fileId, StartEditModel model)
+ public object StartEditFromBody(int fileId, [FromBody]StartEditModel model)
+ {
+ return FilesControllerHelperInt.StartEdit(fileId, model.EditingAlone, model.Doc);
+ }
+
+ [Create("file/{fileId:int}/startedit")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object StartEditFromForm(int fileId, [FromForm]StartEditModel model)
{
return FilesControllerHelperInt.StartEdit(fileId, model.EditingAlone, model.Doc);
}
@@ -661,13 +768,27 @@ namespace ASC.Api.Documents
/// ]]>
///
[Create("{folderId}/upload/create_session", DisableFormat = true)]
- public object CreateUploadSession(string folderId, SessionModel sessionModel)
+ public object CreateUploadSessionFromBody(string folderId, [FromBody]SessionModel sessionModel)
+ {
+ return FilesControllerHelperString.CreateUploadSession(folderId, sessionModel.FileName, sessionModel.FileSize, sessionModel.RelativePath, sessionModel.Encrypted);
+ }
+
+ [Create("{folderId}/upload/create_session", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object CreateUploadSessionFromForm(string folderId, [FromForm]SessionModel sessionModel)
{
return FilesControllerHelperString.CreateUploadSession(folderId, sessionModel.FileName, sessionModel.FileSize, sessionModel.RelativePath, sessionModel.Encrypted);
}
[Create("{folderId:int}/upload/create_session")]
- public object CreateUploadSession(int folderId, SessionModel sessionModel)
+ public object CreateUploadSessionFromBody(int folderId, [FromBody]SessionModel sessionModel)
+ {
+ return FilesControllerHelperInt.CreateUploadSession(folderId, sessionModel.FileName, sessionModel.FileSize, sessionModel.RelativePath, sessionModel.Encrypted);
+ }
+
+ [Create("{folderId:int}/upload/create_session")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object CreateUploadSessionFromForm(int folderId, [FromForm]SessionModel sessionModel)
{
return FilesControllerHelperInt.CreateUploadSession(folderId, sessionModel.FileName, sessionModel.FileSize, sessionModel.RelativePath, sessionModel.Encrypted);
}
@@ -681,9 +802,16 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("@my/text")]
- public FileWrapper CreateTextFileInMy(string title, string content)
+ public FileWrapper CreateTextFileInMyFromBody([FromBody]CreateTextOrHtmlFileModel model)
{
- return CreateTextFile(GlobalFolderHelper.FolderMy, title, content);
+ return CreateTextFile(GlobalFolderHelper.FolderMy, model);
+ }
+
+ [Create("@my/text")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateTextFileInMyFromForm([FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateTextFile(GlobalFolderHelper.FolderMy, model);
}
///
@@ -695,9 +823,16 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("@common/text")]
- public FileWrapper CreateTextFileInCommon(string title, string content)
+ public FileWrapper CreateTextFileInCommonFromBody([FromBody]CreateTextOrHtmlFileModel model)
{
- return CreateTextFile(GlobalFolderHelper.FolderCommon, title, content);
+ return CreateTextFile(GlobalFolderHelper.FolderCommon, model);
+ }
+
+ [Create("@common/text")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateTextFileInCommonFromForm([FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateTextFile(GlobalFolderHelper.FolderCommon, model);
}
///
@@ -710,15 +845,38 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("{folderId}/text", DisableFormat = true)]
- public FileWrapper CreateTextFile(string folderId, string title, string content)
+ public FileWrapper CreateTextFileFromBody(string folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
- return FilesControllerHelperString.CreateTextFile(folderId, title, content);
+ return CreateTextFile(folderId, model);
+ }
+
+ [Create("{folderId}/text", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateTextFileFromForm(string folderId, [FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateTextFile(folderId, model);
+ }
+
+ private FileWrapper CreateTextFile(string folderId, CreateTextOrHtmlFileModel model)
+ {
+ return FilesControllerHelperString.CreateTextFile(folderId, model.Title, model.Content);
}
[Create("{folderId:int}/text")]
- public FileWrapper CreateTextFile(int folderId, string title, string content)
+ public FileWrapper CreateTextFileFromBody(int folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
- return FilesControllerHelperInt.CreateTextFile(folderId, title, content);
+ return CreateTextFile(folderId, model);
+ }
+
+ [Create("{folderId:int}/text")]
+ public FileWrapper CreateTextFileFromForm(int folderId, [FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateTextFile(folderId, model);
+ }
+
+ private FileWrapper CreateTextFile(int folderId, CreateTextOrHtmlFileModel model)
+ {
+ return FilesControllerHelperInt.CreateTextFile(folderId, model.Title, model.Content);
}
///
@@ -731,15 +889,39 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("{folderId}/html", DisableFormat = true)]
- public FileWrapper CreateHtmlFile(string folderId, string title, string content)
+ public FileWrapper CreateHtmlFileFromBody(string folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
- return FilesControllerHelperString.CreateHtmlFile(folderId, title, content);
+ return CreateHtmlFile(folderId, model);
+ }
+
+ [Create("{folderId}/html", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateHtmlFileFromForm(string folderId, [FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateHtmlFile(folderId, model);
+ }
+
+ private FileWrapper CreateHtmlFile(string folderId, CreateTextOrHtmlFileModel model)
+ {
+ return FilesControllerHelperString.CreateHtmlFile(folderId, model.Title, model.Content);
}
[Create("{folderId:int}/html")]
- public FileWrapper CreateHtmlFile(int folderId, string title, string content)
+ public FileWrapper CreateHtmlFileFromBody(int folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
- return FilesControllerHelperInt.CreateHtmlFile(folderId, title, content);
+ return CreateHtmlFile(folderId, model);
+ }
+
+ [Create("{folderId:int}/html")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateHtmlFileFromForm(int folderId, [FromForm] CreateTextOrHtmlFileModel model)
+ {
+ return CreateHtmlFile(folderId, model);
+ }
+
+ private FileWrapper CreateHtmlFile(int folderId, CreateTextOrHtmlFileModel model)
+ {
+ return FilesControllerHelperInt.CreateHtmlFile(folderId, model.Title, model.Content);
}
///
@@ -751,11 +933,17 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("@my/html")]
- public FileWrapper CreateHtmlFileInMy(string title, string content)
+ public FileWrapper CreateHtmlFileInMyFromBody([FromBody]CreateTextOrHtmlFileModel model)
{
- return CreateHtmlFile(GlobalFolderHelper.FolderMy, title, content);
+ return CreateHtmlFile(GlobalFolderHelper.FolderMy, model);
}
+ [Create("@my/html")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateHtmlFileInMyFromForm([FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateHtmlFile(GlobalFolderHelper.FolderMy, model);
+ }
///
/// Creates an html (.html) file in 'Common Documents' section with the title and contents sent in the request
@@ -766,11 +954,17 @@ namespace ASC.Api.Documents
/// File contents
/// Folder contents
[Create("@common/html")]
- public FileWrapper CreateHtmlFileInCommon(string title, string content)
+ public FileWrapper CreateHtmlFileInCommonFromBody([FromBody]CreateTextOrHtmlFileModel model)
{
- return CreateHtmlFile(GlobalFolderHelper.FolderCommon, title, content);
+ return CreateHtmlFile(GlobalFolderHelper.FolderCommon, model);
}
+ [Create("@common/html")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateHtmlFileInCommonFromForm([FromForm]CreateTextOrHtmlFileModel model)
+ {
+ return CreateHtmlFile(GlobalFolderHelper.FolderCommon, model);
+ }
///
/// Creates a new folder with the title sent in the request. The ID of a parent folder can be also specified.
@@ -783,17 +977,30 @@ namespace ASC.Api.Documents
/// Title of new folder
/// New folder contents
[Create("folder/{folderId}", DisableFormat = true)]
- public FolderWrapper CreateFolder(string folderId, CreateFolderModel folderModel)
+ public FolderWrapper CreateFolderFromBody(string folderId, [FromBody]CreateFolderModel folderModel)
+ {
+ return FilesControllerHelperString.CreateFolder(folderId, folderModel.Title);
+ }
+
+ [Create("folder/{folderId}", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FolderWrapper CreateFolderFromForm(string folderId, [FromForm]CreateFolderModel folderModel)
{
return FilesControllerHelperString.CreateFolder(folderId, folderModel.Title);
}
[Create("folder/{folderId:int}")]
- public FolderWrapper CreateFolder(int folderId, CreateFolderModel folderModel)
+ public FolderWrapper CreateFolderFromBody(int folderId, [FromBody]CreateFolderModel folderModel)
{
return FilesControllerHelperInt.CreateFolder(folderId, folderModel.Title);
}
+ [Create("folder/{folderId:int}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FolderWrapper CreateFolderFromForm(int folderId, [FromForm]CreateFolderModel folderModel)
+ {
+ return FilesControllerHelperInt.CreateFolder(folderId, folderModel.Title);
+ }
///
/// Creates a new file in the 'My Documents' section with the title sent in the request
@@ -804,9 +1011,16 @@ namespace ASC.Api.Documents
/// 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.
/// New file info
[Create("@my/file")]
- public FileWrapper CreateFile(CreateFileModel model)
+ public FileWrapper CreateFileFromBody([FromBody]CreateFileModel model)
{
- return CreateFile(GlobalFolderHelper.FolderMy, model);
+ return FilesControllerHelperInt.CreateFile(GlobalFolderHelper.FolderMy, model.Title, model.TemplateId);
+ }
+
+ [Create("@my/file")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateFileFromForm([FromForm]CreateFileModel model)
+ {
+ return FilesControllerHelperInt.CreateFile(GlobalFolderHelper.FolderMy, model.Title, model.TemplateId);
}
///
@@ -819,13 +1033,27 @@ namespace ASC.Api.Documents
/// 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.
/// New file info
[Create("{folderId}/file", DisableFormat = true)]
- public FileWrapper CreateFile(string folderId, CreateFileModel model)
+ public FileWrapper CreateFileFromBody(string folderId, [FromBody]CreateFileModel model)
+ {
+ return FilesControllerHelperString.CreateFile(folderId, model.Title, model.TemplateId);
+ }
+
+ [Create("{folderId}/file", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateFileFromForm(string folderId, [FromForm]CreateFileModel model)
{
return FilesControllerHelperString.CreateFile(folderId, model.Title, model.TemplateId);
}
[Create("{folderId:int}/file")]
- public FileWrapper CreateFile(int folderId, CreateFileModel model)
+ public FileWrapper CreateFileFromBody(int folderId, [FromBody]CreateFileModel model)
+ {
+ return FilesControllerHelperInt.CreateFile(folderId, model.Title, model.TemplateId);
+ }
+
+ [Create("{folderId:int}/file")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper CreateFileFromForm(int folderId, [FromForm]CreateFileModel model)
{
return FilesControllerHelperInt.CreateFile(folderId, model.Title, model.TemplateId);
}
@@ -841,13 +1069,27 @@ namespace ASC.Api.Documents
/// New title
/// Folder contents
[Update("folder/{folderId}", DisableFormat = true)]
- public FolderWrapper RenameFolder(string folderId, CreateFolderModel folderModel)
+ public FolderWrapper RenameFolderFromBody(string folderId, [FromBody]CreateFolderModel folderModel)
+ {
+ return FilesControllerHelperString.RenameFolder(folderId, folderModel.Title);
+ }
+
+ [Update("folder/{folderId}", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FolderWrapper RenameFolderFromForm(string folderId, [FromForm]CreateFolderModel folderModel)
{
return FilesControllerHelperString.RenameFolder(folderId, folderModel.Title);
}
[Update("folder/{folderId:int}")]
- public FolderWrapper RenameFolder(int folderId, CreateFolderModel folderModel)
+ public FolderWrapper RenameFolderFromBody(int folderId, [FromBody]CreateFolderModel folderModel)
+ {
+ return FilesControllerHelperInt.RenameFolder(folderId, folderModel.Title);
+ }
+
+ [Update("folder/{folderId:int}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FolderWrapper RenameFolderFromForm(int folderId, [FromForm]CreateFolderModel folderModel)
{
return FilesControllerHelperInt.RenameFolder(folderId, folderModel.Title);
}
@@ -916,13 +1158,27 @@ namespace ASC.Api.Documents
/// File last version number
/// File info
[Update("file/{fileId}", DisableFormat = true)]
- public FileWrapper UpdateFile(string fileId, UpdateFileModel model)
+ public FileWrapper UpdateFileFromBody(string fileId, [FromBody]UpdateFileModel model)
+ {
+ return FilesControllerHelperString.UpdateFile(fileId, model.Title, model.LastVersion);
+ }
+
+ [Update("file/{fileId}", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper UpdateFileFromForm(string fileId, [FromForm]UpdateFileModel model)
{
return FilesControllerHelperString.UpdateFile(fileId, model.Title, model.LastVersion);
}
[Update("file/{fileId:int}")]
- public FileWrapper UpdateFile(int fileId, UpdateFileModel model)
+ public FileWrapper UpdateFileFromBody(int fileId, [FromBody]UpdateFileModel model)
+ {
+ return FilesControllerHelperInt.UpdateFile(fileId, model.Title, model.LastVersion);
+ }
+
+ [Update("file/{fileId:int}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper UpdateFileFromForm(int fileId, [FromForm]UpdateFileModel model)
{
return FilesControllerHelperInt.UpdateFile(fileId, model.Title, model.LastVersion);
}
@@ -1017,7 +1273,14 @@ namespace ASC.Api.Documents
/// File ID list
/// Conflicts file ids
[Read("fileops/move")]
- public IEnumerable MoveOrCopyBatchCheck(BatchModel batchModel)
+ public IEnumerable MoveOrCopyBatchCheckFromBody([FromBody]BatchModel batchModel)
+ {
+ return FilesControllerHelperString.MoveOrCopyBatchCheck(batchModel);
+ }
+
+ [Read("fileops/move")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable MoveOrCopyBatchCheckFromForm([FromForm]BatchModel batchModel)
{
return FilesControllerHelperString.MoveOrCopyBatchCheck(batchModel);
}
@@ -1034,7 +1297,14 @@ namespace ASC.Api.Documents
/// Delete after finished
/// Operation result
[Update("fileops/move")]
- public IEnumerable MoveBatchItems(BatchModel batchModel)
+ public IEnumerable MoveBatchItemsFromBody([FromBody]BatchModel batchModel)
+ {
+ return FilesControllerHelperString.MoveBatchItems(batchModel);
+ }
+
+ [Update("fileops/move")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable MoveBatchItemsFromForm([FromForm]BatchModel batchModel)
{
return FilesControllerHelperString.MoveBatchItems(batchModel);
}
@@ -1051,7 +1321,14 @@ namespace ASC.Api.Documents
/// Delete after finished
/// Operation result
[Update("fileops/copy")]
- public IEnumerable CopyBatchItems(BatchModel batchModel)
+ public IEnumerable CopyBatchItemsFromBody([FromBody]BatchModel batchModel)
+ {
+ return FilesControllerHelperString.CopyBatchItems(batchModel);
+ }
+
+ [Update("fileops/copy")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable CopyBatchItemsFromForm([FromForm]BatchModel batchModel)
{
return FilesControllerHelperString.CopyBatchItems(batchModel);
}
@@ -1063,7 +1340,14 @@ namespace ASC.Api.Documents
/// File operations
/// Operation result
[Update("fileops/markasread")]
- public IEnumerable MarkAsRead(BaseBatchModel model)
+ public IEnumerable MarkAsReadFromBody([FromBody]BaseBatchModel model)
+ {
+ return FilesControllerHelperString.MarkAsRead(model);
+ }
+
+ [Update("fileops/markasread")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable MarkAsReadFromForm([FromForm]BaseBatchModel model)
{
return FilesControllerHelperString.MarkAsRead(model);
}
@@ -1103,7 +1387,14 @@ namespace ASC.Api.Documents
/// File operations
/// Operation result
[Update("fileops/bulkdownload")]
- public IEnumerable BulkDownload(DownloadModel model)
+ public IEnumerable BulkDownload([FromBody]DownloadModel model)
+ {
+ return FilesControllerHelperString.BulkDownload(model);
+ }
+
+ [Update("fileops/bulkdownload")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable BulkDownloadFromForm([FromForm]DownloadModel model)
{
return FilesControllerHelperString.BulkDownload(model);
}
@@ -1119,7 +1410,15 @@ namespace ASC.Api.Documents
/// File operations
/// Operation result
[Update("fileops/delete")]
- public IEnumerable DeleteBatchItems(DeleteBatchModel batch)
+ public IEnumerable DeleteBatchItemsFromBody([FromBody]DeleteBatchModel batch)
+ {
+ return FileStorageService.DeleteItems("delete", batch.FileIds.ToList(), batch.FolderIds.ToList(), false, batch.DeleteAfter, batch.Immediately)
+ .Select(FileOperationWraperHelper.Get);
+ }
+
+ [Update("fileops/delete")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable DeleteBatchItemsFromForm([FromForm]DeleteBatchModel batch)
{
return FileStorageService.DeleteItems("delete", batch.FileIds.ToList(), batch.FolderIds.ToList(), false, batch.DeleteAfter, batch.Immediately)
.Select(FileOperationWraperHelper.Get);
@@ -1165,37 +1464,79 @@ namespace ASC.Api.Documents
/// Files
///
[Update("file/{fileId}/history", DisableFormat = true)]
- public IEnumerable> ChangeHistory(string fileId, ChangeHistoryModel model)
+ public IEnumerable> ChangeHistoryFromBody(string fileId, [FromBody]ChangeHistoryModel model)
+ {
+ return FilesControllerHelperString.ChangeHistory(fileId, model.Version, model.ContinueVersion);
+ }
+
+ [Update("file/{fileId}/history", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable> ChangeHistoryFromForm(string fileId, [FromForm]ChangeHistoryModel model)
{
return FilesControllerHelperString.ChangeHistory(fileId, model.Version, model.ContinueVersion);
}
[Update("file/{fileId:int}/history")]
- public IEnumerable> ChangeHistory(int fileId, ChangeHistoryModel model)
+ public IEnumerable> ChangeHistoryFromBody(int fileId, [FromBody]ChangeHistoryModel model)
+ {
+ return FilesControllerHelperInt.ChangeHistory(fileId, model.Version, model.ContinueVersion);
+ }
+
+ [Update("file/{fileId:int}/history")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable> ChangeHistoryFromForm(int fileId, [FromForm]ChangeHistoryModel model)
{
return FilesControllerHelperInt.ChangeHistory(fileId, model.Version, model.ContinueVersion);
}
[Update("file/{fileId}/lock", DisableFormat = true)]
- public FileWrapper LockFile(string fileId, LockFileModel model)
+ public FileWrapper LockFileFromBody(string fileId, [FromBody]LockFileModel model)
+ {
+ return FilesControllerHelperString.LockFile(fileId, model.LockFile);
+ }
+
+ [Update("file/{fileId}/lock", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper LockFileFromForm(string fileId, [FromForm]LockFileModel model)
{
return FilesControllerHelperString.LockFile(fileId, model.LockFile);
}
[Update("file/{fileId:int}/lock")]
- public FileWrapper LockFile(int fileId, LockFileModel model)
+ public FileWrapper LockFileFromBody(int fileId, [FromBody]LockFileModel model)
+ {
+ return FilesControllerHelperInt.LockFile(fileId, model.LockFile);
+ }
+
+ [Update("file/{fileId:int}/lock")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileWrapper LockFileFromForm(int fileId, [FromForm]LockFileModel model)
{
return FilesControllerHelperInt.LockFile(fileId, model.LockFile);
}
[Update("file/{fileId}/comment", DisableFormat = true)]
- public object UpdateComment(string fileId, UpdateCommentModel model)
+ public object UpdateCommentFromBody(string fileId, [FromBody]UpdateCommentModel model)
+ {
+ return FilesControllerHelperString.UpdateComment(fileId, model.Version, model.Comment);
+ }
+
+ [Update("file/{fileId}/comment", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object UpdateCommentFromForm(string fileId, [FromForm]UpdateCommentModel model)
{
return FilesControllerHelperString.UpdateComment(fileId, model.Version, model.Comment);
}
[Update("file/{fileId:int}/comment")]
- public object UpdateComment(int fileId, UpdateCommentModel model)
+ public object UpdateCommentFromBody(int fileId, [FromBody]UpdateCommentModel model)
+ {
+ return FilesControllerHelperInt.UpdateComment(fileId, model.Version, model.Comment);
+ }
+
+ [Update("file/{fileId:int}/comment")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object UpdateCommentFromForm(int fileId, [FromForm]UpdateCommentModel model)
{
return FilesControllerHelperInt.UpdateComment(fileId, model.Version, model.Comment);
}
@@ -1252,13 +1593,27 @@ namespace ASC.Api.Documents
///
/// Shared file information
[Update("file/{fileId}/share", DisableFormat = true)]
- public IEnumerable SetFileSecurityInfo(string fileId, SecurityInfoModel model)
+ public IEnumerable SetFileSecurityInfoFromBody(string fileId, [FromBody]SecurityInfoModel model)
+ {
+ return FilesControllerHelperString.SetFileSecurityInfo(fileId, model.Share, model.Notify, model.SharingMessage);
+ }
+
+ [Update("file/{fileId}/share", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetFileSecurityInfoFromForm(string fileId, [FromForm]SecurityInfoModel model)
{
return FilesControllerHelperString.SetFileSecurityInfo(fileId, model.Share, model.Notify, model.SharingMessage);
}
[Update("file/{fileId:int}/share")]
- public IEnumerable SetFileSecurityInfo(int fileId, SecurityInfoModel model)
+ public IEnumerable SetFileSecurityInfoFromBody(int fileId, [FromBody]SecurityInfoModel model)
+ {
+ return FilesControllerHelperInt.SetFileSecurityInfo(fileId, model.Share, model.Notify, model.SharingMessage);
+ }
+
+ [Update("file/{fileId:int}/share")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetFileSecurityInfoFromForm(int fileId, [FromForm]SecurityInfoModel model)
{
return FilesControllerHelperInt.SetFileSecurityInfo(fileId, model.Share, model.Notify, model.SharingMessage);
}
@@ -1277,12 +1632,27 @@ namespace ASC.Api.Documents
/// Sharing
/// Shared folder information
[Update("folder/{folderId}/share", DisableFormat = true)]
- public IEnumerable SetFolderSecurityInfo(string folderId, SecurityInfoModel model)
+ public IEnumerable SetFolderSecurityInfoFromBody(string folderId, [FromBody]SecurityInfoModel model)
{
return FilesControllerHelperString.SetFolderSecurityInfo(folderId, model.Share, model.Notify, model.SharingMessage);
}
+
+ [Update("folder/{folderId}/share", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetFolderSecurityInfoFromForm(string folderId, [FromForm]SecurityInfoModel model)
+ {
+ return FilesControllerHelperString.SetFolderSecurityInfo(folderId, model.Share, model.Notify, model.SharingMessage);
+ }
+
[Update("folder/{folderId:int}/share")]
- public IEnumerable SetFolderSecurityInfo(int folderId, SecurityInfoModel model)
+ public IEnumerable SetFolderSecurityInfoFromBody(int folderId, [FromBody]SecurityInfoModel model)
+ {
+ return FilesControllerHelperInt.SetFolderSecurityInfo(folderId, model.Share, model.Notify, model.SharingMessage);
+ }
+
+ [Update("folder/{folderId:int}/share")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetFolderSecurityInfoFromForm(int folderId, [FromForm]SecurityInfoModel model)
{
return FilesControllerHelperInt.SetFolderSecurityInfo(folderId, model.Share, model.Notify, model.SharingMessage);
}
@@ -1314,15 +1684,29 @@ namespace ASC.Api.Documents
/// Files
/// Shared file link
[Update("{fileId}/sharedlink", DisableFormat = true)]
- public object GenerateSharedLink(string fileId, FileShare share)
+ public object GenerateSharedLinkFromBody(string fileId, [FromBody]GenerateSharedLinkModel model)
{
- return FilesControllerHelperString.GenerateSharedLink(fileId, share);
+ return FilesControllerHelperString.GenerateSharedLink(fileId, model.Share);
+ }
+
+ [Update("{fileId}/sharedlink", DisableFormat = true)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object GenerateSharedLinkFromForm(string fileId, [FromForm]GenerateSharedLinkModel model)
+ {
+ return FilesControllerHelperString.GenerateSharedLink(fileId, model.Share);
}
[Update("{fileId:int}/sharedlink")]
- public object GenerateSharedLink(int fileId, FileShare share)
+ public object GenerateSharedLinkFromBody(int fileId, [FromBody]GenerateSharedLinkModel model)
{
- return FilesControllerHelperInt.GenerateSharedLink(fileId, share);
+ return FilesControllerHelperInt.GenerateSharedLink(fileId, model.Share);
+ }
+
+ [Update("{fileId:int}/sharedlink")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object GenerateSharedLinkFromForm(int fileId, [FromForm] GenerateSharedLinkModel model)
+ {
+ return FilesControllerHelperInt.GenerateSharedLink(fileId, model.Share);
}
///
@@ -1364,23 +1748,27 @@ namespace ASC.Api.Documents
/// List of provider key: DropboxV2, Box, WebDav, Yandex, OneDrive, SharePoint, GoogleDrive
///
[Create("thirdparty")]
- public FolderWrapper SaveThirdParty(
- string url,
- string login,
- string password,
- string token,
- bool isCorporate,
- string customerTitle,
- string providerKey,
- string providerId)
+ public FolderWrapper SaveThirdPartyFromBody([FromBody]ThirdPartyModel model)
+ {
+ return SaveThirdParty(model);
+ }
+
+ [Create("thirdparty")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FolderWrapper SaveThirdPartyFromForm([FromForm]ThirdPartyModel model)
+ {
+ return SaveThirdParty(model);
+ }
+
+ private FolderWrapper SaveThirdParty(ThirdPartyModel model)
{
var thirdPartyParams = new ThirdPartyParams
{
- AuthData = new AuthData(url, login, password, token),
- Corporate = isCorporate,
- CustomerTitle = customerTitle,
- ProviderId = providerId,
- ProviderKey = providerKey,
+ AuthData = new AuthData(model.Url, model.Login, model.Password, model.Token),
+ Corporate = model.IsCorporate,
+ CustomerTitle = model.CustomerTitle,
+ ProviderId = model.ProviderId,
+ ProviderKey = model.ProviderKey,
};
var folder = FileStorageService.SaveThirdParty(thirdPartyParams);
@@ -1454,7 +1842,19 @@ namespace ASC.Api.Documents
/// File IDs
///
[Create("favorites")]
- public bool AddFavorites(BaseBatchModel model)
+ public bool AddFavoritesFromBody([FromBody]BaseBatchModel model)
+ {
+ return AddFavorites(model);
+ }
+
+ [Create("favorites")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool AddFavoritesFromForm([FromForm]BaseBatchModel model)
+ {
+ return AddFavorites(model);
+ }
+
+ private bool AddFavorites(BaseBatchModel model)
{
FileStorageServiceInt.AddToFavorites(model.FolderIds.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()), model.FileIds.Where(r => r.ValueKind == JsonValueKind.Number).Select(r => r.GetInt32()));
FileStorageService.AddToFavorites(model.FolderIds.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()), model.FileIds.Where(r => r.ValueKind == JsonValueKind.String).Select(r => r.GetString()));
@@ -1485,9 +1885,17 @@ namespace ASC.Api.Documents
/// File IDs
///
[Create("templates")]
- public bool AddTemplates(IEnumerable fileIds)
+ public bool AddTemplatesFromBody([FromBody]TemplatesModel model)
{
- FileStorageServiceInt.AddToTemplates(fileIds);
+ FileStorageServiceInt.AddToTemplates(model.FileIds);
+ return true;
+ }
+
+ [Create("templates")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool AddTemplatesFromForm([FromForm]TemplatesModel model)
+ {
+ FileStorageServiceInt.AddToTemplates(model.FileIds);
return true;
}
@@ -1511,7 +1919,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"storeoriginal")]
- public bool StoreOriginal(SettingsModel model)
+ public bool StoreOriginalFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.StoreOriginal(model.Set);
+ }
+
+ [Update(@"storeoriginal")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool StoreOriginalFromForm([FromForm]SettingsModel model)
{
return FileStorageService.StoreOriginal(model.Set);
}
@@ -1541,11 +1956,17 @@ namespace ASC.Api.Documents
/// false
///
[Update(@"hideconfirmconvert")]
- public bool HideConfirmConvert(bool save)
+ public bool HideConfirmConvertFromBody([FromBody]HideConfirmConvertModel model)
{
- return FileStorageService.HideConfirmConvert(save);
+ return FileStorageService.HideConfirmConvert(model.Save);
}
+ [Update(@"hideconfirmconvert")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool HideConfirmConvertFromForm([FromForm]HideConfirmConvertModel model)
+ {
+ return FileStorageService.HideConfirmConvert(model.Save);
+ }
///
///
@@ -1553,7 +1974,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"updateifexist")]
- public bool UpdateIfExist(SettingsModel model)
+ public bool UpdateIfExistFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.UpdateIfExist(model.Set);
+ }
+
+ [Update(@"updateifexist")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool UpdateIfExistFromForm([FromForm]SettingsModel model)
{
return FileStorageService.UpdateIfExist(model.Set);
}
@@ -1564,7 +1992,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"changedeleteconfrim")]
- public bool ChangeDeleteConfrim(SettingsModel model)
+ public bool ChangeDeleteConfrimFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.ChangeDeleteConfrim(model.Set);
+ }
+
+ [Update(@"changedeleteconfrim")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool ChangeDeleteConfrimFromForm([FromForm]SettingsModel model)
{
return FileStorageService.ChangeDeleteConfrim(model.Set);
}
@@ -1575,7 +2010,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"storeforcesave")]
- public bool StoreForcesave(SettingsModel model)
+ public bool StoreForcesaveFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.StoreForcesave(model.Set);
+ }
+
+ [Update(@"storeforcesave")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool StoreForcesaveFromForm([FromForm]SettingsModel model)
{
return FileStorageService.StoreForcesave(model.Set);
}
@@ -1586,7 +2028,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"forcesave")]
- public bool Forcesave(SettingsModel model)
+ public bool ForcesaveFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.Forcesave(model.Set);
+ }
+
+ [Update(@"forcesave")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool ForcesaveFromForm([FromForm]SettingsModel model)
{
return FileStorageService.Forcesave(model.Set);
}
@@ -1597,7 +2046,14 @@ namespace ASC.Api.Documents
///
///
[Update(@"thirdparty")]
- public bool ChangeAccessToThirdparty(SettingsModel model)
+ public bool ChangeAccessToThirdpartyFromBody([FromBody]SettingsModel model)
+ {
+ return FileStorageService.ChangeAccessToThirdparty(model.Set);
+ }
+
+ [Update(@"thirdparty")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool ChangeAccessToThirdpartyFromForm([FromForm]SettingsModel model)
{
return FileStorageService.ChangeAccessToThirdparty(model.Set);
}
@@ -1609,9 +2065,16 @@ namespace ASC.Api.Documents
/// Settings
///
[Update(@"displayRecent")]
- public bool DisplayRecent(bool set)
+ public bool DisplayRecentFromBody([FromBody]DisplayModel model)
{
- return FileStorageService.DisplayRecent(set);
+ return FileStorageService.DisplayRecent(model.Set);
+ }
+
+ [Update(@"displayRecent")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool DisplayRecentFromForm([FromForm]DisplayModel model)
+ {
+ return FileStorageService.DisplayRecent(model.Set);
}
///
@@ -1621,9 +2084,16 @@ namespace ASC.Api.Documents
/// Settings
///
[Update(@"settings/favorites")]
- public bool DisplayFavorite(bool set)
+ public bool DisplayFavoriteFromBody([FromBody]DisplayModel model)
{
- return FileStorageService.DisplayFavorite(set);
+ return FileStorageService.DisplayFavorite(model.Set);
+ }
+
+ [Update(@"settings/favorites")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool DisplayFavoriteFromForm([FromForm]DisplayModel model)
+ {
+ return FileStorageService.DisplayFavorite(model.Set);
}
///
@@ -1633,9 +2103,16 @@ namespace ASC.Api.Documents
/// Settings
///
[Update(@"settings/templates")]
- public bool DisplayTemplates(bool set)
+ public bool DisplayTemplatesFromBody([FromBody]DisplayModel model)
{
- return FileStorageService.DisplayTemplates(set);
+ return FileStorageService.DisplayTemplates(model.Set);
+ }
+
+ [Update(@"settings/templates")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool DisplayTemplatesFromForm([FromForm]DisplayModel model)
+ {
+ return FileStorageService.DisplayTemplates(model.Set);
}
///
@@ -1646,11 +2123,23 @@ namespace ASC.Api.Documents
/// Community Server Address
///
[Update("docservice")]
- public IEnumerable CheckDocServiceUrl(string docServiceUrl, string docServiceUrlInternal, string docServiceUrlPortal)
+ public IEnumerable CheckDocServiceUrlFromBody([FromBody]CheckDocServiceUrlModel model)
{
- FilesLinkUtility.DocServiceUrl = docServiceUrl;
- FilesLinkUtility.DocServiceUrlInternal = docServiceUrlInternal;
- FilesLinkUtility.DocServicePortalUrl = docServiceUrlPortal;
+ return CheckDocServiceUrl(model);
+ }
+
+ [Update("docservice")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable CheckDocServiceUrlFromForm([FromForm]CheckDocServiceUrlModel model)
+ {
+ return CheckDocServiceUrl(model);
+ }
+
+ public IEnumerable CheckDocServiceUrl(CheckDocServiceUrlModel model)
+ {
+ FilesLinkUtility.DocServiceUrl = model.DocServiceUrl;
+ FilesLinkUtility.DocServiceUrlInternal = model.DocServiceUrlInternal;
+ FilesLinkUtility.DocServicePortalUrl = model.DocServiceUrlPortal;
MessageService.Send(MessageAction.DocumentServiceLocationSetting);
@@ -1741,9 +2230,21 @@ namespace ASC.Api.Documents
/// false
[Create("wordpress-save")]
- public object WordpressSave(string code)
+ public object WordpressSaveFromBody([FromBody]WordpressSaveModel model)
{
- if (code == "")
+ return WordpressSave(model);
+ }
+
+ [Create("wordpress-save")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object WordpressSaveFromForm([FromForm]WordpressSaveModel model)
+ {
+ return WordpressSave(model);
+ }
+
+ private object WordpressSave(WordpressSaveModel model)
+ {
+ if (model.Code == "")
{
return new
{
@@ -1752,7 +2253,7 @@ namespace ASC.Api.Documents
}
try
{
- var token = WordpressToken.SaveTokenFromCode(code);
+ var token = WordpressToken.SaveTokenFromCode(model.Code);
var meInfo = WordpressHelper.GetWordpressMeInfo(token.AccessToken);
var blogId = JObject.Parse(meInfo).Value("token_site_id");
@@ -1780,7 +2281,19 @@ namespace ASC.Api.Documents
/// false
[Create("wordpress")]
- public bool CreateWordpressPost(string code, string title, string content, int status)
+ public bool CreateWordpressPostFromBody([FromBody]CreateWordpressPostModel model)
+ {
+ return CreateWordpressPost(model);
+ }
+
+ [Create("wordpress")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool CreateWordpressPostFromForm([FromForm]CreateWordpressPostModel model)
+ {
+ return CreateWordpressPost(model);
+ }
+
+ private bool CreateWordpressPost(CreateWordpressPostModel model)
{
try
{
@@ -1792,7 +2305,7 @@ namespace ASC.Api.Documents
if (blogId != null)
{
- var createPost = WordpressHelper.CreateWordpressPost(title, content, status, blogId, token);
+ var createPost = WordpressHelper.CreateWordpressPost(model.Title, model.Content, model.Status, blogId, token);
return createPost;
}
return false;
@@ -1854,11 +2367,23 @@ namespace ASC.Api.Documents
/// false
[Create("easybib-citation")]
- public object EasyBibCitationBook(string citationData)
+ public object EasyBibCitationBookFromBody([FromBody]EasyBibCitationBookModel model)
+ {
+ return EasyBibCitationBook(model);
+ }
+
+ [Create("easybib-citation")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object EasyBibCitationBookFromForm([FromForm]EasyBibCitationBookModel model)
+ {
+ return EasyBibCitationBook(model);
+ }
+
+ private object EasyBibCitationBook(EasyBibCitationBookModel model)
{
try
{
- var citat = EasyBibHelper.GetEasyBibCitation(citationData);
+ var citat = EasyBibHelper.GetEasyBibCitation(model.CitationData);
if (citat != null)
{
return new
diff --git a/products/ASC.Files/Server/Controllers/PrivacyRoomController.cs b/products/ASC.Files/Server/Controllers/PrivacyRoomController.cs
index a812ffdfc2..8a93c526dc 100644
--- a/products/ASC.Files/Server/Controllers/PrivacyRoomController.cs
+++ b/products/ASC.Files/Server/Controllers/PrivacyRoomController.cs
@@ -86,7 +86,19 @@ namespace ASC.Api.Documents
///
/// false
[Update("keys")]
- public object SetKeys(PrivacyRoomModel model)
+ public object SetKeysFromBody([FromBody]PrivacyRoomModel model)
+ {
+ return SetKeys(model);
+ }
+
+ [Update("keys")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SetKeysFromForm([FromForm]PrivacyRoomModel model)
+ {
+ return SetKeys(model);
+ }
+
+ private object SetKeys(PrivacyRoomModel model)
{
PermissionContext.DemandPermissions(new UserSecurityProvider(AuthContext.CurrentAccount.ID), Constants.Action_EditUser);
@@ -152,7 +164,19 @@ namespace ASC.Api.Documents
///
/// false
[Update("")]
- public bool SetPrivacyRoom(PrivacyRoomModel model)
+ public bool SetPrivacyRoomFromBody([FromBody]PrivacyRoomModel model)
+ {
+ return SetPrivacyRoom(model);
+ }
+
+ [Update("")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool SetPrivacyRoomFromForm([FromForm]PrivacyRoomModel model)
+ {
+ return SetPrivacyRoom(model);
+ }
+
+ private bool SetPrivacyRoom(PrivacyRoomModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
diff --git a/products/ASC.People/Server/Controllers/GroupController.cs b/products/ASC.People/Server/Controllers/GroupController.cs
index e55e5f41fb..81a460047d 100644
--- a/products/ASC.People/Server/Controllers/GroupController.cs
+++ b/products/ASC.People/Server/Controllers/GroupController.cs
@@ -63,7 +63,19 @@ namespace ASC.Employee.Core.Controllers
}
[Create]
- public GroupWrapperFull AddGroup(GroupModel groupModel)
+ public GroupWrapperFull AddGroupFromBody([FromBody]GroupModel groupModel)
+ {
+ return AddGroup(groupModel);
+ }
+
+ [Create]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull AddGroupFromForm([FromForm] GroupModel groupModel)
+ {
+ return AddGroup(groupModel);
+ }
+
+ private GroupWrapperFull AddGroup(GroupModel groupModel)
{
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
@@ -84,7 +96,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{groupid}")]
- public GroupWrapperFull UpdateGroup(Guid groupid, GroupModel groupModel)
+ public GroupWrapperFull UpdateGroupFromBody(Guid groupid, [FromBody]GroupModel groupModel)
+ {
+ return UpdateGroup(groupid, groupModel);
+ }
+
+ [Update("{groupid}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull UpdateGroupFromForm(Guid groupid, [FromForm] GroupModel groupModel)
+ {
+ return UpdateGroup(groupid, groupModel);
+ }
+
+ private GroupWrapperFull UpdateGroup(Guid groupid, GroupModel groupModel)
{
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
var group = UserManager.GetGroups().SingleOrDefault(x => x.ID == groupid).NotFoundIfNull("group not found");
@@ -96,7 +120,7 @@ namespace ASC.Employee.Core.Controllers
group.Name = groupModel.GroupName ?? group.Name;
UserManager.SaveGroupInfo(group);
- RemoveMembersFrom(new GroupModel { Groupid = groupid, Members = UserManager.GetUsersByGroup(groupid, EmployeeStatus.All).Select(u => u.ID).Where(id => !groupModel.Members.Contains(id)) });
+ RemoveMembersFrom(groupid, new GroupModel {Members = UserManager.GetUsersByGroup(groupid, EmployeeStatus.All).Select(u => u.ID).Where(id => !groupModel.Members.Contains(id)) });
TransferUserToDepartment(groupModel.GroupManager, @group, true);
if (groupModel.Members != null)
@@ -109,7 +133,7 @@ namespace ASC.Employee.Core.Controllers
MessageService.Send(MessageAction.GroupUpdated, MessageTarget.Create(groupid), group.Name);
- return GetById(groupModel.Groupid);
+ return GetById(groupid);
}
[Delete("{groupid}")]
@@ -135,34 +159,58 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{groupid}/members/{newgroupid}")]
- public GroupWrapperFull TransferMembersTo(TransferGroupMembersModel transferGroupMembersModel)
+ public GroupWrapperFull TransferMembersTo(Guid groupid, Guid newgroupid)
{
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
- var oldgroup = GetGroupInfo(transferGroupMembersModel.GroupId);
+ var oldgroup = GetGroupInfo(groupid);
- var newgroup = GetGroupInfo(transferGroupMembersModel.NewGroupId);
+ var newgroup = GetGroupInfo(newgroupid);
var users = UserManager.GetUsersByGroup(oldgroup.ID);
foreach (var userInfo in users)
{
TransferUserToDepartment(userInfo.ID, newgroup, false);
}
- return GetById(transferGroupMembersModel.NewGroupId);
+ return GetById(newgroupid);
}
[Create("{groupid}/members")]
- public GroupWrapperFull SetMembersTo(GroupModel groupModel)
+ public GroupWrapperFull SetMembersToFromBody(Guid groupid, [FromBody]GroupModel groupModel)
{
- RemoveMembersFrom(new GroupModel { Groupid = groupModel.Groupid, Members = UserManager.GetUsersByGroup(groupModel.Groupid).Select(x => x.ID) });
- AddMembersTo(groupModel);
- return GetById(groupModel.Groupid);
+ return SetMembersTo(groupid, groupModel);
+ }
+
+ [Create("{groupid}/members")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull SetMembersToFromForm(Guid groupid, [FromForm] GroupModel groupModel)
+ {
+ return SetMembersTo(groupid, groupModel);
+ }
+
+ private GroupWrapperFull SetMembersTo(Guid groupid, GroupModel groupModel)
+ {
+ RemoveMembersFrom(groupid, new GroupModel {Members = UserManager.GetUsersByGroup(groupid).Select(x => x.ID) });
+ AddMembersTo(groupid, groupModel);
+ return GetById(groupid);
}
[Update("{groupid}/members")]
- public GroupWrapperFull AddMembersTo(GroupModel groupModel)
+ public GroupWrapperFull AddMembersToFromBody(Guid groupid, [FromBody]GroupModel groupModel)
+ {
+ return AddMembersTo(groupid, groupModel);
+ }
+
+ [Update("{groupid}/members")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull AddMembersToFromForm(Guid groupid, [FromForm] GroupModel groupModel)
+ {
+ return AddMembersTo(groupid, groupModel);
+ }
+
+ private GroupWrapperFull AddMembersTo(Guid groupid, GroupModel groupModel)
{
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
- var group = GetGroupInfo(groupModel.Groupid);
+ var group = GetGroupInfo(groupid);
foreach (var userId in groupModel.Members)
{
@@ -172,9 +220,21 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{groupid}/manager")]
- public GroupWrapperFull SetManager(SetManagerModel setManagerModel)
+ public GroupWrapperFull SetManagerFromBody(Guid groupid, [FromBody]SetManagerModel setManagerModel)
{
- var group = GetGroupInfo(setManagerModel.GroupId);
+ return SetManager(groupid, setManagerModel);
+ }
+
+ [Update("{groupid}/manager")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull SetManagerFromForm(Guid groupid, [FromForm] SetManagerModel setManagerModel)
+ {
+ return SetManager(groupid, setManagerModel);
+ }
+
+ private GroupWrapperFull SetManager(Guid groupid, SetManagerModel setManagerModel)
+ {
+ var group = GetGroupInfo(groupid);
if (UserManager.UserExists(setManagerModel.UserId))
{
UserManager.SetDepartmentManager(group.ID, setManagerModel.UserId);
@@ -183,14 +243,26 @@ namespace ASC.Employee.Core.Controllers
{
throw new ItemNotFoundException("user not found");
}
- return GetById(setManagerModel.GroupId);
+ return GetById(groupid);
}
[Delete("{groupid}/members")]
- public GroupWrapperFull RemoveMembersFrom(GroupModel groupModel)
+ public GroupWrapperFull RemoveMembersFromFromBody(Guid groupid, [FromBody]GroupModel groupModel)
+ {
+ return RemoveMembersFrom(groupid, groupModel);
+ }
+
+ [Delete("{groupid}/members")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public GroupWrapperFull RemoveMembersFromFromForm(Guid groupid, [FromForm] GroupModel groupModel)
+ {
+ return RemoveMembersFrom(groupid, groupModel);
+ }
+
+ private GroupWrapperFull RemoveMembersFrom(Guid groupid, GroupModel groupModel)
{
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
- var group = GetGroupInfo(groupModel.Groupid);
+ var group = GetGroupInfo(groupid);
foreach (var userId in groupModel.Members)
{
diff --git a/products/ASC.People/Server/Controllers/PeopleController.cs b/products/ASC.People/Server/Controllers/PeopleController.cs
index c16e33e192..d13b63e232 100644
--- a/products/ASC.People/Server/Controllers/PeopleController.cs
+++ b/products/ASC.People/Server/Controllers/PeopleController.cs
@@ -346,7 +346,6 @@ namespace ASC.Employee.Core.Controllers
public IEnumerable GetSimpleByFilter(EmployeeStatus? employeeStatus, Guid? groupId, EmployeeActivationStatus? activationStatus, EmployeeType? employeeType, bool? isAdministrator)
{
var users = GetByFilter(employeeStatus, groupId, activationStatus, employeeType, isAdministrator);
-
return users.Select(EmployeeWraperHelper.Get);
}
@@ -399,7 +398,20 @@ namespace ASC.Employee.Core.Controllers
[Create]
[Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
- public EmployeeWraperFull AddMember(MemberModel memberModel)
+ public EmployeeWraperFull AddMemberFromBody([FromBody]MemberModel memberModel)
+ {
+ return AddMember(memberModel);
+ }
+
+ [Create]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull AddMemberFromForm([FromForm]MemberModel memberModel)
+ {
+ return AddMember(memberModel);
+ }
+
+ private EmployeeWraperFull AddMember(MemberModel memberModel)
{
ApiContext.AuthByClaim();
@@ -458,7 +470,19 @@ namespace ASC.Employee.Core.Controllers
}
[Create("active")]
- public EmployeeWraperFull AddMemberAsActivated(MemberModel memberModel)
+ public EmployeeWraperFull AddMemberAsActivatedFromBody([FromBody]MemberModel memberModel)
+ {
+ return AddMemberAsActivated(memberModel);
+ }
+
+ [Create("active")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull AddMemberAsActivatedFromForm([FromForm] MemberModel memberModel)
+ {
+ return AddMemberAsActivated(memberModel);
+ }
+
+ private EmployeeWraperFull AddMemberAsActivated(MemberModel memberModel)
{
PermissionContext.DemandPermissions(Constants.Action_AddRemoveUser);
@@ -514,7 +538,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{userid}/culture")]
- public EmployeeWraperFull UpdateMemberCulture(string userid, UpdateMemberModel memberModel)
+ public EmployeeWraperFull UpdateMemberCultureFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
+ {
+ return UpdateMemberCulture(userid, memberModel);
+ }
+
+ [Update("{userid}/culture")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull UpdateMemberCultureFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
+ {
+ return UpdateMemberCulture(userid, memberModel);
+ }
+
+ private EmployeeWraperFull UpdateMemberCulture(string userid, UpdateMemberModel memberModel)
{
var user = GetUserInfo(userid);
@@ -550,7 +586,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{userid}")]
- public EmployeeWraperFull UpdateMember(string userid, UpdateMemberModel memberModel)
+ public EmployeeWraperFull UpdateMemberFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
+ {
+ return UpdateMember(userid, memberModel);
+ }
+
+ [Update("{userid}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull UpdateMemberFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
+ {
+ return UpdateMember(userid, memberModel);
+ }
+
+ private EmployeeWraperFull UpdateMember(string userid, UpdateMemberModel memberModel)
{
var user = GetUserInfo(userid);
@@ -729,7 +777,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{userid}/contacts")]
- public EmployeeWraperFull UpdateMemberContacts(string userid, UpdateMemberModel memberModel)
+ public EmployeeWraperFull UpdateMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
+ {
+ return UpdateMemberContacts(userid, memberModel);
+ }
+
+ [Update("{userid}/contacts")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull UpdateMemberContactsFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
+ {
+ return UpdateMemberContacts(userid, memberModel);
+ }
+
+ private EmployeeWraperFull UpdateMemberContacts(string userid, UpdateMemberModel memberModel)
{
var user = GetUserInfo(userid);
@@ -742,7 +802,19 @@ namespace ASC.Employee.Core.Controllers
}
[Create("{userid}/contacts")]
- public EmployeeWraperFull SetMemberContacts(string userid, UpdateMemberModel memberModel)
+ public EmployeeWraperFull SetMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
+ {
+ return SetMemberContacts(userid, memberModel);
+ }
+
+ [Create("{userid}/contacts")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull SetMemberContactsFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
+ {
+ return SetMemberContacts(userid, memberModel);
+ }
+
+ private EmployeeWraperFull SetMemberContacts(string userid,UpdateMemberModel memberModel)
{
var user = GetUserInfo(userid);
@@ -755,7 +827,19 @@ namespace ASC.Employee.Core.Controllers
}
[Delete("{userid}/contacts")]
- public EmployeeWraperFull DeleteMemberContacts(string userid, UpdateMemberModel memberModel)
+ public EmployeeWraperFull DeleteMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
+ {
+ return DeleteMemberContacts(userid, memberModel);
+ }
+
+ [Delete("{userid}/contacts")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull DeleteMemberContactsFromForm(string userid, [FromForm]UpdateMemberModel memberModel)
+ {
+ return DeleteMemberContacts(userid, memberModel);
+ }
+
+ private EmployeeWraperFull DeleteMemberContacts(string userid, UpdateMemberModel memberModel)
{
var user = GetUserInfo(userid);
@@ -780,7 +864,19 @@ namespace ASC.Employee.Core.Controllers
[Create("{userid}/photo")]
- public FileUploadResult UploadMemberPhoto(string userid, IFormCollection model)
+ public FileUploadResult UploadMemberPhotoFromBody(string userid, [FromBody]IFormCollection model)
+ {
+ return UploadMemberPhoto(userid, model);
+ }
+
+ [Create("{userid}/photo")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public FileUploadResult UploadMemberPhotoFromForm(string userid, [FromForm] IFormCollection model)
+ {
+ return UploadMemberPhoto(userid, model);
+ }
+
+ private FileUploadResult UploadMemberPhoto(string userid, IFormCollection model)
{
var result = new People.Models.FileUploadResult();
var autosave = bool.Parse(model["Autosave"]);
@@ -876,7 +972,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{userid}/photo")]
- public ThumbnailsDataWrapper UpdateMemberPhoto(string userid, UpdateMemberModel model)
+ public ThumbnailsDataWrapper UpdateMemberPhotoFromBody(string userid, [FromBody]UpdateMemberModel model)
+ {
+ return UpdateMemberPhoto(userid, model);
+ }
+
+ [Update("{userid}/photo")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public ThumbnailsDataWrapper UpdateMemberPhotoFromForm(string userid, [FromForm] UpdateMemberModel model)
+ {
+ return UpdateMemberPhoto(userid, model);
+ }
+
+ private ThumbnailsDataWrapper UpdateMemberPhoto(string userid, UpdateMemberModel model)
{
var user = GetUserInfo(userid);
@@ -914,7 +1022,19 @@ namespace ASC.Employee.Core.Controllers
[Create("{userid}/photo/thumbnails")]
- public ThumbnailsDataWrapper CreateMemberPhotoThumbnails(string userid, ThumbnailsModel thumbnailsModel)
+ public ThumbnailsDataWrapper CreateMemberPhotoThumbnailsFromBody(string userid, [FromBody]ThumbnailsModel thumbnailsModel)
+ {
+ return CreateMemberPhotoThumbnails(userid, thumbnailsModel);
+ }
+
+ [Create("{userid}/photo/thumbnails")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public ThumbnailsDataWrapper CreateMemberPhotoThumbnailsFromForm(string userid, [FromForm] ThumbnailsModel thumbnailsModel)
+ {
+ return CreateMemberPhotoThumbnails(userid, thumbnailsModel);
+ }
+
+ private ThumbnailsDataWrapper CreateMemberPhotoThumbnails(string userid, ThumbnailsModel thumbnailsModel)
{
var user = GetUserInfo(userid);
@@ -949,7 +1069,20 @@ namespace ASC.Employee.Core.Controllers
[AllowAnonymous]
[Create("password", false)]
- public object SendUserPassword(MemberModel memberModel)
+ public object SendUserPasswordFromBody([FromBody]MemberModel memberModel)
+ {
+ return SendUserPassword(memberModel);
+ }
+
+ [AllowAnonymous]
+ [Create("password", false)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SendUserPasswordFromForm([FromForm] MemberModel memberModel)
+ {
+ return SendUserPassword(memberModel);
+ }
+
+ private object SendUserPassword(MemberModel memberModel)
{
string error;
if (!string.IsNullOrEmpty(error = UserManagerWrapper.SendUserPassword(memberModel.Email)))
@@ -962,7 +1095,20 @@ namespace ASC.Employee.Core.Controllers
[Update("{userid}/password")]
[Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,Administrators")]
- public EmployeeWraperFull ChangeUserPassword(Guid userid, MemberModel memberModel)
+ public EmployeeWraperFull ChangeUserPasswordFromBody(Guid userid, [FromBody]MemberModel memberModel)
+ {
+ return ChangeUserPassword(userid, memberModel);
+ }
+
+ [Update("{userid}/password")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,Administrators")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmployeeWraperFull ChangeUserPasswordFromForm(Guid userid, [FromForm] MemberModel memberModel)
+ {
+ return ChangeUserPassword(userid, memberModel);
+ }
+
+ private EmployeeWraperFull ChangeUserPassword(Guid userid, MemberModel memberModel)
{
ApiContext.AuthByClaim();
PermissionContext.DemandPermissions(new UserSecurityProvider(userid), Constants.Action_EditUser);
@@ -1010,7 +1156,19 @@ namespace ASC.Employee.Core.Controllers
[Create("email", false)]
- public object SendEmailChangeInstructions(UpdateMemberModel model)
+ public object SendEmailChangeInstructionsFromBody([FromBody]UpdateMemberModel model)
+ {
+ return SendEmailChangeInstructions(model);
+ }
+
+ [Create("email", false)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SendEmailChangeInstructionsFromForm([FromForm] UpdateMemberModel model)
+ {
+ return SendEmailChangeInstructions(model);
+ }
+
+ private object SendEmailChangeInstructions(UpdateMemberModel model)
{
Guid.TryParse(model.UserId, out var userid);
@@ -1075,7 +1233,20 @@ namespace ASC.Employee.Core.Controllers
[Update("activationstatus/{activationstatus}")]
[Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
- public IEnumerable UpdateEmployeeActivationStatus(EmployeeActivationStatus activationstatus, UpdateMembersModel model)
+ public IEnumerable UpdateEmployeeActivationStatusFromBody(EmployeeActivationStatus activationstatus, [FromBody]UpdateMembersModel model)
+ {
+ return UpdateEmployeeActivationStatus(activationstatus, model);
+ }
+
+ [Update("activationstatus/{activationstatus}")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable UpdateEmployeeActivationStatusFromForm(EmployeeActivationStatus activationstatus, [FromForm] UpdateMembersModel model)
+ {
+ return UpdateEmployeeActivationStatus(activationstatus, model);
+ }
+
+ private IEnumerable UpdateEmployeeActivationStatus(EmployeeActivationStatus activationstatus, UpdateMembersModel model)
{
ApiContext.AuthByClaim();
@@ -1094,9 +1265,20 @@ namespace ASC.Employee.Core.Controllers
return retuls;
}
+ [Update("type/{type}")]
+ public IEnumerable UpdateUserTypeFromBody(EmployeeType type, [FromBody]UpdateMembersModel model)
+ {
+ return UpdateUserType(type, model);
+ }
[Update("type/{type}")]
- public IEnumerable UpdateUserType(EmployeeType type, UpdateMembersModel model)
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable UpdateUserTypeFromForm(EmployeeType type, [FromForm] UpdateMembersModel model)
+ {
+ return UpdateUserType(type, model);
+ }
+
+ private IEnumerable UpdateUserType(EmployeeType type, UpdateMembersModel model)
{
var users = model.UserIds
.Where(userId => !UserManager.IsSystemUser(userId))
@@ -1133,7 +1315,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("status/{status}")]
- public IEnumerable UpdateUserStatus(EmployeeStatus status, UpdateMembersModel model)
+ public IEnumerable UpdateUserStatusFromBody(EmployeeStatus status, [FromBody]UpdateMembersModel model)
+ {
+ return UpdateUserStatus(status, model);
+ }
+
+ [Update("status/{status}")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable UpdateUserStatusFromForm(EmployeeStatus status, [FromForm] UpdateMembersModel model)
+ {
+ return UpdateUserStatus(status, model);
+ }
+
+ private IEnumerable UpdateUserStatus(EmployeeStatus status, UpdateMembersModel model)
{
PermissionContext.DemandPermissions(Constants.Action_EditUser);
@@ -1175,7 +1369,19 @@ namespace ASC.Employee.Core.Controllers
[Update("invite")]
- public IEnumerable ResendUserInvites(UpdateMembersModel model)
+ public IEnumerable ResendUserInvitesFromBody([FromBody]UpdateMembersModel model)
+ {
+ return ResendUserInvites(model);
+ }
+
+ [Update("invite")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable ResendUserInvitesFromForm([FromForm] UpdateMembersModel model)
+ {
+ return ResendUserInvites(model);
+ }
+
+ private IEnumerable ResendUserInvites(UpdateMembersModel model)
{
var users = model.UserIds
.Where(userId => !UserManager.IsSystemUser(userId))
@@ -1209,7 +1415,19 @@ namespace ASC.Employee.Core.Controllers
}
[Update("delete", Order = -1)]
- public IEnumerable RemoveUsers(UpdateMembersModel model)
+ public IEnumerable RemoveUsersFromBody([FromBody]UpdateMembersModel model)
+ {
+ return RemoveUsers(model);
+ }
+
+ [Update("delete", Order = -1)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable RemoveUsersFromForm([FromForm] UpdateMembersModel model)
+ {
+ return RemoveUsers(model);
+ }
+
+ private IEnumerable RemoveUsers(UpdateMembersModel model)
{
PermissionContext.DemandPermissions(Constants.Action_AddRemoveUser);
@@ -1252,9 +1470,21 @@ namespace ASC.Employee.Core.Controllers
[Update("thirdparty/linkaccount")]
- public void LinkAccount(string serializedProfile)
+ public void LinkAccountFromBody([FromBody]LinkAccountModel model)
{
- var profile = new LoginProfile(Signature, InstanceCrypto, serializedProfile);
+ LinkAccount(model);
+ }
+
+ [Update("thirdparty/linkaccount")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void LinkAccountFromForm([FromForm]LinkAccountModel model)
+ {
+ LinkAccount(model);
+ }
+
+ public void LinkAccount(LinkAccountModel model)
+ {
+ var profile = new LoginProfile(Signature, InstanceCrypto, model.SerializedProfile);
if (string.IsNullOrEmpty(profile.AuthorizationError))
{
@@ -1311,35 +1541,56 @@ namespace ASC.Employee.Core.Controllers
}
[Update(@"reassign/terminate")]
- public void TerminateReassign(Guid userId)
+ public void TerminateReassignFromBody([FromBody]TerminateModel model)
{
PermissionContext.DemandPermissions(Constants.Action_EditUser);
- QueueWorkerReassign.Terminate(Tenant.TenantId, userId);
+ QueueWorkerReassign.Terminate(Tenant.TenantId, model.UserId);
+ }
+
+ [Update(@"reassign/terminate")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void TerminateReassignFromForm([FromForm]TerminateModel model)
+ {
+ PermissionContext.DemandPermissions(Constants.Action_EditUser);
+
+ QueueWorkerReassign.Terminate(Tenant.TenantId, model.UserId);
}
[Create(@"reassign/start")]
- public ReassignProgressItem StartReassign(Guid fromUserId, Guid toUserId, bool deleteProfile)
+ public ReassignProgressItem StartReassignFromBody([FromBody]StartReassignModel model)
+ {
+ return StartReassign(model);
+ }
+
+ [Create(@"reassign/start")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public ReassignProgressItem StartReassignFromForm([FromForm]StartReassignModel model)
+ {
+ return StartReassign(model);
+ }
+
+ private ReassignProgressItem StartReassign(StartReassignModel model)
{
PermissionContext.DemandPermissions(Constants.Action_EditUser);
- var fromUser = UserManager.GetUsers(fromUserId);
+ var fromUser = UserManager.GetUsers(model.FromUserId);
if (fromUser == null || fromUser.ID == Constants.LostUser.ID)
- throw new ArgumentException("User with id = " + fromUserId + " not found");
+ throw new ArgumentException("User with id = " + model.FromUserId + " not found");
if (fromUser.IsOwner(Tenant) || fromUser.IsMe(AuthContext) || fromUser.Status != EmployeeStatus.Terminated)
- throw new ArgumentException("Can not delete user with id = " + fromUserId);
+ throw new ArgumentException("Can not delete user with id = " + model.FromUserId);
- var toUser = UserManager.GetUsers(toUserId);
+ var toUser = UserManager.GetUsers(model.ToUserId);
if (toUser == null || toUser.ID == Constants.LostUser.ID)
- throw new ArgumentException("User with id = " + toUserId + " not found");
+ throw new ArgumentException("User with id = " + model.ToUserId + " not found");
if (toUser.IsVisitor(UserManager) || toUser.Status == EmployeeStatus.Terminated)
- throw new ArgumentException("Can not reassign data to user with id = " + toUserId);
+ throw new ArgumentException("Can not reassign data to user with id = " + model.ToUserId);
- return QueueWorkerReassign.Start(Tenant.TenantId, fromUserId, toUserId, SecurityContext.CurrentAccount.ID, deleteProfile);
+ return QueueWorkerReassign.Start(Tenant.TenantId, model.FromUserId, model.ToUserId, SecurityContext.CurrentAccount.ID, model.DeleteProfile);
}
private void CheckReassignProccess(IEnumerable userIds)
@@ -1357,7 +1608,6 @@ namespace ASC.Employee.Core.Controllers
//#endregion
-
#region Remove user data
@@ -1370,25 +1620,46 @@ namespace ASC.Employee.Core.Controllers
}
[Update(@"remove/terminate")]
- public void TerminateRemove(Guid userId)
+ public void TerminateRemoveFromBody([FromBody]TerminateModel model)
{
PermissionContext.DemandPermissions(Constants.Action_EditUser);
- QueueWorkerRemove.Terminate(Tenant.TenantId, userId);
+ QueueWorkerRemove.Terminate(Tenant.TenantId, model.UserId);
+ }
+
+ [Update(@"remove/terminate")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void TerminateRemoveFromForm([FromForm]TerminateModel model)
+ {
+ PermissionContext.DemandPermissions(Constants.Action_EditUser);
+
+ QueueWorkerRemove.Terminate(Tenant.TenantId, model.UserId);
}
[Create(@"remove/start")]
- public RemoveProgressItem StartRemove(Guid userId)
+ public RemoveProgressItem StartRemoveFromBody([FromBody]TerminateModel model)
+ {
+ return StartRemove(model);
+ }
+
+ [Create(@"remove/start")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public RemoveProgressItem StartRemoveFromForm([FromForm]TerminateModel model)
+ {
+ return StartRemove(model);
+ }
+
+ private RemoveProgressItem StartRemove(TerminateModel model)
{
PermissionContext.DemandPermissions(Constants.Action_EditUser);
- var user = UserManager.GetUsers(userId);
+ var user = UserManager.GetUsers(model.UserId);
if (user == null || user.ID == Constants.LostUser.ID)
- throw new ArgumentException("User with id = " + userId + " not found");
+ throw new ArgumentException("User with id = " + model.UserId + " not found");
if (user.IsOwner(Tenant) || user.IsMe(AuthContext) || user.Status != EmployeeStatus.Terminated)
- throw new ArgumentException("Can not delete user with id = " + userId);
+ throw new ArgumentException("Can not delete user with id = " + model.UserId);
return QueueWorkerRemove.Start(Tenant.TenantId, user, SecurityContext.CurrentAccount.ID, true);
}
diff --git a/products/ASC.People/Server/Models/GroupModel.cs b/products/ASC.People/Server/Models/GroupModel.cs
index 555a289f5e..5695882e03 100644
--- a/products/ASC.People/Server/Models/GroupModel.cs
+++ b/products/ASC.People/Server/Models/GroupModel.cs
@@ -5,7 +5,6 @@ namespace ASC.People.Models
{
public class GroupModel
{
- public Guid Groupid { get; set; }
public Guid GroupManager { get; set; }
public string GroupName { get; set; }
public IEnumerable Members { get; set; }
diff --git a/products/ASC.People/Server/Models/LinkAccountModel.cs b/products/ASC.People/Server/Models/LinkAccountModel.cs
new file mode 100644
index 0000000000..c195401f81
--- /dev/null
+++ b/products/ASC.People/Server/Models/LinkAccountModel.cs
@@ -0,0 +1,7 @@
+namespace ASC.People.Models
+{
+ public class LinkAccountModel
+ {
+ public string SerializedProfile{get;set;}
+ }
+}
diff --git a/products/ASC.People/Server/Models/SetManagerModel.cs b/products/ASC.People/Server/Models/SetManagerModel.cs
index b4ec5af64c..1c7c8a04a2 100644
--- a/products/ASC.People/Server/Models/SetManagerModel.cs
+++ b/products/ASC.People/Server/Models/SetManagerModel.cs
@@ -4,7 +4,6 @@ namespace ASC.People.Models
{
public class SetManagerModel
{
- public Guid GroupId { get; set; }
public Guid UserId { get; set; }
}
}
diff --git a/products/ASC.People/Server/Models/StartReassignModel.cs b/products/ASC.People/Server/Models/StartReassignModel.cs
new file mode 100644
index 0000000000..da38a0a125
--- /dev/null
+++ b/products/ASC.People/Server/Models/StartReassignModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace ASC.People.Models
+{
+ public class StartReassignModel
+ {
+ public Guid FromUserId { get; set; }
+ public Guid ToUserId { get; set; }
+ public bool DeleteProfile { get; set; }
+ }
+}
diff --git a/products/ASC.People/Server/Models/TerminateModel.cs b/products/ASC.People/Server/Models/TerminateModel.cs
new file mode 100644
index 0000000000..c31f618ff0
--- /dev/null
+++ b/products/ASC.People/Server/Models/TerminateModel.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace ASC.People.Models
+{
+ public class TerminateModel
+ {
+ public Guid UserId { get; set; }
+ }
+}
diff --git a/web/ASC.Web.Api/Controllers/AuthenticationController.cs b/web/ASC.Web.Api/Controllers/AuthenticationController.cs
index 6e11e13519..8659ceceb0 100644
--- a/web/ASC.Web.Api/Controllers/AuthenticationController.cs
+++ b/web/ASC.Web.Api/Controllers/AuthenticationController.cs
@@ -60,7 +60,7 @@ namespace ASC.Web.Api.Controllers
return AuthenticateMe(auth);
}
- public AuthenticationTokenData AuthenticateMe(AuthModel auth)
+ private AuthenticationTokenData AuthenticateMe(AuthModel auth)
{
var tenant = TenantManager.GetCurrentTenant();
var user = GetUser(tenant.TenantId, auth);
@@ -92,7 +92,15 @@ namespace ASC.Web.Api.Controllers
[AllowAnonymous]
[Create("confirm", false)]
- public ValidationResult CheckConfirm([FromBody] EmailValidationKeyModel model)
+ public ValidationResult CheckConfirmFromBody([FromBody] EmailValidationKeyModel model)
+ {
+ return EmailValidationKeyModelHelper.Validate(model);
+ }
+
+ [AllowAnonymous]
+ [Create("confirm", false)]
+ [Consumes("application/x-www-form-urlencoded")]
+ public ValidationResult CheckConfirmFromForm([FromForm] EmailValidationKeyModel model)
{
return EmailValidationKeyModelHelper.Validate(model);
}
diff --git a/web/ASC.Web.Api/Controllers/PortalController.cs b/web/ASC.Web.Api/Controllers/PortalController.cs
index f3e006428c..28a2d445cf 100644
--- a/web/ASC.Web.Api/Controllers/PortalController.cs
+++ b/web/ASC.Web.Api/Controllers/PortalController.cs
@@ -21,7 +21,6 @@ using ASC.Web.Core.Utility;
using ASC.Web.Studio.Core;
using ASC.Web.Studio.Core.Notify;
using ASC.Web.Studio.UserControls.Management;
-using ASC.Web.Studio.UserControls.Statistics;
using ASC.Web.Studio.Utility;
using Microsoft.AspNetCore.Mvc;
@@ -222,11 +221,19 @@ namespace ASC.Web.Api.Controllers
}
[Create("mobile/registration")]
- public void RegisterMobileAppInstall(MobileAppModel model)
+ public void RegisterMobileAppInstallFromBody([FromBody]MobileAppModel model)
{
var currentUser = UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
MobileAppInstallRegistrator.RegisterInstall(currentUser.Email, model.Type);
- }
+ }
+
+ [Create("mobile/registration")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void RegisterMobileAppInstallFromForm([FromForm]MobileAppModel model)
+ {
+ var currentUser = UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
+ MobileAppInstallRegistrator.RegisterInstall(currentUser.Email, model.Type);
+ }
}
public static class PortalControllerExtension
diff --git a/web/ASC.Web.Api/Controllers/SecurityController.cs b/web/ASC.Web.Api/Controllers/SecurityController.cs
index 31af628ae4..d2df292faf 100644
--- a/web/ASC.Web.Api/Controllers/SecurityController.cs
+++ b/web/ASC.Web.Api/Controllers/SecurityController.cs
@@ -134,7 +134,19 @@ namespace ASC.Web.Api.Controllers
}
[Create("audit/settings/lifetime")]
- public TenantAuditSettings SetAuditSettings(TenantAuditSettingsWrapper wrapper)
+ public TenantAuditSettings SetAuditSettingsFromBody([FromBody] TenantAuditSettingsWrapper wrapper)
+ {
+ return SetAuditSettings(wrapper);
+ }
+
+ [Create("audit/settings/lifetime")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public TenantAuditSettings SetAuditSettingsFromForm([FromForm] TenantAuditSettingsWrapper wrapper)
+ {
+ return SetAuditSettings(wrapper);
+ }
+
+ private TenantAuditSettings SetAuditSettings(TenantAuditSettingsWrapper wrapper)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
diff --git a/web/ASC.Web.Api/Controllers/SettingsController.cs b/web/ASC.Web.Api/Controllers/SettingsController.cs
index c14b59ce03..1c208670fa 100644
--- a/web/ASC.Web.Api/Controllers/SettingsController.cs
+++ b/web/ASC.Web.Api/Controllers/SettingsController.cs
@@ -341,7 +341,19 @@ namespace ASC.Api.Settings
}
[Create("messagesettings")]
- public object EnableAdminMessageSettings(AdminMessageSettingsModel model)
+ public object EnableAdminMessageSettingsFromBody([FromBody]AdminMessageSettingsModel model)
+ {
+ return EnableAdminMessageSettings(model);
+ }
+
+ [Create("messagesettings")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object EnableAdminMessageSettingsFromForm([FromForm] AdminMessageSettingsModel model)
+ {
+ return EnableAdminMessageSettings(model);
+ }
+
+ private object EnableAdminMessageSettings(AdminMessageSettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -354,7 +366,20 @@ namespace ASC.Api.Settings
[AllowAnonymous]
[Create("sendadmmail")]
- public object SendAdmMail(AdminMessageSettingsModel model)
+ public object SendAdmMailFromBody([FromBody]AdminMessageSettingsModel model)
+ {
+ return SendAdmMail(model);
+ }
+
+ [AllowAnonymous]
+ [Create("sendadmmail")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SendAdmMailFromForm([FromForm] AdminMessageSettingsModel model)
+ {
+ return SendAdmMail(model);
+ }
+
+ private object SendAdmMail(AdminMessageSettingsModel model)
{
var studioAdminMessageSettings = SettingsManager.Load();
var enableAdmMess = studioAdminMessageSettings.Enable || TenantExtra.IsNotPaid();
@@ -377,7 +402,19 @@ namespace ASC.Api.Settings
}
[Create("maildomainsettings")]
- public object SaveMailDomainSettings(MailDomainSettingsModel model)
+ public object SaveMailDomainSettingsFromBody([FromBody] MailDomainSettingsModel model)
+ {
+ return SaveMailDomainSettings(model);
+ }
+
+ [Create("maildomainsettings")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SaveMailDomainSettingsFromForm([FromForm] MailDomainSettingsModel model)
+ {
+ return SaveMailDomainSettings(model);
+ }
+
+ private object SaveMailDomainSettings(MailDomainSettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -409,7 +446,20 @@ namespace ASC.Api.Settings
[AllowAnonymous]
[Create("sendjoininvite")]
- public object SendJoinInviteMail(AdminMessageSettingsModel model)
+ public object SendJoinInviteMailFromBody([FromBody]AdminMessageSettingsModel model)
+ {
+ return SendJoinInviteMail(model);
+ }
+
+ [AllowAnonymous]
+ [Create("sendjoininvite")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SendJoinInviteMailFromForm([FromForm] AdminMessageSettingsModel model)
+ {
+ return SendJoinInviteMail(model);
+ }
+
+ private object SendJoinInviteMail(AdminMessageSettingsModel model)
{
try
{
@@ -625,7 +675,19 @@ namespace ASC.Api.Settings
}
[Create("greetingsettings")]
- public ContentResult SaveGreetingSettings(GreetingSettingsModel model)
+ public ContentResult SaveGreetingSettingsFromBody([FromBody]GreetingSettingsModel model)
+ {
+ return SaveGreetingSettings(model);
+ }
+
+ [Create("greetingsettings")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public ContentResult SaveGreetingSettingsFromForm([FromForm]GreetingSettingsModel model)
+ {
+ return SaveGreetingSettings(model);
+ }
+
+ private ContentResult SaveGreetingSettings(GreetingSettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -698,7 +760,19 @@ namespace ASC.Api.Settings
}
[Update("version")]
- public TenantVersionWrapper SetVersion(SettingsModel model)
+ public TenantVersionWrapper SetVersionFromBody([FromBody]SettingsModel model)
+ {
+ return SetVersion(model);
+ }
+
+ [Update("version")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public TenantVersionWrapper SetVersionFromForm([FromForm] SettingsModel model)
+ {
+ return SetVersion(model);
+ }
+
+ private TenantVersionWrapper SetVersion(SettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -762,7 +836,19 @@ namespace ASC.Api.Settings
}
[Update("security")]
- public IEnumerable SetWebItemSecurity(WebItemSecurityModel model)
+ public IEnumerable SetWebItemSecurityFromBody([FromBody]WebItemSecurityModel model)
+ {
+ return SetWebItemSecurity(model);
+ }
+
+ [Update("security")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetWebItemSecurityFromForm([FromForm] WebItemSecurityModel model)
+ {
+ return SetWebItemSecurity(model);
+ }
+
+ private IEnumerable SetWebItemSecurity(WebItemSecurityModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -796,7 +882,19 @@ namespace ASC.Api.Settings
}
[Update("security/access")]
- public IEnumerable SetAccessToWebItems(WebItemSecurityModel model)
+ public IEnumerable SetAccessToWebItemsFromBody([FromBody]WebItemSecurityModel model)
+ {
+ return SetAccessToWebItems(model);
+ }
+
+ [Update("security/access")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SetAccessToWebItemsFromForm([FromForm] WebItemSecurityModel model)
+ {
+ return SetAccessToWebItems(model);
+ }
+
+ private IEnumerable SetAccessToWebItems(WebItemSecurityModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -854,11 +952,23 @@ namespace ASC.Api.Settings
public object IsProductAdministrator(Guid productid, Guid userid)
{
var result = WebItemSecurity.IsProductAdministrator(productid, userid);
- return new { ProductId = productid, UserId = userid, Administrator = result, };
+ return new { ProductId = productid, UserId = userid, Administrator = result };
}
[Update("security/administrator")]
- public object SetProductAdministrator(SecurityModel model)
+ public object SetProductAdministratorFromBody([FromBody]SecurityModel model)
+ {
+ return SetProductAdministrator(model);
+ }
+
+ [Update("security/administrator")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SetProductAdministratorFromForm([FromForm] SecurityModel model)
+ {
+ return SetProductAdministrator(model);
+ }
+
+ private object SetProductAdministrator(SecurityModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -886,10 +996,21 @@ namespace ASC.Api.Settings
return TenantInfoSettingsHelper.GetAbsoluteCompanyLogoPath(SettingsManager.Load());
}
-
///false
[Create("whitelabel/save")]
- public bool SaveWhiteLabelSettings([FromBody] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
+ public bool SaveWhiteLabelSettingsFromBody([FromBody] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
+ {
+ return SaveWhiteLabelSettings(model, query);
+ }
+
+ [Create("whitelabel/save")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool SaveWhiteLabelSettingsFromForm([FromForm] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
+ {
+ return SaveWhiteLabelSettings(model, query);
+ }
+
+ private bool SaveWhiteLabelSettings(WhiteLabelModel model, WhiteLabelQuery query)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -940,7 +1061,6 @@ namespace ASC.Api.Settings
}
-
///false
[Create("whitelabel/savefromfiles")]
public bool SaveWhiteLabelSettingsFromFiles([FromQuery] WhiteLabelQuery query)
@@ -1138,14 +1258,38 @@ namespace ASC.Api.Settings
}
[Update("iprestrictions")]
- public IEnumerable SaveIpRestrictions(IpRestrictionsModel model)
+ public IEnumerable SaveIpRestrictionsFromBody([FromBody]IpRestrictionsModel model)
+ {
+ return SaveIpRestrictions(model);
+ }
+
+ [Update("iprestrictions")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IEnumerable SaveIpRestrictionsFromForm([FromForm] IpRestrictionsModel model)
+ {
+ return SaveIpRestrictions(model);
+ }
+
+ private IEnumerable SaveIpRestrictions(IpRestrictionsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
return IPRestrictionsService.Save(model.Ips, Tenant.TenantId);
}
[Update("iprestrictions/settings")]
- public IPRestrictionsSettings UpdateIpRestrictionsSettings(IpRestrictionsModel model)
+ public IPRestrictionsSettings UpdateIpRestrictionsSettingsFromBody([FromBody]IpRestrictionsModel model)
+ {
+ return UpdateIpRestrictionsSettings(model);
+ }
+
+ [Update("iprestrictions/settings")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public IPRestrictionsSettings UpdateIpRestrictionsSettingsFromForm([FromForm] IpRestrictionsModel model)
+ {
+ return UpdateIpRestrictionsSettings(model);
+ }
+
+ private IPRestrictionsSettings UpdateIpRestrictionsSettings(IpRestrictionsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1156,7 +1300,19 @@ namespace ASC.Api.Settings
}
[Update("tips")]
- public TipsSettings UpdateTipsSettings(SettingsModel model)
+ public TipsSettings UpdateTipsSettingsFromBody([FromBody]SettingsModel model)
+ {
+ return UpdateTipsSettings(model);
+ }
+
+ [Update("tips")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public TipsSettings UpdateTipsSettingsFromForm([FromForm] SettingsModel model)
+ {
+ return UpdateTipsSettings(model);
+ }
+
+ private TipsSettings UpdateTipsSettings(SettingsModel model)
{
var settings = new TipsSettings { Show = model.Show };
SettingsManager.SaveForCurrentUser(settings);
@@ -1191,7 +1347,20 @@ namespace ASC.Api.Settings
[Update("wizard/complete", Check = false)]
[Authorize(AuthenticationSchemes = "confirm", Roles = "Wizard")]
- public WizardSettings CompleteWizard(WizardModel wizardModel)
+ public WizardSettings CompleteWizardFromBody([FromBody]WizardModel wizardModel)
+ {
+ return CompleteWizard(wizardModel);
+ }
+
+ [Update("wizard/complete", Check = false)]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "Wizard")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public WizardSettings CompleteWizardFromForm([FromForm] WizardModel wizardModel)
+ {
+ return CompleteWizard(wizardModel);
+ }
+
+ private WizardSettings CompleteWizard(WizardModel wizardModel)
{
ApiContext.AuthByClaim();
@@ -1202,7 +1371,19 @@ namespace ASC.Api.Settings
[Update("tfaapp")]
- public bool TfaSettings(TfaModel model)
+ public bool TfaSettingsFromBody([FromBody]TfaModel model)
+ {
+ return TfaSettings(model);
+ }
+
+ [Update("tfaapp")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool TfaSettingsFromForm([FromForm] TfaModel model)
+ {
+ return TfaSettings(model);
+ }
+
+ private bool TfaSettings(TfaModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1311,7 +1492,19 @@ namespace ASC.Api.Settings
}
[Update("tfaappnewapp")]
- public object TfaAppNewApp(TfaModel model)
+ public object TfaAppNewAppFromBody([FromBody]TfaModel model)
+ {
+ return TfaAppNewApp(model);
+ }
+
+ [Update("tfaappnewapp")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object TfaAppNewAppFromForm([FromForm] TfaModel model)
+ {
+ return TfaAppNewApp(model);
+ }
+
+ private object TfaAppNewApp(TfaModel model)
{
var isMe = model.Id.Equals(Guid.Empty);
var user = UserManager.GetUsers(isMe ? AuthContext.CurrentAccount.ID : model.Id);
@@ -1355,7 +1548,19 @@ namespace ASC.Api.Settings
///false
[Update("colortheme")]
- public void SaveColorTheme(SettingsModel model)
+ public void SaveColorThemeFromBody([FromBody]SettingsModel model)
+ {
+ SaveColorTheme(model);
+ }
+
+ [Update("colortheme")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void SaveColorThemeFromForm([FromForm] SettingsModel model)
+ {
+ SaveColorTheme(model);
+ }
+
+ private void SaveColorTheme(SettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
ColorThemesSettingsHelper.SaveColorTheme(model.Theme);
@@ -1364,7 +1569,19 @@ namespace ASC.Api.Settings
///false
[Update("timeandlanguage")]
- public object TimaAndLanguage(SettingsModel model)
+ public object TimaAndLanguageFromBody([FromBody]SettingsModel model)
+ {
+ return TimaAndLanguage(model);
+ }
+
+ [Update("timeandlanguage")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object TimaAndLanguageFromForm([FromForm] SettingsModel model)
+ {
+ return TimaAndLanguage(model);
+ }
+
+ private object TimaAndLanguage(SettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1406,7 +1623,19 @@ namespace ASC.Api.Settings
}
[Create("owner")]
- public object SendOwnerChangeInstructions(SettingsModel model)
+ public object SendOwnerChangeInstructionsFromBody([FromBody]SettingsModel model)
+ {
+ return SendOwnerChangeInstructions(model);
+ }
+
+ [Create("owner")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SendOwnerChangeInstructionsFromForm([FromForm] SettingsModel model)
+ {
+ return SendOwnerChangeInstructions(model);
+ }
+
+ private object SendOwnerChangeInstructions(SettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1432,7 +1661,20 @@ namespace ASC.Api.Settings
[Update("owner")]
[Authorize(AuthenticationSchemes = "confirm", Roles = "PortalOwnerChange")]
- public void Owner(SettingsModel model)
+ public void OwnerFromBody([FromBody]SettingsModel model)
+ {
+ Owner(model);
+ }
+
+ [Update("owner")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "PortalOwnerChange")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public void OwnerFromForm([FromForm] SettingsModel model)
+ {
+ Owner(model);
+ }
+
+ private void Owner(SettingsModel model)
{
var newOwner = Constants.LostUser;
try
@@ -1461,7 +1703,19 @@ namespace ASC.Api.Settings
///false
[Update("defaultpage")]
- public object SaveDefaultPageSettings(SettingsModel model)
+ public object SaveDefaultPageSettingsFromBody([FromBody]SettingsModel model)
+ {
+ return SaveDefaultPageSettings(model);
+ }
+
+ [Update("defaultpage")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public object SaveDefaultPageSettingsFromForm([FromForm] SettingsModel model)
+ {
+ return SaveDefaultPageSettings(model);
+ }
+
+ private object SaveDefaultPageSettings(SettingsModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1591,7 +1845,19 @@ namespace ASC.Api.Settings
}
[Create("customnavigation/create")]
- public CustomNavigationItem CreateCustomNavigationItem(CustomNavigationItem item)
+ public CustomNavigationItem CreateCustomNavigationItemFromBody([FromBody]CustomNavigationItem item)
+ {
+ return CreateCustomNavigationItem(item);
+ }
+
+ [Create("customnavigation/create")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public CustomNavigationItem CreateCustomNavigationItemFromForm([FromForm] CustomNavigationItem item)
+ {
+ return CreateCustomNavigationItem(item);
+ }
+
+ private CustomNavigationItem CreateCustomNavigationItem(CustomNavigationItem item)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
@@ -1661,12 +1927,17 @@ namespace ASC.Api.Settings
}
[Update("emailactivation")]
- public EmailActivationSettings UpdateEmailActivationSettings(bool show)
+ public EmailActivationSettings UpdateEmailActivationSettingsFromBody([FromBody]EmailActivationSettings settings)
{
- var settings = new EmailActivationSettings { Show = show };
-
SettingsManager.SaveForCurrentUser(settings);
+ return settings;
+ }
+ [Update("emailactivation")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public EmailActivationSettings UpdateEmailActivationSettingsFromForm([FromForm]EmailActivationSettings settings)
+ {
+ SettingsManager.SaveForCurrentUser(settings);
return settings;
}
@@ -1786,7 +2057,19 @@ namespace ASC.Api.Settings
public readonly object Locker = new object();
[Create("encryption/start")]
- public bool StartStorageEncryption(StorageEncryptionModel storageEncryption)
+ public bool StartStorageEncryptionFromBody([FromBody]StorageEncryptionModel storageEncryption)
+ {
+ return StartStorageEncryption(storageEncryption);
+ }
+
+ [Create("encryption/start")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool StartStorageEncryptionFromForm([FromForm] StorageEncryptionModel storageEncryption)
+ {
+ return StartStorageEncryption(storageEncryption);
+ }
+
+ private bool StartStorageEncryption(StorageEncryptionModel storageEncryption)
{
lock (Locker)
{
@@ -1965,7 +2248,19 @@ namespace ASC.Api.Settings
}
[Update("storage")]
- public StorageSettings UpdateStorage(StorageModel model)
+ public StorageSettings UpdateStorageFromBody([FromBody]StorageModel model)
+ {
+ return UpdateStorage(model);
+ }
+
+ [Update("storage")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public StorageSettings UpdateStorageFromForm([FromForm] StorageModel model)
+ {
+ return UpdateStorage(model);
+ }
+
+ private StorageSettings UpdateStorage(StorageModel model)
{
try
{
@@ -2033,7 +2328,19 @@ namespace ASC.Api.Settings
}
[Update("storage/cdn")]
- public CdnStorageSettings UpdateCdn(StorageModel model)
+ public CdnStorageSettings UpdateCdnFromBody([FromBody]StorageModel model)
+ {
+ return UpdateCdn(model);
+ }
+
+ [Update("storage/cdn")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public CdnStorageSettings UpdateCdnFromForm([FromForm] StorageModel model)
+ {
+ return UpdateCdn(model);
+ }
+
+ private CdnStorageSettings UpdateCdn(StorageModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
if (!CoreBaseSettings.Standalone) return null;
@@ -2130,7 +2437,19 @@ namespace ASC.Api.Settings
///false
[Create("rebranding/company")]
- public bool SaveCompanyWhiteLabelSettings(CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
+ public bool SaveCompanyWhiteLabelSettingsFromBody([FromBody] CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
+ {
+ return SaveCompanyWhiteLabelSettings(companyWhiteLabelSettingsWrapper);
+ }
+
+ [Create("rebranding/company")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool SaveCompanyWhiteLabelSettingsFromForm([FromForm] CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
+ {
+ return SaveCompanyWhiteLabelSettings(companyWhiteLabelSettingsWrapper);
+ }
+
+ private bool SaveCompanyWhiteLabelSettings(CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
{
if (companyWhiteLabelSettingsWrapper.Settings == null) throw new ArgumentNullException("settings");
@@ -2164,7 +2483,19 @@ namespace ASC.Api.Settings
///false
[Create("rebranding/additional")]
- public bool SaveAdditionalWhiteLabelSettings(AdditionalWhiteLabelSettingsWrapper wrapper)
+ public bool SaveAdditionalWhiteLabelSettingsFromBody([FromBody]AdditionalWhiteLabelSettingsWrapper wrapper)
+ {
+ return SaveAdditionalWhiteLabelSettings(wrapper);
+ }
+
+ [Create("rebranding/additional")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool SaveAdditionalWhiteLabelSettingsFromForm([FromForm] AdditionalWhiteLabelSettingsWrapper wrapper)
+ {
+ return SaveAdditionalWhiteLabelSettings(wrapper);
+ }
+
+ private bool SaveAdditionalWhiteLabelSettings(AdditionalWhiteLabelSettingsWrapper wrapper)
{
if (wrapper.Settings == null) throw new ArgumentNullException("settings");
@@ -2196,7 +2527,19 @@ namespace ASC.Api.Settings
///false
[Create("rebranding/mail")]
- public bool SaveMailWhiteLabelSettings(MailWhiteLabelSettings settings)
+ public bool SaveMailWhiteLabelSettingsFromBody([FromBody] MailWhiteLabelSettings settings)
+ {
+ return SaveMailWhiteLabelSettings(settings);
+ }
+
+ ///false
+ [Create("rebranding/mail")]
+ public bool SaveMailWhiteLabelSettingsFromForm([FromForm] MailWhiteLabelSettings settings)
+ {
+ return SaveMailWhiteLabelSettings(settings);
+ }
+
+ private bool SaveMailWhiteLabelSettings(MailWhiteLabelSettings settings)
{
if (settings == null) throw new ArgumentNullException("settings");
@@ -2208,13 +2551,25 @@ namespace ASC.Api.Settings
///false
[Update("rebranding/mail")]
- public bool UpdateMailWhiteLabelSettings(bool footerEnabled)
+ public bool UpdateMailWhiteLabelSettingsFromBody([FromBody]MailWhiteLabelSettingsModel model)
+ {
+ return UpdateMailWhiteLabelSettings(model);
+ }
+
+ [Update("rebranding/mail")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool UpdateMailWhiteLabelSettingsFromForm([FromForm]MailWhiteLabelSettingsModel model)
+ {
+ return UpdateMailWhiteLabelSettings(model);
+ }
+
+ private bool UpdateMailWhiteLabelSettings(MailWhiteLabelSettingsModel model)
{
DemandRebrandingPermission();
var settings = SettingsManager.LoadForDefaultTenant();
- settings.FooterEnabled = footerEnabled;
+ settings.FooterEnabled = model.FooterEnabled;
SettingsManager.SaveForDefaultTenant(settings);
@@ -2267,7 +2622,19 @@ namespace ASC.Api.Settings
}
[Create("authservice")]
- public bool SaveAuthKeys(AuthServiceModel model)
+ public bool SaveAuthKeysFromBody([FromBody]AuthServiceModel model)
+ {
+ return SaveAuthKeys(model);
+ }
+
+ [Create("authservice")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public bool SaveAuthKeysFromForm([FromForm] AuthServiceModel model)
+ {
+ return SaveAuthKeys(model);
+ }
+
+ private bool SaveAuthKeys(AuthServiceModel model)
{
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
if (!SetupInfo.IsVisibleSettings(ManagementType.ThirdPartyAuthorization.ToString()))
diff --git a/web/ASC.Web.Api/Controllers/SmtpSettingsController.cs b/web/ASC.Web.Api/Controllers/SmtpSettingsController.cs
index ba5928722f..5b0fe5ff21 100644
--- a/web/ASC.Web.Api/Controllers/SmtpSettingsController.cs
+++ b/web/ASC.Web.Api/Controllers/SmtpSettingsController.cs
@@ -80,7 +80,19 @@ namespace ASC.Api.Settings
}
[Create("smtp")]
- public SmtpSettingsWrapper SaveSmtpSettings(SmtpSettingsWrapper smtpSettings)
+ public SmtpSettingsWrapper SaveSmtpSettingsFromBody([FromBody]SmtpSettingsWrapper smtpSettings)
+ {
+ return SaveSmtpSettings(smtpSettings);
+ }
+
+ [Create("smtp")]
+ [Consumes("application/x-www-form-urlencoded")]
+ public SmtpSettingsWrapper SaveSmtpSettingsFromForm([FromForm] SmtpSettingsWrapper smtpSettings)
+ {
+ return SaveSmtpSettings(smtpSettings);
+ }
+
+ private SmtpSettingsWrapper SaveSmtpSettings(SmtpSettingsWrapper smtpSettings)
{
CheckSmtpPermissions();
diff --git a/web/ASC.Web.Api/Models/MailWhiteLabelSettingsModel.cs b/web/ASC.Web.Api/Models/MailWhiteLabelSettingsModel.cs
new file mode 100644
index 0000000000..e1ac42ec56
--- /dev/null
+++ b/web/ASC.Web.Api/Models/MailWhiteLabelSettingsModel.cs
@@ -0,0 +1,7 @@
+namespace ASC.Web.Api.Models
+{
+ public class MailWhiteLabelSettingsModel
+ {
+ public bool FooterEnabled { get; set; }
+ }
+}
diff --git a/web/ASC.Web.Api/Models/WhiteLabelModel.cs b/web/ASC.Web.Api/Models/WhiteLabelModel.cs
index c720bfd48e..23b10891e2 100644
--- a/web/ASC.Web.Api/Models/WhiteLabelModel.cs
+++ b/web/ASC.Web.Api/Models/WhiteLabelModel.cs
@@ -2,8 +2,6 @@
using ASC.Api.Collections;
-using Microsoft.AspNetCore.Http;
-
namespace ASC.Web.Api.Models
{
public class WhiteLabelModel