mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2024-12-22 16:50:04 +02:00
converter
This commit is contained in:
parent
12b7663653
commit
c331cbeb26
1 changed files with 49 additions and 0 deletions
|
@ -17,7 +17,13 @@ package app.fedilab.android.mastodon.client.entities.lemmy;
|
|||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import app.fedilab.android.mastodon.client.entities.api.Account;
|
||||
import app.fedilab.android.mastodon.client.entities.api.Attachment;
|
||||
import app.fedilab.android.mastodon.client.entities.api.Status;
|
||||
|
||||
public class LemmyPost implements Serializable {
|
||||
|
||||
|
@ -42,6 +48,44 @@ public class LemmyPost implements Serializable {
|
|||
@SerializedName("unread_comments")
|
||||
public int unread_comments;
|
||||
|
||||
|
||||
public static Status convert(LemmyPost lemmyPost, String instance) {
|
||||
Status status = new Status();
|
||||
status.id = lemmyPost.comment == null ? lemmyPost.post.id : lemmyPost.comment.id;
|
||||
if (lemmyPost.comment != null) {
|
||||
status.in_reply_to_id = lemmyPost.comment.post_id;
|
||||
}
|
||||
status.content = lemmyPost.comment == null ? lemmyPost.post.name : lemmyPost.comment.content;
|
||||
status.visibility = "public";
|
||||
status.created_at = lemmyPost.comment == null ? lemmyPost.post.published : lemmyPost.comment.published;
|
||||
status.url = lemmyPost.comment == null ? lemmyPost.post.ap_id : lemmyPost.comment.ap_id;
|
||||
status.uri = lemmyPost.comment == null ? lemmyPost.post.ap_id : lemmyPost.comment.ap_id;
|
||||
|
||||
|
||||
Account account = new Account();
|
||||
account.id = lemmyPost.creator.id;
|
||||
account.acct = lemmyPost.creator.name + "@" + instance;
|
||||
account.username = "@" + lemmyPost.creator.name;
|
||||
account.display_name = lemmyPost.creator.name;
|
||||
account.avatar = lemmyPost.creator.avatar;
|
||||
account.avatar_static = lemmyPost.creator.avatar;
|
||||
status.account = account;
|
||||
|
||||
if (lemmyPost.post.thumbnail_url != null) {
|
||||
List<Attachment> attachmentList = new ArrayList<>();
|
||||
Attachment attachment = new Attachment();
|
||||
attachment.type = "image";
|
||||
attachment.url = lemmyPost.post.thumbnail_url;
|
||||
attachment.preview_url = lemmyPost.post.thumbnail_url;
|
||||
if (lemmyPost.post.nsfw) {
|
||||
status.sensitive = true;
|
||||
}
|
||||
attachmentList.add(attachment);
|
||||
status.media_attachments = attachmentList;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
public static class Post implements Serializable {
|
||||
@SerializedName("id")
|
||||
public String id;
|
||||
|
@ -65,6 +109,9 @@ public class LemmyPost implements Serializable {
|
|||
public boolean deleted;
|
||||
@SerializedName("nsfw")
|
||||
public boolean nsfw;
|
||||
@SerializedName("thumbnail_url")
|
||||
public String thumbnail_url;
|
||||
|
||||
@SerializedName("ap_id")
|
||||
public String ap_id;
|
||||
@SerializedName("local")
|
||||
|
@ -90,6 +137,8 @@ public class LemmyPost implements Serializable {
|
|||
public boolean removed;
|
||||
@SerializedName("published")
|
||||
public Date published;
|
||||
@SerializedName("thumbnail_url")
|
||||
public String thumbnail_url;
|
||||
@SerializedName("deleted")
|
||||
public boolean deleted;
|
||||
@SerializedName("ap_id")
|
||||
|
|
Loading…
Reference in a new issue