Authorization
const actions = {
createWidget: (state, payload) => {
const { user } = payload
if (!user) throw new Error('userMissing')
return [{
type: 'WidgetCreated',
user: payload.user,
at: Date.now(),
}]
},
updateWidget: (state, payload) => {
const { user } = payload
if (!user) throw new Error('userMissing')
if (user.role !== 'admin' && user.id !== state.userId)
throw new Error('unauthorized')
// ^ authorization logic
return [{
type: 'WidgetUpdated',
user: payload.user,
at: Date.now(),
}]
},
}
module.exports = actionsLast updated
Was this helpful?