From e494e746439e3e622c5b12a182b6c6a9de540821 Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Thu, 17 Mar 2022 14:54:52 -0400 Subject: Implement posting announcements --- src/services/api/api.service.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/services/api') diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 10d43632..5206602d 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -102,6 +102,7 @@ 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 PLEROMA_BACKUP_URL = '/api/v1/pleroma/backups' +const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements' const oldfetch = window.fetch @@ -1375,6 +1376,29 @@ const dismissAnnouncement = ({ id, credentials }) => { }) } +const postAnnouncement = ({ credentials, content, startsAt, endsAt, allDay }) => { + const payload = { content } + + if (typeof startsAt !== 'undefined') { + payload['starts_at'] = startsAt + } + + if (typeof endsAt !== 'undefined') { + payload['ends_at'] = endsAt + } + + if (typeof allDay !== 'undefined') { + payload['all_day'] = allDay + } + + return promisedRequest({ + url: PLEROMA_POST_ANNOUNCEMENT_URL, + credentials, + method: 'POST', + payload + }) +} + export const getMastodonSocketURI = ({ credentials, stream, args = {} }) => { return Object.entries({ ...(credentials @@ -1703,7 +1727,8 @@ const apiService = { setReportState, fetchUserInLists, fetchAnnouncements, - dismissAnnouncement + dismissAnnouncement, + postAnnouncement } export default apiService -- cgit v1.2.3-70-g09d2