roschaefer 7c278d7c7f fix: send 403 if you try to edit another's post
This also fixes the glitch that you click on "Edit post" and the
contribution form is empty.
2019-11-08 17:30:29 +01:00

47 lines
1.1 KiB
Vue

<template>
<ds-flex :width="{ base: '100%' }" gutter="base">
<ds-flex-item :width="{ base: '100%', md: 3 }">
<hc-contribution-form :contribution="contribution" />
</ds-flex-item>
<ds-flex-item :width="{ base: '100%', md: 1 }">&nbsp;</ds-flex-item>
</ds-flex>
</template>
<script>
import HcContributionForm from '~/components/ContributionForm/ContributionForm'
import PostQuery from '~/graphql/PostQuery'
import { mapGetters } from 'vuex'
export default {
components: {
HcContributionForm,
},
computed: {
...mapGetters({
user: 'auth/user',
}),
},
async asyncData(context) {
const {
app,
store,
error,
params: { id },
} = context
let client = app.apolloProvider.defaultClient
const {
data: {
Post: [contribution],
},
} = await client.query({
query: PostQuery(app.$i18n),
variables: { id },
})
if (contribution.author.id !== store.getters['auth/user'].id) {
error({ statusCode: 403, message: "You can't edit that!" })
}
return { contribution }
},
}
</script>