using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using RestEase; namespace IW4MAdmin.Application.API.Master { public class AuthenticationId { [JsonProperty("id")] public string Id { get; set; } } public class TokenId { [JsonProperty("access_token")] public string AccessToken { get; set; } } public class VersionInfo { [JsonProperty("current-version-stable")] public float CurrentVersionStable { get; set; } [JsonProperty("current-version-prerelease")] public float CurrentVersionPrerelease { get; set; } } public class ResultMessage { [JsonProperty("message")] public string Message { get; set; } } public class Endpoint { #if !DEBUG private static readonly IMasterApi api = RestClient.For("http://api.raidmax.org:5000"); #else private static IMasterApi api = RestClient.For("http://127.0.0.1"); #endif public static IMasterApi Get() => api; } [Header("User-Agent", "IW4MAdmin-RestEase")] public interface IMasterApi { [Header("Authorization")] string AuthorizationToken { get; set; } [Post("authenticate")] Task Authenticate([Body] AuthenticationId Id); [Post("instance/")] Task AddInstance([Body] ApiInstance instance); [Put("instance/{id}")] Task UpdateInstance([Path] string id, [Body] ApiInstance instance); [Get("version")] Task GetVersion(); [Get("localization")] Task> GetLocalization(); [Get("localization/{languageTag}")] Task GetLocalization([Path("languageTag")] string languageTag); } }