2020-08-22 19:56:24 +00:00
|
|
|
using System;
|
2020-07-28 00:40:21 +00:00
|
|
|
using System.Collections.Generic;
|
2020-07-01 01:44:41 +00:00
|
|
|
using Jellyfin.Data.Entities;
|
|
|
|
|
|
|
|
namespace MediaBrowser.Controller
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Manages the storage and retrieval of display preferences.
|
|
|
|
/// </summary>
|
|
|
|
public interface IDisplayPreferencesManager
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the display preferences for the user and client.
|
|
|
|
/// </summary>
|
2020-11-02 08:23:29 +00:00
|
|
|
/// <remarks>
|
|
|
|
/// This will create the display preferences if it does not exist, but it will not save automatically.
|
|
|
|
/// </remarks>
|
2020-07-01 01:44:41 +00:00
|
|
|
/// <param name="userId">The user's id.</param>
|
2020-12-04 23:00:11 +00:00
|
|
|
/// <param name="itemId">The item id.</param>
|
2020-07-01 01:44:41 +00:00
|
|
|
/// <param name="client">The client string.</param>
|
|
|
|
/// <returns>The associated display preferences.</returns>
|
2020-12-04 23:00:11 +00:00
|
|
|
DisplayPreferences GetDisplayPreferences(Guid userId, Guid itemId, string client);
|
2020-07-01 01:44:41 +00:00
|
|
|
|
2020-07-28 00:40:21 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Gets the default item display preferences for the user and client.
|
|
|
|
/// </summary>
|
2020-11-02 08:23:29 +00:00
|
|
|
/// <remarks>
|
|
|
|
/// This will create the item display preferences if it does not exist, but it will not save automatically.
|
|
|
|
/// </remarks>
|
2020-07-28 00:40:21 +00:00
|
|
|
/// <param name="userId">The user id.</param>
|
|
|
|
/// <param name="itemId">The item id.</param>
|
|
|
|
/// <param name="client">The client string.</param>
|
|
|
|
/// <returns>The item display preferences.</returns>
|
|
|
|
ItemDisplayPreferences GetItemDisplayPreferences(Guid userId, Guid itemId, string client);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets all of the item display preferences for the user and client.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="userId">The user id.</param>
|
|
|
|
/// <param name="client">The client string.</param>
|
|
|
|
/// <returns>A list of item display preferences.</returns>
|
|
|
|
IList<ItemDisplayPreferences> ListItemDisplayPreferences(Guid userId, string client);
|
|
|
|
|
2020-12-03 20:51:12 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Gets all of the custom item display preferences for the user and client.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="userId">The user id.</param>
|
2020-12-04 23:00:11 +00:00
|
|
|
/// <param name="itemId">The item id.</param>
|
2020-12-03 20:51:12 +00:00
|
|
|
/// <param name="client">The client string.</param>
|
|
|
|
/// <returns>The dictionary of custom item display preferences.</returns>
|
2022-08-12 18:37:31 +00:00
|
|
|
Dictionary<string, string?> ListCustomItemDisplayPreferences(Guid userId, Guid itemId, string client);
|
2020-12-03 20:51:12 +00:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Sets the custom item display preference for the user and client.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="userId">The user id.</param>
|
2020-12-04 23:00:11 +00:00
|
|
|
/// <param name="itemId">The item id.</param>
|
2020-12-03 20:51:12 +00:00
|
|
|
/// <param name="client">The client id.</param>
|
|
|
|
/// <param name="customPreferences">A dictionary of custom item display preferences.</param>
|
2022-08-12 18:37:31 +00:00
|
|
|
void SetCustomItemDisplayPreferences(Guid userId, Guid itemId, string client, Dictionary<string, string?> customPreferences);
|
2020-12-03 20:51:12 +00:00
|
|
|
|
2020-07-01 01:44:41 +00:00
|
|
|
/// <summary>
|
2020-08-08 17:39:49 +00:00
|
|
|
/// Saves changes made to the database.
|
2020-07-01 01:44:41 +00:00
|
|
|
/// </summary>
|
2020-08-08 17:39:49 +00:00
|
|
|
void SaveChanges();
|
2020-07-01 01:44:41 +00:00
|
|
|
}
|
|
|
|
}
|