Skip to content

Commit

Permalink
Update lemmy api to beta (#1573)
Browse files Browse the repository at this point in the history
* Bump LemmyApi

* Bump to 0.3.1
  • Loading branch information
MV-GH authored Jul 2, 2024
1 parent c8771b9 commit f922c92
Show file tree
Hide file tree
Showing 95 changed files with 451 additions and 411 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ dependencies {
implementation("androidx.profileinstaller:profileinstaller")
baselineProfile(project(":benchmarks"))

implementation("it.vercruysse.lemmyapi:lemmy-api:0.2.16-SNAPSHOT")
implementation("it.vercruysse.lemmyapi:lemmy-api:0.3.2-SNAPSHOT")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")

// For custom logging plugin
Expand Down
24 changes: 12 additions & 12 deletions app/src/main/java/com/jerboa/JerboaAppState.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ import com.jerboa.ui.components.post.edit.PostEditReturn
import com.jerboa.ui.components.privatemessage.PrivateMessage
import com.jerboa.ui.components.remove.comment.CommentRemoveReturn
import com.jerboa.ui.components.remove.post.PostRemoveReturn
import it.vercruysse.lemmyapi.v0x19.datatypes.Comment
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentId
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentView
import it.vercruysse.lemmyapi.v0x19.datatypes.Community
import it.vercruysse.lemmyapi.v0x19.datatypes.CommunityId
import it.vercruysse.lemmyapi.v0x19.datatypes.GetCommunityResponse
import it.vercruysse.lemmyapi.v0x19.datatypes.Person
import it.vercruysse.lemmyapi.v0x19.datatypes.PersonId
import it.vercruysse.lemmyapi.v0x19.datatypes.Post
import it.vercruysse.lemmyapi.v0x19.datatypes.PostId
import it.vercruysse.lemmyapi.v0x19.datatypes.PostView
import it.vercruysse.lemmyapi.v0x19.datatypes.PrivateMessageView
import it.vercruysse.lemmyapi.datatypes.Comment
import it.vercruysse.lemmyapi.datatypes.CommentId
import it.vercruysse.lemmyapi.datatypes.CommentView
import it.vercruysse.lemmyapi.datatypes.Community
import it.vercruysse.lemmyapi.datatypes.CommunityId
import it.vercruysse.lemmyapi.datatypes.GetCommunityResponse
import it.vercruysse.lemmyapi.datatypes.Person
import it.vercruysse.lemmyapi.datatypes.PersonId
import it.vercruysse.lemmyapi.datatypes.Post
import it.vercruysse.lemmyapi.datatypes.PostId
import it.vercruysse.lemmyapi.datatypes.PostView
import it.vercruysse.lemmyapi.datatypes.PrivateMessageView
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/jerboa/Utils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ import com.jerboa.db.APP_SETTINGS_DEFAULT
import com.jerboa.db.entity.AppSettings
import com.jerboa.ui.components.common.Route
import com.jerboa.ui.theme.SMALL_PADDING
import it.vercruysse.lemmyapi.v0x19.datatypes.*
import it.vercruysse.lemmyapi.datatypes.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import okhttp3.Request
Expand Down
18 changes: 9 additions & 9 deletions app/src/main/java/com/jerboa/api/Http.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import io.ktor.client.plugins.UserAgent
import io.ktor.client.plugins.logging.*
import io.ktor.http.HttpHeaders
import it.vercruysse.lemmyapi.LemmyApi
import it.vercruysse.lemmyapi.LemmyApiBaseController
import it.vercruysse.lemmyapi.pictrs.datatypes.UploadImage
import it.vercruysse.lemmyapi.setDefaultClientConfig
import kotlinx.coroutines.CompletableDeferred
Expand All @@ -21,7 +22,6 @@ import java.io.InputStream
import java.net.MalformedURLException
import java.net.URL
import java.util.concurrent.TimeUnit
import it.vercruysse.lemmyapi.v0x19.LemmyApi as LemmyApiV19

const val DEFAULT_INSTANCE = "lemmy.ml"
const val DEFAULT_VERSION = "0.19.0"
Expand All @@ -30,7 +30,7 @@ object API {
private val TEMP_RECOGNISED_AS_LEMMY_INSTANCES = mutableSetOf<String>()
private val TEMP_NOT_RECOGNISED_AS_LEMMY_INSTANCES = mutableSetOf<String>()
private val initialized = CompletableDeferred<Unit>()
private lateinit var newApi: LemmyApiV19
private lateinit var newApi: LemmyApiBaseController

// Not super reliable if used during startup
// But simplifies a lot of things
Expand Down Expand Up @@ -80,13 +80,13 @@ object API {
}
}

suspend fun getInstance(): LemmyApiV19 {
suspend fun getInstance(): LemmyApiBaseController {
initialized.await()
return newApi
}

// This use is discouraged, use getInstance() as much as possible
fun getInstanceOrNull(): LemmyApiV19? =
fun getInstanceOrNull(): LemmyApiBaseController? =
if (::newApi.isInitialized) {
newApi
} else {
Expand Down Expand Up @@ -116,12 +116,12 @@ object API {
suspend fun setLemmyInstance(
instance: String,
auth: String? = null,
): LemmyApiV19 {
): LemmyApiBaseController {
setLemmyInstance(LemmyApi.getLemmyApi(instance, auth))
return newApi
}

fun setLemmyInstance(api: LemmyApiV19) {
fun setLemmyInstance(api: LemmyApiBaseController) {
Log.d("setLemmyInstance", "Setting lemmy instance to ${api.baseUrl}")
version = api.version.toString()
newApi = api
Expand All @@ -132,7 +132,7 @@ object API {
host: String,
auth: String? = null,
overrideVersion: String = DEFAULT_VERSION,
): LemmyApiV19 =
): LemmyApiBaseController =
try {
createTempInstance(host, auth)
} catch (e: Throwable) {
Expand All @@ -143,13 +143,13 @@ object API {
suspend fun createTempInstance(
host: String,
auth: String? = null,
): LemmyApiV19 = LemmyApi.getLemmyApi(host, auth)
): LemmyApiBaseController = LemmyApi.getLemmyApi(host, auth)

fun createTempInstanceVersion(
host: String,
version: String,
auth: String? = null,
): LemmyApiV19 = LemmyApi.getLemmyApi(host, version, auth)
): LemmyApiBaseController = LemmyApi.getLemmyApi(host, version, auth)

suspend fun checkIfLemmyInstance(url: String): Boolean {
try {
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/com/jerboa/datatypes/Others.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ import androidx.compose.ui.graphics.vector.ImageVector
import com.jerboa.R
import com.jerboa.UnreadOrAll
import com.jerboa.ui.components.person.UserTab
import it.vercruysse.lemmyapi.datatypes.Community
import it.vercruysse.lemmyapi.datatypes.Person
import it.vercruysse.lemmyapi.datatypes.Post
import it.vercruysse.lemmyapi.dto.CommentSortType
import it.vercruysse.lemmyapi.dto.ListingType
import it.vercruysse.lemmyapi.dto.PostFeatureType
import it.vercruysse.lemmyapi.dto.SortType
import it.vercruysse.lemmyapi.v0x19.datatypes.Community
import it.vercruysse.lemmyapi.v0x19.datatypes.Person
import it.vercruysse.lemmyapi.v0x19.datatypes.Post
import kotlinx.serialization.Serializable

data class CommentSortData(
Expand Down
101 changes: 68 additions & 33 deletions app/src/main/java/com/jerboa/datatypes/SampleData.kt
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
package com.jerboa.datatypes

import it.vercruysse.lemmyapi.datatypes.Comment
import it.vercruysse.lemmyapi.datatypes.CommentAggregates
import it.vercruysse.lemmyapi.datatypes.CommentReply
import it.vercruysse.lemmyapi.datatypes.CommentReplyView
import it.vercruysse.lemmyapi.datatypes.CommentReport
import it.vercruysse.lemmyapi.datatypes.CommentReportView
import it.vercruysse.lemmyapi.datatypes.CommentView
import it.vercruysse.lemmyapi.datatypes.Community
import it.vercruysse.lemmyapi.datatypes.CommunityAggregates
import it.vercruysse.lemmyapi.datatypes.CommunityView
import it.vercruysse.lemmyapi.datatypes.GetSiteResponse
import it.vercruysse.lemmyapi.datatypes.LocalSite
import it.vercruysse.lemmyapi.datatypes.LocalSiteRateLimit
import it.vercruysse.lemmyapi.datatypes.LocalUser
import it.vercruysse.lemmyapi.datatypes.Person
import it.vercruysse.lemmyapi.datatypes.PersonAggregates
import it.vercruysse.lemmyapi.datatypes.PersonMention
import it.vercruysse.lemmyapi.datatypes.PersonMentionView
import it.vercruysse.lemmyapi.datatypes.PersonView
import it.vercruysse.lemmyapi.datatypes.Post
import it.vercruysse.lemmyapi.datatypes.PostAggregates
import it.vercruysse.lemmyapi.datatypes.PostReport
import it.vercruysse.lemmyapi.datatypes.PostReportView
import it.vercruysse.lemmyapi.datatypes.PostView
import it.vercruysse.lemmyapi.datatypes.PrivateMessage
import it.vercruysse.lemmyapi.datatypes.PrivateMessageReport
import it.vercruysse.lemmyapi.datatypes.PrivateMessageReportView
import it.vercruysse.lemmyapi.datatypes.PrivateMessageView
import it.vercruysse.lemmyapi.datatypes.RegistrationApplication
import it.vercruysse.lemmyapi.datatypes.RegistrationApplicationView
import it.vercruysse.lemmyapi.datatypes.Site
import it.vercruysse.lemmyapi.datatypes.SiteAggregates
import it.vercruysse.lemmyapi.datatypes.SiteView
import it.vercruysse.lemmyapi.dto.CommunityVisibility
import it.vercruysse.lemmyapi.dto.ListingType
import it.vercruysse.lemmyapi.dto.PostListingMode
import it.vercruysse.lemmyapi.dto.RegistrationMode
import it.vercruysse.lemmyapi.dto.SortType
import it.vercruysse.lemmyapi.dto.SubscribedType
import it.vercruysse.lemmyapi.v0x19.datatypes.Comment
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentAggregates
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentReply
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentReplyView
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentReport
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentReportView
import it.vercruysse.lemmyapi.v0x19.datatypes.CommentView
import it.vercruysse.lemmyapi.v0x19.datatypes.Community
import it.vercruysse.lemmyapi.v0x19.datatypes.CommunityAggregates
import it.vercruysse.lemmyapi.v0x19.datatypes.CommunityView
import it.vercruysse.lemmyapi.v0x19.datatypes.GetSiteResponse
import it.vercruysse.lemmyapi.v0x19.datatypes.LocalSite
import it.vercruysse.lemmyapi.v0x19.datatypes.LocalSiteRateLimit
import it.vercruysse.lemmyapi.v0x19.datatypes.LocalUser
import it.vercruysse.lemmyapi.v0x19.datatypes.Person
import it.vercruysse.lemmyapi.v0x19.datatypes.PersonAggregates
import it.vercruysse.lemmyapi.v0x19.datatypes.PersonMention
import it.vercruysse.lemmyapi.v0x19.datatypes.PersonMentionView
import it.vercruysse.lemmyapi.v0x19.datatypes.PersonView
import it.vercruysse.lemmyapi.v0x19.datatypes.Post
import it.vercruysse.lemmyapi.v0x19.datatypes.PostAggregates
import it.vercruysse.lemmyapi.v0x19.datatypes.PostReport
import it.vercruysse.lemmyapi.v0x19.datatypes.PostReportView
import it.vercruysse.lemmyapi.v0x19.datatypes.PostView
import it.vercruysse.lemmyapi.v0x19.datatypes.PrivateMessage
import it.vercruysse.lemmyapi.v0x19.datatypes.PrivateMessageReport
import it.vercruysse.lemmyapi.v0x19.datatypes.PrivateMessageReportView
import it.vercruysse.lemmyapi.v0x19.datatypes.PrivateMessageView
import it.vercruysse.lemmyapi.v0x19.datatypes.RegistrationApplication
import it.vercruysse.lemmyapi.v0x19.datatypes.RegistrationApplicationView
import it.vercruysse.lemmyapi.v0x19.datatypes.Site
import it.vercruysse.lemmyapi.v0x19.datatypes.SiteAggregates
import it.vercruysse.lemmyapi.v0x19.datatypes.SiteView

val samplePost =
Post(
Expand Down Expand Up @@ -271,6 +272,7 @@ val sampleCommunity =
instance_id = 0,
hidden = false,
posting_restricted_to_mods = false,
visibility = CommunityVisibility.Public,
)

val sampleCommunityFederated = sampleCommunity.copy(local = false)
Expand All @@ -283,6 +285,7 @@ val samplePostAggregates =
upvotes = 8,
downvotes = 0,
published = "2022-01-02T04:02:44.592929Z",
newest_comment_time = "2022-01-02T04:02:44.592929Z",
)

val samplePostView =
Expand All @@ -300,6 +303,8 @@ val samplePostView =
creator_blocked = false,
unread_comments = 1,
my_vote = 0,
banned_from_community = false,
hidden = false,
)

val sampleLinkPostView =
Expand All @@ -317,6 +322,8 @@ val sampleLinkPostView =
creator_blocked = false,
unread_comments = 1,
my_vote = 0,
banned_from_community = false,
hidden = false,
)

val sampleLinkNoThumbnailPostView =
Expand All @@ -334,6 +341,8 @@ val sampleLinkNoThumbnailPostView =
creator_blocked = false,
unread_comments = 1,
my_vote = 0,
banned_from_community = false,
hidden = false,
)

val sampleImagePostView =
Expand All @@ -351,6 +360,8 @@ val sampleImagePostView =
creator_blocked = false,
unread_comments = 1,
my_vote = 0,
banned_from_community = false,
hidden = false,
)

val sampleMarkdownPostView =
Expand All @@ -368,6 +379,8 @@ val sampleMarkdownPostView =
creator_blocked = false,
unread_comments = 1,
my_vote = 0,
banned_from_community = false,
hidden = false,
)

val sampleComment =
Expand Down Expand Up @@ -448,6 +461,7 @@ val sampleCommentView =
creator_blocked = false,
creator_is_moderator = false,
creator_is_admin = false,
banned_from_community = false,
)

val sampleSecondReplyCommentView =
Expand All @@ -463,6 +477,7 @@ val sampleSecondReplyCommentView =
creator_blocked = false,
creator_is_moderator = false,
creator_is_admin = false,
banned_from_community = false,
)

val sampleReplyCommentView =
Expand All @@ -478,6 +493,7 @@ val sampleReplyCommentView =
creator_blocked = false,
creator_is_moderator = false,
creator_is_admin = false,
banned_from_community = false,
)

