public virtual async Task <FileInfoDto> MoveAsync(Guid id, MoveFileInput input) { var newFileName = input.NewFileName; var file = await GetEntityByIdAsync(id); var configuration = _configurationProvider.Get(file.FileContainerName); CheckFileExtension(new[] { Path.GetExtension(newFileName) }, configuration); var oldParent = await TryGetEntityByNullableIdAsync(file.ParentId); var newParent = input.NewParentId == file.ParentId ? oldParent : await TryGetEntityByNullableIdAsync(input.NewParentId); await _fileManager.ChangeAsync(file, newFileName, oldParent, newParent); await AuthorizationService.CheckAsync(CreateFileOperationInfoModel(file), new OperationAuthorizationRequirement { Name = FileManagementPermissions.File.Move }); await _repository.UpdateAsync(file, autoSave : true); return(await MapToGetOutputDtoAsync(file)); }
public virtual async Task <IActionResult> OnPostAsync() { var dto = new MoveFileInput { NewParentId = ViewModel.NewParentId, NewFileName = ViewModel.NewFileName }; await _service.MoveAsync(Id, dto); return(NoContent()); }
public Task <FileInfoDto> MoveAsync(Guid id, MoveFileInput input) { return(_service.MoveAsync(id, input)); }