Skip to content
Open

done #73

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
package mate.academy.exception

// Provide your code here for PasswordValidationException class
class PasswordValidationException(message: String) : Exception(message)
9 changes: 7 additions & 2 deletions src/main/kotlin/mate/academy/service/PasswordValidator.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
package mate.academy.service

// This class will validate password requirements
import mate.academy.exception.PasswordValidationException

const val PASSWORD_MIN_LENGTH = 10

class PasswordValidator {
fun validate(password: String, repeatPassword: String) {
// write your code here
if (password != repeatPassword || password.length < PASSWORD_MIN_LENGTH) {
throw PasswordValidationException("Wrong passwords")
}
}
}
10 changes: 9 additions & 1 deletion src/main/kotlin/mate/academy/service/UserService.kt
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
package mate.academy.service

import mate.academy.exception.PasswordValidationException
import mate.academy.model.User

// This class represents a user service with user registration functionality
class UserService {
val validator = PasswordValidator()

fun saveUser(user: User) : String {
// This is where you would typically save the user to a database
return "User ${user.username} saved successfully."
}

fun registerUser(username: String, password: String, repeatPassword: String) : String {

try {
validator.validate(password, repeatPassword)
val user = User(username, password)
return saveUser(user)
} catch (_: PasswordValidationException) {
return "Your passwords are incorrect. Try again."
}
}
}
Loading