val sampleCommentReply =
Expand Down Expand Up @@ -513,6 +529,7 @@ val sampleCommentReplyView =
creator_blocked = false,
creator_is_moderator = false,
creator_is_admin = false,
banned_from_community = false,
)

val samplePersonMentionView =
Expand All @@ -530,6 +547,7 @@ val samplePersonMentionView =
creator_blocked = false,
creator_is_moderator = false,
creator_is_admin = false,
banned_from_community = false,
)

val sampleCommunityAggregates =
Expand All @@ -552,6 +570,7 @@ val sampleCommunityView =
subscribed = SubscribedType.NotSubscribed,
blocked = false,
counts = sampleCommunityAggregates,
banned_from_community = false,
)

val samplePersonAggregates =
Expand Down Expand Up @@ -631,6 +650,8 @@ val sampleLocalSite =
hide_modlog_mod_names = true,
federation_signed_fetch = false,
reports_email_admins = false,
default_sort_type = SortType.Active,
default_post_listing_mode = PostListingMode.Card,
)

val sampleSiteAggregates =
Expand Down Expand Up @@ -683,6 +704,7 @@ val sampleGetSiteRes = GetSiteResponse(
taglines = emptyList(),
discussion_languages = emptyList(),
version = "0.0.1",
blocked_urls = emptyList(),
)

