aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Sync
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
committerLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
commit4cc3b2f0ccd7c092a4acf72db4903415e175037a (patch)
treef9f90f8665b726253b8b357674f2f141aa43abc9 /MediaBrowser.Model/Sync
parente7037a9b80843c127712f11430239f8fa3cb4aed (diff)
parent3d7089a7dbabb652730c892206ca050f52f832b1 (diff)
Merge pull request #1005 from MediaBrowser/dev
3.0.5518.0
Diffstat (limited to 'MediaBrowser.Model/Sync')
-rw-r--r--MediaBrowser.Model/Sync/CompleteSyncJobInfo.cs15
-rw-r--r--MediaBrowser.Model/Sync/ItemFIleInfo.cs7
-rw-r--r--MediaBrowser.Model/Sync/LocalItem.cs11
-rw-r--r--MediaBrowser.Model/Sync/SyncDataRequest.cs2
-rw-r--r--MediaBrowser.Model/Sync/SyncDataResponse.cs2
-rw-r--r--MediaBrowser.Model/Sync/SyncDialogOptions.cs4
-rw-r--r--MediaBrowser.Model/Sync/SyncHelper.cs36
-rw-r--r--MediaBrowser.Model/Sync/SyncJob.cs6
-rw-r--r--MediaBrowser.Model/Sync/SyncJobCreationResult.cs9
-rw-r--r--MediaBrowser.Model/Sync/SyncJobItem.cs36
-rw-r--r--MediaBrowser.Model/Sync/SyncJobItemStatus.cs11
-rw-r--r--MediaBrowser.Model/Sync/SyncJobQuery.cs23
-rw-r--r--MediaBrowser.Model/Sync/SyncJobStatus.cs10
-rw-r--r--MediaBrowser.Model/Sync/SyncOptions.cs8
-rw-r--r--MediaBrowser.Model/Sync/SyncParameter.cs12
-rw-r--r--MediaBrowser.Model/Sync/SyncQuality.cs6
-rw-r--r--MediaBrowser.Model/Sync/SyncedItem.cs11
17 files changed, 162 insertions, 47 deletions
diff --git a/MediaBrowser.Model/Sync/CompleteSyncJobInfo.cs b/MediaBrowser.Model/Sync/CompleteSyncJobInfo.cs
new file mode 100644
index 000000000..52d3fab3c
--- /dev/null
+++ b/MediaBrowser.Model/Sync/CompleteSyncJobInfo.cs
@@ -0,0 +1,15 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Sync
+{
+ public class CompleteSyncJobInfo
+ {
+ public SyncJob Job { get; set; }
+ public List<SyncJobItem> JobItems { get; set; }
+
+ public CompleteSyncJobInfo()
+ {
+ JobItems = new List<SyncJobItem>();
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Sync/ItemFIleInfo.cs b/MediaBrowser.Model/Sync/ItemFIleInfo.cs
index b110af6b5..e023572fd 100644
--- a/MediaBrowser.Model/Sync/ItemFIleInfo.cs
+++ b/MediaBrowser.Model/Sync/ItemFIleInfo.cs
@@ -23,6 +23,11 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the type of the image.
/// </summary>
/// <value>The type of the image.</value>
- public ImageType ImageType { get; set; }
+ public ImageType? ImageType { get; set; }
+ /// <summary>
+ /// Gets or sets the index.
+ /// </summary>
+ /// <value>The index.</value>
+ public int Index { get; set; }
}
}
diff --git a/MediaBrowser.Model/Sync/LocalItem.cs b/MediaBrowser.Model/Sync/LocalItem.cs
index ec4544524..c6a10298f 100644
--- a/MediaBrowser.Model/Sync/LocalItem.cs
+++ b/MediaBrowser.Model/Sync/LocalItem.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Model.Dto;
+using System.Collections.Generic;
namespace MediaBrowser.Model.Sync
{
@@ -29,5 +30,15 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The item identifier.</value>
public string ItemId { get; set; }
+ /// <summary>
+ /// Gets or sets the user ids with access.
+ /// </summary>
+ /// <value>The user ids with access.</value>
+ public List<string> UserIdsWithAccess { get; set; }
+
+ public LocalItem()
+ {
+ UserIdsWithAccess = new List<string>();
+ }
}
}
diff --git a/MediaBrowser.Model/Sync/SyncDataRequest.cs b/MediaBrowser.Model/Sync/SyncDataRequest.cs
index 3eb447b3f..dc33239a0 100644
--- a/MediaBrowser.Model/Sync/SyncDataRequest.cs
+++ b/MediaBrowser.Model/Sync/SyncDataRequest.cs
@@ -5,12 +5,14 @@ namespace MediaBrowser.Model.Sync
public class SyncDataRequest
{
public List<string> LocalItemIds { get; set; }
+ public List<string> OfflineUserIds { get; set; }
public string TargetId { get; set; }
public SyncDataRequest()
{
LocalItemIds = new List<string>();
+ OfflineUserIds = new List<string>();
}
}
}
diff --git a/MediaBrowser.Model/Sync/SyncDataResponse.cs b/MediaBrowser.Model/Sync/SyncDataResponse.cs
index ac7ff5c84..3799e9455 100644
--- a/MediaBrowser.Model/Sync/SyncDataResponse.cs
+++ b/MediaBrowser.Model/Sync/SyncDataResponse.cs
@@ -5,10 +5,12 @@ namespace MediaBrowser.Model.Sync
public class SyncDataResponse
{
public List<string> ItemIdsToRemove { get; set; }
+ public Dictionary<string, List<string>> ItemUserAccess { get; set; }
public SyncDataResponse()
{
ItemIdsToRemove = new List<string>();
+ ItemUserAccess = new Dictionary<string, List<string>>();
}
}
}
diff --git a/MediaBrowser.Model/Sync/SyncDialogOptions.cs b/MediaBrowser.Model/Sync/SyncDialogOptions.cs
index 0154b16ec..304e10ccc 100644
--- a/MediaBrowser.Model/Sync/SyncDialogOptions.cs
+++ b/MediaBrowser.Model/Sync/SyncDialogOptions.cs
@@ -13,12 +13,12 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the options.
/// </summary>
/// <value>The options.</value>
- public List<SyncOptions> Options { get; set; }
+ public List<SyncJobOption> Options { get; set; }
public SyncDialogOptions()
{
Targets = new List<SyncTarget>();
- Options = new List<SyncOptions>();
+ Options = new List<SyncJobOption>();
}
}
}
diff --git a/MediaBrowser.Model/Sync/SyncHelper.cs b/MediaBrowser.Model/Sync/SyncHelper.cs
index c2a446fbe..34a5ba995 100644
--- a/MediaBrowser.Model/Sync/SyncHelper.cs
+++ b/MediaBrowser.Model/Sync/SyncHelper.cs
@@ -5,13 +5,13 @@ namespace MediaBrowser.Model.Sync
{
public static class SyncHelper
{
- public static List<SyncOptions> GetSyncOptions(List<BaseItemDto> items)
+ public static List<SyncJobOption> GetSyncOptions(List<BaseItemDto> items)
{
- List<SyncOptions> options = new List<SyncOptions>();
+ List<SyncJobOption> options = new List<SyncJobOption>();
if (items.Count > 1)
{
- options.Add(SyncOptions.Name);
+ options.Add(SyncJobOption.Name);
}
foreach (BaseItemDto item in items)
@@ -20,23 +20,23 @@ namespace MediaBrowser.Model.Sync
{
if (item.IsVideo)
{
- options.Add(SyncOptions.Quality);
+ options.Add(SyncJobOption.Quality);
if (items.Count > 1)
{
- options.Add(SyncOptions.UnwatchedOnly);
+ options.Add(SyncJobOption.UnwatchedOnly);
}
break;
}
if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre)
{
- options.Add(SyncOptions.Quality);
- options.Add(SyncOptions.UnwatchedOnly);
+ options.Add(SyncJobOption.Quality);
+ options.Add(SyncJobOption.UnwatchedOnly);
break;
}
if (item.IsGenre)
{
- options.Add(SyncOptions.SyncNewContent);
- options.Add(SyncOptions.ItemLimit);
+ options.Add(SyncJobOption.SyncNewContent);
+ options.Add(SyncJobOption.ItemLimit);
break;
}
}
@@ -48,8 +48,8 @@ namespace MediaBrowser.Model.Sync
{
if (item.IsFolder || item.IsGameGenre || item.IsMusicGenre || item.IsGenre || item.IsArtist || item.IsStudio || item.IsPerson)
{
- options.Add(SyncOptions.SyncNewContent);
- options.Add(SyncOptions.ItemLimit);
+ options.Add(SyncJobOption.SyncNewContent);
+ options.Add(SyncJobOption.ItemLimit);
break;
}
}
@@ -58,15 +58,15 @@ namespace MediaBrowser.Model.Sync
return options;
}
- public static List<SyncOptions> GetSyncOptions(SyncCategory category)
+ public static List<SyncJobOption> GetSyncOptions(SyncCategory category)
{
- List<SyncOptions> options = new List<SyncOptions>();
+ List<SyncJobOption> options = new List<SyncJobOption>();
- options.Add(SyncOptions.Name);
- options.Add(SyncOptions.Quality);
- options.Add(SyncOptions.UnwatchedOnly);
- options.Add(SyncOptions.SyncNewContent);
- options.Add(SyncOptions.ItemLimit);
+ options.Add(SyncJobOption.Name);
+ options.Add(SyncJobOption.Quality);
+ options.Add(SyncJobOption.UnwatchedOnly);
+ options.Add(SyncJobOption.SyncNewContent);
+ options.Add(SyncJobOption.ItemLimit);
return options;
}
diff --git a/MediaBrowser.Model/Sync/SyncJob.cs b/MediaBrowser.Model/Sync/SyncJob.cs
index 24680d172..93e73d22e 100644
--- a/MediaBrowser.Model/Sync/SyncJob.cs
+++ b/MediaBrowser.Model/Sync/SyncJob.cs
@@ -16,6 +16,11 @@ namespace MediaBrowser.Model.Sync
/// <value>The device identifier.</value>
public string TargetId { get; set; }
/// <summary>
+ /// Gets or sets the name of the target.
+ /// </summary>
+ /// <value>The name of the target.</value>
+ public string TargetName { get; set; }
+ /// <summary>
/// Gets or sets the quality.
/// </summary>
/// <value>The quality.</value>
@@ -93,6 +98,7 @@ namespace MediaBrowser.Model.Sync
public SyncJob()
{
RequestedItemIds = new List<string>();
+ Quality = SyncQuality.High;
}
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobCreationResult.cs b/MediaBrowser.Model/Sync/SyncJobCreationResult.cs
index 797318b2a..6723aa2cf 100644
--- a/MediaBrowser.Model/Sync/SyncJobCreationResult.cs
+++ b/MediaBrowser.Model/Sync/SyncJobCreationResult.cs
@@ -1,8 +1,15 @@
-
+using System.Collections.Generic;
+
namespace MediaBrowser.Model.Sync
{
public class SyncJobCreationResult
{
public SyncJob Job { get; set; }
+ public List<SyncJobItem> JobItems { get; set; }
+
+ public SyncJobCreationResult()
+ {
+ JobItems = new List<SyncJobItem>();
+ }
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobItem.cs b/MediaBrowser.Model/Sync/SyncJobItem.cs
index 3d06943aa..77464be58 100644
--- a/MediaBrowser.Model/Sync/SyncJobItem.cs
+++ b/MediaBrowser.Model/Sync/SyncJobItem.cs
@@ -1,4 +1,6 @@
using System;
+using System.Collections.Generic;
+using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.Sync
{
@@ -27,12 +29,18 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The name of the item.</value>
public string ItemName { get; set; }
-
+
/// <summary>
/// Gets or sets the media source identifier.
/// </summary>
/// <value>The media source identifier.</value>
public string MediaSourceId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the media source.
+ /// </summary>
+ /// <value>The media source.</value>
+ public MediaSourceInfo MediaSource { get; set; }
/// <summary>
/// Gets or sets the target identifier.
@@ -74,9 +82,29 @@ namespace MediaBrowser.Model.Sync
/// <value>The primary image tag.</value>
public string PrimaryImageTag { get; set; }
/// <summary>
- /// Gets or sets a value indicating whether [requires conversion].
+ /// Gets or sets the temporary path.
+ /// </summary>
+ /// <value>The temporary path.</value>
+ public string TemporaryPath { get; set; }
+ /// <summary>
+ /// Gets or sets the additional files.
+ /// </summary>
+ /// <value>The additional files.</value>
+ public List<ItemFileInfo> AdditionalFiles { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is marked for removal.
/// </summary>
- /// <value><c>true</c> if [requires conversion]; otherwise, <c>false</c>.</value>
- public bool RequiresConversion { get; set; }
+ /// <value><c>true</c> if this instance is marked for removal; otherwise, <c>false</c>.</value>
+ public bool IsMarkedForRemoval { get; set; }
+ /// <summary>
+ /// Gets or sets the index of the job item.
+ /// </summary>
+ /// <value>The index of the job item.</value>
+ public int JobItemIndex { get; set; }
+
+ public SyncJobItem()
+ {
+ AdditionalFiles = new List<ItemFileInfo>();
+ }
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobItemStatus.cs b/MediaBrowser.Model/Sync/SyncJobItemStatus.cs
index 913f9e259..c4e23c63c 100644
--- a/MediaBrowser.Model/Sync/SyncJobItemStatus.cs
+++ b/MediaBrowser.Model/Sync/SyncJobItemStatus.cs
@@ -5,10 +5,11 @@ namespace MediaBrowser.Model.Sync
{
Queued = 0,
Converting = 1,
- Transferring = 2,
- Synced = 3,
- RemovedFromDevice = 4,
- Failed = 5,
- Cancelled = 6
+ ReadyToTransfer = 2,
+ Transferring = 3,
+ Synced = 4,
+ RemovedFromDevice = 5,
+ Failed = 6,
+ Cancelled = 7
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobQuery.cs b/MediaBrowser.Model/Sync/SyncJobQuery.cs
index 35f0e076d..233dc7878 100644
--- a/MediaBrowser.Model/Sync/SyncJobQuery.cs
+++ b/MediaBrowser.Model/Sync/SyncJobQuery.cs
@@ -1,4 +1,5 @@
-
+using System.Collections.Generic;
+
namespace MediaBrowser.Model.Sync
{
public class SyncJobQuery
@@ -14,11 +15,6 @@ namespace MediaBrowser.Model.Sync
/// <value>The limit.</value>
public int? Limit { get; set; }
/// <summary>
- /// Gets or sets a value indicating whether this instance is completed.
- /// </summary>
- /// <value><c>null</c> if [is completed] contains no value, <c>true</c> if [is completed]; otherwise, <c>false</c>.</value>
- public bool? IsCompleted { get; set; }
- /// <summary>
/// Gets or sets the target identifier.
/// </summary>
/// <value>The target identifier.</value>
@@ -28,5 +24,20 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The user identifier.</value>
public string UserId { get; set; }
+ /// <summary>
+ /// Gets or sets the status.
+ /// </summary>
+ /// <value>The status.</value>
+ public List<SyncJobStatus> Statuses { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether [synchronize new content].
+ /// </summary>
+ /// <value><c>null</c> if [synchronize new content] contains no value, <c>true</c> if [synchronize new content]; otherwise, <c>false</c>.</value>
+ public bool? SyncNewContent { get; set; }
+
+ public SyncJobQuery()
+ {
+ Statuses = new List<SyncJobStatus>();
+ }
}
}
diff --git a/MediaBrowser.Model/Sync/SyncJobStatus.cs b/MediaBrowser.Model/Sync/SyncJobStatus.cs
index 961ccf544..ac211a32a 100644
--- a/MediaBrowser.Model/Sync/SyncJobStatus.cs
+++ b/MediaBrowser.Model/Sync/SyncJobStatus.cs
@@ -4,8 +4,12 @@ namespace MediaBrowser.Model.Sync
public enum SyncJobStatus
{
Queued = 0,
- InProgress = 1,
- Completed = 2,
- CompletedWithError = 3
+ Converting = 1,
+ ReadyToTransfer = 2,
+ Transferring = 3,
+ Completed = 4,
+ CompletedWithError = 5,
+ Failed = 6,
+ Cancelled = 7
}
}
diff --git a/MediaBrowser.Model/Sync/SyncOptions.cs b/MediaBrowser.Model/Sync/SyncOptions.cs
index d4a7461f3..294f7bcef 100644
--- a/MediaBrowser.Model/Sync/SyncOptions.cs
+++ b/MediaBrowser.Model/Sync/SyncOptions.cs
@@ -1,12 +1,8 @@

namespace MediaBrowser.Model.Sync
{
- public enum SyncOptions
+ public class SyncOptions
{
- Name = 0,
- Quality = 1,
- UnwatchedOnly = 2,
- SyncNewContent = 3,
- ItemLimit = 4
+ public string TemporaryPath { get; set; }
}
}
diff --git a/MediaBrowser.Model/Sync/SyncParameter.cs b/MediaBrowser.Model/Sync/SyncParameter.cs
new file mode 100644
index 000000000..def4ab3e3
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncParameter.cs
@@ -0,0 +1,12 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public enum SyncJobOption
+ {
+ Name = 0,
+ Quality = 1,
+ UnwatchedOnly = 2,
+ SyncNewContent = 3,
+ ItemLimit = 4
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncQuality.cs b/MediaBrowser.Model/Sync/SyncQuality.cs
index d34ad22c2..27ee756a3 100644
--- a/MediaBrowser.Model/Sync/SyncQuality.cs
+++ b/MediaBrowser.Model/Sync/SyncQuality.cs
@@ -16,6 +16,10 @@ namespace MediaBrowser.Model.Sync
/// <summary>
/// The best
/// </summary>
- High = 2
+ High = 2,
+ /// <summary>
+ /// The original
+ /// </summary>
+ Original = 3
}
}
diff --git a/MediaBrowser.Model/Sync/SyncedItem.cs b/MediaBrowser.Model/Sync/SyncedItem.cs
index 784a12bc9..2063506b1 100644
--- a/MediaBrowser.Model/Sync/SyncedItem.cs
+++ b/MediaBrowser.Model/Sync/SyncedItem.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Model.Dto;
+using System.Collections.Generic;
namespace MediaBrowser.Model.Sync
{
@@ -34,5 +35,15 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The user identifier.</value>
public string UserId { get; set; }
+ /// <summary>
+ /// Gets or sets the additional files.
+ /// </summary>
+ /// <value>The additional files.</value>
+ public List<ItemFileInfo> AdditionalFiles { get; set; }
+
+ public SyncedItem()
+ {
+ AdditionalFiles = new List<ItemFileInfo>();
+ }
}
}