forked from AkkomaGang/akkoma-fe
Allow removing accounts from list
This commit is contained in:
parent
dea803468f
commit
92fac1cd9f
2 changed files with 24 additions and 4 deletions
|
@ -94,14 +94,21 @@ const ListNew = {
|
|||
})
|
||||
},
|
||||
updateList () {
|
||||
// the API has two different endpoints for "updating the list name" and
|
||||
// "updating the accounts on the list".
|
||||
// the API has three different endpoints: one for "updating the list name",
|
||||
// one for "adding new accounts to the list" and one for "removing
|
||||
// accounts from the list".
|
||||
this.$store.state.api.backendInteractor.updateList({ id: this.id, title: this.title })
|
||||
this.$store.state.api.backendInteractor.addAccountsToList({
|
||||
id: this.id, accountIds: this.selectedUserIds
|
||||
}).then(() => {
|
||||
this.$router.push({ name: 'list-timeline', params: { id: this.id } })
|
||||
})
|
||||
this.$store.state.api.backendInteractor.getListAccounts({ id: this.id })
|
||||
.then((data) => {
|
||||
this.$store.state.api.backendInteractor.removeAccountsFromList({
|
||||
id: this.id, accountIds: data.filter(x => !this.selectedUserIds.includes(x))
|
||||
})
|
||||
}).then(() => {
|
||||
this.$router.push({ name: 'list-timeline', params: { id: this.id } })
|
||||
})
|
||||
},
|
||||
deleteList () {
|
||||
this.$store.state.api.backendInteractor.deleteList({ id: this.id })
|
||||
|
|
|
@ -441,6 +441,18 @@ const addAccountsToList = ({ id, accountIds, credentials }) => {
|
|||
})
|
||||
}
|
||||
|
||||
const removeAccountsFromList = ({ id, accountIds, credentials }) => {
|
||||
const url = MASTODON_LIST_ACCOUNTS_URL(id)
|
||||
const headers = authHeaders(credentials)
|
||||
headers['Content-Type'] = 'application/json'
|
||||
|
||||
return fetch(url, {
|
||||
method: 'DELETE',
|
||||
headers: headers,
|
||||
body: JSON.stringify({ account_ids: accountIds })
|
||||
})
|
||||
}
|
||||
|
||||
const deleteList = ({ id, credentials }) => {
|
||||
const url = MASTODON_LIST_URL(id)
|
||||
return fetch(url, {
|
||||
|
@ -1427,6 +1439,7 @@ const apiService = {
|
|||
updateList,
|
||||
getListAccounts,
|
||||
addAccountsToList,
|
||||
removeAccountsFromList,
|
||||
deleteList,
|
||||
approveUser,
|
||||
denyUser,
|
||||
|
|
Loading…
Reference in a new issue