Skip to content

Commit 987bd4b

Browse files
committed
Merge pull request #134 from ParsePlatform/gogo.builtin-function
Use `FromState` instead of `CreateWithoutData` + `HandleFetchResult`
2 parents bcf2791 + 548d3fc commit 987bd4b

File tree

5 files changed

+11
-17
lines changed

5 files changed

+11
-17
lines changed

Parse/Internal/Encoding/ParseDecoder.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,8 @@ public object Decode(object data) {
6464
}
6565

6666
if (typeString == "Object") {
67-
var output = ParseObject.CreateWithoutData(dict["className"] as string, null);
68-
output.HandleFetchResult(ParseObjectCoder.Instance.Decode(dict, this));
69-
return output;
67+
var state = ParseObjectCoder.Instance.Decode(dict, this);
68+
return ParseObject.FromState<ParseObject>(state, dict["className"] as string);
7069
}
7170

7271
if (typeString == "Relation") {

Parse/Internal/Installation/Controller/ParseCurrentInstallationController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ public Task<ParseInstallation> GetAsync(CancellationToken cancellationToken) {
7070
ParseInstallation installation = null;
7171
if (installationDataString != null) {
7272
var installationData = ParseClient.DeserializeJsonString(installationDataString);
73-
installation = ParseObject.CreateWithoutData<ParseInstallation>(null);
74-
installation.HandleFetchResult(ParseObjectCoder.Instance.Decode(installationData, ParseDecoder.Instance));
73+
var state = ParseObjectCoder.Instance.Decode(installationData, ParseDecoder.Instance);
74+
installation = ParseObject.FromState<ParseInstallation>(state, "_Installation");
7575
} else {
7676
installation = ParseObject.Create<ParseInstallation>();
7777
installation.SetIfDifferent("installationId" , installationIdController.Get().ToString());

Parse/Internal/User/Controller/ParseCurrentUserController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ public Task<ParseUser> GetAsync(CancellationToken cancellationToken) {
6767
ParseUser user = null;
6868
if (userDataString != null) {
6969
var userData = Json.Parse(userDataString) as IDictionary<string, object>;
70-
user = ParseObject.CreateWithoutData<ParseUser>(null);
71-
user.HandleFetchResult(ParseObjectCoder.Instance.Decode(userData, ParseDecoder.Instance));
70+
var state = ParseObjectCoder.Instance.Decode(userData, ParseDecoder.Instance);
71+
user = ParseObject.FromState<ParseUser>(state, "_User");
7272
}
7373

7474
CurrentUser = user;

Parse/Public/ParseSession.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ public static Task<ParseSession> GetCurrentSessionAsync(CancellationToken cancel
6767
}
6868

6969
return SessionController.GetSessionAsync(sessionToken, cancellationToken).OnSuccess(t => {
70-
ParseSession session = (ParseSession)ParseObject.CreateWithoutData<ParseSession>(null);
71-
session.HandleFetchResult(t.Result);
70+
ParseSession session = ParseObject.FromState<ParseSession>(t.Result, "_Session");
7271
return session;
7372
});
7473
}).Unwrap();
@@ -87,8 +86,7 @@ internal static Task<string> UpgradeToRevocableSessionAsync(string sessionToken,
8786
}
8887

8988
return SessionController.UpgradeToRevocableSessionAsync(sessionToken, cancellationToken).OnSuccess(t => {
90-
var session = (ParseSession)ParseObject.CreateWithoutData<ParseSession>(null);
91-
session.HandleFetchResult(t.Result);
89+
ParseSession session = ParseObject.FromState<ParseSession>(t.Result, "_Session");
9290
return session.SessionToken;
9391
});
9492
}

Parse/Public/ParseUser.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,7 @@ public static Task<ParseUser> LogInAsync(string username,
213213
string password,
214214
CancellationToken cancellationToken) {
215215
return UserController.LogInAsync(username, password, cancellationToken).OnSuccess(t => {
216-
var user = (ParseUser)ParseObject.CreateWithoutData<ParseUser>(null);
217-
user.HandleFetchResult(t.Result);
216+
ParseUser user = ParseObject.FromState<ParseUser>(t.Result, "_User");
218217
return SaveCurrentUserAsync(user).OnSuccess(_ => user);
219218
}).Unwrap();
220219
}
@@ -238,8 +237,7 @@ public static Task<ParseUser> BecomeAsync(string sessionToken) {
238237
/// <returns>The user if authorization was successful</returns>
239238
public static Task<ParseUser> BecomeAsync(string sessionToken, CancellationToken cancellationToken) {
240239
return UserController.GetUserAsync(sessionToken, cancellationToken).OnSuccess(t => {
241-
var user = (ParseUser)ParseObject.CreateWithoutData<ParseUser>(null);
242-
user.HandleFetchResult(t.Result);
240+
ParseUser user = ParseObject.FromState<ParseUser>(t.Result, "_User");
243241
return SaveCurrentUserAsync(user).OnSuccess(_ => user);
244242
}).Unwrap();
245243
}
@@ -592,8 +590,7 @@ internal static Task<ParseUser> LogInWithAsync(string authType,
592590
ParseUser user = null;
593591

594592
return UserController.LogInAsync(authType, data, cancellationToken).OnSuccess(t => {
595-
user = (ParseUser)ParseObject.CreateWithoutData<ParseUser>(null);
596-
user.HandleFetchResult(t.Result);
593+
user = ParseObject.FromState<ParseUser>(t.Result, "_User");
597594

598595
lock (user.mutex) {
599596
if (user.AuthData == null) {

0 commit comments

Comments
 (0)