From 561a30edc04de492dd587929374d4ab28ac7a4ae Mon Sep 17 00:00:00 2001 From: KP9lKk Date: Thu, 23 Jan 2025 11:39:06 +0300 Subject: [PATCH] add logic for registration --- src/main/kotlin/Main.kt | 1 + src/main/kotlin/domain/UserUseCaseImpl.kt | 3 ++- src/main/kotlin/ui/UserUI.kt | 26 +++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index a4dfbad..eddd3bd 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -9,5 +9,6 @@ fun main() { val userRepository = UserRepositoryImpl() val userUseCase = UserUseCaseImpl(userRepository) val userUI = UserUI(userUseCase) + userUI.registration() userUI.authorize() } \ No newline at end of file diff --git a/src/main/kotlin/domain/UserUseCaseImpl.kt b/src/main/kotlin/domain/UserUseCaseImpl.kt index 98ab4ac..cbc9e08 100644 --- a/src/main/kotlin/domain/UserUseCaseImpl.kt +++ b/src/main/kotlin/domain/UserUseCaseImpl.kt @@ -28,7 +28,8 @@ class UserUseCaseImpl(private val userRepository: UserRepository): UserUseCase { require(isUnique){ "Такая почта уже существует" } - userRepository.addUser() + val newUser = userRepository.addUser(registrationRequest) + return UserDtoToUserResponse(newUser) } diff --git a/src/main/kotlin/ui/UserUI.kt b/src/main/kotlin/ui/UserUI.kt index 514f876..485a73c 100644 --- a/src/main/kotlin/ui/UserUI.kt +++ b/src/main/kotlin/ui/UserUI.kt @@ -2,6 +2,7 @@ package org.example.ui import org.example.domain.UserUseCase import org.example.domain.request.AuthorizeRequest +import org.example.domain.request.RegistrationRequest import org.example.domain.response.UserResponse class UserUI(private val userUseCase: UserUseCase) { @@ -23,6 +24,31 @@ class UserUI(private val userUseCase: UserUseCase) { 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{ val printOutput = StringBuilder() printOutput.append("Ваша почта ${userResponse.email}")