diff --git a/EstusShots.Client/EstusShotsClient.cs b/EstusShots.Client/EstusShotsClient.cs index b42bae5..bf6f58a 100644 --- a/EstusShots.Client/EstusShotsClient.cs +++ b/EstusShots.Client/EstusShotsClient.cs @@ -25,6 +25,7 @@ namespace EstusShots.Client public Episodes Episodes { get; } public Players Players { get; } public Drinks Drinks { get; } + public Enemies Enemies { get; } /// /// Creates a new instance of @@ -39,6 +40,7 @@ namespace EstusShots.Client Episodes = new Episodes(this); Players = new Players(this); Drinks = new Drinks(this); + Enemies = new Enemies(this); } /// diff --git a/EstusShots.Client/Routes/Enemies.cs b/EstusShots.Client/Routes/Enemies.cs new file mode 100644 index 0000000..3360e95 --- /dev/null +++ b/EstusShots.Client/Routes/Enemies.cs @@ -0,0 +1,33 @@ +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using EstusShots.Shared.Interfaces; +using EstusShots.Shared.Models; +using EstusShots.Shared.Models.Parameters; + +namespace EstusShots.Client.Routes +{ + public class Enemies : IEnemiesController + { + private readonly EstusShotsClient _client; + + public Enemies(EstusShotsClient client) + { + _client = client; + } + + public async Task> GetEnemies(GetEnemiesParameter parameter) + => await _client.PostToApi(ActionUrl(), parameter); + + public async Task> GetEnemy(GetEnemyParameter parameter) + => await _client.PostToApi(ActionUrl(), parameter); + + public async Task> SaveEnemy(SaveEnemyParameter parameter) + => await _client.PostToApi(ActionUrl(), parameter); + + public async Task> DeleteEnemy(DeleteEnemyParameter parameter) + => await _client.PostToApi(ActionUrl(), parameter); + + private string ActionUrl([CallerMemberName]string caller = "") => + $"{_client.ApiUrl}{GetType().Name}/{caller}"; + } +} \ No newline at end of file