Files: MoveOrCopyBatchCheckFromBody is now GET
This commit is contained in:
parent
acded72c12
commit
39a1d433da
@ -1,9 +1,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
||||
using ASC.Api.Collections;
|
||||
using ASC.Web.Files.Services.WCFService.FileOperations;
|
||||
|
||||
using ASC.Web.Files.Services.WCFService.FileOperations;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace ASC.Files.Model
|
||||
{
|
||||
public class BaseBatchModel<T>
|
||||
@ -42,6 +46,74 @@ namespace ASC.Files.Model
|
||||
{
|
||||
public JsonElement DestFolderId { get; set; }
|
||||
public FileConflictResolveType ConflictResolveType { get; set; }
|
||||
public bool DeleteAfter { get; set; }
|
||||
public bool DeleteAfter { get; set; }
|
||||
|
||||
public static BatchModel FromQuery(HttpContext httpContext)
|
||||
{
|
||||
var result = new BatchModel();
|
||||
var query = httpContext.Request.Query;
|
||||
|
||||
var destId = query["DestFolderId"];
|
||||
if (destId.Any())
|
||||
{
|
||||
result.DestFolderId = ParseQueryParam(destId.First());
|
||||
}
|
||||
|
||||
var conflictResolveType = query["ConflictResolveType"];
|
||||
if (conflictResolveType.Any())
|
||||
{
|
||||
if (Enum.TryParse<FileConflictResolveType>(conflictResolveType.First(), out var crf))
|
||||
{
|
||||
result.ConflictResolveType = crf;
|
||||
}
|
||||
}
|
||||
|
||||
var deleteAfter = query["DeleteAfter"];
|
||||
if (deleteAfter.Any())
|
||||
{
|
||||
if (bool.TryParse(deleteAfter.First(), out var d))
|
||||
{
|
||||
result.DeleteAfter = d;
|
||||
}
|
||||
}
|
||||
|
||||
var fileIdsQuery = query["FileIds"];
|
||||
if (fileIdsQuery.Any())
|
||||
{
|
||||
var fileIds = new List<JsonElement>();
|
||||
|
||||
foreach (var f in fileIdsQuery)
|
||||
{
|
||||
fileIds.Add(ParseQueryParam(f));
|
||||
}
|
||||
|
||||
result.FileIds = fileIds;
|
||||
}
|
||||
|
||||
var folderIdsQuery = query["FolderIds"];
|
||||
if (folderIdsQuery.Any())
|
||||
{
|
||||
var folderIds = new List<JsonElement>();
|
||||
|
||||
foreach (var f in folderIdsQuery)
|
||||
{
|
||||
folderIds.Add(ParseQueryParam(f));
|
||||
}
|
||||
|
||||
result.FolderIds = folderIds;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static JsonElement ParseQueryParam(string data)
|
||||
{
|
||||
if (int.TryParse(data, out _))
|
||||
{
|
||||
return JsonSerializer.Deserialize<JsonElement>(data);
|
||||
}
|
||||
|
||||
return JsonSerializer.Deserialize<JsonElement>($"\"{data}\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1229,17 +1229,10 @@ namespace ASC.Api.Documents
|
||||
/// <param name="folderIds">Folder ID list</param>
|
||||
/// <param name="fileIds">File ID list</param>
|
||||
/// <returns>Conflicts file ids</returns>
|
||||
[Create("fileops/move")]
|
||||
public IEnumerable<FileEntryWrapper> MoveOrCopyBatchCheckFromBody([FromBody] BatchModel batchModel)
|
||||
[Read("fileops/move")]
|
||||
public IEnumerable<FileEntryWrapper> MoveOrCopyBatchCheck()
|
||||
{
|
||||
return FilesControllerHelperString.MoveOrCopyBatchCheck(batchModel);
|
||||
}
|
||||
|
||||
[Create("fileops/move")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<FileEntryWrapper> MoveOrCopyBatchCheckFromForm([FromForm] BatchModel batchModel)
|
||||
{
|
||||
return FilesControllerHelperString.MoveOrCopyBatchCheck(batchModel);
|
||||
return FilesControllerHelperString.MoveOrCopyBatchCheck(BatchModel.FromQuery(HttpContext));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
Loading…
Reference in New Issue
Block a user