diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 740ac7930b..4b0bef2e20 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -1,6 +1,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Session; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Users; @@ -172,12 +173,14 @@ namespace MediaBrowser.Api /// private readonly IUserManager _userManager; private readonly IDtoService _dtoService; + private readonly ISessionManager _sessionMananger; /// /// Initializes a new instance of the class. /// /// The XML serializer. /// The user manager. + /// The dto service. /// xmlSerializer public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, IDtoService dtoService) : base() @@ -300,17 +303,15 @@ namespace MediaBrowser.Api throw new ResourceNotFoundException("User not found"); } - var success = await _userManager.AuthenticateUser(user, request.Password).ConfigureAwait(false); + var auth = AuthorizationRequestFilterAttribute.GetAuthorization(Request); - if (!success) - { - // Unauthorized - throw new UnauthorizedAccessException("Invalid user or password entered."); - } + var session = await _sessionMananger.AuthenticateNewSession(user, request.Password, auth.Client, auth.Version, + auth.DeviceId, auth.Device, Request.RemoteIp).ConfigureAwait(false); var result = new AuthenticationResult { - User = _dtoService.GetUserDto(user) + User = _dtoService.GetUserDto(user), + SessionInfo = _dtoService.GetSessionInfoDto(session) }; return result; diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 0e93246c9c..62b9c0e47d 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -1,7 +1,6 @@ -using System.Collections.Generic; -using System.Linq; -using MediaBrowser.Model.Weather; +using MediaBrowser.Model.Weather; using System; +using System.Collections.Generic; namespace MediaBrowser.Model.Configuration { diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index f49bbb6aea..44abeac436 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -375,11 +375,6 @@ namespace MediaBrowser.Providers.Manager { if (provider is IRemoteMetadataProvider) { - if (!ConfigurationManager.Configuration.EnableInternetProviders) - { - return false; - } - if (Array.IndexOf(options.DisabledMetadataFetchers, provider.Name) != -1) { return false; @@ -410,11 +405,6 @@ namespace MediaBrowser.Providers.Manager { if (provider is IRemoteImageProvider) { - if (!ConfigurationManager.Configuration.EnableInternetProviders) - { - return false; - } - if (Array.IndexOf(options.DisabledImageFetchers, provider.Name) != -1) { return false; diff --git a/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs index 6f911d4111..7c0aa8f82f 100644 --- a/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs @@ -54,7 +54,7 @@ namespace MediaBrowser.Providers.Movies /// Task. public async Task Run(IProgress progress, CancellationToken cancellationToken) { - if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates) + if (!_config.Configuration.EnableFanArtUpdates) { progress.Report(100); return; diff --git a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs index 483175f371..2225b5fb80 100644 --- a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs +++ b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs @@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.Movies /// Task. public async Task Run(IProgress progress, CancellationToken cancellationToken) { - if (!_config.Configuration.EnableInternetProviders && !_config.Configuration.EnableTmdbUpdates) + if (!_config.Configuration.EnableTmdbUpdates) { progress.Report(100); return; diff --git a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs index 9d24490b22..5258860553 100644 --- a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs @@ -53,7 +53,7 @@ namespace MediaBrowser.Providers.Music /// Task. public async Task Run(IProgress progress, CancellationToken cancellationToken) { - if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates) + if (!_config.Configuration.EnableFanArtUpdates) { progress.Report(100); return; diff --git a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs index 50099dcb89..1b2530dba2 100644 --- a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs @@ -54,7 +54,7 @@ namespace MediaBrowser.Providers.TV /// Task. public async Task Run(IProgress progress, CancellationToken cancellationToken) { - if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates) + if (!_config.Configuration.EnableFanArtUpdates) { progress.Report(100); return; diff --git a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs index 035528734a..9a3aaed1a9 100644 --- a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs +++ b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs @@ -171,7 +171,9 @@ namespace MediaBrowser.Providers.TV hasNewSeasons = await AddDummySeasonFolders(series, cancellationToken).ConfigureAwait(false); } - if (_config.Configuration.EnableInternetProviders) + var seriesConfig = _config.Configuration.MetadataOptions.FirstOrDefault(i => string.Equals(i.ItemType, typeof(Series).Name, StringComparison.OrdinalIgnoreCase)); + + if (seriesConfig == null || !seriesConfig.DisabledMetadataFetchers.Contains(TvdbSeriesProvider.Current.Name, StringComparer.OrdinalIgnoreCase)) { hasNewEpisodes = await AddMissingEpisodes(group.ToList(), seriesDataPath, episodeLookup, cancellationToken) .ConfigureAwait(false); diff --git a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs index 0c9712caef..fd77b9b87b 100644 --- a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs @@ -253,8 +253,6 @@ namespace MediaBrowser.Providers.TV private void FetchMainEpisodeInfo(Episode item, string xmlFile, CancellationToken cancellationToken) { - var status = ProviderRefreshStatus.Success; - using (var streamReader = new StreamReader(xmlFile, Encoding.UTF8)) { if (!item.LockedFields.Contains(MetadataFields.Cast)) diff --git a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs index 4164a05baf..e24b72eff4 100644 --- a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs +++ b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs @@ -73,7 +73,9 @@ namespace MediaBrowser.Providers.TV /// Task. public async Task Run(IProgress progress, CancellationToken cancellationToken) { - if (!_config.Configuration.EnableInternetProviders) + var seriesConfig = _config.Configuration.MetadataOptions.FirstOrDefault(i => string.Equals(i.ItemType, typeof(Series).Name, StringComparison.OrdinalIgnoreCase)); + + if (seriesConfig != null && seriesConfig.DisabledMetadataFetchers.Contains(TvdbSeriesProvider.Current.Name, StringComparer.OrdinalIgnoreCase)) { progress.Report(100); return;