diff --git a/app/src/main/java/com/keylesspalace/tusky/entity/Relationship.kt b/app/src/main/java/com/keylesspalace/tusky/entity/Relationship.kt index 3da15703..3b645d81 100644 --- a/app/src/main/java/com/keylesspalace/tusky/entity/Relationship.kt +++ b/app/src/main/java/com/keylesspalace/tusky/entity/Relationship.kt @@ -24,5 +24,6 @@ data class Relationship ( val blocking: Boolean, val muting: Boolean, val requested: Boolean, - @SerializedName("showing_reblogs") val showingReblogs: Boolean + @SerializedName("showing_reblogs") val showingReblogs: Boolean, + val subscribing: Boolean? = null // Pleroma extension ) diff --git a/app/src/main/java/com/keylesspalace/tusky/network/MastodonApi.kt b/app/src/main/java/com/keylesspalace/tusky/network/MastodonApi.kt index da61cb6a..b7e1d463 100644 --- a/app/src/main/java/com/keylesspalace/tusky/network/MastodonApi.kt +++ b/app/src/main/java/com/keylesspalace/tusky/network/MastodonApi.kt @@ -325,6 +325,16 @@ interface MastodonApi { fun identityProofs( @Path("id") accountId: String ): Call> + + @POST("api/v1/pleroma/accounts/{id}/subscribe") + fun subscribeAccount( + @Path("id") accountId: String + ): Call + + @POST("api/v1/pleroma/accounts/{id}/unsubscribe") + fun unsubscribeAccount( + @Path("id") accountId: String + ): Call @GET("api/v1/blocks") fun blocks( @@ -498,6 +508,16 @@ interface MastodonApi { fun unmuteAccountObservable( @Path("id") accountId: String ): Single + + @POST("api/v1/pleroma/accounts/{id}/subscribe") + fun subscribeAccountObservable( + @Path("id") accountId: String + ): Single + + @POST("api/v1/pleroma/accounts/{id}/unsubscribe") + fun unsubscribeAccountObservable( + @Path("id") accountId: String + ): Single @GET("api/v1/accounts/relationships") fun relationshipsObservable(