Add api key to configuration

This commit is contained in:
Joe Rogers 2023-12-16 16:09:10 -05:00
parent 6ea4c44906
commit c8da8eefe0
No known key found for this signature in database
GPG Key ID: 0074AD57B8FDBBB4
3 changed files with 26 additions and 2 deletions

View File

@ -7,6 +7,12 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
/// </summary> /// </summary>
public class PluginConfiguration : BasePluginConfiguration public class PluginConfiguration : BasePluginConfiguration
{ {
/// <summary>
/// Gets or sets a value to use as the API key for accessing TMDb. This is intentionally excluded from the
/// settings page as the API key should not need to be changed by most users.
/// </summary>
public string TmdbApiKey { get; set; } = TmdbUtils.ApiKey;
/// <summary> /// <summary>
/// Gets or sets a value indicating whether include adult content when searching with TMDb. /// Gets or sets a value indicating whether include adult content when searching with TMDb.
/// </summary> /// </summary>

View File

@ -64,9 +64,18 @@
var clientConfig, pluginConfig; var clientConfig, pluginConfig;
var configureImageScaling = function() { var configureImageScaling = function() {
if (clientConfig === null || pluginConfig === null) { if (clientConfig === undefined || pluginConfig === undefined) {
return; return;
} }
if (Object.keys(clientConfig).length === 0) {
clientConfig = {
PosterSizes: [pluginConfig.PosterSize],
BackdropSizes: [pluginConfig.BackdropSize],
LogoSizes: [pluginConfig.LogoSize],
ProfileSizes: [pluginConfig.ProfileSize],
StillSizes: [pluginConfig.StillSize]
};
}
var sizeOptionsGenerator = function (size) { var sizeOptionsGenerator = function (size) {
return '<option value="' + size + '">' + size + '</option>'; return '<option value="' + size + '">' + size + '</option>';
@ -104,6 +113,15 @@
ApiClient.fetch(request).then(function (config) { ApiClient.fetch(request).then(function (config) {
clientConfig = config; clientConfig = config;
configureImageScaling(); configureImageScaling();
}, function (error) {
error.text().then(function (contents) {
Dashboard.alert({
title: error.statusText,
message: contents
});
clientConfig = {};
configureImageScaling();
});
}); });
ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) { ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {

View File

@ -36,7 +36,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb
public TmdbClientManager(IMemoryCache memoryCache) public TmdbClientManager(IMemoryCache memoryCache)
{ {
_memoryCache = memoryCache; _memoryCache = memoryCache;
_tmDbClient = new TMDbClient(TmdbUtils.ApiKey); _tmDbClient = new TMDbClient(Plugin.Instance.Configuration.TmdbApiKey);
// Not really interested in NotFoundException // Not really interested in NotFoundException
_tmDbClient.ThrowApiExceptions = false; _tmDbClient.ThrowApiExceptions = false;
} }