public static async Task <AllTimeStats> GetCurrentUserAllTimeStats() { string token = Preferences.Get("token", ""); if (!IsTokenValid(token)) { return(null); } const string sPath = "/api/v1/users/current/all_time_since_today"; string data = await WakaTimeRepo.Get(sPath); if (data == null) { return(null); } JObject obj = JsonConvert.DeserializeObject <JObject>(data); if (obj["data"] == null) { return(null); } return(obj["data"].ToObject <AllTimeStats>()); }
public static async Task <Leaders> GetLeaders(uint page = 1) { const string sPath = "/api/v1/leaders"; string data = await WakaTimeRepo.Get(sPath + "?page=" + page); if (data == null) { return(null); } return(JsonConvert.DeserializeObject <Leaders>(data)); }
private async static Task <string> Get(string path) { using (var client = WakaTimeRepo.GetHttpClient()) { try { return(await client.GetStringAsync(WakaTimeRepo.BaseURL + path)); } catch (Exception) { return(null); } } }
public static async Task <Stats> GetUserStats(string guid) { string sPath = $"/api/v1/users/{guid}/stats/last_7_days"; string data = await WakaTimeRepo.Get(sPath); if (data == null) { return(null); } JObject obj = JsonConvert.DeserializeObject <JObject>(data); if (obj["data"] == null) { return(null); } return(obj["data"].ToObject <Stats>()); }