add logic for registration

This commit is contained in:
KP9lKk 2025-01-23 11:39:06 +03:00
parent 3ffa81cb9b
commit 561a30edc0
3 changed files with 29 additions and 1 deletions

View File

@ -9,5 +9,6 @@ fun main() {
val userRepository = UserRepositoryImpl() val userRepository = UserRepositoryImpl()
val userUseCase = UserUseCaseImpl(userRepository) val userUseCase = UserUseCaseImpl(userRepository)
val userUI = UserUI(userUseCase) val userUI = UserUI(userUseCase)
userUI.registration()
userUI.authorize() userUI.authorize()
} }

View File

@ -28,7 +28,8 @@ class UserUseCaseImpl(private val userRepository: UserRepository): UserUseCase {
require(isUnique){ require(isUnique){
"Такая почта уже существует" "Такая почта уже существует"
} }
userRepository.addUser() val newUser = userRepository.addUser(registrationRequest)
return UserDtoToUserResponse(newUser)
} }

View File

@ -2,6 +2,7 @@ package org.example.ui
import org.example.domain.UserUseCase import org.example.domain.UserUseCase
import org.example.domain.request.AuthorizeRequest import org.example.domain.request.AuthorizeRequest
import org.example.domain.request.RegistrationRequest
import org.example.domain.response.UserResponse import org.example.domain.response.UserResponse
class UserUI(private val userUseCase: UserUseCase) { class UserUI(private val userUseCase: UserUseCase) {
@ -23,6 +24,31 @@ class UserUI(private val userUseCase: UserUseCase) {
println(userResponseToString(user)) println(userResponseToString(user))
} }
fun registration(){
println("Введите имя")
val firstName = readlnOrNull()
checkNotNull(firstName){
"Имя не должно отсутствовать"
}
println("Введите почту")
val email = readlnOrNull()
checkNotNull(email){
"Почта не должна отсутствовать"
}
println("Введите пароль")
val password = readlnOrNull()
checkNotNull(password){
"Пароль не должен отсутствовать"
}
val registrationRequest = RegistrationRequest(
email = email,
firstName = firstName,
password = password
)
val newUser = userUseCase.registration(registrationRequest)
userResponseToString(newUser)
}
private fun userResponseToString(userResponse: UserResponse): String{ private fun userResponseToString(userResponse: UserResponse): String{
val printOutput = StringBuilder() val printOutput = StringBuilder()
printOutput.append("Ваша почта ${userResponse.email}") printOutput.append("Ваша почта ${userResponse.email}")