15 lines
426 B
TypeScript
Executable File
15 lines
426 B
TypeScript
Executable File
import type { App } from 'vue'
|
|
|
|
import { createMongoAbility } from '@casl/ability'
|
|
import { abilitiesPlugin } from '@casl/vue'
|
|
import type { Rule } from './ability'
|
|
|
|
export default function (app: App) {
|
|
const userAbilityRules = useCookie<Rule[]>('userAbilityRules')
|
|
const initialAbility = createMongoAbility(userAbilityRules.value ?? [])
|
|
|
|
app.use(abilitiesPlugin, initialAbility, {
|
|
useGlobalProperties: true,
|
|
})
|
|
}
|