// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.Persistence; using MUnique.OpenMU.Interfaces; /// /// A context which is used by the . /// public interface IFriendServerContext : IContext { /// /// Creates a new friend view item. /// /// Name of the character. /// Name of the friend. /// The created friend view item. ValueTask CreateNewFriendAsync(string characterName, string friendName); /// /// Gets the friend view item by friend. /// /// Name of the character holding the friend view item in its friendlist. /// Name of the friend. /// The friend view item of the friend. ValueTask GetFriendByNamesAsync(string characterName, string friendName); /// /// Gets the friends of a character. /// /// Id of the character. /// The friends of the character. ValueTask> GetFriendsAsync(Guid characterId); /// /// Gets the friend names of a character. /// /// Id of the character. /// The friend names of the character. ValueTask> GetFriendNamesAsync(Guid characterId); /// /// Deletes the friend with name from the friendlist of . /// /// Name of the character holding the friend view item in its friendlist. /// Name of the friend. ValueTask DeleteAsync(string characterName, string friendName); /// /// Gets the names from characters which requested a friendship to the character with the specified id and are not answered yet. /// /// Id of the character. /// The open friend requester names. ValueTask> GetOpenFriendRequesterNamesAsync(Guid characterId); }