From 2a313698944852bf5e12aa1bc6821c974ca847da Mon Sep 17 00:00:00 2001 From: Diego Beraldin Date: Mon, 4 Dec 2023 13:01:50 +0100 Subject: [PATCH] fix: more lemmy 0.19 breaking changes (#192) --- .../core/api/dto/LocalSiteRateLimit.kt | 2 +- .../raccoonforlemmy/core/api/dto/LocalUser.kt | 28 +++++++++---------- .../core/api/dto/LocalUserView.kt | 2 +- .../core/api/dto/MyUserInfo.kt | 12 ++++---- .../domain/lemmy/repository/SiteRepository.kt | 6 ++-- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalSiteRateLimit.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalSiteRateLimit.kt index 0f76963c2..1375bb40a 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalSiteRateLimit.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalSiteRateLimit.kt @@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable @Serializable data class LocalSiteRateLimit( - @SerialName("id") val id: Int, + @SerialName("id") val id: Int? = null, @SerialName("local_site_id") val localSiteId: LocalSiteId, @SerialName("message") val message: Int, @SerialName("message_per_second") val messagePerSecond: Int, diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUser.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUser.kt index 566490efa..a89694669 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUser.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUser.kt @@ -8,19 +8,19 @@ data class LocalUser( @SerialName("id") val id: LocalUserId, @SerialName("person_id") val personId: PersonId, @SerialName("email") val email: String? = null, - @SerialName("show_nsfw") val showNsfw: Boolean, - @SerialName("theme") val theme: String, - @SerialName("default_sort_type") val defaultSortType: SortType, - @SerialName("default_listing_type") val defaultListingType: ListingType, - @SerialName("interface_language") val interfaceLanguage: String, - @SerialName("show_avatars") val showAvatars: Boolean, - @SerialName("send_notifications_to_email") val sendNotificationsToEmail: Boolean, - @SerialName("validator_time") val validatorTime: String, - @SerialName("show_scores") val showScores: Boolean, - @SerialName("show_bot_accounts") val showBotAccounts: Boolean, - @SerialName("show_read_posts") val showReadPosts: Boolean, - @SerialName("show_new_post_notifs") val showNewPostNotifs: Boolean, - @SerialName("email_verified") val emailVerified: Boolean, - @SerialName("accepted_application") val acceptedApplication: Boolean, + @SerialName("show_nsfw") val showNsfw: Boolean? = null, + @SerialName("theme") val theme: String? = null, + @SerialName("default_sort_type") val defaultSortType: SortType? = null, + @SerialName("default_listing_type") val defaultListingType: ListingType? = null, + @SerialName("interface_language") val interfaceLanguage: String? = null, + @SerialName("show_avatars") val showAvatars: Boolean? = null, + @SerialName("send_notifications_to_email") val sendNotificationsToEmail: Boolean? = null, + @SerialName("validator_time") val validatorTime: String? = null, + @SerialName("show_scores") val showScores: Boolean? = null, + @SerialName("show_bot_accounts") val showBotAccounts: Boolean? = null, + @SerialName("show_read_posts") val showReadPosts: Boolean? = null, + @SerialName("show_new_post_notifs") val showNewPostNotifs: Boolean? = null, + @SerialName("email_verified") val emailVerified: Boolean? = null, + @SerialName("accepted_application") val acceptedApplication: Boolean? = null, @SerialName("totp_2fa_url") val totp2faUrl: String? = null, ) diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUserView.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUserView.kt index fed8c01ec..3b14ecb06 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUserView.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/LocalUserView.kt @@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable @Serializable data class LocalUserView( - @SerialName("local_user") val localUser: LocalUser, + @SerialName("local_user") val localUser: LocalUser? = null, @SerialName("person") val person: Person, @SerialName("counts") val counts: PersonAggregates, ) diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/MyUserInfo.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/MyUserInfo.kt index b28df5129..cbce1531a 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/MyUserInfo.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/dto/MyUserInfo.kt @@ -5,10 +5,10 @@ import kotlinx.serialization.Serializable @Serializable data class MyUserInfo( - @SerialName("local_user_view") val localUserView: LocalUserView, - @SerialName("follows") val follows: List, - @SerialName("moderates") val moderates: List, - @SerialName("community_blocks") val communityBlocks: List, - @SerialName("person_blocks") val personBlocks: List, - @SerialName("discussion_languages") val discussionLanguages: List, + @SerialName("local_user_view") val localUserView: LocalUserView? = null, + @SerialName("follows") val follows: List = emptyList(), + @SerialName("moderates") val moderates: List = emptyList(), + @SerialName("community_blocks") val communityBlocks: List = emptyList(), + @SerialName("person_blocks") val personBlocks: List = emptyList(), + @SerialName("discussion_languages") val discussionLanguages: List = emptyList(), ) diff --git a/domain-lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/SiteRepository.kt b/domain-lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/SiteRepository.kt index ae782c664..61343e710 100644 --- a/domain-lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/SiteRepository.kt +++ b/domain-lemmy/repository/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/lemmy/repository/SiteRepository.kt @@ -17,9 +17,9 @@ class SiteRepository( authHeader = auth.toAuthHeader(), ).body() dto?.myUser?.let { - val user = it.localUserView.person - val counts = it.localUserView.counts - user.toModel().copy(score = counts.toModel()) + val user = it.localUserView?.person + val counts = it.localUserView?.counts + user?.toModel()?.copy(score = counts?.toModel()) } }.getOrNull()