aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/DTO/ApiBaseItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/DTO/ApiBaseItem.cs')
-rw-r--r--MediaBrowser.Model/DTO/ApiBaseItem.cs66
1 files changed, 66 insertions, 0 deletions
diff --git a/MediaBrowser.Model/DTO/ApiBaseItem.cs b/MediaBrowser.Model/DTO/ApiBaseItem.cs
new file mode 100644
index 000000000..d6b0f4a04
--- /dev/null
+++ b/MediaBrowser.Model/DTO/ApiBaseItem.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Users;
+
+namespace MediaBrowser.Model.DTO
+{
+ /// <summary>
+ /// This is a concrete class that the UI can use to deserialize
+ /// It is flat in the sense that it will be used regardless of the type of BaseItem involved
+ /// </summary>
+ public class ApiBaseItem : BaseItem
+ {
+ // Series properties
+ public string Status { get; set; }
+ public IEnumerable<DayOfWeek> AirDays { get; set; }
+ public string AirTime { get; set; }
+ }
+
+ /// <summary>
+ /// This is the full return object when requesting an Item
+ /// </summary>
+ public class BaseItemWrapper<T>
+ where T : BaseItem
+ {
+ public T Item { get; set; }
+
+ public UserItemData UserItemData { get; set; }
+
+ public IEnumerable<BaseItemWrapper<T>> Children { get; set; }
+
+ public bool IsFolder { get; set; }
+
+ public Guid? ParentId { get; set; }
+
+ public string Type { get; set; }
+
+ public bool IsType(Type type)
+ {
+ return IsType(type.Name);
+ }
+
+ public bool IsType(string type)
+ {
+ return Type.Equals(type, StringComparison.OrdinalIgnoreCase);
+ }
+
+ public IEnumerable<PersonInfo> People { get; set; }
+
+ /// <summary>
+ /// If the item does not have a logo, this will hold the Id of the Parent that has one.
+ /// </summary>
+ public Guid? ParentLogoItemId { get; set; }
+
+ public Guid? ParentBackdropItemId { get; set; }
+
+ public int? ParentBackdropCount { get; set; }
+ }
+
+ /// <summary>
+ /// This is strictly for convenience so the UI's don't have to use the verbose generic syntax of BaseItemWrapper<ApiBaseItem>
+ /// </summary>
+ public class ApiBaseItemWrapper : BaseItemWrapper<ApiBaseItem>
+ {
+ }
+}