From c1cb32e7d22a28d6e7da6702d47e8f32491eb703 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Tue, 1 Apr 2025 11:35:38 -0300 Subject: [PATCH] refactor(emoji-reactions): add api methods --- .../api/requests/statuses/AddStatusReaction.java | 11 +++++++++++ .../requests/statuses/DeleteStatusReaction.java | 11 +++++++++++ .../statuses/PleromaAddStatusReaction.java | 11 +++++++++++ .../statuses/PleromaDeleteStatusReaction.java | 10 ++++++++++ .../statuses/PleromaGetStatusReactions.java | 14 ++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/AddStatusReaction.java create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/DeleteStatusReaction.java create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaAddStatusReaction.java create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaDeleteStatusReaction.java create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaGetStatusReactions.java diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/AddStatusReaction.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/AddStatusReaction.java new file mode 100644 index 000000000..536634655 --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/AddStatusReaction.java @@ -0,0 +1,11 @@ +package org.joinmastodon.android.api.requests.statuses; + +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.Status; + +public class AddStatusReaction extends MastodonAPIRequest { + public AddStatusReaction(String id, String emoji) { + super(HttpMethod.POST, "/statuses/" + id + "/react/" + emoji, Status.class); + setRequestBody(new Object()); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/DeleteStatusReaction.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/DeleteStatusReaction.java new file mode 100644 index 000000000..3583ce2db --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/DeleteStatusReaction.java @@ -0,0 +1,11 @@ +package org.joinmastodon.android.api.requests.statuses; + +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.Status; + +public class DeleteStatusReaction extends MastodonAPIRequest { + public DeleteStatusReaction(String id, String emoji) { + super(HttpMethod.POST, "/statuses/" + id + "/unreact/" + emoji, Status.class); + setRequestBody(new Object()); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaAddStatusReaction.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaAddStatusReaction.java new file mode 100644 index 000000000..fcf25cfb7 --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaAddStatusReaction.java @@ -0,0 +1,11 @@ +package org.joinmastodon.android.api.requests.statuses; + +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.Status; + +public class PleromaAddStatusReaction extends MastodonAPIRequest { + public PleromaAddStatusReaction(String id, String emoji) { + super(HttpMethod.PUT, "/pleroma/statuses/" + id + "/reactions/" + emoji, Status.class); + setRequestBody(new Object()); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaDeleteStatusReaction.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaDeleteStatusReaction.java new file mode 100644 index 000000000..5657c23df --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaDeleteStatusReaction.java @@ -0,0 +1,10 @@ +package org.joinmastodon.android.api.requests.statuses; + +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.Status; + +public class PleromaDeleteStatusReaction extends MastodonAPIRequest { + public PleromaDeleteStatusReaction(String id, String emoji) { + super(HttpMethod.DELETE, "/pleroma/statuses/" + id + "/reactions/" + emoji, Status.class); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaGetStatusReactions.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaGetStatusReactions.java new file mode 100644 index 000000000..e344321db --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/statuses/PleromaGetStatusReactions.java @@ -0,0 +1,14 @@ +package org.joinmastodon.android.api.requests.statuses; + +import com.google.gson.reflect.TypeToken; + +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.EmojiReaction; + +import java.util.List; + +public class PleromaGetStatusReactions extends MastodonAPIRequest> { + public PleromaGetStatusReactions(String id, String emoji) { + super(HttpMethod.GET, "/pleroma/statuses/" + id + "/reactions/" + (emoji != null ? emoji : ""), new TypeToken<>(){}); + } +}