Skip to content

Commit

Permalink
fix(authentication): null values were not returned (#512)
Browse files Browse the repository at this point in the history
  • Loading branch information
robingenz authored Dec 7, 2023
1 parent 02b5e3b commit d548176
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 28 deletions.
5 changes: 5 additions & 0 deletions .changeset/pink-seahorses-sin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@capacitor-firebase/authentication': patch
---

fix: `null` values were not returned
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import io.capawesome.capacitorjs.plugins.firebase.authentication.interfaces.ResultCallback;
import java.util.Arrays;
import java.util.List;
import org.json.JSONObject;

public class FirebaseAuthentication {

Expand Down Expand Up @@ -527,7 +528,7 @@ public void unlink(final PluginCall call, FirebaseUser user, @NonNull String pro
AuthResult authResult = task.getResult();
JSObject userResult = FirebaseAuthenticationHelper.createUserResult(authResult.getUser());
JSObject result = new JSObject();
result.put("user", userResult);
result.put("user", (userResult == null ? JSONObject.NULL : userResult));
call.resolve(result);
} else {
Exception exception = task.getException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ public static JSObject createSignInResult(
);
JSObject additionalUserInfoResult = FirebaseAuthenticationHelper.createAdditionalUserInfoResult(additionalUserInfo);
JSObject result = new JSObject();
result.put("user", userResult);
result.put("credential", credentialResult);
result.put("additionalUserInfo", additionalUserInfoResult);
result.put("user", (userResult == null ? JSONObject.NULL : userResult));
result.put("credential", (credentialResult == null ? JSONObject.NULL : credentialResult));
result.put("additionalUserInfo", (additionalUserInfoResult == null ? JSONObject.NULL : additionalUserInfoResult));
return result;
}

Expand All @@ -84,16 +84,16 @@ public static JSObject createUserResult(@Nullable FirebaseUser user) {
return null;
}
JSObject result = new JSObject();
result.put("displayName", user.getDisplayName());
result.put("email", user.getEmail());
result.put("displayName", (user.getDisplayName() == null ? JSONObject.NULL : user.getDisplayName()));
result.put("email", (user.getEmail() == null ? JSONObject.NULL : user.getEmail()));
result.put("emailVerified", user.isEmailVerified());
result.put("isAnonymous", user.isAnonymous());
result.put("metadata", FirebaseAuthenticationHelper.createUserMetadataResult(user.getMetadata()));
result.put("phoneNumber", user.getPhoneNumber());
result.put("photoUrl", user.getPhotoUrl());
result.put("phoneNumber", (user.getPhoneNumber() == null ? JSONObject.NULL : user.getPhoneNumber()));
result.put("photoUrl", (user.getPhotoUrl() == null ? JSONObject.NULL : user.getPhotoUrl()));
result.put("providerData", FirebaseAuthenticationHelper.createUserProviderDataResult(user.getProviderData()));
result.put("providerId", user.getProviderId());
result.put("tenantId", user.getTenantId());
result.put("tenantId", (user.getTenantId() == null ? JSONObject.NULL : user.getTenantId()));
result.put("uid", user.getUid());
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import io.capawesome.capacitorjs.plugins.firebase.authentication.handlers.FacebookAuthProviderHandler;
import io.capawesome.capacitorjs.plugins.firebase.authentication.interfaces.Result;
import io.capawesome.capacitorjs.plugins.firebase.authentication.interfaces.ResultCallback;
import org.json.JSONObject;

@CapacitorPlugin(name = "FirebaseAuthentication", requestCodes = { FacebookAuthProviderHandler.RC_FACEBOOK_AUTH })
public class FirebaseAuthenticationPlugin extends Plugin {
Expand Down Expand Up @@ -172,7 +173,7 @@ public void getCurrentUser(PluginCall call) {
FirebaseUser user = implementation.getCurrentUser();
JSObject userResult = FirebaseAuthenticationHelper.createUserResult(user);
JSObject result = new JSObject();
result.put("user", userResult);
result.put("user", (userResult == null ? JSONObject.NULL : userResult));
call.resolve(result);
} catch (Exception exception) {
Logger.error(TAG, exception.getMessage(), exception);
Expand Down Expand Up @@ -217,8 +218,10 @@ public void getRedirectResult(PluginCall call) {
@PluginMethod
public void getTenantId(PluginCall call) {
try {
String tenantId = implementation.getTenantId();

JSObject result = new JSObject();
result.put("tenantId", implementation.getTenantId());
result.put("tenantId", (tenantId == null ? JSONObject.NULL : tenantId));
call.resolve(result);
} catch (Exception exception) {
Logger.error(TAG, exception.getMessage(), exception);
Expand Down Expand Up @@ -816,7 +819,7 @@ private void updateAuthState() {
FirebaseUser user = implementation.getCurrentUser();
JSObject userResult = FirebaseAuthenticationHelper.createUserResult(user);
JSObject result = new JSObject();
result.put("user", userResult);
result.put("user", (userResult == null ? JSONObject.NULL : userResult));
notifyListeners(AUTH_STATE_CHANGE_EVENT, result, true);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ public class FirebaseAuthenticationHelper {
let credentialResult = self.createCredentialResult(credential, idToken: idToken, nonce: nonce, accessToken: accessToken, authorizationCode: authorizationCode, serverAuthCode: serverAuthCode)
let additionalUserInfoResult = self.createAdditionalUserInfoResult(additionalUserInfo)
var result = JSObject()
result["user"] = userResult
result["credential"] = credentialResult
result["additionalUserInfo"] = additionalUserInfoResult
result["user"] = userResult ?? NSNull()
result["credential"] = credentialResult ?? NSNull()
result["additionalUserInfo"] = additionalUserInfoResult ?? NSNull()
return result
}

Expand All @@ -66,16 +66,16 @@ public class FirebaseAuthenticationHelper {
}
}
var result = JSObject()
result["displayName"] = displayName ?? user.displayName
result["email"] = user.email
result["displayName"] = displayName ?? user.displayName ?? NSNull()
result["email"] = user.email ?? NSNull()
result["emailVerified"] = user.isEmailVerified
result["isAnonymous"] = user.isAnonymous
result["metadata"] = self.createUserMetadataResult(user.metadata)
result["phoneNumber"] = user.phoneNumber
result["photoUrl"] = user.photoURL?.absoluteString
result["phoneNumber"] = user.phoneNumber ?? NSNull()
result["photoUrl"] = user.photoURL?.absoluteString ?? NSNull()
result["providerData"] = self.createUserProviderDataResult(user.providerData)
result["providerId"] = user.providerID
result["tenantId"] = user.tenantID
result["tenantId"] = user.tenantID ?? NSNull()
result["uid"] = user.uid
return result
}
Expand Down Expand Up @@ -151,10 +151,10 @@ public class FirebaseAuthenticationHelper {
var result = JSArray()
for userInfo in providerData {
var userInfoResult = JSObject()
userInfoResult["displayName"] = userInfo.displayName
userInfoResult["email"] = userInfo.email
userInfoResult["phoneNumber"] = userInfo.phoneNumber
userInfoResult["photoUrl"] = userInfo.photoURL?.absoluteString
userInfoResult["displayName"] = userInfo.displayName ?? NSNull()
userInfoResult["email"] = userInfo.email ?? NSNull()
userInfoResult["phoneNumber"] = userInfo.phoneNumber ?? NSNull()
userInfoResult["photoUrl"] = userInfo.photoURL?.absoluteString ?? NSNull()
userInfoResult["providerId"] = userInfo.providerID
userInfoResult["uid"] = userInfo.uid
result.append(userInfoResult)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public class FirebaseAuthenticationPlugin: CAPPlugin {
let user = implementation?.getCurrentUser()
let userResult = FirebaseAuthenticationHelper.createUserResult(user)
var result = JSObject()
result["user"] = userResult
result["user"] = userResult ?? NSNull()
call.resolve(result)
}

Expand All @@ -158,8 +158,10 @@ public class FirebaseAuthenticationPlugin: CAPPlugin {
}

@objc func getTenantId(_ call: CAPPluginCall) {
let tenantId = implementation?.getTenantId()

var result = JSObject()
result["tenantId"] = implementation?.getTenantId()
result["tenantId"] = tenantId ?? NSNull()
call.resolve(result)
}

Expand Down Expand Up @@ -438,7 +440,7 @@ public class FirebaseAuthenticationPlugin: CAPPlugin {
}
let userResult = FirebaseAuthenticationHelper.createUserResult(user)
var result = JSObject()
result["user"] = userResult
result["user"] = userResult ?? NSNull()
call.resolve(result)
})
}
Expand Down Expand Up @@ -525,7 +527,7 @@ public class FirebaseAuthenticationPlugin: CAPPlugin {
let user = implementation?.getCurrentUser()
let userResult = FirebaseAuthenticationHelper.createUserResult(user)
var result = JSObject()
result["user"] = userResult
result["user"] = userResult ?? NSNull()
notifyListeners(authStateChangeEvent, data: result, retainUntilConsumed: true)
}

Expand Down

0 comments on commit d548176

Please sign in to comment.