using System.Threading.Tasks;
using EstusShots.Shared.Models;
using EstusShots.Shared.Models.Parameters;
namespace EstusShots.Shared.Interfaces.Controllers
{
///
/// Load and manipulate player objects
///
public interface IPlayersController
{
///
/// Loads a list of all players in the database
///
/// An instance
/// An ApiResponse instance of type
Task> GetPlayers(GetPlayersParameter parameter);
///
/// Loads detailed information on a single player
///
/// An instance
/// An ApiResponse instance of type
Task> GetPlayerDetails(GetPlayerDetailsParameter parameter);
///
/// Creates or updates a player object
///
/// An instance
/// An ApiResponse instance of type
Task> SavePlayer(SavePlayerParameter parameter);
///
/// Deletes a player
///
/// An instance
/// An ApiResponse instance of type
Task> DeletePlayer(DeletePlayerParameter parameter);
}
}