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); abstract String getJdbcUrl(String host, String port, String database);
} }

View File

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

View File

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

View File

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

View File

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

View File

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