Replaced TryGetPlugin with GetPlugin
This commit is contained in:
parent
0337e39bae
commit
5323887540
|
@ -212,12 +212,13 @@ namespace Emby.Server.Implementations
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attempts to find the plugin with and id of <paramref name="id"/>.
|
/// Attempts to find the plugin with and id of <paramref name="id"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">Id of plugin.</param>
|
/// <param name="id">The <see cref="Guid"/> of plugin.</param>
|
||||||
/// <param name="version">The version of the plugin to locate.</param>
|
/// <param name="version">Optional <see cref="Version"/> of the plugin to locate.</param>
|
||||||
/// <param name="plugin">A <see cref="LocalPlugin"/> if found, otherwise null.</param>
|
/// <returns>A <see cref="LocalPlugin"/> if located, or null if not.</returns>
|
||||||
/// <returns>Boolean value signifying the success of the search.</returns>
|
public LocalPlugin? GetPlugin(Guid id, Version? version = null)
|
||||||
public bool TryGetPlugin(Guid id, Version? version, out LocalPlugin? plugin)
|
|
||||||
{
|
{
|
||||||
|
LocalPlugin? plugin;
|
||||||
|
|
||||||
if (version == null)
|
if (version == null)
|
||||||
{
|
{
|
||||||
// If no version is given, return the current instance.
|
// If no version is given, return the current instance.
|
||||||
|
@ -235,7 +236,7 @@ namespace Emby.Server.Implementations
|
||||||
plugin = _plugins.FirstOrDefault(p => p.Id.Equals(id) && p.Version.Equals(version));
|
plugin = _plugins.FirstOrDefault(p => p.Id.Equals(id) && p.Version.Equals(version));
|
||||||
}
|
}
|
||||||
|
|
||||||
return plugin != null;
|
return plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -197,10 +197,11 @@ namespace Emby.Server.Implementations.Updates
|
||||||
{
|
{
|
||||||
var version = package.Versions[i];
|
var version = package.Versions[i];
|
||||||
|
|
||||||
|
var plugin = _pluginManager.GetPlugin(packageGuid, version.VersionNumber);
|
||||||
// Update the manifests, if anything changes.
|
// Update the manifests, if anything changes.
|
||||||
if (_pluginManager.TryGetPlugin(packageGuid, version.VersionNumber, out LocalPlugin? plugin))
|
if (plugin != null)
|
||||||
{
|
{
|
||||||
bool noChange = string.Equals(plugin!.Manifest.MaxAbi, version.MaxAbi, StringComparison.Ordinal)
|
bool noChange = string.Equals(plugin.Manifest.MaxAbi, version.MaxAbi, StringComparison.Ordinal)
|
||||||
|| string.Equals(plugin.Manifest.TargetAbi, version.TargetAbi, StringComparison.Ordinal);
|
|| string.Equals(plugin.Manifest.TargetAbi, version.TargetAbi, StringComparison.Ordinal);
|
||||||
if (!noChange)
|
if (!noChange)
|
||||||
{
|
{
|
||||||
|
|
|
@ -134,12 +134,13 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult EnablePlugin([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
public ActionResult EnablePlugin([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
||||||
{
|
{
|
||||||
if (!_pluginManager.TryGetPlugin(pluginId, version, out var plugin))
|
var plugin = _pluginManager.GetPlugin(pluginId, version);
|
||||||
|
if (plugin == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
_pluginManager.EnablePlugin(plugin!);
|
_pluginManager.EnablePlugin(plugin);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,12 +158,13 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult DisablePlugin([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
public ActionResult DisablePlugin([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
||||||
{
|
{
|
||||||
if (!_pluginManager.TryGetPlugin(pluginId, version, out var plugin))
|
var plugin = _pluginManager.GetPlugin(pluginId, version);
|
||||||
|
if (plugin == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
_pluginManager.DisablePlugin(plugin!);
|
_pluginManager.DisablePlugin(plugin);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,7 +182,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult UninstallPluginByVersion([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
public ActionResult UninstallPluginByVersion([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
||||||
{
|
{
|
||||||
if (!_pluginManager.TryGetPlugin(pluginId, version, out var plugin))
|
var plugin = _pluginManager.GetPlugin(pluginId, version);
|
||||||
|
if (plugin == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
@ -230,8 +233,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult<BasePluginConfiguration> GetPluginConfiguration([FromRoute, Required] Guid pluginId)
|
public ActionResult<BasePluginConfiguration> GetPluginConfiguration([FromRoute, Required] Guid pluginId)
|
||||||
{
|
{
|
||||||
if (_pluginManager.TryGetPlugin(pluginId, null, out var plugin)
|
var plugin = _pluginManager.GetPlugin(pluginId);
|
||||||
&& plugin!.Instance is IHasPluginConfiguration configPlugin)
|
if (plugin?.Instance is IHasPluginConfiguration configPlugin)
|
||||||
{
|
{
|
||||||
return configPlugin.Configuration;
|
return configPlugin.Configuration;
|
||||||
}
|
}
|
||||||
|
@ -258,8 +261,8 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public async Task<ActionResult> UpdatePluginConfiguration([FromRoute, Required] Guid pluginId)
|
public async Task<ActionResult> UpdatePluginConfiguration([FromRoute, Required] Guid pluginId)
|
||||||
{
|
{
|
||||||
if (!_pluginManager.TryGetPlugin(pluginId, null, out var plugin)
|
var plugin = _pluginManager.GetPlugin(pluginId);
|
||||||
|| plugin?.Instance is not IHasPluginConfiguration configPlugin)
|
if (plugin?.Instance is not IHasPluginConfiguration configPlugin)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
@ -289,14 +292,15 @@ namespace Jellyfin.Api.Controllers
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
public ActionResult GetPluginImage([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
public ActionResult GetPluginImage([FromRoute, Required] Guid pluginId, [FromRoute, Required] Version version)
|
||||||
{
|
{
|
||||||
if (!_pluginManager.TryGetPlugin(pluginId, version, out var plugin))
|
var plugin = _pluginManager.GetPlugin(pluginId, version);
|
||||||
|
if (plugin == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
var imgPath = Path.Combine(plugin!.Path, plugin!.Manifest.ImageUrl ?? string.Empty);
|
var imgPath = Path.Combine(plugin.Path, plugin.Manifest.ImageUrl ?? string.Empty);
|
||||||
if (((ServerConfiguration)_config.CommonConfiguration).DisablePluginImages
|
if (((ServerConfiguration)_config.CommonConfiguration).DisablePluginImages
|
||||||
|| plugin!.Manifest.ImageUrl == null
|
|| plugin.Manifest.ImageUrl == null
|
||||||
|| !System.IO.File.Exists(imgPath))
|
|| !System.IO.File.Exists(imgPath))
|
||||||
{
|
{
|
||||||
// Use a blank image.
|
// Use a blank image.
|
||||||
|
@ -325,9 +329,11 @@ namespace Jellyfin.Api.Controllers
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult<PluginManifest> GetPluginManifest([FromRoute, Required] Guid pluginId)
|
public ActionResult<PluginManifest> GetPluginManifest([FromRoute, Required] Guid pluginId)
|
||||||
{
|
{
|
||||||
if (_pluginManager.TryGetPlugin(pluginId, null, out var plugin))
|
var plugin = _pluginManager.GetPlugin(pluginId);
|
||||||
|
|
||||||
|
if (plugin != null)
|
||||||
{
|
{
|
||||||
return Ok(plugin!.Manifest);
|
return Ok(plugin.Manifest);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NotFound();
|
return NotFound();
|
||||||
|
|
|
@ -72,9 +72,8 @@ namespace MediaBrowser.Common.Plugins
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">Id of plugin.</param>
|
/// <param name="id">Id of plugin.</param>
|
||||||
/// <param name="version">The version of the plugin to locate.</param>
|
/// <param name="version">The version of the plugin to locate.</param>
|
||||||
/// <param name="plugin">A <see cref="LocalPlugin"/> if found, otherwise null.</param>
|
/// <returns>A <see cref="LocalPlugin"/> if located, or null if not.</returns>
|
||||||
/// <returns>Boolean value signifying the success of the search.</returns>
|
LocalPlugin? GetPlugin(Guid id, Version? version = null);
|
||||||
bool TryGetPlugin(Guid id, Version? version, out LocalPlugin? plugin);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Removes the plugin.
|
/// Removes the plugin.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user