This is the route for registering a user
post("/register") {
val userFromClient = call.receive<User>()
authenticationBusiness.registerUser(user = userFromClient).collect { registrationResult ->
when (registrationResult) {
is OperationResult.Success -> {
call.respond(status = HttpStatusCode.Created, message =registrationResult.data)
}
is OperationResult.Failure -> {
call.respond(status = HttpStatusCode.Conflict, message = "Unable to register user")
}
}
}
}
registrationResult.data results in an AccessModel class as shown here
@Serializable
data class AccessModel(
val accessToken: String,
val refreshToken: String,
val expiresIn: String
)
This one here is the User model
@Serializable
data class User(
val id: Int,
val streetName: String,
val password: String,
val phoneNumber: String,
val isPlayer: Boolean
)