Updates to API Client

main
exsersewo 2 years ago
parent e562a90c35
commit 98be07e9fc
Signed by: exsersewo
GPG Key ID: 9C6DDF9AC9BA14A0
  1. 15
      Interfaces/ISkuldAPIClient.cs
  2. 16
      Skuld.API.Client.csproj
  3. 15
      Skuld.API.csproj
  4. 17
      SkuldAPI.cs

@ -5,16 +5,16 @@ using System;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Skuld.API namespace Skuld.API.Client;
public interface ISkuldAPIClient : IDisposable
{ {
public interface ISkuldAPIClient : IDisposable
{
#region Guild #region Guild
/// <summary> /// <summary>
/// Get a guild /// Get a guild
/// </summary> /// </summary>
/// <param name="id">Guild Id</param> /// <param name="id">Guild Id</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="Guild"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="Guild"/></returns>
[Get("/guild/{id}")] [Get("/guild/{id}")]
public Task<EventResult> GetGuildAsync([Path] ulong id); public Task<EventResult> GetGuildAsync([Path] ulong id);
#endregion Guild #endregion Guild
@ -24,7 +24,7 @@ namespace Skuld.API
/// Get a user /// Get a user
/// </summary> /// </summary>
/// <param name="id">User Id</param> /// <param name="id">User Id</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="User"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="User"/></returns>
[Get("/user/{id}")] [Get("/user/{id}")]
public Task<EventResult> GetUserAsync([Path] ulong id); public Task<EventResult> GetUserAsync([Path] ulong id);
#endregion User #endregion User
@ -35,7 +35,7 @@ namespace Skuld.API
/// </summary> /// </summary>
/// <param name="guildId">Guild Id, Accepts 0 for all</param> /// <param name="guildId">Guild Id, Accepts 0 for all</param>
/// <param name="page">%10 offset page</param> /// <param name="page">%10 offset page</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="UserExperience"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="UserExperience"/></returns>
[Get("/experience/{guildId}/{page}")] [Get("/experience/{guildId}/{page}")]
public Task<EventResult> GetExperienceLeaderboardAsync([Path] ulong guildId, [Path] int page = 0); public Task<EventResult> GetExperienceLeaderboardAsync([Path] ulong guildId, [Path] int page = 0);
#endregion Experience #endregion Experience
@ -46,7 +46,7 @@ namespace Skuld.API
/// </summary> /// </summary>
/// <param name="guildId">Guild Id, Accepts 0 for all</param> /// <param name="guildId">Guild Id, Accepts 0 for all</param>
/// <param name="page">%10 offset page</param> /// <param name="page">%10 offset page</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="User"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="User"/></returns>
[Get("/money/{guildId}/{page}")] [Get("/money/{guildId}/{page}")]
public Task<EventResult> GetMoneyLeaderboardAsync([Path] ulong guildId, [Path] int page = 0); public Task<EventResult> GetMoneyLeaderboardAsync([Path] ulong guildId, [Path] int page = 0);
#endregion Money #endregion Money
@ -117,5 +117,4 @@ namespace Skuld.API
[Get("/image/magik")] [Get("/image/magik")]
public Task<Stream> GetLiquidRescaledAsync([Query] string image); public Task<Stream> GetLiquidRescaledAsync([Query] string image);
}
} }

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="RestEase" Version="1.5.7" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\submodules\Skuld.Core\Skuld.Core\Skuld.Core.csproj" />
<ProjectReference Include="..\..\submodules\Skuld.Models\Skuld.Models\Skuld.Models.csproj" />
</ItemGroup>
</Project>

@ -1,15 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="RestEase" Version="1.5.5" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Skuld.Models\Skuld.Models\Skuld.Models.csproj" />
</ItemGroup>
</Project>

