aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Sync/SyncService.cs12
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs7
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj6
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj6
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs7
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj2
-rw-r--r--MediaBrowser.Model/Sync/DeviceFileInfo.cs2
-rw-r--r--MediaBrowser.Model/Sync/ItemFIleInfo.cs2
-rw-r--r--MediaBrowser.Model/Sync/LocalItem.cs2
-rw-r--r--MediaBrowser.Model/Sync/SyncDataRequest.cs16
-rw-r--r--MediaBrowser.Model/Sync/SyncDataResponse.cs14
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs7
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Model.Signed.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
16 files changed, 86 insertions, 9 deletions
diff --git a/MediaBrowser.Api/Sync/SyncService.cs b/MediaBrowser.Api/Sync/SyncService.cs
index 0036b316ff..31442c1d94 100644
--- a/MediaBrowser.Api/Sync/SyncService.cs
+++ b/MediaBrowser.Api/Sync/SyncService.cs
@@ -92,6 +92,11 @@ namespace MediaBrowser.Api.Sync
public string TargetId { get; set; }
}
+ [Route("/Sync/Data", "POST", Summary = "Syncs data between device and server")]
+ public class SyncData : SyncDataRequest, IReturn<SyncDataResponse>
+ {
+ }
+
[Authenticated]
public class SyncService : BaseApiService
{
@@ -219,5 +224,12 @@ namespace MediaBrowser.Api.Sync
{
return ToOptimizedResult(_syncManager.GetReadySyncItems(request.TargetId));
}
+
+ public async Task<object> Post(SyncData request)
+ {
+ var response = await _syncManager.SyncData(request).ConfigureAwait(false);
+
+ return ToOptimizedResult(response);
+ }
}
}
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
index 39cec4f00f..6cad197369 100644
--- a/MediaBrowser.Controller/Sync/ISyncManager.cs
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -95,5 +95,12 @@ namespace MediaBrowser.Controller.Sync
/// <param name="targetId">The target identifier.</param>
/// <returns>List&lt;SyncedItem&gt;.</returns>
List<SyncedItem> GetReadySyncItems(string targetId);
+
+ /// <summary>
+ /// Synchronizes the data.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <returns>Task&lt;SyncDataResponse&gt;.</returns>
+ Task<SyncDataResponse> SyncData(SyncDataRequest request);
}
}
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index f4d92b6f3b..e4cfab571f 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -1055,6 +1055,12 @@
<Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
<Link>Sync\SyncCategory.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncDataRequest.cs">
+ <Link>Sync\SyncDataRequest.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncDataResponse.cs">
+ <Link>Sync\SyncDataResponse.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
<Link>Sync\SyncDialogOptions.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index b07e8557fb..3fc5201a7b 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -1014,6 +1014,12 @@
<Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
<Link>Sync\SyncCategory.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncDataRequest.cs">
+ <Link>Sync\SyncDataRequest.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncDataResponse.cs">
+ <Link>Sync\SyncDataResponse.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
<Link>Sync\SyncDialogOptions.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index 883e54308d..9faa8fceda 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -1433,5 +1433,12 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="targetId">The target identifier.</param>
/// <returns>List&lt;SyncedItem&gt;.</returns>
Task<List<SyncedItem>> GetReadySyncItems(string targetId);
+
+ /// <summary>
+ /// Synchronizes the data.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <returns>Task&lt;SyncDataResponse&gt;.</returns>
+ Task<SyncDataResponse> SyncData(SyncDataRequest request);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 8ec271626d..d5280f4b11 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -372,6 +372,8 @@
<Compile Include="Sync\ItemFileType.cs" />
<Compile Include="Sync\LocalItem.cs" />
<Compile Include="Sync\SyncCategory.cs" />
+ <Compile Include="Sync\SyncDataRequest.cs" />
+ <Compile Include="Sync\SyncDataResponse.cs" />
<Compile Include="Sync\SyncDialogOptions.cs" />
<Compile Include="Sync\SyncedItem.cs" />
<Compile Include="Sync\SyncHelper.cs" />
diff --git a/MediaBrowser.Model/Sync/DeviceFileInfo.cs b/MediaBrowser.Model/Sync/DeviceFileInfo.cs
index bb9a0c6ef2..bc93b69bcf 100644
--- a/MediaBrowser.Model/Sync/DeviceFileInfo.cs
+++ b/MediaBrowser.Model/Sync/DeviceFileInfo.cs
@@ -3,7 +3,7 @@ namespace MediaBrowser.Model.Sync
{
public class DeviceFileInfo
{
- public string[] Path { get; set; }
+ public string Path { get; set; }
public string Name { get; set; }
}
}
diff --git a/MediaBrowser.Model/Sync/ItemFIleInfo.cs b/MediaBrowser.Model/Sync/ItemFIleInfo.cs
index f0829bc2bf..b110af6b5a 100644
--- a/MediaBrowser.Model/Sync/ItemFIleInfo.cs
+++ b/MediaBrowser.Model/Sync/ItemFIleInfo.cs
@@ -18,7 +18,7 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the path.
/// </summary>
/// <value>The path.</value>
- public string[] Path { get; set; }
+ public string Path { get; set; }
/// <summary>
/// Gets or sets the type of the image.
/// </summary>
diff --git a/MediaBrowser.Model/Sync/LocalItem.cs b/MediaBrowser.Model/Sync/LocalItem.cs
index 9e660c5909..51faaff904 100644
--- a/MediaBrowser.Model/Sync/LocalItem.cs
+++ b/MediaBrowser.Model/Sync/LocalItem.cs
@@ -13,7 +13,7 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the local path.
/// </summary>
/// <value>The local path.</value>
- public string[] LocalPath { get; set; }
+ public string LocalPath { get; set; }
/// <summary>
/// Gets or sets the server identifier.
/// </summary>
diff --git a/MediaBrowser.Model/Sync/SyncDataRequest.cs b/MediaBrowser.Model/Sync/SyncDataRequest.cs
new file mode 100644
index 0000000000..3eb447b3f2
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncDataRequest.cs
@@ -0,0 +1,16 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncDataRequest
+ {
+ public List<string> LocalItemIds { get; set; }
+
+ public string TargetId { get; set; }
+
+ public SyncDataRequest()
+ {
+ LocalItemIds = new List<string>();
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncDataResponse.cs b/MediaBrowser.Model/Sync/SyncDataResponse.cs
new file mode 100644
index 0000000000..ac7ff5c84a
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncDataResponse.cs
@@ -0,0 +1,14 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncDataResponse
+ {
+ public List<string> ItemIdsToRemove { get; set; }
+
+ public SyncDataResponse()
+ {
+ ItemIdsToRemove = new List<string>();
+ }
+ }
+}
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index 24b9b0b83c..3f30dcb1ce 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -388,5 +388,12 @@ namespace MediaBrowser.Server.Implementations.Sync
return jobItemResult.Items.Select(GetJobItemInfo)
.ToList();
}
+
+ public async Task<SyncDataResponse> SyncData(SyncDataRequest request)
+ {
+ var response = new SyncDataResponse();
+
+ return response;
+ }
}
}
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index f637622ef9..c4588f825d 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.534</version>
+ <version>3.0.537</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.534" />
+ <dependency id="MediaBrowser.Common" version="3.0.537" />
<dependency id="NLog" version="3.1.0.0" />
<dependency id="SimpleInjector" version="2.6.1" />
<dependency id="sharpcompress" version="0.10.2" />
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index eddbcd0d20..125dd6d289 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.534</version>
+ <version>3.0.537</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec
index 7e10950b07..1a7d948c5a 100644
--- a/Nuget/MediaBrowser.Model.Signed.nuspec
+++ b/Nuget/MediaBrowser.Model.Signed.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Model.Signed</id>
- <version>3.0.534</version>
+ <version>3.0.537</version>
<title>MediaBrowser.Model - Signed Edition</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index 7fde54fe41..b63ff3ca11 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.534</version>
+ <version>3.0.537</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.534" />
+ <dependency id="MediaBrowser.Common" version="3.0.537" />
</dependencies>
</metadata>
<files>