You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

19 lines
635 B

import _ from 'lodash'
export default _.debounce(async function({ app, store, route, redirect }) {
try {
await store.dispatch('projects/setCurrentProject', route.params.id)
} catch(e) {
redirect('/projects')
}
const userId = store.getters['auth/getUserId']
const isProjectAdmin = await app.$services.member.isProjectAdmin(route.params.id, userId)
const projectRoot = app.localePath('/projects/' + route.params.id)
const path = route.fullPath.replace(/\/$/g, '')
if (isProjectAdmin || path === projectRoot || path.startsWith(projectRoot + '/dataset')) {
return
}
return redirect(projectRoot)
}, 1000)