[F] Fix asking for email confirmation when email feature is disabled

pull/14/head
Azalea 2024-02-21 01:14:58 -05:00
parent 8d2313d799
commit 00a75f154e
1 changed files with 4 additions and 9 deletions

View File

@ -1,15 +1,9 @@
package icu.samnyan.aqua.net package icu.samnyan.aqua.net
import ext.* import ext.*
import icu.samnyan.aqua.net.components.EmailService import icu.samnyan.aqua.net.components.*
import icu.samnyan.aqua.net.components.GeoIP import icu.samnyan.aqua.net.db.*
import icu.samnyan.aqua.net.components.JWT
import icu.samnyan.aqua.net.components.TurnstileService
import icu.samnyan.aqua.net.db.AquaNetUser
import icu.samnyan.aqua.net.db.AquaNetUserRepo
import icu.samnyan.aqua.net.db.AquaUserValidator
import icu.samnyan.aqua.net.db.AquaUserValidator.Companion.SETTING_FIELDS import icu.samnyan.aqua.net.db.AquaUserValidator.Companion.SETTING_FIELDS
import icu.samnyan.aqua.net.db.EmailConfirmationRepo
import icu.samnyan.aqua.net.utils.SUCCESS import icu.samnyan.aqua.net.utils.SUCCESS
import icu.samnyan.aqua.sega.general.dao.CardRepository import icu.samnyan.aqua.sega.general.dao.CardRepository
import icu.samnyan.aqua.sega.general.model.Card import icu.samnyan.aqua.sega.general.model.Card
@ -33,6 +27,7 @@ class UserRegistrar(
val cardRepo: CardRepository, val cardRepo: CardRepository,
val cardService: CardService, val cardService: CardService,
val validator: AquaUserValidator, val validator: AquaUserValidator,
val emailProps: EmailProperties
) { ) {
companion object { companion object {
// Random long with length 17 (10^18 possibilities) // Random long with length 17 (10^18 possibilities)
@ -103,7 +98,7 @@ class UserRegistrar(
if (!hasher.matches(password, user.pwHash)) 400 - "Invalid password" if (!hasher.matches(password, user.pwHash)) 400 - "Invalid password"
// Check if email is verified // Check if email is verified
if (!user.emailConfirmed) { if (!user.emailConfirmed && emailProps.enable) {
// Check if last confirmation email was sent within a minute // Check if last confirmation email was sent within a minute
val confirmations = async { confirmationRepo.findByAquaNetUserAuId(user.auId) } val confirmations = async { confirmationRepo.findByAquaNetUserAuId(user.auId) }
val lastConfirmation = confirmations.maxByOrNull { it.createdAt } val lastConfirmation = confirmations.maxByOrNull { it.createdAt }