Skip to content

Access List Guide

Karnando Sepryan edited this page Jul 14, 2019 · 2 revisions

This access list api call will always trigger everytime route changes, so you have to register all possible url to database

How to use access list for your pages:

  1. Register your route url and its privileges for each user type to database (contact Jonathan or Karnando), example:
ANNOUNCEMENTS: '/announcements', '/announcements/:id/detail', '/announcements/add', '/announcements/:id/edit'

 admin: {
  add: true,
  delete: true,
  edit: true,
  read: true
 }

 mentor: {
  add: false,
  delete: false,
  edit: false,
  read: true
 }

 judges: {
  add: false,
  delete: false,
  edit: false,
  read: true
 }

 students: {
  add: false,
  delete: false,
  edit: false,
  read: true
 }
  1. If you have url meant for adding, add meta add: true to the route, example:
{
      path: config.app.pages.activityBlogs.add,
      name: 'addActivityBlog',
      component: ActivityBlogForm,
      meta: {
        auth: true,
        add: true,
        title: 'Add Activity Blog'
      }
}
  1. If you have url meant for editing, add meta edit: true to the route, example:
{
      path: config.app.pages.activityBlogs.edit,
      name: 'editActivityBlog',
      component: ActivityBlogForm,
      meta: {
        auth: true,
        edit: true,
        title: 'Edit Activity Blog'
      }
    }
}
  1. If you want to disable action button such as edit button, delete button, or add button, add mapGetters from store
computed: {
    ...mapGetters([
      'accessList'
    ])
  },
  1. Then add v-if="accessList.add" or v-if="accessList.edit" or v-if="accessList.delete" to the button

Clone this wiki locally