diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/Application.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/Application.kt index ce775b4..9cb610c 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/Application.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/Application.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Application/ +@Stable @Serializable data class Application( val name: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/CustomEmoji.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/CustomEmoji.kt index 39bc1e7..4e6fbd8 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/CustomEmoji.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/CustomEmoji.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/CustomEmoji/ +@Stable @Serializable data class CustomEmoji( val shortcode: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/Filter.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/Filter.kt index 07de0f8..087f2ce 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/Filter.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/Filter.kt @@ -1,10 +1,12 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Filter/ +@Stable @Serializable data class Filter( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterKeyword.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterKeyword.kt index d769a0e..6631cbf 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterKeyword.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterKeyword.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/FilterKeyword/ +@Stable @Serializable data class FilterKeyword( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterResult.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterResult.kt index f0f2d3f..523ba20 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterResult.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterResult.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/FilterResult/ +@Stable @Serializable data class FilterResult( val filter: Filter, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterStatus.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterStatus.kt index 1c1af59..473e58f 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterStatus.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/FilterStatus.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/FilterStatus/ +@Stable @Serializable data class FilterStatus( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/Poll.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/Poll.kt index 84a071c..bc5c58a 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/Poll.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/Poll.kt @@ -1,10 +1,12 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Poll/ +@Stable @Serializable data class Poll( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/PreviewCard.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/PreviewCard.kt index b91d440..876dc64 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/PreviewCard.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/PreviewCard.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/PreviewCard/ +@Stable @Serializable data class PreviewCard( val url: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/Role.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/Role.kt index bb1cb5f..6e5f79a 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/Role.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/Role.kt @@ -1,10 +1,12 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Role/ +@Stable @Serializable data class Role( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/Token.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/Token.kt index 3df0bea..bfa14ea 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/Token.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/Token.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Token/ +@Stable @Serializable data class Token( @SerialName("access_token") val accessToken: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/meta/NodeInfo.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/meta/NodeInfo.kt index e9ee498..7e33b8a 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/meta/NodeInfo.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/meta/NodeInfo.kt @@ -1,8 +1,10 @@ package xyz.wingio.dimett.rest.dto.meta +import androidx.compose.runtime.Stable import kotlinx.serialization.Serializable // http://nodeinfo.diaspora.software/schema.html +@Stable @Serializable data class NodeInfo( val metadata: MetaData? = null, @@ -12,6 +14,7 @@ data class NodeInfo( val usage: Usage? = null ) { + @Stable @Serializable data class MetaData( val features: List?, @@ -21,18 +24,21 @@ data class NodeInfo( val private: Boolean? ) + @Stable @Serializable data class Software( val name: String, val version: String ) + @Stable @Serializable data class Usage( val users: Users? = null, val localPosts: Long? = null ) { + @Stable @Serializable data class Users( val total: Int? = null, @@ -45,11 +51,13 @@ data class NodeInfo( } // Response from /.well-known/nodeinfo +@Stable @Serializable data class NodeInfoLocation( val links: List ) { + @Stable @Serializable data class Link( val href: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/MediaAttachment.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/MediaAttachment.kt index 3fd97e6..32fab7c 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/MediaAttachment.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/MediaAttachment.kt @@ -1,9 +1,11 @@ package xyz.wingio.dimett.rest.dto.post +import androidx.compose.runtime.Stable import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/MediaAttachment/ +@Stable @Serializable data class MediaAttachment( val id: String, @@ -16,6 +18,7 @@ data class MediaAttachment( val blurhash: String? = null ) { + @Stable @Serializable enum class Type { @SerialName("unknown") @@ -35,6 +38,7 @@ data class MediaAttachment( } // This isn't really standardized so I had to find this via checking response json + @Stable @Serializable data class Meta( val original: MetaData? = null, @@ -43,6 +47,7 @@ data class MediaAttachment( val small: MetaData? = null ) { + @Stable @Serializable data class MetaData( val width: Int? = null, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Mention.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Mention.kt index 32f86b5..049ced4 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Mention.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Mention.kt @@ -1,8 +1,10 @@ package xyz.wingio.dimett.rest.dto.post +import androidx.compose.runtime.Stable import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Status/#Mention +@Stable @Serializable data class Mention( val id: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Post.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Post.kt index 7cfec14..130802e 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Post.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Post.kt @@ -1,5 +1,6 @@ package xyz.wingio.dimett.rest.dto.post +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -10,6 +11,7 @@ import xyz.wingio.dimett.rest.dto.PreviewCard import xyz.wingio.dimett.rest.dto.user.User // https://docs.joinmastodon.org/entities/Status +@Stable @Serializable data class Post( val id: String, @@ -66,6 +68,7 @@ data class Post( } // https://docs.joinmastodon.org/entities/Status/#application +@Stable @Serializable data class Application( val name: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Tag.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Tag.kt index acb3910..2676e67 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Tag.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/post/Tag.kt @@ -1,8 +1,10 @@ package xyz.wingio.dimett.rest.dto.post +import androidx.compose.runtime.Stable import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Status/#Tag +@Stable @Serializable data class Tag( val name: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/CredentialUser.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/CredentialUser.kt index 0815025..41bd859 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/CredentialUser.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/CredentialUser.kt @@ -1,5 +1,6 @@ package xyz.wingio.dimett.rest.dto.user +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -7,6 +8,7 @@ import xyz.wingio.dimett.rest.dto.CustomEmoji import xyz.wingio.dimett.rest.dto.Role // https://docs.joinmastodon.org/entities/Account/#CredentialAccount +@Stable @Serializable data class CredentialUser( val id: String, @@ -40,6 +42,7 @@ data class CredentialUser( ) // https://docs.joinmastodon.org/entities/Account/#source +@Stable @Serializable data class Source( @SerialName("note") val bio: String? = null, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/Field.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/Field.kt index ac1b3d7..517e24d 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/Field.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/Field.kt @@ -1,10 +1,12 @@ package xyz.wingio.dimett.rest.dto.user +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable // https://docs.joinmastodon.org/entities/Account/#Field +@Stable @Serializable data class Field( val name: String, diff --git a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/User.kt b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/User.kt index 64518d0..b8ab59b 100644 --- a/app/src/main/java/xyz/wingio/dimett/rest/dto/user/User.kt +++ b/app/src/main/java/xyz/wingio/dimett/rest/dto/user/User.kt @@ -1,11 +1,13 @@ package xyz.wingio.dimett.rest.dto.user +import androidx.compose.runtime.Stable import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import xyz.wingio.dimett.rest.dto.CustomEmoji // https://docs.joinmastodon.org/entities/Account +@Stable @Serializable data class User( val id: String,