aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2022-03-17 14:54:52 -0400
committertusooa <tusooa@kazv.moe>2022-11-24 18:27:13 -0500
commite494e746439e3e622c5b12a182b6c6a9de540821 (patch)
tree8e38d8a56bcd65b75ba2a299c1894474049cbaf3 /src/services/api/api.service.js
parente5b49ae34b0c750b7b3259044104ebb7e4b872c7 (diff)
Implement posting announcements
Diffstat (limited to 'src/services/api/api.service.js')
-rw-r--r--src/services/api/api.service.js27
1 files changed, 26 insertions, 1 deletions
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