ability.ts 618 B

12345678910111213141516
  1. import { createMongoAbility } from '@casl/ability'
  2. import AbilityBuilder from '~/services/rights/abilityBuilder'
  3. import {defineNuxtPlugin} from "nuxt/app";
  4. import {useAccessProfileStore} from "~/stores/accessProfile";
  5. import {useOrganizationProfileStore} from "~/stores/organizationProfile";
  6. export const ability = createMongoAbility()
  7. export default defineNuxtPlugin(() => {
  8. const accessProfile = useAccessProfileStore()
  9. const organizationProfile = useOrganizationProfileStore()
  10. const abilityUtils = new AbilityBuilder(ability, accessProfile, organizationProfile)
  11. abilityUtils.setupAbilities()
  12. })