diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-05-16 15:09:02 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-05-16 15:09:02 -0400 |
| commit | c8a38c139f2d7e854c8dfc9c38641e1ceeff6d9e (patch) | |
| tree | aa29157d30c8514dc7f6641ceb7217724e254443 /MediaBrowser.Api/PluginService.cs | |
| parent | 477a182efd632d83f8e2c481011fdfc96d82aa0f (diff) | |
lazy load scripts
Diffstat (limited to 'MediaBrowser.Api/PluginService.cs')
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 4bd78f1f5..2fbf65f3f 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -25,6 +25,7 @@ namespace MediaBrowser.Api [Authenticated] public class GetPlugins : IReturn<List<PluginInfo>> { + public bool? IsAppStoreEnabled { get; set; } } /// <summary> @@ -181,6 +182,7 @@ namespace MediaBrowser.Api public async Task<object> Get(GetPlugins request) { var result = _appHost.Plugins.OrderBy(p => p.Name).Select(p => p.GetPluginInfo()).ToList(); + var requireAppStoreEnabled = request.IsAppStoreEnabled.HasValue && request.IsAppStoreEnabled.Value; // Don't fail just on account of image url's try @@ -197,10 +199,26 @@ namespace MediaBrowser.Api plugin.ImageUrl = pkg.thumbImage; } } + + if (requireAppStoreEnabled) + { + result = result + .Where(plugin => + { + var pkg = packages.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i.guid) && new Guid(plugin.Id).Equals(new Guid(i.guid))); + return pkg != null && pkg.enableInAppStore; + + }) + .ToList(); + } } catch { - + // Play it safe here + if (requireAppStoreEnabled) + { + result = new List<PluginInfo>(); + } } return ToOptimizedSerializedResultUsingCache(result); |
