PixelDroid-App-Android/app/src/main/java/com/h/pixeldroid/objects/Status.kt

48 lines
1.3 KiB
Kotlin

package com.h.pixeldroid.objects
/*
Represents a status posted by an account.
https://docs.joinmastodon.org/entities/status/
*/
data class Status(
//Base attributes
val id: String,
val uri: String,
val created_at: String, //ISO 8601 Datetime (maybe can use a date type)
val account: Account,
val content: String, //HTML
val visibility: Visibility,
val sensitive: Boolean,
val spoiler_text: String,
val media_attachments: List<Attachment>,
val application: Application,
//Rendering attributes
val mentions: List<Mention>,
val tags: List<Tag>,
val emojis: List<Emoji>,
//Informational attributes
val reblogs_count: Int,
val favourites_count: Int,
val replies_count: Int,
//Nullable attributes
val url: String?, //URL
val in_reply_to_id: String?,
val in_reply_to_account: String?,
val reblog: Status?,
val poll: Poll?,
val card: Card?,
val language: String?, //ISO 639 Part 1 two-letter language code
val text: String?,
//Authorized user attributes
val favourited: Boolean,
val reblogged: Boolean,
val muted: Boolean,
val bookmarked: Boolean,
val pinned: Boolean
)
{
enum class Visibility {
public, unlisted, private, direct
}
}