package com.github.apognu.otter.utils import com.github.apognu.otter.models.api.User import com.github.kittinunf.fuel.Fuel import com.github.kittinunf.fuel.coroutines.awaitObjectResponseResult import com.github.kittinunf.result.Result import com.preference.PowerPreference object Userinfo { suspend fun get(): User? { try { val hostname = PowerPreference.getFileByName(AppContext.PREFS_CREDENTIALS).getString("hostname") val (_, _, result) = Fuel.get("$hostname/api/v1/users/users/me/") .authorize() .awaitObjectResponseResult(AppContext.deserializer()) return when (result) { is Result.Success -> { val user = result.get() PowerPreference.getFileByName(AppContext.PREFS_CREDENTIALS).apply { setString("actor_username", user.full_username) } user } else -> null } } catch (e: Exception) { return null } } }