private static void GetFileVersions() { RecycleBinItemList binItems = dc.Nodes.GetRecycleBinItems(1); foreach (RecycleBinItem current in binItems.Items) { Console.WriteLine("NodeName: " + current.Name + "; Versions: " + current.VersionsCount + "; LastDeletedNodeId: " + current.LastDeletedNodeId + "; ParentPath: " + current.ParentPath); } PreviousVersionList versionList = dc.Nodes.GetPreviousVersions(1, NodeType.File, "test.txt"); foreach (PreviousVersion current in versionList.Items) { Console.WriteLine("NodeName: " + current.Name + "; Id: " + current.Id + "; ParentPath: " + current.ParentPath + "; DeletedAt: " + current.DeletedAt.ToString()); } // Restore the last version of the node "test.txt" RestorePreviousVersionsRequest request = new RestorePreviousVersionsRequest(new List <long>() { versionList.Items[0].Id.Value }); dc.Nodes.RestorePreviousVersion(request); }
public void ToApiRestorePreviousVersionsRequest() { // ARRANGE string expectedStrategyValue = "overwrite"; ResolutionStrategy expectedStrategy = ResolutionStrategy.Overwrite; ApiRestorePreviousVersionsRequest expected = FactoryNode.ApiRestorePreviousVersionsRequest; expected.ResolutionStrategy = expectedStrategyValue; RestorePreviousVersionsRequest param = new RestorePreviousVersionsRequest(expected.DeletedNodeIds) { KeepShareLinks = expected.KeepShareLinks, NewParentNodeId = expected.ParentId, ResolutionStrategy = expectedStrategy }; Mock.Arrange(() => EnumConverter.ConvertResolutionStrategyToValue(expectedStrategy)).Returns(expectedStrategyValue); // ACT ApiRestorePreviousVersionsRequest actual = NodeMapper.ToApiRestorePreviousVersionsRequest(param); // ASSERT Assert.Equal(expected, actual, new ApiRestorePreviousVersionsRequestComparer()); }
public void RestorePreviousVersion(RestorePreviousVersionsRequest request) { _client.Executor.CheckApiServerVersion(); #region Parameter Validation request.MustNotNull(nameof(request)); request.RestoreVersionIds.EnumerableMustNotNullOrEmpty(nameof(request.RestoreVersionIds)); request.RestoreVersionIds.ForEach(current => current.MustPositive(nameof(request.RestoreVersionIds) + " element")); request.NewParentNodeId.NullableMustPositive(nameof(request.NewParentNodeId)); #endregion ApiRestorePreviousVersionsRequest apiRequest = NodeMapper.ToApiRestorePreviousVersionsRequest(request); IRestRequest restRequest = _client.Builder.PostRestoreNodeVersion(apiRequest); _client.Executor.DoSyncApiCall <VoidResponse>(restRequest, RequestType.PostRestoreNodeVersion); }
internal static ApiRestorePreviousVersionsRequest ToApiRestorePreviousVersionsRequest(RestorePreviousVersionsRequest request) { ApiRestorePreviousVersionsRequest apiRequest = new ApiRestorePreviousVersionsRequest { DeletedNodeIds = request.RestoreVersionIds, KeepShareLinks = request.KeepShareLinks, ParentId = request.NewParentNodeId, ResolutionStrategy = EnumConverter.ConvertResolutionStrategyToValue(request.ResolutionStrategy) }; return(apiRequest); }