Skip to content
Snippets Groups Projects
Commit f97a3e2d authored by Alexandru Munteanu's avatar Alexandru Munteanu
Browse files

feat(email-subscription): send user id and remove auth bearer

parent e3d96073
No related branches found
No related tags found
1 merge request!14Sprint #15
...@@ -154,7 +154,6 @@ const Users = app => { ...@@ -154,7 +154,6 @@ const Users = app => {
*/ */
app.patch( app.patch(
'/api/users/subscriptions', '/api/users/subscriptions',
authBearer,
require('./routes/users/subscriptions')(app.locals.models), require('./routes/users/subscriptions')(app.locals.models),
) )
......
const { services } = require('pubsweet-component-helper-service') const { services } = require('pubsweet-component-helper-service')
module.exports = models => async (req, res) => { module.exports = models => async (req, res) => {
const { isUnsubscribed } = req.body const { isUnsubscribed, id } = req.body
if (!services.checkForUndefinedParams(isUnsubscribed)) if (!services.checkForUndefinedParams(isUnsubscribed, id))
return res.status(400).json({ error: 'Missing required params.' }) return res.status(400).json({ error: 'Missing required params.' })
let user let user
try { try {
user = await models.User.find(req.user) user = await models.User.find(id)
user.isUnsubscribed = isUnsubscribed user.isUnsubscribed = isUnsubscribed
user = await user.save() user = await user.save()
......
...@@ -36,23 +36,33 @@ export default compose( ...@@ -36,23 +36,33 @@ export default compose(
modalComponent: ConfirmationModal, modalComponent: ConfirmationModal,
})), })),
withHandlers({ withHandlers({
subscribe: ({ showModal, hideModal, changeEmailSubscription }) => () => { subscribe: ({
userId,
showModal,
hideModal,
changeEmailSubscription,
}) => () => {
showModal({ showModal({
title: 'Subscribe to emails', title: 'Subscribe to emails',
subtitle: 'Are you sure you want to subscribe to emails?', subtitle: 'Are you sure you want to subscribe to emails?',
onConfirm: () => { onConfirm: () => {
changeEmailSubscription(false) changeEmailSubscription(userId, false)
hideModal() hideModal()
}, },
onCancel: hideModal, onCancel: hideModal,
}) })
}, },
unsubscribe: ({ showModal, hideModal, changeEmailSubscription }) => () => { unsubscribe: ({
userId,
showModal,
hideModal,
changeEmailSubscription,
}) => () => {
showModal({ showModal({
title: 'Unsubscribe from emails', title: 'Unsubscribe from emails',
subtitle: 'Are you sure you want to unsubscribe from emails?', subtitle: 'Are you sure you want to unsubscribe from emails?',
onConfirm: () => { onConfirm: () => {
changeEmailSubscription(true) changeEmailSubscription(userId, true)
hideModal() hideModal()
}, },
onCancel: hideModal, onCancel: hideModal,
......
...@@ -24,6 +24,7 @@ const UserProfilePage = ({ history, user, changeEmailSubscription }) => ( ...@@ -24,6 +24,7 @@ const UserProfilePage = ({ history, user, changeEmailSubscription }) => (
<EmailNotifications <EmailNotifications
changeEmailSubscription={changeEmailSubscription} changeEmailSubscription={changeEmailSubscription}
subscribed={!get(user, 'isUnsubscribed')} subscribed={!get(user, 'isUnsubscribed')}
userId={get(user, 'id')}
/> />
<LinkOrcID id={get(user, 'id')} orcid={get(user, 'orcid')} /> <LinkOrcID id={get(user, 'id')} orcid={get(user, 'orcid')} />
</Root> </Root>
......
...@@ -22,8 +22,12 @@ export const confirmUser = (userId, confirmationToken) => dispatch => ...@@ -22,8 +22,12 @@ export const confirmUser = (userId, confirmationToken) => dispatch =>
return dispatch(loginSuccess(user)) return dispatch(loginSuccess(user))
}) })
export const changeEmailSubscription = isUnsubscribed => dispatch => { export const changeEmailSubscription = (
id,
isUnsubscribed = false,
) => dispatch => {
update(`/users/subscriptions`, { update(`/users/subscriptions`, {
id,
isUnsubscribed, isUnsubscribed,
}).then(() => dispatch(actions.getCurrentUser())) }).then(() => dispatch(actions.getCurrentUser()))
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment