Skip to content

Commit

Permalink
Normalize outbox messages
Browse files Browse the repository at this point in the history
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
  • Loading branch information
ChristophWurst committed Apr 7, 2022
1 parent 1e906b3 commit c90c788
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/store/outbox/getters.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@
*/

export default {
getAllMessages: state => Object.values(state.messages),
getAllMessages: state => state.messageList.map(id => state.messages[id]),
getMessage: state => id => state.messages[id],
}
5 changes: 5 additions & 0 deletions src/store/outbox/mutations.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,13 @@ export default {
addMessage(state, { message }) {
const existing = state.messages[message.id] ?? {}
Vue.set(state.messages, message.id, Object.assign({}, existing, message))
// Add the message only if it's new
if (state.messageList.indexOf(message.id) === -1) {
state.messageList.unshift(message.id)
}
},
deleteMessage(state, { id }) {
state.messageList = state.messageList.filter(i => i !== id)
Vue.delete(state.messages, id)
},
updateMessage(state, { message }) {
Expand Down
1 change: 1 addition & 0 deletions src/store/outbox/state.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@
*/

export default {
messageList: [],
messages: {},
}

0 comments on commit c90c788

Please sign in to comment.