Skip to content

Commit b38636e

Browse files
fix: make updates only happen when details change [#286] (#291)
* Unnecessary call update user even field not change (#286) Unnecessary call updateUser even if the field not changed * fix: make email link test work [#286] * fix: change test timestamps to make (hopefully) fewer commits [#286] --------- Co-authored-by: Krisada Adoolrattananuwat (Tak) <80890688+krisadamqdc@users.noreply.github.com>
1 parent 975ff12 commit b38636e

File tree

84 files changed

+177
-90
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+177
-90
lines changed

packages/clerk_auth/lib/src/clerk_auth/auth.dart

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -647,19 +647,30 @@ class Auth {
647647
case SignUp signUp when hasInitialSignUp:
648648
// if we didn't create a SignUp object earlier, now is the time to
649649
// update the preexisting SignUp object, in case of changes
650-
await _api
651-
.updateSignUp(
652-
signUp,
653-
strategy: strategy,
654-
password: password,
655-
firstName: firstName,
656-
lastName: lastName,
657-
username: username,
658-
emailAddress: emailAddress,
659-
phoneNumber: phoneNumber,
660-
legalAccepted: legalAccepted,
661-
)
662-
.then(_housekeeping);
650+
final needsUpdate = (password?.isNotEmpty == true) ||
651+
(firstName is String && firstName != signUp.firstName) ||
652+
(lastName is String && lastName != signUp.lastName) ||
653+
(username is String && username != signUp.username) ||
654+
(emailAddress is String && emailAddress != signUp.emailAddress) ||
655+
(phoneNumber is String && phoneNumber != signUp.phoneNumber) ||
656+
// We don't have current state for legalAccepted in SignUp;
657+
// if provided, assume it's a change worth sending
658+
(legalAccepted is bool);
659+
if (needsUpdate) {
660+
await _api
661+
.updateSignUp(
662+
signUp,
663+
strategy: strategy,
664+
password: password,
665+
firstName: firstName,
666+
lastName: lastName,
667+
username: username,
668+
emailAddress: emailAddress,
669+
phoneNumber: phoneNumber,
670+
legalAccepted: legalAccepted,
671+
)
672+
.then(_housekeeping);
673+
}
663674
}
664675
}
665676

packages/clerk_auth/test/_responses/clerk_api/sign_in_test/email_and_password/001.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/clerk_auth/test/_responses/clerk_api/sign_in_test/email_and_password/002.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/clerk_auth/test/_responses/clerk_api/sign_in_test/email_code/001.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)