diff --git a/website/client/components/userMenu/inbox.vue b/website/client/components/userMenu/inbox.vue index 96d64cbe33..7e82160a4d 100644 --- a/website/client/components/userMenu/inbox.vue +++ b/website/client/components/userMenu/inbox.vue @@ -312,7 +312,7 @@ export default { return conversation.name.toLowerCase().indexOf(this.search.toLowerCase()) !== -1; }); }, - optTextSet() { + optTextSet () { if (!this.user.inbox.optOut) { return { switchDescription: this.$t('PMDisableFull'), @@ -323,14 +323,14 @@ export default { switchDescription: this.$t('PMEnableFull'), popoverText: this.$t('PMDisabledOptPopoverText'), }; - } + }, }, methods: { toggleClick () { this.displayCreate = !this.displayCreate; }, - toggleOpt(){ - this.$store.dispatch('members:togglePrivateMessagesOpt'); + toggleOpt () { + this.$store.dispatch('user:togglePrivateMessagesOpt'); }, selectConversation (key) { let convoFound = this.conversations.find((conversation) => { diff --git a/website/client/store/actions/members.js b/website/client/store/actions/members.js index 72552e7ba7..de4d34d23c 100644 --- a/website/client/store/actions/members.js +++ b/website/client/store/actions/members.js @@ -77,13 +77,6 @@ export async function sendPrivateMessage (store, payload) { return response; } -export async function togglePrivateMessagesOpt (store) { - let url = `${apiV3Prefix}/members/toggle-private-messages-opt`; - let response = await axios.post(url); - store.state.user.data.inbox.optOut = !store.state.user.data.inbox.optOut; - return response; -} - export async function transferGems (store, payload) { let url = `${apiV3Prefix}/members/transfer-gems`; let data = { diff --git a/website/client/store/actions/user.js b/website/client/store/actions/user.js index 7c44d90e7e..d040ba5bb2 100644 --- a/website/client/store/actions/user.js +++ b/website/client/store/actions/user.js @@ -149,3 +149,13 @@ export async function rebirth () { return result; } + +export async function togglePrivateMessagesOpt (store) { + let response = await axios.put('/api/v3/user', + { + 'inbox.optOut': !store.state.user.data.inbox.optOut, + } + ); + store.state.user.data.inbox.optOut = !store.state.user.data.inbox.optOut; + return response; +} diff --git a/website/server/controllers/api-v3/members.js b/website/server/controllers/api-v3/members.js index 6f0ab6fe2d..61e0e3ec19 100644 --- a/website/server/controllers/api-v3/members.js +++ b/website/server/controllers/api-v3/members.js @@ -510,29 +510,6 @@ api.sendPrivateMessage = { }, }; -/** - * @api {post} /api/v3/members/toggle-private-messages-opt Opt-out / opt-in private messages - * @apiDescription Opt-out / opt-in private messaging functionality - * @apiName TogglePrivateMessagesOpt - * @apiGroup Member - * - * @apiSuccess {Object} data An empty Object - */ -api.togglePrivateMessagesOpt = { - method: 'POST', - url: '/members/toggle-private-messages-opt', - middlewares: [authWithHeaders()], - async handler (req, res) { - let user = res.locals.user; - - user.inbox.optOut = !user.inbox.optOut; - - await user.save(); - - res.respond(200, {}); - }, -}; - /** * @api {post} /api/v3/members/transfer-gems Send a gem gift to a member * @apiName TransferGems