public async Task <Challenger> SetChallengerFreeze(Challenger challenger, bool isFrozen) { //Set up the request var client = new RestClient(API.BaseURL + "Admin.php"); var request = new RestRequest(Method.PATCH); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("Authorization", "Bearer " + RawToken); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("id", challenger.ID); request.AddParameter("action", isFrozen ? "freeze" : "defrost"); //Get the data async IRestResponse response = await Task.Run(() => { return(client.Execute(request)); }); Response <Challenger> data = Response <Challenger> .FromJson(response.Content); //Log any errors for (int i = 0; i < data.Errors.Length; i++) { Debug.LogError(data.Errors[i]); } if (data.Result.Length == 1) { string result = JsonConvert.SerializeObject(data.Result[0]); JsonConvert.PopulateObject(result, challenger); } return(challenger); }
// Commands // ======== public static async Task <Challenger> Login(string email, string password, string tempPassword = "") { //Set up the request var client = new RestClient(API.BaseURL + "Login.php"); var request = new RestRequest(Method.POST); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("email", email); request.AddParameter("password", password); if (tempPassword != "") { request.AddParameter("tempPassword", tempPassword); } //Get the data async IRestResponse response = await Task.Run(() => { return(client.Execute(request)); }); TokenRequest token = TokenRequest.FromJson(response.Content); //Log any errors for (int i = 0; i < token.Errors.Length; i++) { Debug.LogError(token.Errors[i]); } Challenger newChallenger = new Challenger { RawToken = token.Value, Token = Token.FromJWT(token.Value), ID = Token.FromJWT(token.Value).Pay.UserID }; await newChallenger.Update(); return(newChallenger); }