diff options
| author | Tusooa Zhu <tusooa@kazv.moe> | 2022-03-17 17:11:53 -0400 |
|---|---|---|
| committer | tusooa <tusooa@kazv.moe> | 2022-11-24 18:27:14 -0500 |
| commit | 89c49b6fb46e607aee07afd5bc436e8f2f605bfe (patch) | |
| tree | 264b78477fa6aeaf4776d959dc1f6f39831ef9f5 /src/services/api/api.service.js | |
| parent | 0e51e824a29204bb193e2707d6f65b6caaee719d (diff) | |
Allow editing announcements
Diffstat (limited to 'src/services/api/api.service.js')
| -rw-r--r-- | src/services/api/api.service.js | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index c2bfe8cc..0d4c674a 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -104,6 +104,7 @@ const PLEROMA_ADMIN_REPORTS = '/api/pleroma/admin/reports' const PLEROMA_BACKUP_URL = '/api/v1/pleroma/backups' const PLEROMA_ANNOUNCEMENTS_URL = '/api/v1/pleroma/admin/announcements' const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements' +const PLEROMA_EDIT_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}` const PLEROMA_DELETE_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}` const oldfetch = window.fetch @@ -1382,26 +1383,39 @@ const dismissAnnouncement = ({ id, credentials }) => { }) } -const postAnnouncement = ({ credentials, content, startsAt, endsAt, allDay }) => { +const announcementToPayload = ({ content, startsAt, endsAt, allDay }) => { const payload = { content } if (typeof startsAt !== 'undefined') { - payload['starts_at'] = new Date(startsAt).toISOString() + payload['starts_at'] = startsAt ? new Date(startsAt).toISOString() : null } if (typeof endsAt !== 'undefined') { - payload['ends_at'] = new Date(endsAt).toISOString() + payload['ends_at'] = endsAt ? new Date(endsAt).toISOString() : null } if (typeof allDay !== 'undefined') { payload['all_day'] = allDay } + return payload +} + +const postAnnouncement = ({ credentials, content, startsAt, endsAt, allDay }) => { return promisedRequest({ url: PLEROMA_POST_ANNOUNCEMENT_URL, credentials, method: 'POST', - payload + payload: announcementToPayload({ content, startsAt, endsAt, allDay }) + }) +} + +const editAnnouncement = ({ id, credentials, content, startsAt, endsAt, allDay }) => { + return promisedRequest({ + url: PLEROMA_EDIT_ANNOUNCEMENT_URL(id), + credentials, + method: 'PATCH', + payload: announcementToPayload({ content, startsAt, endsAt, allDay }) }) } @@ -1743,6 +1757,7 @@ const apiService = { fetchAnnouncements, dismissAnnouncement, postAnnouncement, + editAnnouncement, deleteAnnouncement, adminFetchAnnouncements } |