@ -7,10 +7,10 @@ using System.Net.Http;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Skuld.API namespace Skuld.API.Client;
public class SkuldAPI : ISkuldAPIClient, IDisposable
{ {
public class SkuldAPI : ISkuldAPIClient, IDisposable
{
public static string WrapperVersion { get; } = public static string WrapperVersion { get; } =
typeof(SkuldAPI).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? typeof(SkuldAPI).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ??
typeof(SkuldAPI).GetTypeInfo().Assembly.GetName().Version.ToString(3) ?? typeof(SkuldAPI).GetTypeInfo().Assembly.GetName().Version.ToString(3) ??
@ -36,7 +36,7 @@ namespace Skuld.API
{ {
BaseAddress = new Uri(ApiBase) BaseAddress = new Uri(ApiBase)
}; };
httpClient.DefaultRequestHeaders.Add("User-Agent", $"Skuld.API.Client/v{WrapperVersion} (https://github.com/skuldbot/Skuld)"); httpClient.DefaultRequestHeaders.Add("User-Agent", $"Skuld.API.Client.Client/v{WrapperVersion} (https://github.com/skuldbot/Skuld)");
if (!string.IsNullOrWhiteSpace(Token)) if (!string.IsNullOrWhiteSpace(Token))
{ {
@ -59,7 +59,7 @@ namespace Skuld.API
/// Get a guild /// Get a guild
/// </summary> /// </summary>
/// <param name="id">Guild Id</param> /// <param name="id">Guild Id</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="Guild"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="Guild"/></returns>
public Task<EventResult> GetGuildAsync(ulong id) public Task<EventResult> GetGuildAsync(ulong id)
=> !string.IsNullOrWhiteSpace(Token) ? _api.GetGuildAsync(id) : null; => !string.IsNullOrWhiteSpace(Token) ? _api.GetGuildAsync(id) : null;
@ -67,7 +67,7 @@ namespace Skuld.API
/// Get a user /// Get a user
/// </summary> /// </summary>
/// <param name="id">User Id</param> /// <param name="id">User Id</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="User"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="User"/></returns>
public Task<EventResult> GetUserAsync(ulong id) public Task<EventResult> GetUserAsync(ulong id)
=> !string.IsNullOrWhiteSpace(Token) ? _api.GetUserAsync(id) : null; => !string.IsNullOrWhiteSpace(Token) ? _api.GetUserAsync(id) : null;
@ -111,7 +111,7 @@ namespace Skuld.API
/// </summary> /// </summary>
/// <param name="guildId">Guild Id, Accepts 0 for all</param> /// <param name="guildId">Guild Id, Accepts 0 for all</param>
/// <param name="page">%10 offset page</param> /// <param name="page">%10 offset page</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="UserExperience"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="UserExperience"/></returns>
public Task<EventResult> GetExperienceLeaderboardAsync(ulong guildId, int page = 0) public Task<EventResult> GetExperienceLeaderboardAsync(ulong guildId, int page = 0)
=> !string.IsNullOrWhiteSpace(Token) ? _api.GetExperienceLeaderboardAsync(guildId, page) : null; => !string.IsNullOrWhiteSpace(Token) ? _api.GetExperienceLeaderboardAsync(guildId, page) : null;
@ -120,7 +120,7 @@ namespace Skuld.API
/// </summary> /// </summary>
/// <param name="guildId">Guild Id, Accepts 0 for all</param> /// <param name="guildId">Guild Id, Accepts 0 for all</param>
/// <param name="page">%10 offset page</param> /// <param name="page">%10 offset page</param>
/// <returns><see cref="EventResult{T}"/> wrapped <see cref="User"/></returns> /// <returns><see cref="EventResult"/> wrapped <see cref="User"/></returns>
public Task<EventResult> GetMoneyLeaderboardAsync(ulong guildId, int page = 0) public Task<EventResult> GetMoneyLeaderboardAsync(ulong guildId, int page = 0)
=> !string.IsNullOrWhiteSpace(Token) ? _api.GetMoneyLeaderboardAsync(guildId, page) : null; => !string.IsNullOrWhiteSpace(Token) ? _api.GetMoneyLeaderboardAsync(guildId, page) : null;
@ -172,5 +172,4 @@ namespace Skuld.API
Dispose(disposing: true); Dispose(disposing: true);
GC.SuppressFinalize(this); GC.SuppressFinalize(this);
} }
}
} }
Loading…
Cancel
Save