#nullable disable using System; using System.Collections.Generic; using System.Threading; using MediaBrowser.Controller.Entities; namespace MediaBrowser.Controller.Persistence { /// /// Provides an interface to implement a UserData repository. /// public interface IUserDataRepository : IDisposable { /// /// Saves the user data. /// /// The user id. /// The key. /// The user data. /// The cancellation token. void SaveUserData(long userId, string key, UserItemData userData, CancellationToken cancellationToken); /// /// Gets the user data. /// /// The user id. /// The key. /// The user data. UserItemData GetUserData(long userId, string key); /// /// Gets the user data. /// /// The user id. /// The keys. /// The user data. UserItemData GetUserData(long userId, List keys); /// /// Return all user data associated with the given user. /// /// The user id. /// The list of user item data. List GetAllUserData(long userId); /// /// Save all user data associated with the given user. /// /// The user id. /// The user item data. /// The cancellation token. void SaveAllUserData(long userId, UserItemData[] userData, CancellationToken cancellationToken); } }