Skip to content

Commit 4a27629

Browse files
SattvikSattvik
authored andcommitted
Merge branch '8.1' into fix/test-speed
2 parents 49a7a5c + be6c938 commit 4a27629

File tree

6 files changed

+41
-1
lines changed

6 files changed

+41
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
99

10+
## [8.1.1]
11+
12+
- Adds more null and empty checks for bulk migration
13+
1014
## [8.1.0]
1115

1216
- Adds support for webauthn (passkeys)

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id 'java-library'
33
}
44

5-
version = "8.1.0"
5+
version = "8.1.1"
66

77
repositories {
88
mavenCentral()

src/main/java/io/supertokens/storage/postgresql/queries/BulkImportQueries.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ public static String getQueryToCreatePaginationIndex2(Start start) {
7676

7777
public static void insertBulkImportUsers_Transaction(Start start, Connection connection, AppIdentifier appIdentifier, List<BulkImportUser> users)
7878
throws SQLException, StorageQueryException {
79+
if(users == null || users.isEmpty()){
80+
return;
81+
}
7982
String queryBuilder = "INSERT INTO " + Config.getConfig(start).getBulkImportUsersTable() +
8083
" (id, app_id, raw_data, created_at, updated_at) VALUES "
8184
+ " (?, ?, ?, ?, ?)";
@@ -118,6 +121,9 @@ public static void updateBulkImportUserStatus_Transaction(Start start, Connectio
118121
public static void updateMultipleBulkImportUsersStatusToError_Transaction(Start start, Connection con, AppIdentifier appIdentifier,
119122
@Nonnull Map<String,String> bulkImportUserIdToErrorMessage)
120123
throws SQLException, StorageQueryException {
124+
if(bulkImportUserIdToErrorMessage == null || bulkImportUserIdToErrorMessage.isEmpty()){
125+
return;
126+
}
121127
BULK_IMPORT_USER_STATUS errorStatus = BULK_IMPORT_USER_STATUS.FAILED;
122128
String query = "UPDATE " + Config.getConfig(start).getBulkImportUsersTable()
123129
+ " SET status = ?, error_msg = ?, updated_at = ? WHERE app_id = ? and id = ?";

src/main/java/io/supertokens/storage/postgresql/queries/GeneralQueries.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,6 +1587,9 @@ public static AuthRecipeUserInfo[] listPrimaryUsersByMultipleEmailsOrPhonesOrThi
15871587
//collect ids by thirdparty
15881588
userIds.addAll(ThirdPartyQueries.listUserIdsByMultipleThirdPartyInfo_Transaction(start, sqlCon, appIdentifier, thirdpartyUserIdToThirdpartyId));
15891589

1590+
//collect ids by webauthn
1591+
userIds.addAll(WebAuthNQueries.getPrimaryUserIdsUsingEmails_Transaction(start, sqlCon, appIdentifier, emails));
1592+
15901593
List<AuthRecipeUserInfo> result = getPrimaryUserInfoForUserIds_Transaction(start, sqlCon, appIdentifier,
15911594
new ArrayList<>(userIds));
15921595

src/main/java/io/supertokens/storage/postgresql/queries/WebAuthNQueries.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,33 @@ public static String getPrimaryUserIdUsingEmail_Transaction(Start start, Connect
427427
});
428428
}
429429

430+
public static List<String> getPrimaryUserIdsUsingEmails_Transaction(Start start, Connection sqlConnection,
431+
AppIdentifier appIdentifier, List<String> emails)
432+
throws SQLException, StorageQueryException {
433+
if(emails == null || emails.isEmpty()) {
434+
return new ArrayList<>();
435+
}
436+
String QUERY = "SELECT DISTINCT all_users.primary_or_recipe_user_id AS user_id "
437+
+ "FROM " + getConfig(start).getWebAuthNUserToTenantTable() + " AS ep" +
438+
" JOIN " + getConfig(start).getUsersTable() + " AS all_users" +
439+
" ON ep.app_id = all_users.app_id AND ep.user_id = all_users.user_id" +
440+
" WHERE ep.app_id = ? AND ep.email in (" + Utils.generateCommaSeperatedQuestionMarks(emails.size()) + ")";
441+
442+
return execute(sqlConnection, QUERY, pst -> {
443+
pst.setString(1, appIdentifier.getAppId());
444+
int i = 2;
445+
for(String email : emails) {
446+
pst.setString(i++, email);
447+
}
448+
}, result -> {
449+
List<String> idResult = new ArrayList<>();
450+
if (result.next()) {
451+
idResult.add(result.getString("user_id"));
452+
}
453+
return idResult;
454+
});
455+
}
456+
430457
public static Collection<? extends LoginMethod> getUsersInfoUsingIdList(Start start, Set<String> ids, AppIdentifier appIdentifier)
431458
throws StorageQueryException {
432459
try {

0 commit comments

Comments
 (0)