#nullable disable using System; using System.Collections.Generic; using Jellyfin.Data.Entities; namespace MediaBrowser.Controller { /// /// Manages the storage and retrieval of display preferences. /// public interface IDisplayPreferencesManager { /// /// Gets the display preferences for the user and client. /// /// /// This will create the display preferences if it does not exist, but it will not save automatically. /// /// The user's id. /// The item id. /// The client string. /// The associated display preferences. DisplayPreferences GetDisplayPreferences(Guid userId, Guid itemId, string client); /// /// Gets the default item display preferences for the user and client. /// /// /// This will create the item display preferences if it does not exist, but it will not save automatically. /// /// The user id. /// The item id. /// The client string. /// The item display preferences. ItemDisplayPreferences GetItemDisplayPreferences(Guid userId, Guid itemId, string client); /// /// Gets all of the item display preferences for the user and client. /// /// The user id. /// The client string. /// A list of item display preferences. IList ListItemDisplayPreferences(Guid userId, string client); /// /// Gets all of the custom item display preferences for the user and client. /// /// The user id. /// The item id. /// The client string. /// The dictionary of custom item display preferences. Dictionary ListCustomItemDisplayPreferences(Guid userId, Guid itemId, string client); /// /// Sets the custom item display preference for the user and client. /// /// The user id. /// The item id. /// The client id. /// A dictionary of custom item display preferences. void SetCustomItemDisplayPreferences(Guid userId, Guid itemId, string client, Dictionary customPreferences); /// /// Saves changes made to the database. /// void SaveChanges(); } }