Fix deserialization of the response from friendica on api/v2/instance (#4103)
Fixes #4100 --------- Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
This commit is contained in:
parent
ff39f9b3c2
commit
21a4308fef
3 changed files with 109 additions and 18 deletions
|
|
@ -64,17 +64,17 @@ class InstanceInfoRepository @Inject constructor(
|
|||
{ instance ->
|
||||
val instanceEntity = InstanceInfoEntity(
|
||||
instance = instanceName,
|
||||
maximumTootCharacters = instance.configuration.statuses.maxCharacters,
|
||||
maxPollOptions = instance.configuration.polls.maxOptions,
|
||||
maxPollOptionLength = instance.configuration.polls.maxCharactersPerOption,
|
||||
minPollDuration = instance.configuration.polls.minExpirationSeconds,
|
||||
maxPollDuration = instance.configuration.polls.maxExpirationSeconds,
|
||||
charactersReservedPerUrl = instance.configuration.statuses.charactersReservedPerUrl,
|
||||
maximumTootCharacters = instance.configuration.statuses?.maxCharacters ?: DEFAULT_CHARACTER_LIMIT,
|
||||
maxPollOptions = instance.configuration.polls?.maxOptions ?: DEFAULT_MAX_OPTION_COUNT,
|
||||
maxPollOptionLength = instance.configuration.polls?.maxCharactersPerOption ?: DEFAULT_MAX_OPTION_LENGTH,
|
||||
minPollDuration = instance.configuration.polls?.minExpirationSeconds ?: DEFAULT_MIN_POLL_DURATION,
|
||||
maxPollDuration = instance.configuration.polls?.maxExpirationSeconds ?: DEFAULT_MAX_POLL_DURATION,
|
||||
charactersReservedPerUrl = instance.configuration.statuses?.charactersReservedPerUrl ?: DEFAULT_CHARACTERS_RESERVED_PER_URL,
|
||||
version = instance.version,
|
||||
videoSizeLimit = instance.configuration.mediaAttachments.videoSizeLimitBytes.toInt(),
|
||||
imageSizeLimit = instance.configuration.mediaAttachments.imageSizeLimitBytes.toInt(),
|
||||
imageMatrixLimit = instance.configuration.mediaAttachments.imagePixelCountLimit.toInt(),
|
||||
maxMediaAttachments = instance.configuration.statuses.maxMediaAttachments,
|
||||
videoSizeLimit = instance.configuration.mediaAttachments?.videoSizeLimitBytes?.toInt() ?: DEFAULT_VIDEO_SIZE_LIMIT,
|
||||
imageSizeLimit = instance.configuration.mediaAttachments?.imageSizeLimitBytes?.toInt() ?: DEFAULT_IMAGE_SIZE_LIMIT,
|
||||
imageMatrixLimit = instance.configuration.mediaAttachments?.imagePixelCountLimit?.toInt() ?: DEFAULT_IMAGE_MATRIX_LIMIT,
|
||||
maxMediaAttachments = instance.configuration.statuses?.maxMediaAttachments ?: DEFAULT_MAX_MEDIA_ATTACHMENTS,
|
||||
maxFields = instance.pleroma?.metadata?.fieldLimits?.maxFields,
|
||||
maxFieldNameLength = instance.pleroma?.metadata?.fieldLimits?.nameLength,
|
||||
maxFieldValueLength = instance.pleroma?.metadata?.fieldLimits?.valueLength,
|
||||
|
|
|
|||
|
|
@ -31,12 +31,12 @@ data class Instance(
|
|||
)
|
||||
}
|
||||
data class Configuration(
|
||||
val urls: Urls,
|
||||
val accounts: Accounts,
|
||||
val statuses: Statuses,
|
||||
@SerializedName("media_attachments") val mediaAttachments: MediaAttachments,
|
||||
val polls: Polls,
|
||||
val translation: Translation,
|
||||
val urls: Urls?,
|
||||
val accounts: Accounts?,
|
||||
val statuses: Statuses?,
|
||||
@SerializedName("media_attachments") val mediaAttachments: MediaAttachments?,
|
||||
val polls: Polls?,
|
||||
val translation: Translation?,
|
||||
) {
|
||||
data class Urls(@SerializedName("streaming_api") val streamingApi: String)
|
||||
data class Accounts(@SerializedName("max_featured_tags") val maxFeaturedTags: Int)
|
||||
|
|
@ -46,7 +46,8 @@ data class Instance(
|
|||
@SerializedName("characters_reserved_per_url") val charactersReservedPerUrl: Int,
|
||||
)
|
||||
data class MediaAttachments(
|
||||
@SerializedName("supported_mime_types") val supportedMimeTypes: List<String>,
|
||||
// Warning: This is an array in mastodon and a dictionary in friendica
|
||||
// @SerializedName("supported_mime_types") val supportedMimeTypes: List<String>,
|
||||
@SerializedName("image_size_limit") val imageSizeLimitBytes: Long,
|
||||
@SerializedName("image_matrix_limit") val imagePixelCountLimit: Long,
|
||||
@SerializedName("video_size_limit") val videoSizeLimitBytes: Long,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue