Other database integration for get value

This commit is contained in:
Deichor 2024-12-10 04:05:01 +03:00
parent b928914714
commit 83fdc4f609
6 changed files with 21 additions and 0 deletions

View File

@ -168,5 +168,15 @@ public abstract class AbstractSqlDataSource implements DataSource {
}
}
@Override
public DataSourceValue<Boolean> getVerified(String user) {
try {
return columnsHandler.retrieve(user, AuthMeColumns.IS_VERIFIED);
} catch (SQLException e) {
logSqlException(e);
return DataSourceValueImpl.unknownRow();
}
}
abstract String getJdbcUrl(String host, String port, String database);
}

View File

@ -281,6 +281,13 @@ public class CacheDataSource implements DataSource {
.orElse(DataSourceValueImpl.unknownRow());
}
@Override
public DataSourceValue<Boolean> getVerified(String user) {
return cachedAuths.getUnchecked(user)
.map(auth -> DataSourceValueImpl.of(auth.isEmailVerified()))
.orElse(DataSourceValueImpl.unknownRow());
}
@Override
public List<PlayerAuth> getAllAuths() {
return source.getAllAuths();

View File

@ -369,6 +369,7 @@ public class H2 extends AbstractSqlDataSource {
return PlayerAuth.builder()
.name(row.getString(col.NAME))
.email(row.getString(col.EMAIL))
.emailVerified(row.getBoolean(col.IS_VERIFIED))
.realName(row.getString(col.REAL_NAME))
.password(row.getString(col.PASSWORD), salt)
.totpKey(row.getString(col.TOTP_KEY))

View File

@ -514,6 +514,7 @@ public class MySQL extends AbstractSqlDataSource {
.lastLogin(getNullableLong(row, col.LAST_LOGIN))
.lastIp(row.getString(col.LAST_IP))
.email(row.getString(col.EMAIL))
.emailVerified(row.getBoolean(col.IS_VERIFIED))
.registrationDate(row.getLong(col.REGISTRATION_DATE))
.registrationIp(row.getString(col.REGISTRATION_IP))
.groupId(group)

View File

@ -458,6 +458,7 @@ public class PostgreSqlDataSource extends AbstractSqlDataSource {
.lastLogin(getNullableLong(row, col.LAST_LOGIN))
.lastIp(row.getString(col.LAST_IP))
.email(row.getString(col.EMAIL))
.emailVerified(row.getBoolean(col.IS_VERIFIED))
.registrationDate(row.getLong(col.REGISTRATION_DATE))
.registrationIp(row.getString(col.REGISTRATION_IP))
.groupId(group)

View File

@ -371,6 +371,7 @@ public class SQLite extends AbstractSqlDataSource {
return PlayerAuth.builder()
.name(row.getString(col.NAME))
.email(row.getString(col.EMAIL))
.emailVerified(row.getBoolean(col.IS_VERIFIED))
.realName(row.getString(col.REAL_NAME))
.password(row.getString(col.PASSWORD), salt)
.totpKey(row.getString(col.TOTP_KEY))