use status source for delete and redraft (#1461)
* use status source for delete and redraft * make delete & redraft work on Pleroma again * add error handling
This commit is contained in:
parent
2278fa5c79
commit
42a6b98d4d
8 changed files with 154 additions and 88 deletions
|
@ -20,6 +20,7 @@ import com.keylesspalace.tusky.entity.Account;
|
|||
import com.keylesspalace.tusky.entity.AppCredentials;
|
||||
import com.keylesspalace.tusky.entity.Attachment;
|
||||
import com.keylesspalace.tusky.entity.Conversation;
|
||||
import com.keylesspalace.tusky.entity.DeletedStatus;
|
||||
import com.keylesspalace.tusky.entity.Emoji;
|
||||
import com.keylesspalace.tusky.entity.Filter;
|
||||
import com.keylesspalace.tusky.entity.Instance;
|
||||
|
@ -152,7 +153,7 @@ public interface MastodonApi {
|
|||
@Query("max_id") String maxId);
|
||||
|
||||
@DELETE("api/v1/statuses/{id}")
|
||||
Call<ResponseBody> deleteStatus(@Path("id") String statusId);
|
||||
Single<DeletedStatus> deleteStatus(@Path("id") String statusId);
|
||||
|
||||
@POST("api/v1/statuses/{id}/reblog")
|
||||
Single<Status> reblogStatus(@Path("id") String statusId);
|
||||
|
@ -363,11 +364,6 @@ public interface MastodonApi {
|
|||
@Field("expires_in") String expiresIn
|
||||
);
|
||||
|
||||
@GET("api/v1/filters/{id}")
|
||||
Call<Filter> getFilter(
|
||||
@Path("id") String id
|
||||
);
|
||||
|
||||
@FormUrlEncoded
|
||||
@PUT("api/v1/filters/{id}")
|
||||
Call<Filter> updateFilter(
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
package com.keylesspalace.tusky.network
|
||||
|
||||
import com.keylesspalace.tusky.appstore.*
|
||||
import com.keylesspalace.tusky.entity.DeletedStatus
|
||||
import com.keylesspalace.tusky.entity.Poll
|
||||
import com.keylesspalace.tusky.entity.Relationship
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.rxkotlin.addTo
|
||||
import okhttp3.ResponseBody
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
|
@ -37,7 +37,7 @@ interface TimelineCases {
|
|||
fun favourite(status: Status, favourite: Boolean): Single<Status>
|
||||
fun mute(id: String)
|
||||
fun block(id: String)
|
||||
fun delete(id: String)
|
||||
fun delete(id: String): Single<DeletedStatus>
|
||||
fun pin(status: Status, pin: Boolean)
|
||||
fun voteInPoll(status: Status, choices: List<Int>): Single<Poll>
|
||||
|
||||
|
@ -101,14 +101,11 @@ class TimelineCasesImpl(
|
|||
|
||||
}
|
||||
|
||||
override fun delete(id: String) {
|
||||
val call = mastodonApi.deleteStatus(id)
|
||||
call.enqueue(object : Callback<ResponseBody> {
|
||||
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {}
|
||||
|
||||
override fun onFailure(call: Call<ResponseBody>, t: Throwable) {}
|
||||
})
|
||||
eventHub.dispatch(StatusDeletedEvent(id))
|
||||
override fun delete(id: String): Single<DeletedStatus> {
|
||||
return mastodonApi.deleteStatus(id)
|
||||
.doAfterSuccess {
|
||||
eventHub.dispatch(StatusDeletedEvent(id))
|
||||
}
|
||||
}
|
||||
|
||||
override fun pin(status: Status, pin: Boolean) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue