/// <summary> /// Authenticate a user, returning a ParseInstance with the user details. /// </summary> /// <param name="username"> /// A <see cref="System.String"/> /// </param> /// <param name="password"> /// A <see cref="System.String"/> /// </param> /// <returns> /// A <see cref="ParseInstance"/> /// </returns> public static ParseInstance Authenticate(string username, string password) { var instance = new ParseInstance(users); instance.isDone = false; var queryString = HTTP.URL.Encode("username="******"&" + HTTP.URL.Encode("password="******"GET", "/login" + "?" + queryString); r.Send(delegate(HTTP.Request request) { instance.code = request.response.status; try { instance.json = (Hashtable)JSON.JsonDecode(request.response.Bytes); if (instance.json.ContainsKey("error")) { instance.error = (string)instance.json["error"]; } else { UniParse.Instance.sessionToken = instance.Get <string> ("sessionToken"); } } catch (System.Exception e) { instance.error = e.ToString(); } if (instance.error != null) { Debug.LogWarning(instance.error); } instance.isDone = true; }); return(instance); }
/// <summary> /// Return a ParseInstance by objectId. /// </summary> /// <param name="objectId"> /// A <see cref="System.String"/> /// </param> /// <returns> /// A <see cref="ParseInstance"/> /// </returns> public ParseInstance Get(string objectId) { var instance = new ParseInstance(this); instance.isDone = false; var r = UniParse.Instance.Request("GET", string.Format("{0}/{1}", root, objectId)); r.Send(delegate(HTTP.Request request) { instance.code = request.response.status; instance.uri = request.uri.ToString(); try { instance.json = (Hashtable)JSON.JsonDecode(request.response.Bytes); if (instance.json.ContainsKey("error")) { instance.error = (string)instance.json["error"]; } } catch (System.Exception e) { instance.error = e.ToString(); } if (instance.error != null) { Debug.LogWarning(instance.error); } instance.isDone = true; }); return(instance); }
/// <summary> /// Returns a ParseInstanceCollection of instances belonging to this ParseClass. /// </summary> /// <returns> /// A <see cref="ParseInstanceCollection"/>. Query parameters to constrain the results in JSON. /// </returns> public ParseInstanceCollection List(string query) { var instance = new ParseInstanceCollection(this); instance.isDone = false; var r = UniParse.Instance.Request("GET", query == null ? string.Format("{0}", root) : string.Format("{0}?{1}", root, HTTP.URL.Encode(query))); r.Send(delegate(HTTP.Request request) { instance.code = request.response.status; instance.uri = request.uri.ToString(); Hashtable json = null; try { json = (Hashtable)JSON.JsonDecode(request.response.Bytes); } catch (System.Exception e) { instance.error = e.ToString(); } if (json != null) { if (json.ContainsKey("error")) { instance.error = (string)json["error"]; } else { var items = new List <ParseInstance> (); foreach (var result in (ArrayList)json["results"]) { var i = new ParseInstance(this); i.json = (Hashtable)result; items.Add(i); } instance.items = items.ToArray(); } } if (instance.error != null) { Debug.LogWarning(instance.error); } instance.isDone = true; }); return(instance); }
/// <summary> /// Create a new ParseInstance for this ParseClass. /// </summary> /// <returns> /// A <see cref="ParseInstance"/> /// </returns> public ParseInstance New() { var instance = new ParseInstance(this); return(instance); }