val samplePendingRegistrationApplication =
Expand Down Expand Up @@ -757,6 +779,14 @@ val samplePostReportView =
community = sampleCommunity,
counts = samplePostAggregates,
creator_banned_from_community = false,
hidden = false,
read = false,
creator_is_admin = false,
subscribed = SubscribedType.NotSubscribed,
creator_is_moderator = false,
saved = false,
creator_blocked = false,
unread_comments = 1,
)

val sampleCommentReport =
Expand All @@ -782,6 +812,11 @@ val sampleCommentReportView =
community = sampleCommunity,
counts = sampleCommentAggregates,
creator_banned_from_community = false,
subscribed = SubscribedType.NotSubscribed,
saved = false,
creator_is_admin = false,
creator_is_moderator = false,
creator_blocked = false,
)

val samplePrivateMessageReport =
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/jerboa/datatypes/Utils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.jerboa.datatypes
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import com.jerboa.R
import it.vercruysse.lemmyapi.v0x19.datatypes.Comment
import it.vercruysse.lemmyapi.v0x19.datatypes.Person
import it.vercruysse.lemmyapi.datatypes.Comment
import it.vercruysse.lemmyapi.datatypes.Person

fun Person.getDisplayName(): String = this.display_name ?: this.name

Expand Down
Loading

0 comments on commit f922c92

Please sign in to comment.