Allow editing announcements
This commit is contained in:
parent
0e51e824a2
commit
89c49b6fb4
6 changed files with 118 additions and 23 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue