aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/api/api.service.js')
-rw-r--r--src/services/api/api.service.js321
1 files changed, 320 insertions, 1 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js
index f4483149..e1e26151 100644
--- a/src/services/api/api.service.js
+++ b/src/services/api/api.service.js
@@ -87,6 +87,7 @@ const PLEROMA_CHAT_URL = id => `/api/v1/pleroma/chats/by-account-id/${id}`
const PLEROMA_CHAT_MESSAGES_URL = id => `/api/v1/pleroma/chats/${id}/messages`
const PLEROMA_CHAT_READ_URL = id => `/api/v1/pleroma/chats/${id}/read`
const PLEROMA_DELETE_CHAT_MESSAGE_URL = (chatId, messageId) => `/api/v1/pleroma/chats/${chatId}/messages/${messageId}`
+const PLEROMA_ADMIN_REPORTS = '/api/pleroma/admin/reports'
const oldfetch = window.fetch
@@ -488,6 +489,304 @@ const deleteUser = ({ credentials, user }) => {
headers: headers
})
}
+/* eslint-disable */
+const mockStatus = {
+ "account": {
+ "acct": "reported_account",
+ "avatar": "https://develop.ilja.space/images/avi.png",
+ "avatar_static": "https://develop.ilja.space/images/avi.png",
+ "bot": false,
+ "created_at": "2020-09-03T14:18:21.000Z",
+ "display_name": "Reported Account",
+ "emojis": [],
+ "fields": [],
+ "followers_count": 0,
+ "following_count": 0,
+ "header": "https://develop.ilja.space/images/banner.png",
+ "header_static": "https://develop.ilja.space/images/banner.png",
+ "id": "A2xvLMMFLmqUQiZSqG",
+ "locked": false,
+ "note": "I'm an account made for an example report notification. I'm the one that will be reported.",
+ "pleroma": {
+ "accepts_chat_messages": true,
+ "ap_id": "https://develop.ilja.space/users/reported_account",
+ "background_image": null,
+ "confirmation_pending": false,
+ "favicon": null,
+ "hide_favorites": true,
+ "hide_followers": false,
+ "hide_followers_count": false,
+ "hide_follows": false,
+ "hide_follows_count": false,
+ "is_admin": false,
+ "is_moderator": false,
+ "relationship": {},
+ "skip_thread_containment": false,
+ "tags": []
+ },
+ "source": {
+ "fields": [],
+ "note": "",
+ "pleroma": {
+ "actor_type": "Person",
+ "discoverable": false
+ },
+ "sensitive": false
+ },
+ "statuses_count": 1,
+ "url": "https://develop.ilja.space/users/reported_account",
+ "username": "reported_account"
+ },
+ "application": {
+ "name": "Web",
+ "website": null
+ },
+ "bookmarked": false,
+ "card": null,
+ "content": "A post I made that will be included in the report",
+ "created_at": "2020-09-03T14:18:51.000Z",
+ "emojis": [],
+ "favourited": false,
+ "favourites_count": 0,
+ "id": "A2xvLMMFLmqUQiZSqG",
+ "in_reply_to_account_id": null,
+ "in_reply_to_id": null,
+ "language": null,
+ "media_attachments": [],
+ "mentions": [],
+ "muted": false,
+ "pinned": false,
+ "pleroma": {
+ "content": {
+ "text/plain": "A post I made that will be included in the report"
+ },
+ "conversation_id": 7,
+ "direct_conversation_id": null,
+ "emoji_reactions": [],
+ "expires_at": null,
+ "in_reply_to_account_acct": null,
+ "local": true,
+ "parent_visible": false,
+ "spoiler_text": {
+ "text/plain": ""
+ },
+ "thread_muted": false
+ },
+ "poll": null,
+ "reblog": null,
+ "reblogged": false,
+ "reblogs_count": 0,
+ "replies_count": 0,
+ "sensitive": false,
+ "spoiler_text": "",
+ "tags": [],
+ "text": null,
+ "uri": "https://develop.ilja.space/objects/8fe7611a-07e7-403a-ae08-f74580b6cc53",
+ "url": "https://develop.ilja.space/notice/9ymgJaQxAbTzDDZMJs",
+ "visibility": "public"
+}
+
+const report = {
+ "account": {
+ "acct": "reporting_account",
+ "avatar": "https://develop.ilja.space/images/avi.png",
+ "avatar_static": "https://develop.ilja.space/images/avi.png",
+ "bot": false,
+ "created_at": "2020-09-03T14:17:00.000Z",
+ "display_name": "Reporting Account",
+ "emojis": [],
+ "fields": [],
+ "followers_count": 0,
+ "following_count": 0,
+ "header": "https://develop.ilja.space/images/banner.png",
+ "header_static": "https://develop.ilja.space/images/banner.png",
+ "id": "9ymg9LnKk74wuk9lXk",
+ "locked": false,
+ "note": "I'm an account made for an example report notification. I'm the one that will do the reporting.",
+ "pleroma": {
+ "accepts_chat_messages": true,
+ "ap_id": "https://develop.ilja.space/users/reporting_account",
+ "background_image": null,
+ "confirmation_pending": false,
+ "deactivated": false,
+ "favicon": null,
+ "hide_favorites": true,
+ "hide_followers": false,
+ "hide_followers_count": false,
+ "hide_follows": false,
+ "hide_follows_count": false,
+ "is_admin": false,
+ "is_moderator": false,
+ "relationship": {},
+ "skip_thread_containment": false,
+ "tags": []
+ },
+ "source": {
+ "fields": [],
+ "note": "",
+ "pleroma": {
+ "actor_type": "Person",
+ "discoverable": false
+ },
+ "sensitive": false
+ },
+ "statuses_count": 0,
+ "url": "https://develop.ilja.space/users/reporting_account",
+ "username": "reporting_account"
+ },
+ "created_at": "2020-09-03T14:22:59.000Z",
+ "id": "5",
+ "pleroma": {
+ "is_muted": false,
+ "is_seen": false
+ },
+ "report": {
+ "account": {
+ "local": true,
+ "locked": false,
+ "acct": "reported_account",
+ "followers_count": 0,
+ "fields": [],
+ "avatar": "https://develop.ilja.space/images/avi.png",
+ "actor_type": "Person",
+ "url": "https://develop.ilja.space/users/reported_account",
+ "deactivated": false,
+ "id": "9ymgGklmHjZ2OpxVLM",
+ "bot": false,
+ "roles": {
+ "admin": false,
+ "moderator": false
+ },
+ "statuses_count": 1,
+ "nickname": "reported_account",
+ "display_name": "Reported Account",
+ "source": {
+ "fields": [],
+ "note": "",
+ "pleroma": {
+ "actor_type": "Person",
+ "discoverable": false
+ },
+ "sensitive": false
+ },
+ "pleroma": {
+ "accepts_chat_messages": true,
+ "ap_id": "https://develop.ilja.space/users/reported_account",
+ "background_image": null,
+ "confirmation_pending": false,
+ "favicon": null,
+ "hide_favorites": true,
+ "hide_followers": false,
+ "hide_followers_count": false,
+ "hide_follows": false,
+ "hide_follows_count": false,
+ "is_admin": false,
+ "is_moderator": false,
+ "relationship": {},
+ "skip_thread_containment": false,
+ "tags": []
+ },
+ "emojis": [],
+ "created_at": "2020-09-03T14:18:21.000Z",
+ "username": "reported_account",
+ "note": "I'm an account made for an example report notification. I'm the one that will be reported.",
+ "approval_pending": false,
+ "avatar_static": "https://develop.ilja.space/images/avi.png",
+ "header": "https://develop.ilja.space/images/banner.png",
+ "registration_reason": null,
+ "confirmation_pending": false,
+ "header_static": "https://develop.ilja.space/images/banner.png",
+ "following_count": 0,
+ "tags": []
+ },
+ "actor": {
+ "local": true,
+ "locked": false,
+ "acct": "reporting_account",
+ "followers_count": 0,
+ "fields": [],
+ "avatar": "https://develop.ilja.space/images/avi.png",
+ "actor_type": "Person",
+ "url": "https://develop.ilja.space/users/reporting_account",
+ "deactivated": false,
+ "id": "9ymg9LnKk74wuk9lXk",
+ "bot": false,
+ "roles": {
+ "admin": false,
+ "moderator": false
+ },
+ "statuses_count": 0,
+ "nickname": "reporting_account",
+ "display_name": "Reporting Account",
+ "source": {
+ "fields": [],
+ "note": "",
+ "pleroma": {
+ "actor_type": "Person",
+ "discoverable": false
+ },
+ "sensitive": false
+ },
+ "pleroma": {
+ "accepts_chat_messages": true,
+ "ap_id": "https://develop.ilja.space/users/reporting_account",
+ "background_image": null,
+ "confirmation_pending": false,
+ "favicon": null,
+ "hide_favorites": true,
+ "hide_followers": false,
+ "hide_followers_count": false,
+ "hide_follows": false,
+ "hide_follows_count": false,
+ "is_admin": false,
+ "is_moderator": false,
+ "relationship": {},
+ "skip_thread_containment": false,
+ "tags": []
+ },
+ "emojis": [],
+ "created_at": "2020-09-03T14:17:00.000Z",
+ "username": "reporting_account",
+ "note": "I'm an account made for an example report notification. I'm the one that will do the reporting.",
+ "approval_pending": false,
+ "avatar_static": "https://develop.ilja.space/images/avi.png",
+ "header": "https://develop.ilja.space/images/banner.png",
+ "registration_reason": null,
+ "confirmation_pending": false,
+ "header_static": "https://develop.ilja.space/images/banner.png",
+ "following_count": 0,
+ "tags": []
+ },
+ "content": "This is the report created by "reporting_account". It reports "reported_account".",
+ "created_at": "2020-09-03T14:22:59.000Z",
+ "id": "9ymggNcUyfIW8Cq1zM",
+ "notes": [
+ {
+ "content": "Some note left here.",
+ "created_at": "2020-09-03T14:22:59.000Z",
+ "id": "1"
+ },
+ {
+ "content": "Some other note that is much much much longer than the previous note left here.",
+ "created_at": "2020-09-03T14:23:59.000Z",
+ "id": "2"
+ }
+ ],
+ "state": "open",
+ "statuses": [
+ {
+ ...mockStatus,
+ },
+ {
+ ...mockStatus,
+ content: 'This is another status that I created to be included in the report to test multiple statuses.',
+ id: '123'
+ }
+ ]
+ },
+ "type": "pleroma:report"
+}
+/* eslint-enable */
const fetchTimeline = ({
timeline,
@@ -566,6 +865,10 @@ const fetchTimeline = ({
.then((data) => data.json())
.then((data) => {
if (!data.errors) {
+ if (isNotifications) {
+ return { data: [parseNotification(report)], pagination }
+ }
+
return { data: data.map(isNotifications ? parseNotification : parseStatus), pagination }
} else {
data.status = status
@@ -1262,6 +1565,21 @@ const deleteChatMessage = ({ chatId, messageId, credentials }) => {
})
}
+const setReportState = ({ id, state, credentials }) => {
+ return promisedRequest({
+ url: PLEROMA_ADMIN_REPORTS,
+ method: 'PATCH',
+ payload: {
+ 'reports': [
+ {
+ id,
+ state
+ }
+ ]
+ }
+ })
+}
+
const apiService = {
verifyCredentials,
fetchTimeline,
@@ -1347,7 +1665,8 @@ const apiService = {
chatMessages,
sendChatMessage,
readChat,
- deleteChatMessage
+ deleteChatMessage,
+ setReportState
}
export default apiService