Skip to content

Commit

Permalink
애플 로그인 오류 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
DoodlesOnMyFood committed Mar 23, 2024
1 parent b3ac949 commit 43bc962
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.fone.user.domain.service
import com.fone.common.exception.DuplicatePhoneNumberException
import com.fone.common.exception.DuplicateUserException
import com.fone.common.exception.InvalidTokenException
import com.fone.common.exception.RequestValidationException
import com.fone.common.jwt.JWTUtils
import com.fone.common.jwt.Role
import com.fone.common.jwt.Token
Expand Down Expand Up @@ -30,6 +31,12 @@ class SignUpUserService(
@Transactional
suspend fun signUpUser(request: SocialSignUpUserRequest): User {
with(request) {
if (request.loginType == LoginType.APPLE) {
identifier ?: throw RequestValidationException("apple 인증에는 identifier는 필수 값입니다.")
userRepository.findByIdentifier(identifier)?.let {
throw DuplicateUserException()
}
}
userRepository.findByNicknameOrEmail(nickname, email)?.let {
throw DuplicateUserException()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@ import org.springframework.stereotype.Repository
class UserRepositoryImpl(
private val queryFactory: SpringDataHibernateMutinyReactiveQueryFactory,
) : UserRepository {

override suspend fun findById(
userId: Long,
): User? {
override suspend fun findById(userId: Long): User? {
return queryFactory.singleQueryOrNull {
select(entity(User::class))
from(entity(User::class))
Expand All @@ -40,9 +37,7 @@ class UserRepositoryImpl(
}
}

override suspend fun findByEmail(
email: String,
): User? {
override suspend fun findByEmail(email: String): User? {
return queryFactory.singleQueryOrNull {
select(entity(User::class))
from(entity(User::class))
Expand All @@ -68,21 +63,18 @@ class UserRepositoryImpl(
}
}

override suspend fun findByIdentifier(
identifier: String,
): User? {
override suspend fun findByIdentifier(identifier: String): User? {
return queryFactory.singleQueryOrNull {
select(entity(User::class))
from(entity(User::class))
where(
col(User::identifier).equal(identifier)
whereAnd(
col(User::identifier).equal(identifier),
col(User::enabled).equal(true)
)
}
}

override suspend fun findByPhone(
phone: String,
): User? {
override suspend fun findByPhone(phone: String): User? {
return queryFactory.singleQueryOrNull {
select(entity(User::class))
from(entity(User::class))
Expand Down Expand Up @@ -122,9 +114,7 @@ class UserRepositoryImpl(
}
}

private fun SpringDataReactiveCriteriaQueryDsl<User?>.idEq(
userId: Long,
): EqualValueSpec<Long?> {
private fun SpringDataReactiveCriteriaQueryDsl<User?>.idEq(userId: Long): EqualValueSpec<Long?> {
return col(User::id).equal(userId)
}

Expand All @@ -136,16 +126,12 @@ class UserRepositoryImpl(
return col(User::loginType).equal(loginType)
}

private fun SpringDataReactiveCriteriaQueryDsl<User?>.emailEq(
email: String?,
): EqualValueSpec<String>? {
private fun SpringDataReactiveCriteriaQueryDsl<User?>.emailEq(email: String?): EqualValueSpec<String>? {
email ?: return null
return col(User::email).equal(email)
}

private fun SpringDataReactiveCriteriaQueryDsl<User?>.nicknameEq(
nickname: String?,
): EqualValueSpec<String>? {
private fun SpringDataReactiveCriteriaQueryDsl<User?>.nicknameEq(nickname: String?): EqualValueSpec<String>? {
nickname ?: return null

return col(User::nickname).equal(nickname)
Expand Down

0 comments on commit 43bc962

Please sign in to comment.