Skip to content

Nicholaiii/moleculer-casl

Repository files navigation

moleculer-casl

npm version jsr version bundle JSDocs License

CASL authorisation for Moleculer with service-provided ability definition and caching.

Note: This module is heavily under development.

Usage

Ability provider

Add this mixin to your auth service, to provide rules for other services.

import { createCASLAbilityProvider } from 'moleculer-casl'

const AuthService = {
  mixins: [createCASLAbilityProvider(rulesFor)]
}

Ability consumer

Add this mixin to any service that needs to use Abilities.

import { createCASLAbilityConsumer } from 'moleculer-casl'

const ProductService: Service & AbilityConsumerMethods = {
  mixins: [createCASLAbilityConsumer()],
  actions: {
    create(ctx) {
      const ability = await this.abilityFor(ctx.meta.user)
    }
  }
}

License

MIT License © 2023-PRESENT Nicholai Nissen

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published