aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-14 20:05:09 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-14 20:05:09 -0400
commitbd1bd5e87e1744b363279577a6550afc5f2229c1 (patch)
treedcee85b1a7e0d3243702a6df6cc422f45609870f /MediaBrowser.Model
parent52776df0129f73f7d0f87e9c51629241c5c4a7de (diff)
fixes #552 - Add parental control usage limits
Diffstat (limited to 'MediaBrowser.Model')
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs4
-rw-r--r--MediaBrowser.Model/ApiClient/IConnectionManager.cs23
-rw-r--r--MediaBrowser.Model/Configuration/AccessSchedule.cs23
-rw-r--r--MediaBrowser.Model/Configuration/UserConfiguration.cs7
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs17
-rw-r--r--MediaBrowser.Model/Connect/ConnectUser.cs12
-rw-r--r--MediaBrowser.Model/Connect/ConnectUserQuery.cs10
-rw-r--r--MediaBrowser.Model/Connect/PinCreationResult.cs11
-rw-r--r--MediaBrowser.Model/Connect/PinExchangeResult.cs10
-rw-r--r--MediaBrowser.Model/Connect/PinStatusResult.cs10
-rw-r--r--MediaBrowser.Model/Dto/ImageInfo.cs5
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj7
-rw-r--r--MediaBrowser.Model/MediaInfo/MediaProtocol.cs3
13 files changed, 133 insertions, 9 deletions
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index 13088945a4..8a777d3a20 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -715,10 +715,10 @@ namespace MediaBrowser.Model.ApiClient
/// Authenticates a user and returns the result
/// </summary>
/// <param name="username">The username.</param>
- /// <param name="sha1Hash">The sha1 hash.</param>
+ /// <param name="password">The password.</param>
/// <returns>Task.</returns>
/// <exception cref="ArgumentNullException">userId</exception>
- Task<AuthenticationResult> AuthenticateUserAsync(string username, byte[] sha1Hash);
+ Task<AuthenticationResult> AuthenticateUserAsync(string username, string password);
/// <summary>
/// Updates the server configuration async.
diff --git a/MediaBrowser.Model/ApiClient/IConnectionManager.cs b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
index d76ef67d29..627ce74ca9 100644
--- a/MediaBrowser.Model/ApiClient/IConnectionManager.cs
+++ b/MediaBrowser.Model/ApiClient/IConnectionManager.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Connect;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Events;
using System;
using System.Threading;
@@ -65,5 +66,25 @@ namespace MediaBrowser.Model.ApiClient
/// </summary>
[Obsolete]
IApiClient CurrentApiClient { get; }
+
+ /// <summary>
+ /// Creates the pin.
+ /// </summary>
+ /// <returns>Task&lt;PinCreationResult&gt;.</returns>
+ Task<PinCreationResult> CreatePin();
+
+ /// <summary>
+ /// Gets the pin status.
+ /// </summary>
+ /// <param name="pin">The pin.</param>
+ /// <returns>Task&lt;PinStatusResult&gt;.</returns>
+ Task<PinStatusResult> GetPinStatus(PinCreationResult pin);
+
+ /// <summary>
+ /// Exchanges the pin.
+ /// </summary>
+ /// <param name="pin">The pin.</param>
+ /// <returns>Task.</returns>
+ Task ExchangePin(PinCreationResult pin);
}
}
diff --git a/MediaBrowser.Model/Configuration/AccessSchedule.cs b/MediaBrowser.Model/Configuration/AccessSchedule.cs
new file mode 100644
index 0000000000..65f2f62917
--- /dev/null
+++ b/MediaBrowser.Model/Configuration/AccessSchedule.cs
@@ -0,0 +1,23 @@
+using System;
+
+namespace MediaBrowser.Model.Configuration
+{
+ public class AccessSchedule
+ {
+ /// <summary>
+ /// Gets or sets the day of week.
+ /// </summary>
+ /// <value>The day of week.</value>
+ public DayOfWeek DayOfWeek { get; set; }
+ /// <summary>
+ /// Gets or sets the start hour.
+ /// </summary>
+ /// <value>The start hour.</value>
+ public double StartHour { get; set; }
+ /// <summary>
+ /// Gets or sets the end hour.
+ /// </summary>
+ /// <value>The end hour.</value>
+ public double EndHour { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Configuration/UserConfiguration.cs b/MediaBrowser.Model/Configuration/UserConfiguration.cs
index 46eb0c7332..c162e389b0 100644
--- a/MediaBrowser.Model/Configuration/UserConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/UserConfiguration.cs
@@ -66,7 +66,7 @@ namespace MediaBrowser.Model.Configuration
public string[] BlockedChannels { get; set; }
public string[] DisplayChannelsWithinViews { get; set; }
-
+
public string[] ExcludeFoldersFromGrouping { get; set; }
public UnratedItem[] BlockUnratedItems { get; set; }
@@ -86,13 +86,14 @@ namespace MediaBrowser.Model.Configuration
public bool EnableCinemaMode { get; set; }
+ public AccessSchedule[] AccessSchedules { get; set; }
+
/// <summary>
/// Initializes a new instance of the <see cref="UserConfiguration" /> class.
/// </summary>
public UserConfiguration()
{
PlayDefaultAudioTrack = true;
- EnableRemoteControlOfOtherUsers = true;
EnableLiveTvManagement = true;
EnableMediaPlayback = true;
EnableLiveTvAccess = true;
@@ -111,6 +112,8 @@ namespace MediaBrowser.Model.Configuration
SyncConnectImage = true;
IncludeTrailersInSuggestions = true;
EnableCinemaMode = true;
+
+ AccessSchedules = new AccessSchedule[] { };
}
}
}
diff --git a/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs b/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs
new file mode 100644
index 0000000000..4dcbf69041
--- /dev/null
+++ b/MediaBrowser.Model/Connect/ConnectAuthenticationResult.cs
@@ -0,0 +1,17 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class ConnectAuthenticationResult
+ {
+ /// <summary>
+ /// Gets or sets the user identifier.
+ /// </summary>
+ /// <value>The user identifier.</value>
+ public string UserId { get; set; }
+ /// <summary>
+ /// Gets or sets the access token.
+ /// </summary>
+ /// <value>The access token.</value>
+ public string AccessToken { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Connect/ConnectUser.cs b/MediaBrowser.Model/Connect/ConnectUser.cs
new file mode 100644
index 0000000000..da290da120
--- /dev/null
+++ b/MediaBrowser.Model/Connect/ConnectUser.cs
@@ -0,0 +1,12 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class ConnectUser
+ {
+ public string Id { get; set; }
+ public string Name { get; set; }
+ public string Email { get; set; }
+ public bool IsActive { get; set; }
+ public string ImageUrl { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Connect/ConnectUserQuery.cs b/MediaBrowser.Model/Connect/ConnectUserQuery.cs
new file mode 100644
index 0000000000..e5ab534ead
--- /dev/null
+++ b/MediaBrowser.Model/Connect/ConnectUserQuery.cs
@@ -0,0 +1,10 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class ConnectUserQuery
+ {
+ public string Id { get; set; }
+ public string Name { get; set; }
+ public string Email { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Connect/PinCreationResult.cs b/MediaBrowser.Model/Connect/PinCreationResult.cs
new file mode 100644
index 0000000000..c96e920493
--- /dev/null
+++ b/MediaBrowser.Model/Connect/PinCreationResult.cs
@@ -0,0 +1,11 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class PinCreationResult
+ {
+ public string Pin { get; set; }
+ public string DeviceId { get; set; }
+ public bool IsConfirmed { get; set; }
+ public bool IsExpired { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Connect/PinExchangeResult.cs b/MediaBrowser.Model/Connect/PinExchangeResult.cs
new file mode 100644
index 0000000000..dfe995ce6f
--- /dev/null
+++ b/MediaBrowser.Model/Connect/PinExchangeResult.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace MediaBrowser.Model.Connect
+{
+ public class PinExchangeResult
+ {
+ public string UserId { get; set; }
+ public string UserAccessToken { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Connect/PinStatusResult.cs b/MediaBrowser.Model/Connect/PinStatusResult.cs
new file mode 100644
index 0000000000..de60c463d3
--- /dev/null
+++ b/MediaBrowser.Model/Connect/PinStatusResult.cs
@@ -0,0 +1,10 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class PinStatusResult
+ {
+ public string Pin { get; set; }
+ public bool IsConfirmed { get; set; }
+ public bool IsExpired { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Dto/ImageInfo.cs b/MediaBrowser.Model/Dto/ImageInfo.cs
index fa3a38fcb0..5eabb16a56 100644
--- a/MediaBrowser.Model/Dto/ImageInfo.cs
+++ b/MediaBrowser.Model/Dto/ImageInfo.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Model.Entities;
-using System;
namespace MediaBrowser.Model.Dto
{
@@ -35,13 +34,13 @@ namespace MediaBrowser.Model.Dto
/// Gets or sets the height.
/// </summary>
/// <value>The height.</value>
- public int Height { get; set; }
+ public int? Height { get; set; }
/// <summary>
/// Gets or sets the width.
/// </summary>
/// <value>The width.</value>
- public int Width { get; set; }
+ public int? Width { get; set; }
/// <summary>
/// Gets or sets the size.
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index fa0c2d466f..470b1dcaf5 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -89,6 +89,7 @@
<Compile Include="Chapters\RemoteChapterInfo.cs" />
<Compile Include="Chapters\RemoteChapterResult.cs" />
<Compile Include="Collections\CollectionCreationResult.cs" />
+ <Compile Include="Configuration\AccessSchedule.cs" />
<Compile Include="Configuration\ChannelOptions.cs" />
<Compile Include="Configuration\ChapterOptions.cs" />
<Compile Include="Configuration\CinemaModeConfiguration.cs" />
@@ -96,7 +97,13 @@
<Compile Include="Configuration\PeopleMetadataOptions.cs" />
<Compile Include="Configuration\XbmcMetadataOptions.cs" />
<Compile Include="Configuration\SubtitlePlaybackMode.cs" />
+ <Compile Include="Connect\ConnectAuthenticationResult.cs" />
<Compile Include="Connect\ConnectAuthorization.cs" />
+ <Compile Include="Connect\ConnectUser.cs" />
+ <Compile Include="Connect\ConnectUserQuery.cs" />
+ <Compile Include="Connect\PinCreationResult.cs" />
+ <Compile Include="Connect\PinExchangeResult.cs" />
+ <Compile Include="Connect\PinStatusResult.cs" />
<Compile Include="Connect\UserLinkType.cs" />
<Compile Include="Devices\DeviceOptions.cs" />
<Compile Include="Devices\LocalFileInfo.cs" />
diff --git a/MediaBrowser.Model/MediaInfo/MediaProtocol.cs b/MediaBrowser.Model/MediaInfo/MediaProtocol.cs
index ad63fa058d..880310814c 100644
--- a/MediaBrowser.Model/MediaInfo/MediaProtocol.cs
+++ b/MediaBrowser.Model/MediaInfo/MediaProtocol.cs
@@ -4,6 +4,7 @@ namespace MediaBrowser.Model.MediaInfo
{
File = 0,
Http = 1,
- Rtmp = 2
+ Rtmp = 2,
+ Rtsp = 3
}
} \ No newline at end of file