diff --git a/app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java b/app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java index 39b960ecc..12320f0fd 100644 --- a/app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java +++ b/app/src/main/java/app/fedilab/android/client/endpoints/MastodonStatusesService.java @@ -24,6 +24,7 @@ import app.fedilab.android.client.entities.api.Context; import app.fedilab.android.client.entities.api.Poll; import app.fedilab.android.client.entities.api.ScheduledStatus; import app.fedilab.android.client.entities.api.Status; +import app.fedilab.android.client.entities.api.StatusSource; import okhttp3.MultipartBody; import okhttp3.RequestBody; import retrofit2.Call; @@ -61,6 +62,32 @@ public interface MastodonStatusesService { @Field("language") String language ); + @GET("statuses/{id}/source") + Call getStatusSource( + @Header("Authorization") String token, + @Path("id") String id); + + //Post a status + @FormUrlEncoded + @PUT("statuses/{id}") + Call updateStatus( + @Header("Idempotency-Key") String idempotency_Key, + @Header("Authorization") String token, + @Path("id") String id, + @Field("status") String status, + @Field("media_ids[]") List media_ids, + @Field("poll[options][]") List poll_options, + @Field("poll[expires_in]") Integer poll_expire_in, + @Field("poll[multiple]") Boolean poll_multiple, + @Field("poll[hide_totals]") Boolean poll_hide_totals, + @Field("in_reply_to_id") String in_reply_to_id, + @Field("sensitive") Boolean sensitive, + @Field("spoiler_text") String spoiler_text, + @Field("visibility") String visibility, + @Field("language") String language + ); + + //Post a scheduled status @FormUrlEncoded @POST("statuses") diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java index 5604c3f50..1b2caea22 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java +++ b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java @@ -36,6 +36,8 @@ public class Status implements Serializable, Cloneable { public String id; @SerializedName("created_at") public Date created_at = new Date(); + @SerializedName("edited_at") + public Date edited_at; @SerializedName("in_reply_to_id") public String in_reply_to_id; @SerializedName("in_reply_to_account_id") diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/StatusSource.java b/app/src/main/java/app/fedilab/android/client/entities/api/StatusSource.java new file mode 100644 index 000000000..116ed6d02 --- /dev/null +++ b/app/src/main/java/app/fedilab/android/client/entities/api/StatusSource.java @@ -0,0 +1,28 @@ +package app.fedilab.android.client.entities.api; +/* Copyright 2022 Thomas Schneider + * + * This file is a part of Fedilab + * + * This program is free software; you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Fedilab; if not, + * see . */ + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class StatusSource implements Serializable { + @SerializedName("id") + public String id; + @SerializedName("text") + public String text; + @SerializedName("spoiler_text") + public String spoiler_text; +}