Есть ли способ создать собственный периметр для пользовательских ролей в детском саду vue? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть приложение nuxt, в котором пользователь может создавать собственные роли. например CustomRoleA, CustomRoleB и т. д. c. Есть ли способ справиться с этим в детском саду vue. Есть ли способ динамически генерировать периметры?

Это то, что у меня есть. Как видите, я могу использовать только предопределенные роли

import { Perimeter } from 'vue-kindergarten'
export default class BasePerimeter extends Perimeter {
  isSuperAdmin () {
    return this.child === 'SuperAdministrator'
  }

  isPartyAdmin () {
    return this.child === 'PartyAdministrator'
  }

  isTeamAdmin () {
    return this.child === 'TeamAdministrator'
  }

  isPartyUser () {
    return this.child === 'PartyUser'
  }
}

Пример класса периметра

import BasePerimeter from './base'

    export default new BasePerimeter({
      purpose: 'user',

      can: {
        read: () => true,

        add () {
          return this.isSuperAdmin() || this.isPartyAdmin() || this.isTeamAdmin()
        },

        update () {
          return this.isSuperAdmin() || this.isPartyAdmin() || this.isTeamAdmin()
        },

        allowDelete () {
          return this.isSuperAdmin() || this.isPartyAdmin() || this.isTeamAdmin()
        },
        changePassword () {
          return this.isSuperAdmin() || this.isPartyAdmin() || this.isTeamAdmin()
        }
      }
    })
...