не заполняется дата класс из базы данных realtime database

у меня не получается заполнить дата класс из базы данных. Я не понимаю почему не работает, вроде бы всё правильно написано. Вот код функции заполнения класса:

private fun initUser(){
    REF_DATABASE_ROOT.child(NODE_USERS).child(CURRENT_UID)
            .addListenerForSingleValueEvent(AppValueEventListener{
                USER = it.getValue(UserModel()::class.java) ?:UserModel()
            })


}

Вот сам дата класс:

    data class UserModel(
        var id: String = "",
        var username: String = ""
)

Код AppValueEventListener:

    class AppValueEventListener (val onSuccess:(DataSnapshot)->Unit) : ValueEventListener{
    override fun onCancelled(error: DatabaseError) {

    }
    override fun onDataChange(snapshot: DataSnapshot) {
        onSuccess(snapshot)
    }
}

Остальные переменные:

REF_DATABASE_ROOT = FirebaseDatabase.getInstance("https://ert-d167-default-rtdb.europe-west1.firebasedatabase.app").reference
AUTH = FirebaseAuth.getInstance()
USER = UserModel()
CURRENT_UID = AUTH.currentUser?.uid.toString()

Если вставить переменную USER в print, то будет это UserModel(id=, username=)

Данные в базе данных есть

Данные в базе данных есть


Ответы (0 шт):