@laura-wert/vue-user-management
TypeScript icon, indicating that this package has built-in type declarations

3.0.2 • Public • Published

User management

Instalation

make a plugin in your project

import client from 'src/domains/api/client'
import { addApiCallsToClient } from 'uw-vue-user-management'

export default ({router}) => {
  addApiCallsToClient(client, router)
}

add the routes to you route file

import { userManagementRoutes } from 'uw-vue-user-management/src/routes'

export default [
  {
    path: '/auth',
    component: () => import('layouts/Login'),
    children: [
      userManagementRoutes.login,
      userManagementRoutes.register,
    ],
  },
]

import the store modules

import { userManagementStorePlugins } from 'uw-vue-user-management'

Vue.use(Vuex)
Vue.use(VueXhrState)

const xhrPlugins = [...userManagementStorePlugins]
...

add the extra vee-validate dictionairy

import VeeValidate, { Validator } from 'vee-validate'
import { userManagementNl } from 'uw-vue-user-management'

export default ({Vue}) => {
  Validator.localize('nl', userManagementNl)
  Vue.use(VeeValidate, {
    locale: 'nl',
  })
}

vue-browser-acl add the isAuthenticated and getCurrentUser

import VueAcl from 'vue-browser-acl'
import Acl from 'browser-acl'
import { isAutenticated, getCurrentUser } from 'uw-vue-user-management'
import setPolicies from 'src/domains/acl/policies'

export default async ({Vue, store, router}) => {
  const myAcl = new Acl()

  setPolicies(myAcl)

  const userResolver = () => {
    if (!isAutenticated()) {
      return null
    }

    return store.getters[getCurrentUser]
  }

  Vue.use(
    VueAcl,
    userResolver,
    myAcl,
    {
      caseMode: false,
      strict: true,
      router,
    },
  )
}

See Cr-Portal for implementation examples with the ACL in src/domains/acl

Todo

permissions should be moved to external packages

Readme

Keywords

none

Package Sidebar

Install

npm i @laura-wert/vue-user-management

Weekly Downloads

1

Version

3.0.2

License

MIT

Unpacked Size

482 kB

Total Files

7

Last publish

Collaborators

  • rickyrick
  • martijng788