Skip to content

Commit

Permalink
Mark all api models as stable
Browse files Browse the repository at this point in the history
  • Loading branch information
wingio committed Dec 11, 2023
1 parent 18c684d commit ab0790a
Show file tree
Hide file tree
Showing 18 changed files with 47 additions and 0 deletions.
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/Application.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/CustomEmoji.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/Filter.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/FilterKeyword.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/FilterResult.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/FilterStatus.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/Poll.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/PreviewCard.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/Role.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/Token.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/meta/NodeInfo.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand All @@ -12,6 +14,7 @@ data class NodeInfo(
val usage: Usage? = null
) {

@Stable
@Serializable
data class MetaData(
val features: List<String>?,
Expand All @@ -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,
Expand All @@ -45,11 +51,13 @@ data class NodeInfo(
}

// Response from /.well-known/nodeinfo
@Stable
@Serializable
data class NodeInfoLocation(
val links: List<Link>
) {

@Stable
@Serializable
data class Link(
val href: String,
Expand Down
Original file line number Diff line number Diff line change
@@ -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,
Expand All @@ -16,6 +18,7 @@ data class MediaAttachment(
val blurhash: String? = null
) {

@Stable
@Serializable
enum class Type {
@SerialName("unknown")
Expand All @@ -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,
Expand All @@ -43,6 +47,7 @@ data class MediaAttachment(
val small: MetaData? = null
) {

@Stable
@Serializable
data class MetaData(
val width: Int? = null,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/post/Mention.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/post/Post.kt
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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,
Expand Down Expand Up @@ -66,6 +68,7 @@ data class Post(
}

// https://docs.joinmastodon.org/entities/Status/#application
@Stable
@Serializable
data class Application(
val name: String,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/post/Tag.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
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
import xyz.wingio.dimett.rest.dto.Role

// https://docs.joinmastodon.org/entities/Account/#CredentialAccount
@Stable
@Serializable
data class CredentialUser(
val id: String,
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/user/Field.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/xyz/wingio/dimett/rest/dto/user/User.kt
Original file line number Diff line number Diff line change
@@ -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,
Expand Down

0 comments on commit ab0790a

Please sign in to comment.